#include #include class MatchPlayersAndTrainersTest : public ::testing::Test { protected: void AssertMatch(const std::vector &playersVec, const std::vector &trainersVec, int expected) { int *players = const_cast(playersVec.data()); int *trainers = const_cast(trainersVec.data()); int result = matchPlayersAndTrainers(players, playersVec.size(), trainers, trainersVec.size()); EXPECT_EQ(result, expected); } }; // 示例 1 TEST_F(MatchPlayersAndTrainersTest, Example1) { std::vector players = {4, 7, 9}; std::vector trainers = {8, 2, 5, 8}; AssertMatch(players, trainers, 2); } // 示例 2 TEST_F(MatchPlayersAndTrainersTest, Example2) { std::vector players = {1, 1, 1}; std::vector trainers = {10}; AssertMatch(players, trainers, 1); } // 示例 3 TEST_F(MatchPlayersAndTrainersTest, Example3) { std::vector players = {1}; std::vector trainers = {1}; AssertMatch(players, trainers, 1); } // 示例 4 TEST_F(MatchPlayersAndTrainersTest, Example4) { std::vector players = {2, 1}; std::vector trainers = {2, 2}; AssertMatch(players, trainers, 2); } // 示例 5 TEST_F(MatchPlayersAndTrainersTest, Example5) { std::vector players = {1, 1000000000}; std::vector trainers = {1000000000, 1}; AssertMatch(players, trainers, 2); } // 示例 6 TEST_F(MatchPlayersAndTrainersTest, Example6) { std::vector players = {1, 2, 3, 4, 5}; std::vector trainers = {2, 3, 4, 5, 1}; AssertMatch(players, trainers, 5); } // 示例 7 TEST_F(MatchPlayersAndTrainersTest, Example7) { std::vector players = {4, 4}; std::vector trainers = {2, 4, 2, 2, 3, 2, 4, 2, 2, 3, 2, 2, 1, 1, 3, 3, 1, 3, 2, 3, 1, 3, 3, 4, 1, 2, 1, 2, 3, 2, 3, 4, 2, 2, 3, 1, 3, 4, 3, 3, 4, 3, 2, 2, 2, 1, 4, 2, 4, 4, 3, 1, 1, 4, 2, 1, 1, 4, 2, 2, 3, 4, 1, 1, 1, 4, 4, 1, 1, 4, 4, 4, 2, 3, 1, 1, 3, 2, 1, 2, 1, 1, 3, 4, 4, 2, 1, 4, 2, 3, 1, 3, 3, 4, 1, 4, 1, 4, 4, 1}; AssertMatch(players, trainers, 2); } // 示例 8 TEST_F(MatchPlayersAndTrainersTest, Example8) { std::vector players = { 206265826, 811371622, 149812208, 865807236, 382659889, 413704766, 928688818, 652159332, 808471038, 478528778, 124605143, 711431916, 218313072, 631892492, 812566744, 120353802, 10008817, 679804271, 577081719, 691919926, 596460387, 121389738, 67997887, 924408748, 450789506, 921705400, 897288765, 239401215, 625258320, 249933440, 519712063, 461064679, 506653699, 617974565, 470780591, 852038477, 622416874, 984470345, 807488783, 225431310, 136104660, 879498016, 431957373, 937482085, 791682621, 990471590, 358869139, 805405990, 872580919, 60697931, 606409064, 152794919, 521191636, 426436222, 804000268, 194885509, 49167085, 342058716, 315829390, 303118657, 134430052, 817594841, 245047451, 859586835, 510044019, 783444303, 647671288, 667923553, 502113598, 408206258, 480058426, 600556723, 852171450, 476519045, 402803871, 928787598, 126647098, 420019899, 184735750, 405670053, 539130071, 31439172, 126420522, 927355146, 233544004, 351734641, 149998030, 200962990, 483453489, 37707634, 873311961, 217727905, 511771700, 810829572, 524501585, 436283543, 578789062, 790199713, 748334747, 558766823, 973818756, 246400959, 277480611, 952308656, 473394876, 889995665, 619193204, 654937989, 167670510, 922626910, 585767122, 653251874, 61821584, 777033215, 337038921, 538832329, 915185599, 837781180, 421499597, 388582854, 651203879, 468957986, 677198820, 126852096, 650153682, 888683222, 510758786, 533015443, 388075529, 549769972, 677099246, 390760506, 83960566, 416746601, 99352063, 290749281, 71412926, 395773465, 895724634, 759777100, 952751890, 748707938, 127238594, 326432553, 666160584, 350455513, 844710947, 637432820, 983948382, 420616625, 92079824, 454042889, 148619639, 278508313, 181074562, 974132163, 125939312, 240630305, 934181106, 318378848, 255914567, 436796007, 450001148, 834515261, 569033908, 536247830, 686915167, 82601161, 702248800, 217916001, 547159463, 984278805, 332030938, 790367949, 803513236, 325616641, 15203191, 242298760, 277321308, 602701558, 540674258, 584722357, 442703162, 309200046, 23740025, 517405663, 531437422, 777503476, 978529703, 155502393, 171654048, 645009322, 80559132, 584542577, 143976117, 103225670, 129050339, 400640646, 785681849, 469974929, 373049839, 413207927, 851286170, 579722772, 386062556, 505295868, 799673249, 90236581, 552626990, 209270114, 250271714, 571715708, 487547791, 1959005, 811480742, 60504596, 739603873, 734015671, 65557101, 275232374, 581192848, 843153721, 500649243, 59927340, 652847875, 535076812, 588717785, 19175998, 436996944, 120909261, 184647319, 163818354, 21391497, 192858080, 299723027, 723620449, 63756425, 134810755, 415659378, 141547157, 883006726, 308443665, 668751461, 83667763, 504932021, 554533542, 717874889, 533648440, 259618278, 150401611, 220529900, 405495997, 837133158, 834830972, 498279937, 446356767, 905109720, 839524007, 873637372, 150591793, 973621664, 558980089, 750890634, 952437024, 446930082, 27096884, 897371253, 399263724, 626361010, 244624747, 652036335, 396882563, 661643306, 541544973, 758016250, 527457361, 556161910, 641815723, 425742349, 175290077, 325616920, 11666638, 826675049, 265513827, 516438772, 622792707, 668661552, 850539958, 57398673, 937138190, 518774524, 169601956, 506352694, 951614997, 445818095, 881214452, 641337400, 852118438, 116552850, 422351865, 376127281, 249480954, 234015428, 73084172, 784228404, 1763520, 271956571, 14218358, 300357803, 292622064, 1476923, 673281397, 560360820, 508521190, 318772439, 706418555, 485754926, 374621491, 275053484, 796894062, 585377648, 579890464, 707556804, 537356769, 848333923, 567755149, 750955654, 736533385, 293974822, 322285441, 629517937, 191199766, 496311384, 891350487, 352294800, 912453388, 803134034, 837588227, 494895709, 430848538, 983194220, 418374541, 979208851, 785844626, 836315162, 803189493, 639752599, 780634345, 886478166, 817341957, 746732471, 596084898, 714882235, 997744431, 188400982, 269297937, 795814668, 46522577, 657853273, 426366605, 961060700, 784173659, 983697447, 367833518, 610246869, 178046860, 666069768, 763420568, 494229427, 786995685, 901295985, 27584156, 6591623, 905197645, 954449152, 111007833, 701590862, 412711777, 884702057, 108963610, 161200435, 110992521, 45443265, 756437827, 910692168, 765832496, 866105338, 667934779, 832159627, 515756927, 940042503, 339963996, 353917445, 810565838, 488404393, 944228434, 563829277, 429791143, 297849383, 644992733, 197972581, 573814195, 568321809, 25374642, 505323220, 613392752, 140777225, 668868220, 499959836, 93099467, 12707108, 695918170, 800684613, 546551412, 243586134, 476416143, 490016682, 439863119, 897884645, 313719362, 318348273, 769799961, 841839547, 184057916, 923640271, 271015355, 500468168, 415865368, 800226224, 253830219, 103115902, 260359443, 168197567, 505427713, 728307265, 398494693, 910894533, 34076514, 323071124, 884888069, 786293174, 485477429, 456172416, 732939061, 23731217, 74017353, 94650778, 204406708, 41276404, 682762918, 69400603, 489577485, 720725866, 448266018, 491597390, 878558150, 433353484, 582459112, 374271798, 314033852, 48953138, 277037200, 375533943, 273754139, 520784062, 506062, 209712477, 60951663, 915196480, 125455159, 805850136, 273276289, 658775096, 765995804, 911308529, 231972973, 878167721, 417210171, 855997514, 168416772, 704684743, 407743513, 524442420, 409077554, 492305260, 593236937, 761137018, 359646288, 686079922, 619123663, 867267013, 220863913, 873165114, 263465810, 848649962, 778747997, 880587306, 867784559, 729260263, 956504819, 678194743, 46526908, 721581423, 911455002, 653795841, 844951184, 419156666, 490272598, 515983400, 106583998, 138421445, 392406907, 265616239, 596266434, 929582194, 412507529, 491249980, 466066953, 656634890, 882074420, 474477179, 673847596, 475323463, 610454843, 619226601, 624516952, 401911544, 404315159, 152594689, 784954351, 988338135, 799531870, 854521641, 824365112, 291697749, 990265610, 142648813, 231255422, 717677421, 735558108, 827743041, 19549166, 869347721, 900205124, 674032115, 269602614, 416138705, 465284019, 433026244, 512543097, 966036644, 209527642, 435254217, 207513474, 217651988, 85638230, 694789402, 326876541, 73560767, 240632786, 122670466, 627231792, 893511285, 143301354, 146170920, 102224490, 277811035, 512799820, 11607128, 918187397, 689305072, 920677204, 127880676, 711201522, 100372594, 977146386, 510817621, 156584546, 457114295, 488224831, 195471575, 555534438, 198693843, 492126461, 340558085, 346583770, 7112414, 101921363, 897324488, 186126265, 925697334, 573651037, 564079752, 998263271, 904214372, 834768656, 486682146, 167678292, 77137410, 445000427, 895460492, 450202627, 776392282, 465709919, 374419756, 858326000, 218103687, 881703478, 836568607, 456656462, 863586570, 564488602, 14496380, 153213823, 351757412, 217132759, 415957981, 51345769, 943525390, 41167510, 693259973, 377234068, 951188415, 438335960, 760716255, 624367474, 141995822, 171751342, 308588207, 814452887, 92478485, 573909177, 554041286, 434204329, 321819282, 583973004, 577616843, 235582507, 308590811, 737464146, 784523492, 17233688, 63567737, 196728288, 57518905, 773893556, 595053952, 828679304, 385745274, 676686763, 983194841, 261734780, 862760071, 522036508, 154200260, 676132887, 590591852, 247615121, 32350649, 476892736, 106955871, 517859537, 266424011, 806781658, 769628166, 125159299, 75624516, 235593044, 800107469, 60819712, 836000446, 334649305, 359671226, 320007780, 985883783, 874744133, 347657459, 281002812, 990156614, 398785762, 209897726, 548067465, 218745394, 133978678, 193734584, 792855784, 338475315, 114594894, 722307244, 92186405, 439093404, 76561689, 315155906, 219938826, 922043296, 260503736, 567850663, 943124996, 427832538, 823073911, 719864035, 337349544, 498665221, 757582618, 868127252, 844010336, 129982146, 102170395, 495387419, 849212181, 51292876, 920584388, 659273585, 648180260, 170199516, 182170212, 464890381, 909890798, 672299615, 43765639, 126084182, 589685079, 668246799, 626481737, 872440542, 95008457, 583851994, 439676444, 721922995, 648763824, 874405709, 381333967, 96221048, 800368479, 909583458, 258331916, 152094928, 904507438, 621164170, 359022049, 575442176, 650397404, 59383155, 182506615, 994655442, 197017768, 983721389, 25331563, 521964357, 701686755, 567586499, 109572701, 829013079, 427405206, 168245477, 675250100, 879830230, 257536123, 777778094, 611964630, 395324424, 235006446, 91430419, 11388332, 256270912, 867454247, 383115523, 803008455, 313507033, 383107092, 621349550, 823174220, 207861195, 238180508, 680966160, 35135280, 46493733, 224886853, 564754632, 566850149, 987239802, 870524375, 894932496, 895080180, 227284692, 40607039, 753782964, 650269602, 684269560, 725172319, 731927988, 211183670, 302496511, 769007076, 927264206, 936496976, 264242807, 316231186, 70890277, 802548690, 268683300, 463985237, 604230916, 312370640, 763450812, 265305696, 307441388, 922791003, 538175326, 56753998, 214834533, 962352338, 887797607, 888723060, 169313608, 630374735, 191885587, 892607436, 511465876, 538280929, 36900206, 47024843, 174676947, 341409946, 355452165, 95800491, 727580652, 854919260, 909604116, 132117479, 901758797, 498998809, 318092182, 990417788, 544602680, 710611340, 599195744, 7049664, 825573638, 890631801, 8954155, 959643966, 189985631, 958659034, 555182958, 21782549, 116157912, 459552424, 909994529, 189603487, 967446627, 928146517, 34029867, 57283958, 305648175, 862840539, 279596072, 846994086, 48171083, 19882872, 39321830, 716981554, 88351455, 438257536, 946695157, 36737648, 970500634, 522313086, 103471254, 886119726, 744506368, 799792261, 24911229, 228627740, 837837704, 38653483, 537909540, 302321545, 734669851, 221414480, 626365457, 448128042, 323224504, 89785343, 505143292, 410405899, 119115013, 157516366, 629310267, 115774355, 748300000, 85433435, 857102235, 787414285, 401374885, 876831242, 368451986, 121767915, 34370443, 39634128, 799719935, 2533110, 974558660, 856538690, 567100883, 594673744, 433136081, 532762935, 669132807, 375897498, 616165597, 433073039, 779751779, 69336395, 261486894, 659413489, 829312907, 306380861, 802798519, 632845352, 571772326, 740744951, 865466484, 165377820, 384348353, 620156166, 772602776, 656440862, 223613294, 10688792, 722295937, 818219395, 854802426, 421292887, 195567051, 568388733, 436719123, 734095794, 392885067, 37699834, 661112690, 248280250, 21877134, 559792860, 347682260, 408607787, 746720618, 110904909, 905196827, 83801289, 185469442, 687454493, 743564004, 160558291, 42571478, 805391942, 787628277, 88681166, 195001914, 921193883, 485221090, 646034918, 414690855, 476003965, 73971098, 242607720, 882197617, 246930293, 250088861, 311072868, 214187084, 796682573, 866616759, 122023022, 74670455, 850287957, 764021545, 533176046, 10291177, 347654419, 465980516, 408916257, 578567400, 127363082, 232513588, 483675971, 925824095, 349009096, 858121301, 344965806, 595651294, 244221553, 247281244, 189181006, 472134313, 517527619, 167809858, 973792547, 368338506, 628427728}; std::vector trainers = { 199544346, 241599639, 170219161, 810510895, 463916156, 584041135, 870747278, 51429256, 584547955, 588784, 639866268, 917419797, 964184421, 925128237, 345718626, 655496546, 30881298, 139820164, 60377221, 913718502, 463753898, 25135599, 513968839, 566111102, 506961534, 677623688, 192660511, 98343471, 180019182, 666758568, 213147020, 623019836, 51814008, 192740227, 823506380, 818135444, 779366996, 782884503, 175296961, 147348076, 192144249, 14709187, 149761756, 126484732, 65102956, 976098185, 395494866, 736924602, 2089810, 995382564, 492622025, 894527351, 659290663, 922477486, 430822279, 976851495, 979853131, 991464801, 696172475, 700431588, 968971234, 490113687, 931627931, 835182884, 688119432, 470916818, 611471488, 210219817, 403669148, 307668803, 490199090, 435152941, 872554148, 544362791, 568920505, 669016282, 458096632, 299198574, 303533926, 212672418, 223111571, 434240684, 73325638, 521770861, 326563201, 28190498, 7282810, 51594135, 12886080, 544534592, 174053386, 446123559, 852194436, 977046645, 723697655, 14821587, 489185930, 292492568, 770300770, 450258168, 384038887, 37442422, 446075574, 860812238, 103409151, 510958695, 354374880, 385531598, 761898575, 264723477, 448020530, 61589207, 501944384, 736667860, 251906661, 942211870, 534628243, 766149441, 961513577, 581608227, 210823976, 861429201, 31642449, 665309898, 418779854, 887195288, 521761136, 891400410, 286365990, 176489909, 893027889, 683489526, 752148914, 470927783, 345874386, 951235752, 29837990, 531684972, 984691945, 638247593, 344396662, 955552472, 40994016, 415378289, 124657806, 668596811, 284125719, 102569220, 898225902, 691302415, 187321574, 431659090, 609581050, 911655254, 815562782, 464846961, 134426529, 813931902, 641259429, 687147813, 862327619, 143469407, 570455045, 155274518, 490467486, 961825660, 832003575, 50007057, 226135594, 768887050, 565900331, 538715950, 742840865, 191188129, 508640261, 350314437, 166263136, 171307643, 18280313, 746295444, 56406353, 106972085, 888048487, 959358727, 562527352, 416586574, 543326424, 547647884, 805118324, 840088440, 697667779, 430971835, 546690852, 885507827, 151375686, 186193640, 643323145, 494513207, 637667812, 843675113, 950913635, 69965381, 409867501, 849603175, 453166521, 208092420, 551602802, 858317405, 765389002, 439921648, 48308173, 758016339, 351405514, 947460567, 913618291, 832778170, 980461208, 815575806, 563486895, 550913491, 265374313, 580836138, 954989607, 463723061, 741317402, 738521072, 153521197, 45077909, 139470048, 349106047, 426011098, 144666871, 40672647, 785036397, 358433509, 343767284, 738752249, 733011110, 421515840, 778046482, 501186386, 323188539, 449452194, 528473681, 681235979, 889269859, 996741592, 40012368, 24088400, 38959405, 954409580, 973466477, 592272490, 908404577, 40089834, 395543739, 188752631, 498814107, 667608693, 676697292, 852796367, 355018681, 110401641, 910278360, 263139300, 363539506, 168675066, 970445810, 766701644, 833220159, 65768108, 36180600, 765828479, 315170322, 103579605, 969565806, 902910636, 215450622, 654846829, 520903481, 118341582, 714400756, 406609934, 363936946, 178820859, 474594765, 6722427, 755984499, 319119796, 957784234, 608844845, 417218674, 450315338, 67569695, 756047142, 506385569, 750602942, 504991192, 149507008, 305217658, 819039343, 744578999, 765089099, 921310628, 826906392, 986837151, 486804557, 528016744, 706139722, 573641654, 9970473, 377970358, 86752244, 966615315, 606319623, 918123735, 961056689, 174203317, 800638917, 326819543, 335797918, 490676285, 805507217, 775314464, 25843138, 963758798, 795257566, 687986737, 68487667, 470273756, 647609195, 738630394, 25413454, 135460787, 161423372, 876462810, 115410051, 823869086, 377425361, 98914989, 918531359, 925185227, 854284270, 86303166, 762547502, 402939467, 732259291, 984395162, 611620641, 62093270, 212524543, 119878623, 566563591, 9091208, 381527591, 296938979, 294506771, 370571683, 784550665, 708305863, 69797412, 172352244, 174423306, 936262127, 701972482, 160665348, 235472427, 131652806, 605362722, 901605625, 214139530, 654352070, 945256334, 795657370, 160920828, 988544182, 696000106, 749001864, 955339808, 907801570, 991874243, 601572096, 24681872, 117313296, 578723994, 461167773, 874999404, 230935625, 218435020, 817620398, 408920455, 229087391, 980527314, 117256325, 424653249, 504249766, 408350846, 15317442, 446534337, 839392359, 988299817, 898972548, 3270718, 461254086, 553231004, 163698522, 256711645, 736998668, 537298150, 415783209, 822793522, 942612917, 573246056, 696686787, 824929269, 270443840, 355384360, 153181011, 499739782, 520243853, 307619875, 571426164, 952057823, 3371565, 693927039, 930066988, 674658883, 929676336, 368746577, 735368389, 181652072, 474320704, 137809477, 671330748, 399962665, 151278178, 650152505, 118751918, 185404611, 284418316, 784121276, 146525538, 612457477, 623717035, 142204077, 692138800, 151090894, 188353024, 290326183, 142163626, 891551821, 39779977, 229399434, 213299386, 410139582, 247002355, 999487818, 418824991, 961415220, 240649358, 381854633, 537023538, 806063647, 834329521, 634491076, 367697955, 336242512, 857953479, 956261301, 993173342, 674177292, 69720341, 574629703, 29250008, 983803455, 167042835, 254954124, 314213302, 906692589, 36617159, 983907766, 22660913, 190055317, 232835165, 176325952, 124939377, 408646737, 805851339, 426165295, 620994565, 217917280, 120063678, 988543679, 697984697, 567077545, 254297229, 487331175, 473454958, 985861911, 291835298, 637302514, 615674598, 270971279, 470949353, 167752009, 598067476, 314730588, 926692901, 474903916, 640026561, 740844656, 507818786, 612904439, 239427963, 293243051, 323601117, 120428082, 526911214, 654422124, 997556497, 695887624, 907495630, 740971351, 22906157, 984902392, 233671559, 315637096, 544985497, 478622195, 580664205, 465205681, 849510977, 631924658, 984248970, 537975463, 905974502, 355165735, 684590370, 557338327, 486419335, 988769752, 578126408, 374986939, 336337993, 27338397, 795750599, 818054348, 137065538, 107490626, 918452512, 467819847, 426690632, 264713855, 467182525, 732166202, 375736391, 898303375, 266862263, 113970138, 943621532, 600646880, 64605312, 426201507, 615273415, 681378235, 378359993, 336144435, 822743478, 572918477, 143806640, 494624358, 563293393, 999139641, 931652387, 336237224, 828967906, 769630942, 809274261, 36028311, 828519354, 351705969, 243959575, 464466562, 996461250, 887390596, 901391552, 489955210, 524478730, 85551251, 262340416, 400209006, 324983434, 104917683, 52017588, 123783648, 665745802, 715795307, 869729498, 305829513, 362719967, 717144361, 607497983, 542583590, 280458242, 259074640, 627463539, 560543196, 912520977, 677161203, 402352336, 878608262, 431574166, 951830846, 167777746, 417740585, 612895902, 705897043, 380250114, 219099033, 367735737, 804966189, 446869404, 979081509, 431708195, 653459349, 2023283, 738657943, 577075639, 10829258, 226469540, 614072463, 110154790, 11612752, 364982039, 341127856, 438396957, 458870743, 565877791, 249511760, 104787029, 616351990, 743736744, 717099804, 979782500, 882758075, 946189497, 297217413, 180684022, 213768031, 8834994, 898681583, 167369194, 744206522, 986883635, 160143776, 40892001, 674978010, 79418690, 120105245, 23558642, 365508753, 980096468, 267091397, 585459187, 482338749, 774521403, 97607974, 519889218, 803654641, 923642390, 971091494, 574440925, 910683405, 996786145, 224798009, 884606524, 189463805, 649672608, 7741515, 896787265, 927228106, 233889096, 961687908, 131075027, 64740556, 93237802, 150968531, 274816219, 394320888, 524459203, 536548100, 621042796, 771806279, 703608213, 989035723, 142345242, 964483221, 748783954, 320964597, 115409629, 869235047, 315964964, 102445103, 177247025, 452688953, 767682333, 437372325, 499217088, 99300492, 478562398, 903839991, 891388644, 723171941, 214203291, 263747042, 271392001, 873950669, 212744760, 697200162, 446144988, 521605012, 932070066, 493233671, 713823879, 441557076, 220969267, 341971377, 762237370, 909419526, 660379440, 10020113, 538951864, 697085824, 966377978, 194575444, 652097940, 820980848, 784078259, 91531105, 71906706, 278397292, 202130130, 901627110, 347924581, 524899449, 600051367, 491388079, 149426532, 770707709, 987515626, 197052808, 763700511, 130088164, 307437189, 475108359, 606135899, 749231058, 633042916, 540376765, 89687852, 946760132, 268796653, 672997292, 287743033, 783893666, 774672240, 137602264, 62162825, 768801305, 631378206, 502000550, 714726640, 110127470, 658600547, 763578202, 273522584, 658372186, 260858838, 13479954, 336122717, 906873406, 261530979, 595082584, 985990595, 504582708, 101184766, 504487754, 958757473, 748631945, 396940756, 245145557, 559885468, 287757478, 277625455, 957886983, 778976288, 585573491, 14131450, 192860482, 195394768, 61000455, 159622239, 143829573, 400824214, 849902039, 52581611, 309532623, 108228818, 182963089, 218219091, 357689440, 466378047, 279226901, 615126920, 147920274, 170161744, 863401339, 85200850, 775446752, 940888626, 431601129, 742111942, 614982726, 885261298, 705915113, 596842420, 96031267, 790823426, 816354365, 41510620, 9771873, 472769940, 884330584, 930856916, 557239984, 267902746, 795452257, 573438026, 987153263, 716653990, 307301840, 490519465, 491500032, 337017916, 338531215, 121526896, 483626395, 538318620, 708873756, 369161575, 964869334, 567804714, 405078441, 517498203, 481279108, 264225092, 634025133, 594568964, 999986421, 229044774, 12805329, 84370892, 348139375, 985783247, 287884381, 171363699, 407456107, 199530968, 818451083, 317177567, 3947504, 737496868, 577149582, 736329556, 290055866, 972462545, 58640874, 389575804, 259420147, 254289290, 793976953, 541540861, 941833855, 86102594, 574044112, 271095112, 607226414, 813515968, 602711150, 506726209, 426051100, 328796981, 645789506, 275604691, 582841, 428305300, 952648537, 793073600, 436093775, 706603247, 896836705, 400579416, 736539086, 977062983, 625899694, 795370929, 736817367, 206184782, 793718742, 158414626, 852059713, 466508668, 160604742, 272451907, 977747264, 639569681, 859306435, 683369168, 701531770, 678142083, 966283054, 178007170, 249365506, 398183268, 783550912, 154687719, 10615717, 13335479, 710790662, 199397712, 423449114, 776726463, 751489409, 78904097, 46472089, 866670019, 756333306, 395461476, 746348450, 994338191, 794062848, 625945323, 952675041, 252755453, 629903974, 83567329, 780242412, 490464409, 124125734, 329548978, 38547077, 436223855, 414600969, 379331124, 664473265, 510411953, 884226604, 234787237, 211492659, 360595343, 828779896, 847664491, 774459618, 946802184, 506354395, 79461500, 201227832, 117796348, 184160087, 478165391, 383933113, 144969899, 767189444, 558354256, 750384201, 232239861, 268470292, 175747441, 73816496, 259100631, 557881555, 283322447, 584260771, 743170877, 858170669, 765309890, 201229143, 478030092, 848523961, 143108854, 945369824, 253195885, 475695576, 176529162, 89054120, 498732569, 569269653, 813886324, 498450495, 445081125, 729933740, 260649363, 64378653, 737634317, 633476285, 439565546, 517422559, 87851926, 314462301, 329688489, 99353955, 996701741, 499858480, 68743310, 748514352, 107003739, 160932476, 817140732, 942771963, 532726928, 19494553, 932442047, 259906068, 415495808, 523558977, 951620782, 129138787, 144357583, 349730197, 640790980, 207564028, 564546914, 505831742, 163121576, 789740301, 257231395, 426239000, 618543413, 832158484, 357106029, 599773814, 221547806, 564106885, 169530543, 238052421, 130325264, 744664333, 149727318, 696063862, 611634697, 836555820, 149075763, 29065344, 43227988, 740897692, 724949033, 289696254, 687436839, 845804822, 878961459, 48645391, 479000122, 727647096, 930025490, 854380737, 655168920, 804664824, 586603102, 147348635, 522387516, 121964288, 901974013, 22563857, 212967263, 891737467, 714850652, 999608541, 714072240, 618716742, 424822690, 32350251, 153678294, 854816823, 489980535, 216064538, 300589533, 963598159, 324917844, 886438693, 787067285, 356270265, 287526546, 439296336, 717104467, 909731532, 175092400, 837976521, 135668704, 568290813, 872245120, 33661288, 857966852, 329323128, 535354724, 714269669, 974637061, 987734008, 111701992, 986194196, 71372694, 540585006, 607681646, 376500910, 195003757, 865016896, 51626684, 911265849, 248533474, 996612803, 754822454, 798718580, 901284286, 389183941, 378038468, 227196485, 637798213, 737587721, 100471512, 993250907, 878958930, 104654510, 6556046, 86285738, 173218915, 419249510, 641306551, 705009453, 713857080, 893016876, 633300390, 404213863, 645304955, 43799515, 773507799, 645051591, 715367816, 497945426, 489399216, 848421135, 961862235, 310769367, 51426282, 78279528, 787008255, 879217620, 907756354, 713376726, 265958755, 122929558, 676891752, 928882001, 12577161, 975088400, 139988090, 225333673, 420046105, 785773970, 742689262, 435651061, 896877880, 774153976, 300017857, 695960716, 914360231, 52207876, 725593110, 819759464, 965906223, 758245441, 583060828, 129871598, 708774991, 250473460, 815828592, 578716118, 767088267, 376067882, 147930093, 655895601, 498208773, 608738859, 423794544, 158767109, 660915743, 193401731, 124891713, 398059941, 898186400, 415772253, 214044780, 731876073, 629321574, 837427323, 511492784, 541637551, 148859186, 834081018, 697482934, 122530953, 73473990, 476125177, 196381303, 537860490, 776267565, 642723356, 541432634, 223936958, 111861206, 990716488, 962852146, 995882723, 988611497, 511071321, 971893243, 668032869, 990404713, 482444021, 792117282, 4511221, 275934826, 489369818, 324596198, 846181158, 391709970, 157152427, 285526219, 729280821, 580801769, 579017341, 483807900, 360354132, 130248974, 366152547, 513945223, 105419940, 43390830, 592878773, 44341746, 64119251, 41707074, 14263086, 1358598, 899906117, 240036802, 217676763, 595534244, 196035576, 593220236, 887465662, 191968077, 967134887, 146531720, 730753036, 607238176, 659976346, 579588581, 160637762, 777838735, 943742896, 70332788, 100568788, 900283829, 700770086, 400425010, 852878097, 638048052, 977983259, 186050230, 490460376, 648328753, 435291640, 854779948, 637472119, 433617022, 705727210, 833521719, 827622496, 37506206, 720186459, 792636062, 578741693, 310384806, 310401123, 698576287, 162197855, 145865972, 115239090, 216191697, 220658752, 816022432, 648244047, 79794622, 827551688, 554961461, 859876662, 507089897, 789133572, 233684886, 573238949, 633855834, 567703307, 417770643, 543242358, 311471047, 599369258, 948568241, 813225290, 383182974, 973955671, 663554809, 354912584, 122253349, 998613238, 220221379, 437222901, 597082577, 26630126, 981878734, 995773883, 810180447, 920034643, 720483853, 49130459, 241922295, 646819308, 966797117, 903942223, 51960671, 773109863, 755813659, 672470425, 338839871, 772945713, 786127071, 45024194, 485379981, 142901998, 652345070, 416704107, 883520631, 147209833, 253904738, 739549822, 155313013, 151304242, 407967911, 211308610, 443575681, 372576948, 588621323, 961087202, 113171094, 322466746, 345799475, 637619249, 392576881, 11057148, 990475450, 334614572, 825579012, 952366597, 537650511, 971083077, 690768347, 660788052, 117797348, 444968443, 574756871, 641056772, 946888471, 530732540, 205671405, 214146255, 774524483, 913321183, 975904126, 411760246, 593000641, 816597595, 302761835, 868665663, 441716081, 926013359, 564743835, 334445992, 898857239, 426494338, 164031642, 182812677, 546579155, 360740402, 551240651, 735355246, 129167190, 241667167, 698932982, 927751033, 125965197, 58870756, 188183056, 375242186, 113101121, 418267314, 96677028, 961039037, 360202616, 859571545, 957317648, 708149009, 14664760, 574611999, 354590182, 6661869, 699315530, 264376382, 821671723, 787017056, 760147037, 760949327, 659140984, 962632810, 397815607, 593579644, 692714450, 92975384, 253020786, 167884936, 31483188, 216988861, 992653482, 316682704, 545485493, 483019367, 448375680, 378300634, 838794797, 644034756, 271960326, 665581952, 157679044, 595010577, 375347191, 424671680, 246321762, 42163049, 469719557, 336814762, 331307100, 487920226, 37691733, 685602259, 878179246, 347083104, 619858927, 980924538, 934525671, 558788430, 195759522, 673045344, 877643779, 435645809, 908046839, 725854665, 356363104, 892732417, 653062637, 899215535, 643334344, 639780869, 264022275, 10248223, 967375573, 920412885, 966604756, 507577977, 768640097, 47193116, 24184895, 484885269, 465384811, 487647121, 622598965, 878066707, 807759561, 487042981, 60833602, 99333046, 738288745, 485457884, 693064571, 300287246, 198363596, 292480782, 478435127, 692101105, 31720228, 73046409, 984356913, 149393610, 511120849, 139838189, 461886802, 688457805, 842946886, 4886757, 434617507, 275545706, 650072618, 900026533, 174921814, 40153234, 291225176, 850202291, 444745986, 482010768, 607586505, 854790189, 949341390, 269336941, 438821875, 90427033, 209810540, 113570410, 18055270, 632875172, 261340202, 76062258, 278094366, 708262019, 130223443, 47428590, 310847938, 566321799, 713986298, 158014554, 691504767, 965860290, 248254307, 237613528, 203598885, 365411833, 214462600, 336154155, 653703192, 468088614, 365481703, 633244009, 897025259, 881467428, 267680495, 316229221, 362658646, 298457502, 298163407, 175592433, 487010733, 883466980, 433555377, 558935889, 529391924, 775368382, 792538192, 407448387, 911519369, 591628086, 288135057, 543820045, 398510025, 195307762, 483447975, 962098556, 629622840, 153050567, 548225504, 939354691, 525230629, 532410248, 709679273, 907974387, 767866208, 940034386, 67934583, 188792102, 164862092, 547230240, 464455701, 721847541, 276722086, 988257055, 219947623, 264739875, 476232726, 139795287, 385328112, 423347967, 561462896, 875005207, 956105909, 450609217, 280208476, 572962782, 44833108, 334771128, 842372339, 703871876, 777322059, 783546593, 819860818, 846993203, 42752180, 623812512, 812455412, 928954688, 147981375, 970122388, 489725035, 592442186, 994757870, 255554966, 965163442, 190112540, 716468737, 892049838, 667834661, 167313021, 220126225, 267476768, 282976264, 352526167, 588736030, 168235521, 156485582, 143353880, 652119840, 222501414, 120184584, 201788438, 62068099, 4539057, 242702187, 720640052, 398997940, 862435465, 833137489, 951049976, 266627250, 251921433, 153473426, 186659211, 746712910, 287970443, 633569802, 80514776, 683964269, 904662098, 612645658, 242318515, 532528229, 959319682, 546031751, 621294590, 98163668, 505976728, 268592473, 656639309, 879751627, 9122846, 564331856, 835969171, 704937364, 695582809, 110110252, 284088921, 817864825, 365919435, 557251094, 803172847, 497902763, 902241594, 97891605, 898873274, 884339041, 787079400, 488440489, 873793010, 216768533, 355111098, 785516199, 916536924, 878404954, 465645132, 631597004, 107439990, 492378020, 617146589, 862721389, 811281705, 423829912, 537570821, 587282052, 578763458, 980874601, 186549967, 681799374, 400184927, 159063676, 146437055, 919011255, 925766880, 241435290, 690463881, 351968781, 498503725, 304404197, 870383393, 233520845, 659596293, 534826604, 470005410, 98919068, 630450673, 110249271, 902945882, 119119680, 420035884, 496467392, 329874798, 675048255, 981337133, 769622269, 774540157, 831106402, 244671708, 740440959, 745390558, 982336036, 444551881, 808321846, 287652446, 303123238, 841317587, 385159894, 906393181, 319271021, 767627132, 610106096, 80450575, 629159118, 611948762, 462178072, 498566506, 936595974, 57068261, 194962652, 598461091, 553296368, 703923264, 648744970, 176731116, 879219350, 304735990, 978252531, 968910980, 337998244, 356869873, 773864003, 862620077, 950994074, 326908298, 347263567, 996786345, 313409707, 80298715, 467270150, 853914048, 823416159, 51947455, 141721681, 959564397, 530272370, 593726325, 295115339, 79252070, 975122645, 627859401, 959007947, 74935761, 159042063, 134121151, 426355467, 896515352, 750805600, 404194940, 807310137, 718482212, 254266860, 645902280, 137665551, 872486820, 269256409, 974921554, 452865594, 110336250, 930479029, 378707500, 302798256, 871770713, 272230142, 362772439, 958973034, 163845325, 594163827, 660738826, 249829621, 340653180, 497528052, 324923950, 876442710, 873143813, 142359943, 655624306, 804324007, 327629737, 191501264, 690886133, 100222868, 703299778, 223918729, 745473355, 573520835, 276140999, 808955134, 721305873, 629365735, 87086297, 322128077, 748031047, 574046107, 639709587, 68826211, 93447573, 899653144, 479472624, 188691012, 850279383, 815869928, 31467467, 674138329, 599701208, 559484167, 851256571, 817673002, 600569878, 387177809, 361795131, 659054595, 455241436, 890355482, 518906617, 377565631, 695140396, 885313097, 8221340, 652738164, 501142571, 222062144, 337664452, 667878130, 367978100, 864341800, 530915998, 131360278, 895946691, 313859009, 579022510, 600507779, 187953068, 925844600, 985135489, 304322143, 155780069, 954288581, 302220998, 934370452, 188136980, 418804010, 522509648, 411508023, 875687164, 46053344, 587610225, 182141867, 842881928, 483585473, 554631384, 171246541, 883608141, 347034722, 675260509, 526518781, 387002356, 807237110, 379455139, 656816702, 506104503, 633838551, 757996366, 170454143, 843425113, 49109811, 469703361, 334289674, 752676033, 857457421, 831766780, 145866693, 504430523, 731680359, 975025428, 933987264, 737819209, 483111766, 671690990, 853651930, 924417517, 935383359, 526796835, 815913093, 14405924, 902707894, 742885519, 79054274, 509447436, 306584972, 141528761, 625070637, 919176904, 272229609, 411340490, 267093144, 285412804, 646691881, 448706741, 358189215, 104509751, 959650715, 548520023, 56302660, 265390081, 371744465, 781897851, 331312941, 567432005, 624662911, 895308055, 770327072, 608707312, 709526891, 979224209, 262643202, 574356290, 79565846, 984426266, 129839350, 394835778, 23623117, 265753303, 865415312, 603682456, 654869872, 194271458, 416229885, 22652976, 765468046, 399988696, 669332331, 432772372, 252344767, 412724963, 934252295, 829121543, 968540515, 355192478, 265753332, 922309334, 165385897, 730060934, 574009763, 569870708, 485158649, 240027575, 231912321, 284696117, 779406659, 923604031, 646562995, 715472798, 704749795, 746184786, 293872640, 730192738, 577712041, 561263491, 927586305, 598119708, 495597361, 257172058, 581693157, 104010314, 829545113, 885078999, 204708046, 455255156, 719647896, 400294627, 879658688, 633745788, 108920302, 155805760, 958473070, 343102851, 352218837, 944462849, 148232032, 201539568, 394748124, 604107893, 523943924, 439775520, 959166687, 979739397, 513702164, 897139135, 842552294, 454407829, 429470749, 77819972, 883057150, 300957134, 462947459, 735352148, 986105218, 362493257, 520131909, 271287632, 526300127, 111262112, 844801523, 867587346, 549907504, 676411698, 370562176, 170355573, 295282940, 659022473, 575901340, 259437688, 706717792, 905995635, 44226465, 549161053, 20839855, 538003544, 808060391, 749726190, 11929680, 529718713, 504528371, 483031724, 809573539, 851769388, 547728447, 761482217, 16884199, 867384632, 645608736, 943500478, 712147848, 335077299, 83543376, 230686489, 891412118, 913141365, 277864201, 401654534, 628958984, 917696328, 390580426, 121984646, 505088139, 758931348, 516309635, 103114735, 499690773, 967060240, 692192820, 783071149, 287896594, 98840515, 688935537, 596603394, 924513936, 39118545, 372066322, 737128763, 373676728, 940883607, 82087917, 23203542, 488160227, 680030996, 536579027, 477818454, 398698567, 928286857, 378767179, 692791428, 604527025, 355369392, 424655713, 438781051, 652555714, 653637069, 626350992, 561749467, 352350513, 443453878, 731254021, 799775837, 990637742, 426674185, 231573831, 859572784, 915476038, 348475736, 419979432, 761487056, 940560537, 985436200, 764258376, 485639551, 784843831, 523338201, 431533471, 350415355, 773521270, 328496801, 36868922, 518200848, 480532006, 821817433, 808325520, 616214234, 530901117, 146986570, 810457982, 751764514, 205255409, 225593757, 368901768, 735185421, 939782152, 290826386, 66167425, 867288077, 802047020, 86171356, 79889279, 284701102, 17985565, 303116009, 983887213, 120866918, 322594720, 415343322, 173404438, 569597298, 328610523, 358212544, 635124850, 571882522, 868394879, 885876426, 694765650, 7835476, 453509654, 806141343, 874424053, 144518211, 4038304, 179890497, 681329051, 947224864, 757133490, 451733788, 867197801, 516709931, 952323988, 845052881, 368630397, 265150781, 973773647, 368555778, 98468644, 54192440, 753685297, 488000658, 790934893, 47467573, 971230832, 985593738, 204553347, 651244130, 407340143, 394733607, 827960020, 681315339, 632332344, 244639176, 620438403, 3919627, 787290904, 359944974, 438395224, 36917102, 198390067, 364762392, 512344052, 717640749, 336373022, 175401872, 159433905, 116222201, 246600834, 306256257, 735883942, 866353462, 808480913, 232613875, 903971973, 967253058, 189305910, 712265611, 753454320, 868722398, 950980097, 360803029, 230063704, 751026934, 278643614, 412853186, 508667276, 29132862, 819574851, 214623884, 35124821, 755844780, 145921957, 885431830, 895740619, 647071220, 531412530, 670865668, 298514306, 770486637, 222957720, 938640899, 218579119, 170683398, 381697022, 304502685, 533868284, 232068421, 571015854, 131898477, 286350886, 778547498, 357742155, 23503168, 321196826, 663166948, 762754650, 169823175, 236561224, 854920432, 674649049, 852247316, 869468613, 527785439, 384100416, 208301566, 76038566, 878542557, 545864682, 336595731, 926485444, 563611647, 307642167, 801240724, 394312128, 167106154, 803399195, 120445129, 752115465, 417087453, 87251809, 585521177, 14184508, 646422951, 633938367, 564137206, 478083696, 378841648, 959778172, 70356118, 168980851, 551671873, 550970946, 499068246, 852534363, 2344619, 218109076, 378719053, 832610049, 160478972, 424051692, 60078035, 597301265, 279182078, 374235331, 329543941, 849782806, 862719594, 291128411, 961919325, 577691297, 893913205, 93101881, 948015457, 916709485, 598625497, 747053697, 768570365, 189031920, 40384173, 752485874, 641857752, 259959544, 318743747, 105814448, 900030014, 155559892, 475662013, 862426122, 519673432, 471754661, 664773790, 666210681, 669736393, 461355614, 972721176, 990163173, 486685027, 286203218, 880530980, 390521591, 981395587, 49815098, 110719588, 869404248, 835428372, 275840465, 102904145, 639455573, 465268150, 342322565, 393055119, 260433072, 903140236, 547933184, 299179592, 733107487, 625506754, 206451770, 803411142, 636703316, 692039186, 183477873, 313511145, 520920170, 22431246, 975776298, 861940293, 79557391, 926662869, 466212084, 601231412, 485276184, 68703436, 24717744, 272894847, 677718956, 827664044, 619274041, 575406649, 261713391, 14053703, 813104919, 717736058, 370131848, 277584773, 322527352, 960752106, 793984840, 152518025, 741352892, 593463007, 215379033, 987108954, 217400565, 331190054, 23124774, 623584722, 407156744, 743982118, 320376622, 847387615, 116498137, 964084928, 201396746, 612622394, 290908232, 347261997, 53525071, 834731969, 777214505, 348987784, 473969839, 278800575, 540662419, 502790377, 874878385, 395127576, 723147221, 213436670, 626873001, 247755755, 630168785, 760468293, 565396417, 864755113, 194592215, 258258087, 789971807, 371582835, 241210250, 900746699, 762006278, 703529912, 6000417, 844513224, 486023763, 560747319, 285643084, 919014297, 389914423, 591894841, 672667500, 289839458, 776682752, 417250337, 894491012, 710944535, 222298290, 511822605, 662088684, 929263774, 768715388, 402707274, 609366870, 508137829, 845296512, 883594057, 326462883, 774009347, 146887789, 16281645, 997690081, 891156448, 785943719, 305384971, 904597745, 565125033, 182771931, 693277079, 532560976, 770254256, 962368172, 61469506, 198705355, 453165512, 910831893, 448778994, 137304288, 14235196, 139175310, 133261133, 704139189, 351711327, 633176483, 955430331, 324009328, 238900887, 468285205, 388994969, 854317863, 958504514, 208831996, 115846267, 837409531, 458425448, 558676143, 342017160, 861560336, 397729868, 227895407, 561983215, 889266067, 424808846, 461961005, 710512605, 707024987, 827132396, 10289889, 339172386, 109824199, 940967311, 229056095, 896066987, 378243883, 996854800, 753520979, 667538330, 663497760, 809011477, 893376537, 981383021, 805383105, 495565479, 532583417, 516643800, 259695446, 501651636, 298811538, 189640520, 487059401, 259744199, 198600100, 468862093, 798219743, 372516570, 209088883, 679197444, 840765131, 203077461, 302819128, 348435695, 854175044, 979661837, 938673033, 203128630, 495401553, 594217493, 174822531, 837288491, 155513335, 20254920, 226131419, 122886602, 630304732, 979089467, 282864664, 629463858, 247150998, 510581908, 741492087, 203559299, 790692935, 616407192, 426272565, 918757488, 1137758, 592764910, 852897052, 289986029, 919173785, 6094585, 414242865, 953067660, 295775466, 184929650, 182574078, 39529825, 743609136, 8984335, 514922187, 161819979, 264979144, 129381260, 485621118, 53651208, 535787280, 673960815, 333528051, 177564409, 76758323, 7649284, 586825887, 453428178, 626900309, 983921202, 18824103, 108730977, 777241574, 571678192, 34999770, 37268054, 459183329, 663112215, 184187146, 708541496, 405110001, 208200817, 834943515, 400470056, 442299668, 396985446, 782305327, 210547166, 598778230, 548675906, 244545234, 833565645, 69004627, 56016295, 781551050, 74619896, 342038301, 454260260, 353401347, 718024396, 246695784, 179096583, 880342504, 429443991, 47557552, 529868285, 44480280, 679951320, 806233459, 566119488, 243277070, 298228174, 587608481, 91605459, 55358569, 971294169, 760957655, 734112896, 207803468, 434609330, 920538134, 558660364, 689451749, 845978639, 111766885, 359385968, 28770592, 218298619, 402270691, 795240489, 982910518, 373710216, 227083419, 37030237, 206643664, 455545431, 558974612, 291723088, 361834274, 677705370, 770582241, 755718065, 19497638, 410493889, 703571310, 360302130, 460457919, 719350929, 834359978, 496629578, 998548598, 908796103, 135026591, 47664734, 864910508, 690722097, 309598036, 807843282, 188149272, 111256517, 314562829, 383043391, 136506350, 895756246, 148725941, 524044489, 98037402, 277717327, 363335192, 456992287, 405514707, 727952755, 742957795, 564951203, 194241009, 369949160, 835497549, 863535924, 636577193, 211636935, 476702621, 513313917, 837563034, 42234843, 505577183, 522579441, 187124322, 109385352, 987242101, 24338710, 182201386, 653210552, 856296408, 253723125, 839603869, 575663873, 686168336, 281798124, 544119303, 518913264, 600655191, 795529143, 141421562, 146421115, 845713589, 105890253, 584874248, 179991170, 186965074, 456447496, 731384840, 312124896, 783307051, 926823594, 773226085, 285705324, 860319773, 271824248, 553876228, 890647380, 95090022, 77476599, 60221693, 867805209, 292162303, 411372605, 62343625, 862412397, 907758749, 521073086, 496698660, 793211895, 382943329, 669589350, 579215922, 629283150, 457263038, 511290699, 488159952, 229361643, 901863753, 692224331, 911147623, 555268367, 777727, 949073239, 47872766, 245933130, 81648298, 456812559, 290433333, 64563390, 487057296, 261723995, 391933509, 126497375, 585975469, 457787947, 709778746, 798332978, 514318687, 888043831, 67557343, 770202591, 221929158, 630643626, 204435460, 495775567, 214276369, 374606619, 589581356, 199383570, 771684114, 698832100, 8608986, 130375562, 81976169, 819944557, 642511703, 657683971, 814946159, 895916671, 97648287, 296036716, 676137875, 553668950, 994329570, 562821298, 224030333, 196029913, 63125761, 135104465, 552594159, 240841894, 879824163, 507724248, 492303192, 418061051, 48321630, 44211424, 748229554, 403263520, 457697896, 452339948, 7183721, 971824502, 913080061, 404410117, 178586683, 459148921, 727771229, 289552407, 574217267, 693036425, 763692743, 848372379, 917396173, 431988471, 386247602, 427252636, 227055873, 135157194, 367505265, 885663382, 188661698, 268926947, 744737471, 730228631, 310970686, 884784848, 796533509, 973516422, 281478693, 885533111, 500067589, 476650527, 131096726, 738907836, 162620951, 19931799, 468709552, 481835620, 361410058, 587812646, 135583674, 699708180, 296937898, 833410645, 53055261, 984018644, 808817680, 588263093, 743020338, 888017526, 184528773, 944250110, 272669631, 667271985, 901550261, 275215966, 944657506, 625154444, 48294312, 72607325, 885366456, 733038690, 47255491, 404829566, 548842372, 487306436, 583808577, 990672192, 265927054, 617772180, 609484009, 481607695, 951268202, 196946439, 341386825, 488365691, 597347436, 771884815, 3364326, 117723949, 336600241, 693137734, 534740428, 784740558, 725195101, 51223787, 890673830, 273746628, 353028000, 856198003, 686717434, 275454387, 333205607, 288621278, 547511185, 243314185, 801245813, 367975551, 285834243, 649155751, 334123367, 173908528, 446728641, 430379733, 366276988, 159946067, 738046036, 526992247, 648902159, 321154145, 253955519, 729610759, 817204397, 116924138, 514410489, 407545294, 701722368, 152518196, 233903914, 103188751, 898979033, 198841900, 929936530, 47016322, 954572339, 678792947, 149867317, 912560972, 545550555, 477428821, 356069793, 596137376, 501308548, 141546189, 277757034, 230851124, 499921216, 520944925, 753433459, 143300376, 99172239, 755610251, 206432047, 402109546, 949358543, 363308193, 66678491, 158772686, 512992138, 538497241, 258924293, 261406447, 50684293, 957350276, 295084445, 569304502, 592561899, 121207185, 328753702, 43738918, 32545532, 527523946, 960875288, 733154768, 462230909, 651054911, 84547367, 970470389, 395639643, 203918948, 110022897, 925873531, 219124752, 399823443, 362096263, 943958775, 305587236, 519726941, 226243671, 34096434, 46610909, 731457300, 763548487, 889723176, 259564208, 872358443, 884242671, 17068464, 454241803, 645299167, 686805998, 581107712, 762649326, 437976961, 135926972, 171182146, 781945858, 889160486, 949630562, 43287180, 230396245, 901397100, 967466443, 940236499, 273743283, 849708589, 573194455, 391385027, 612186552, 349187077, 570551191, 892388965, 351137253, 161635165, 162865329, 721040105, 236765781, 423940333, 412558833, 753881818, 617800054, 689209805, 304082226, 432289142, 80483696, 337839532, 718967610, 393774586, 92473059, 402069518, 188941542, 458220420, 747188227, 42085587, 812402760, 661552112, 709103444, 35348095, 310740762, 137508426, 175936980, 410860800, 207673360, 517214135, 799668283, 371672426, 878324546, 575567224, 348359694, 808129094, 603869517, 861917371, 887281431, 291656183, 707780507, 357060714, 408885602, 463136024, 524659745, 388526547, 847367747, 710331466, 628224391, 719820503, 726818884, 153701448, 394278267, 749067996, 342010569, 284765699, 883699680, 667118950, 497200469, 481613268, 913258531, 874728136, 309590913, 759398203, 551136916, 176321197, 558002466, 491145012, 266042482, 932241966, 345404327, 315561823, 955739539, 83629390, 107576878, 347829420, 888331360, 34162027, 584484608, 613299512, 70728742, 343461040, 749674006, 357930021, 953644702, 575599678, 295951409, 590260466, 255825721, 602689648, 871285587, 462704037, 235482894, 183636311, 587937627, 886554656, 526476427, 531300999, 119649543, 36654996, 219546183, 923411590, 896020096, 681005816, 677806081, 179537686, 344176047, 884697416, 542538415, 977499896, 959375017, 503735798, 338839899, 158445869, 766860916, 746096896, 592033882, 422138309, 125085771, 797706400, 918967922, 168236779, 883697139, 566967986, 652771642, 689503209, 619113261, 87479517, 303956557, 194192320, 356404783, 691964296, 578755782, 57927480, 222075422, 201878413, 710361044, 673198048, 722153210, 870059368, 780124726, 73028735, 891457423, 238366256, 792041811, 231910799, 724257899, 566724974, 225696132, 901904982, 633393741, 929687784, 775291853, 644259247, 705792766, 358036516, 787593778, 992818231, 910188214, 378177849, 375242315, 455281886, 654206941, 662677941, 149059133, 92673511, 444707825, 486889341, 919045803, 482702271, 186872530, 600938740, 635360320, 867632637, 110329890, 393254555, 415265726, 32717110, 797225525, 214868973, 366362962, 626879770, 164027781, 196434931, 628065802, 847706203, 993248108, 327287776, 991512436, 589565115, 802711598, 100300363, 315604899, 636781158, 284726244, 735329917, 224198610, 751445910, 961592799, 491684781, 684317486, 649686224, 750258306, 728898247, 826069451, 774402894, 442281482, 578328605, 241401699, 344746181, 354819629, 503616225, 190710328, 9362522, 243946600, 665174492, 149349820, 355879247, 354961068, 324115666, 698483609, 119678625, 643435140, 209198430, 74630721, 389154739, 784065846, 118335478, 578258660, 204833232, 348278268, 854824265, 442945458, 986364582, 990383931, 990910855, 752843933, 872022870, 939187298, 749064941, 470973079, 673557045, 84102738, 409205379, 527198621, 462733304, 656414153, 80365553, 206215359, 427695979, 702292930, 555089988, 538375575, 909226973, 666411427, 821181417, 977167836, 97562523, 421278832, 927252560, 546547381, 41319852, 321003647, 148660397, 318961018, 455003934, 866170551, 907641040, 267803094, 201545276, 32383319, 724536172, 687789456, 482559953, 786297883, 896361491, 953658540, 261386714, 491914163, 484824911, 5853036, 519942437, 270473102, 906564507, 493997287, 781307825, 101240933, 19833916, 740623187, 550380958, 282115083, 240292581, 331890371, 930723184, 651847849, 330382767, 869412360, 229004634, 640833114, 923614831, 485443008, 916257155, 577609516, 703911674, 945950681, 163316331, 424584751, 692551074, 353453805, 420380517, 807415388, 146258724, 94663866, 723492648, 61140599, 534045304, 732938977, 478367255, 232439947, 188194243, 370921361, 255205295, 632315566, 145042262, 319138090, 897161086, 107558305, 43933208, 151990126, 972428486, 774259535, 453759546, 292835615, 315155402, 293412273, 842925599, 167695706, 691152224, 675550069, 976327394, 651584095, 125046319, 142518834, 14918103, 985889761, 396703949, 828203847, 477092540, 624418881, 449641066, 507259610, 221445896, 135079127, 591483932, 403365603, 585251763, 141137998, 891284418, 524719275, 483405668, 674926683, 688874922, 338393150, 902920625, 821747927, 761301110, 566310846, 529508008, 249337650, 725883026, 89731491, 567577436, 78730133, 895482704, 196387060, 258801315, 766183914, 568578005, 874145502, 166876053, 607636670, 415122325, 236852792, 797174191, 285518827, 5849402, 116692786, 614582111, 330099773, 957947810, 666731995, 248522130, 536398676, 46442352, 492461969, 607339495, 795711421, 829422939, 284252342, 540345817, 238329667, 392373693, 340767842, 201928398, 105574267, 448556718, 446830206, 932812982, 379604145, 151614995, 852398189, 398935514, 357458205, 348404210, 221428606, 112610938, 677656909, 512103594, 194032895, 998128296, 575153570, 515512659, 589073130, 805194842, 247656355, 667544564, 479879773, 768842971, 261101039, 614069851, 668949833, 610997337, 603996296, 814825317, 154856211, 102562907, 831054345, 846729874, 309833216, 484739262, 281758585, 3453231, 144417245, 728218638, 59835513, 391345419, 54800658, 654692644, 204034046, 103932554, 452559817, 938081453, 861653716, 905590886, 618377011, 772550913, 584535336, 720518015, 749935789, 218250330, 959301619, 548864646, 158412261, 977477337, 959736624, 356695794, 898876646, 207460132, 181890812, 741042163, 159268051, 695972764, 744815806, 947463501, 793277986, 982238978, 434081386, 692923939, 11174476, 95183702, 654345071, 930774746, 716916107, 481027079, 200524856, 917742902, 90385286, 986728845, 898493947, 418525681, 945054834, 271673770, 107050762, 411749428, 152814434, 839985379, 272323337, 629535626, 120239647, 614832676, 463532605, 136180411, 240826227, 420976881, 534272708, 793471937, 28990534, 420266209, 601311124, 880950492, 761185918, 141458493, 817836362, 71969588, 628291752, 224607137, 134616575, 825561529, 603680667, 713336370, 511961783, 287801915, 244241795, 691249773, 216272526, 820073986, 738634149, 487883253, 605618876, 356876603, 280362521, 123896360, 953897319, 115464731, 653917896, 79944086, 285736061, 280443444, 123327227, 225377514, 235857373, 376868806, 585517589, 450174986, 449215814, 66500472, 633531853, 736728280, 109318005, 553856343, 259813684, 640830897, 593452759, 670786669, 759261856, 842244339, 605866681, 809276215, 160553360, 353534530, 963665422, 151469434, 284142947, 438706277, 638318032, 958383051, 342236853, 545095794, 147267916, 246326184, 708550761, 955894814, 3761856, 325983352, 305474763, 378616757, 925088409, 972977291, 478856489, 924654516, 194944411, 148961495, 155972833, 326011399, 926963877, 389423181, 547242534, 811719705, 453950516, 587912479, 298102600, 324486398, 846825888, 671798131, 914521543, 242562029, 76603586, 865797690, 780258277, 926699059, 931302512, 660760686, 937982719, 352989445, 647511285, 989422181, 371584087, 126875637, 390917154, 247055838, 318791960, 543203206, 351487007, 246364511, 958951377, 810243291, 600215094, 867688656, 307840131, 572235436, 842133623, 662157791, 860816619, 969551104, 551440080, 99321175, 286991646, 721917332, 465192959, 541648501, 591387540, 954872073, 307998636, 32581493, 740886429, 113546510, 687620156, 325488324, 850287970, 111509356, 701332594, 297502098, 846200225, 340591643, 300305342, 8348138, 613454560, 19590796, 892334034, 860819002, 442160395, 747547841, 638803429, 889137321, 282952480, 383487110, 472915561, 696225260, 736514591, 926762583, 527912888, 762111061, 328916219, 317952592, 107135300, 645507321, 963225463, 746990357, 425671759, 808411095, 386925851, 780522968, 614437645, 334913818, 892388823, 709632747, 17117341, 227916571, 756201846, 670920872, 311353995, 408607868, 618730028, 436804655, 674045909, 715834902, 475438222, 974378729, 712814559, 231149899, 408838320, 135641238, 18864042, 893166311, 614873091, 145093471, 52304553, 883770710, 17729982, 198076695, 618173941, 782485335, 858125785, 957583841, 558799239, 245147347, 810609847, 323784015, 343303517, 932612573, 141685348, 396509872, 358153595, 203169104, 552438860, 984696907, 709151094, 85430811, 863987598, 458723960, 765363565, 889919434, 493672712, 712946455, 243997522, 132846272, 260404150, 815351722, 646260439, 496276009, 450087227, 256947011, 142769281, 436420528, 73742315, 596959369, 787811464, 476386651, 611929307, 674167694, 863009909, 638943978, 38916061, 229296790, 732915291, 853432379, 487466471, 338955289, 439067199, 401306674, 35326755, 24599268, 550556264, 938709510, 543537892, 751257502, 696992102, 325111330, 548603267, 483671642, 383700186, 428650357, 295716368, 156151892, 783396710, 133774999, 760399865, 500472053, 460854564, 486999850, 557612851, 663083504, 140730852, 557217113, 6090147, 857229424, 768100894, 36961676, 40089010, 273283657, 308001969, 96263046, 123741209, 586899661, 479059425, 486421496, 106602080, 271625005, 695875505, 589320214, 842101189, 847533363, 670788189, 821268844, 772287675, 286627679, 822632878, 253237538, 329774313, 112238854, 228339638, 340439937, 928300616, 724197273, 39299726, 855549334, 363489943, 787453171, 293767310, 957890842, 982954637, 69702146, 57756789, 150165923, 764372007, 748284974, 501774725, 368338102, 245715213, 86199744, 25995581, 238669263, 562675382, 940430633, 862560422, 277154351, 435120524, 535385578, 213816354, 718451383, 324656670, 630560604, 980470147, 154995445, 76893219, 40543247, 730133973, 820611786, 428639333, 389446161, 570616555, 172507687, 13971790, 14782450, 773517996, 511368846, 46898842, 392129829, 270162420, 108081784, 599523464, 155969363, 961189320, 398985183, 113819537, 165453758, 213110770, 866435413, 87156386, 633728441, 836948897, 870747218, 905273048, 595397142, 933105459, 614989125, 72143796, 828995090, 771368702, 172515630, 776953559, 122915424, 896739891, 362891413, 30086911, 875087318, 205294156, 230150039, 297063210, 431129611, 490956932, 213793119, 198255458, 134974263, 682978610, 790129708, 244604623, 992981141, 954907381, 36840695, 881806739, 391626424, 340872464, 938546623, 670559928, 320890299, 535783009, 280580805, 206610529, 593274988, 302299640, 21085048, 999952566, 871838152, 479789560, 315656842, 23223994, 997679627, 133874109, 344747739, 154608881, 448628556, 381173633, 867191754, 458653636, 572560512, 865532055, 801574301, 858601362, 501133665, 752876420, 326571856, 389264580, 289420582, 477050649, 726578043, 676963460, 142366764, 488490356, 619033510, 480850010, 94234793, 326950484, 20606415, 264633026, 100489109, 643207506, 790512833, 468656386, 305821345, 330326568, 135745485, 598450457, 791970726, 722634219, 341729034, 474894864, 181036265, 313797972, 278187865, 935023479, 36620170, 394140098, 897085672, 493358410, 882615833, 907385744, 799629714, 991524040, 860434299, 903019923, 440772273, 768863473, 889745615, 350270461, 386021788, 454805487, 214382801, 620740114, 382461319, 856424864, 820691410, 549827222, 157518613, 224101545, 586694186, 162818114, 309796856, 486657296, 15014710, 460095417, 349075178, 228623388, 408119515, 460498680, 799703749, 401374831, 696663909, 33428769, 919403501, 907284739, 258718217, 319308051, 945360841, 53411177, 918259829, 3137837, 652426236, 623519999, 664986245, 236797185, 393772921, 269946129, 381824082, 560255372, 644078074, 908682668, 553135631, 678921587, 977745732, 668206018, 53582713, 430448261, 405062880, 129018304, 852338393, 187743997, 181044981, 510215283, 500612684, 789423373, 174403499, 50439001, 987679748, 113378337, 736840016, 124936229, 624332862, 4026434, 689547454, 779520456, 904107570, 610882249, 44181505, 941773372, 988282138, 366265283, 229155950, 981554421, 696841441, 399142079, 854968192, 282490731, 370254357, 815451319, 289701394, 180566856, 432030658, 667698738, 319578450, 80737167, 513713679, 382998260, 15740395, 533385815, 414848366, 990960946, 433210354, 409356613, 277734620, 917356148, 709428467, 927585724, 549213359, 77098464, 641425653, 242889923, 227447850, 72826657, 573516772, 994111832, 113243190, 482015826, 966838069, 611508772, 24141894, 594485334, 248989298, 432721093, 905069817, 598246106, 861691065, 833805341, 365103108, 155878947, 457567838, 109542984, 253882136, 129899802, 228782180, 321158416, 165970171, 420688177, 707932480, 978565643, 479146349, 457575800, 723871436, 777183713, 957270491, 754319541, 656368924, 669593185, 248406205, 981623218, 846487530, 70543458, 310668410, 580689789, 497594371, 549342146, 649169421, 421858962, 77366050, 513038770, 200203506, 52896765, 922391782, 996444102, 808432951, 989588901, 765423053, 108655575, 757206465, 881066794, 735902917, 984818251, 534546072, 196500968, 214241410, 632776260, 287285514, 471011414, 74901868, 140664346, 888828676, 747506912, 211010280, 986931802, 741925577, 781109061, 520400131, 237001203, 119151049, 944692807, 374511746, 76269044, 493243384, 695738470, 499020603, 21548352, 902364471, 456529894, 624589293, 899131518, 670418292, 622336982, 755390261, 599008244, 509626311, 929574835, 285544108, 973561962, 835433792, 159589380, 969632588, 929360481, 89844991, 997864354, 400822089, 971241040, 766349413, 214011411, 362927562, 352479786, 250744883, 66533395, 220332026, 63769127, 338701303, 665651739, 976185458, 95118025, 413882629, 203415338, 270503384, 482284160, 127134775, 453703741, 793971137, 550413928, 143274203, 404594248, 242728428, 291274388, 253322796, 743788742, 829149292, 633721196, 497681461, 948537079, 175817641, 174884054, 119259593, 419425151, 146587306, 157426939, 642140101, 973057119, 273944903, 659761496, 735151739, 579922863, 724947992, 342618094, 183038286, 627218597, 570366233, 817539795, 128616706, 842837849, 356962993, 56461616, 491155919, 354185600, 872020183, 254886482, 969676301, 274729554, 849836933, 388927565, 434198574, 793082665, 246818061, 984605644, 790632830, 684688433, 691733550, 463184574, 473542063, 332724083, 271247342, 550472215, 267885950, 67511850, 604307659, 353620320, 926577862, 736388054, 592965202, 556036913, 609606193, 874451337, 495990676, 898577564, 600956272, 999925307, 935551367, 821256420, 12638145, 467645701, 285534737, 924967026, 369521285, 810169679, 381910878, 877097174, 733979652, 397032799, 780946473, 165505246, 433465179, 284775605, 656157769, 306374994, 59745294, 880607362, 853065294, 385296097, 994021314, 614876384, 963030224, 322517479, 180314712, 750008550, 437039371, 205017759, 977024501, 447190289, 999770130, 13714185, 86022858, 61544162, 499899445, 860597414, 272187784, 568707041, 131719706, 814824637, 907801198, 654189194, 262472331, 493031705, 243525973, 928443767, 228964577, 22541552, 270071733, 363731661, 690886230, 253954585, 865878156, 457364275, 790700520, 313961183, 524249343, 996700949, 805440246, 784043141, 286095886, 800476586, 717735985, 175766721, 362346448, 35708906, 441875963, 402860270, 994895109, 628674966, 690312719, 511096127, 281170979, 447110449, 698123549, 49243423, 647031069, 419250230, 941547965, 440560973, 665017581, 676198162, 877554318, 256169420, 608417530, 690315661, 370385679, 162610068, 844638100, 123256085, 650336669, 183481066, 5492133, 252001155, 23820052, 861485026, 441652687, 245761735, 91408523, 16418448, 463808966, 183637815, 500742742, 889053929, 953805068, 263183714, 924961566, 619211531, 881742482, 460027943, 281081707, 981645563, 597964936, 602491634, 671699457, 499368930, 961263892, 545037683, 346760518, 725549766, 50251375, 793541358, 779365771, 286326010, 709169224, 108315286, 253957238, 331085547, 734491787, 543083247, 241441649, 960303726, 365492673, 476598844, 188736463, 722578127, 606218651, 426627064, 572324974, 103985168, 490715397, 594176382, 397375404, 991222177, 439335718, 256310264, 777845101, 973538626, 140251798, 174890008, 571623274, 969030503, 316242597, 325734396, 163076388, 986377446, 929297766, 39823437, 700765616, 477866021, 857147777, 125153021, 836546893, 15452708, 944445607, 291212399, 7833983, 557877154, 604797044, 275321687, 181269360, 529294495, 963652, 619806367, 795455158, 442684153, 136873197, 152405590, 232454437, 212237822, 403703924, 400115448, 636021070, 52647084, 24809207, 143024963, 433880232, 298651212, 347994567, 902825890, 697767381, 915700100, 30090367, 614110874, 410335154, 84620146, 324348627, 489355478, 105047952, 52396419, 514385737, 974505003, 183183834, 35160597, 863521924, 931921462, 900761543, 622563027, 263679042, 126673091, 48003946, 861826621, 301668520, 810873520, 757493540, 753602291, 752867693, 262142283, 996715374, 871696056, 873497152, 745811073, 382596591, 297270016, 832845163, 113848857, 19631314, 925910825, 317157805, 798055249, 958787795, 409254866, 428510980, 893395729, 417542143, 821530908, 692561396, 850392540, 453364782, 803623359, 684709753, 102435163, 84492615, 559325118, 835362338, 598557459, 84015517, 636048657, 700863056, 495291257, 685015065, 162421373, 848015707, 937868999, 371597329, 817418097, 798377589, 606680633, 307792333, 218465106, 587321897, 24983022, 530715778, 478198091, 219508954, 807386843, 394396915, 229922913, 358671855, 478993207, 372285643, 683146070, 42846377, 233537193, 9318798, 25666544, 1663408, 74319385, 745386395, 327866875, 689211527, 248419968, 861658887, 349218787, 53466230, 460836701, 234486174, 998051482, 288825596, 647701886, 510099746, 997985379, 258599941, 848095398, 316465457, 446758373, 510992613, 518882595, 939661087, 890869991, 906037916, 150887511, 462447946, 431442956, 254545554, 254312960, 933993421, 704974403, 411854939, 157910191, 113367861, 993901204, 834313761, 221386401, 156658652, 429137678, 164956447, 372181589, 753201566, 198188442, 656820309, 604078678, 49046034, 571527366, 271871509, 963462736, 854286368, 409046756, 105901345, 947781782, 934286496, 689230032, 577656691, 492338350, 524911869, 145181475, 553908778, 447689526, 581981811, 450709067, 117698423, 175877117, 544410439, 213222531, 642058915, 76734208, 636527646, 538310179, 214892185, 493725538, 766502208, 187298009, 253987419, 232071042, 359008868, 665277439, 905596297, 591305008, 550675900, 707975795, 620771920, 172800502, 358596724, 249453719, 497242878, 372380196, 482653171, 919819662, 128189735, 899179793, 611001224, 302596319, 523868387, 881231316, 152432002, 832874849, 594094618, 249439254, 305813339, 475634408, 648180549, 940760655, 329431363, 170585076, 571585921, 151628544, 831769426, 220603020, 743496342, 970224141, 796932112, 1634502, 352109074, 534385975, 638449262, 185637469, 325038143, 851488228, 883970912, 15544937, 612569815, 596624158, 186583516, 354100138, 875712782, 967637303, 553142587, 668147707, 901404824, 217268655, 23718988, 72253235, 573523141, 23705883, 378814953, 261754243, 623183742, 38194562, 559724228, 790516724, 360444885, 991977759, 861348132, 832449960, 466777639, 371674359, 637973742, 325816638, 817356084, 933510356, 723746850, 815504261, 331818451, 333251572, 63358268, 177244569, 331475493, 856562626, 901829302, 602805665, 918465007, 391038472, 342306858, 650918307, 563908696, 211593533, 636208196, 540199522, 295832424, 746984829, 964795523, 229882055, 638080136, 972814005, 257680114, 858941369, 56276271, 451765533, 297782949, 167254482, 905513292, 905629652, 361419844, 435862666, 746857819, 236192556, 896258469, 35484209, 406219422, 909867490, 475666084, 758012696, 565099957, 758360225, 924108141, 439970697, 720420264, 970132710, 901738070, 302647798, 603488568, 588220245, 739772911, 456267436, 227198644, 369358779, 326420162, 396935509, 729110167, 449414295, 677443206, 401227196, 813801633, 711096050, 950806022, 693640484, 796131851, 925989400, 835646200, 890859500, 250725300, 825183029, 366445734, 795513810, 959966127, 219202038, 359201907, 16831582, 932297889, 127601046, 8966225, 908746103, 775336802, 761181547, 823276175, 693341641, 492737994, 882011013, 836592796, 750551061, 984551011, 334887838, 777042489, 107323684, 223437625, 192207513, 295138476, 438682438, 288024219, 462933759, 126673695, 111200990, 893214116, 227997190, 578213824, 504733913, 973995217, 539030845, 430799368, 350035602, 885929702, 660989714, 35318574, 729868393, 895107805, 831583166, 540121747, 387674363, 850917103, 535258858, 498643898, 717973238, 985534400, 144207435, 731831678, 158679161, 382108225, 14535019, 742006987, 114124205, 305854432, 580970496, 930417643, 533411059, 846827099, 810651142, 220622280, 957411187, 236943315, 947672364, 700883658, 399615787, 995390505, 952126465, 432215349, 442030060, 266113795, 713317875, 426515631, 525759661, 340158328, 819102573, 930697743, 439834024, 757842444, 187667224, 641029047, 630047915, 892704040, 229067612, 234911901, 258993960, 183045928, 646873136, 848919761, 79176080, 47978054, 459907662, 751387845, 749971488, 560048508, 107705081, 833145992, 395496720, 512004718, 639627344, 329489618, 159992086, 984033958, 693481193, 930482524, 991504092, 469962886, 634492637, 346124538, 455514862, 412714974, 160748278, 48050754, 56489844, 209422914, 832641672, 589054125, 535662713, 614020599, 790393105, 202536250, 504111656, 562732907, 880899988, 804875049, 828945260, 556381496, 457635825, 158556575, 490808918, 743149168, 318867092, 381559021, 388969595, 310200550, 267935794, 746896075, 255837376, 370915982, 709353467, 218731422, 322084165, 941228391, 69255786, 686895143, 48729134, 504489671, 615296120, 806867572, 912527475, 658975248, 305564375, 616279739, 175757237, 389949253, 414021416, 16259913, 755926764, 394698008, 739720676, 600001139, 894528866, 268350451, 660730701, 213941603, 604650815, 544847710, 558779182, 463113086, 342313300, 381926851, 819774316, 648251684, 47728465, 154172371, 532625558, 713005822, 742685083, 284877539, 163480680, 672863063, 408885239, 658604237, 364011849, 722414209, 978114393, 229614544, 672611144, 150306908, 574919349, 274892144, 44079220, 998979395, 338129181, 694789165, 488831628, 401727422, 915594009, 80676785, 370356823, 632877185, 515984957, 640359190, 970742100, 749507646, 988860970, 527853407, 287418277, 237981072, 749633843, 304402079, 210465081, 545476593, 686301045, 547461044, 1985083, 786212678, 404791986, 490142542, 448841822, 34868217, 591942171, 35313081, 84100966, 85660842, 881236149, 211177892, 879816589, 707705687, 437493547, 101815631, 673530351, 768438068, 215505606, 890286447, 225354601, 753554070, 411697041, 28200373, 421665157, 784474299, 699567417, 330115124, 552096384, 456881055, 347815792, 815137626, 569529691, 825386828, 28343309, 93569851, 889834689, 905112972, 370554385, 334541513, 645086167, 963278462, 744790904, 960161888, 618198273, 378152493, 243264832, 793513774, 664294368, 533259194, 611765645, 719822254, 876765151, 295095805, 479111165, 638551250, 409991906, 782646794, 143785958, 690159350, 393021175, 876185497, 142521124, 29210270, 798288902, 32580259, 704579161, 16271044, 423215118, 619626634, 849569727, 215179487, 626682585, 729839642, 923436998, 925942827, 587943092, 701304193, 337824722, 870870944, 94594620, 781757131, 306038484, 281277068, 182438731, 747374996, 477382794, 973013075, 820738198, 127781797, 2411998, 274084259, 277421713, 13536491, 910570645, 58481779, 109535888, 293772230, 186267987, 603811381, 567975055, 46763082, 664024912, 928341123, 46331056, 459276766, 703218899, 758305493, 353809319, 384195212, 815949770, 258866484, 86570327, 465671448, 405198097, 980258314, 57848451, 566831741, 900224215, 636566620, 950458608, 57466733, 469869016, 969150907, 273183236, 631337713, 590594922, 729697830, 689859960, 412954236, 940483639, 768305768, 485495551, 43268048, 798254614, 969079717, 385944913, 976331097, 905768361, 182470527, 403973076, 460841347, 350156180, 202017901, 984395218, 881996708, 23415337, 593776648, 799106112, 660127445, 554862256, 891548644, 446014945, 814686514, 407436319, 797320771, 573873782, 294287008, 708740818, 830134037, 495957484, 674101430, 72106604, 763532795, 335586438, 397029859, 71397662, 769105574, 419468022, 693310441, 843115583, 107546269, 346468911, 963088455, 866047469, 463215404, 100201433, 931089372, 620878020, 272300172, 710849747, 430654327, 217417995, 48084642, 529821325, 850710931, 850894391, 346182600, 225826093, 335762777, 527224766, 763177080, 115862680, 595298522, 318315446, 123759393, 762545165, 324334879, 986251264, 263728786, 227847553, 362401407, 645305596, 996344884, 618696178, 71955783, 404244666, 657876307, 932344465, 949778866, 75316888, 908009636, 998539719, 692349231, 716431621, 145371070, 93521550, 176586808, 226122720, 23429917, 302400678, 600176810, 892892181, 949853609, 404910271, 887776914, 631215834, 481644792, 850048961, 27995207, 727376578, 470292004, 132105991, 890258480, 543406268, 962604293, 365648695, 867518526, 798218149, 158704083, 467468408, 498052502, 963321580, 265446085, 355566563, 566927063, 617512997, 580512361, 618768583, 439428301, 527438969, 378842741, 803823027, 563025076, 462408734, 396028127, 975367249, 212728119, 907515441, 325352153, 127162707, 61168072, 583948081, 392940371, 565801779, 496581563, 701226546, 672489309, 646101617, 533841189, 488960686, 921318792, 696534072, 980130710, 202866412, 158323152, 265261610, 984634648, 493003141, 242562010, 209243566, 763108343, 177760030, 82259798, 72546586, 784950199, 790404942, 321662812, 306706208, 12645702, 803622155, 13399846, 822280216, 211089241, 377953314, 722017597, 11495385, 665908520, 332202313, 178269943, 747985217, 448581499, 466133663, 696818201, 414482909, 99363453, 450648625, 871130256, 868290457, 757594856, 374701126, 764447012, 764817511, 815511568, 158068274, 718193650, 363109050, 634572660, 829860191, 848390893, 593208328, 507672623, 772973188, 322475585, 477579386, 969619361, 841357763, 357822477, 483280366, 214482116, 207930735, 704448070, 555356972, 219567822, 225340888, 452193927, 417198892, 664668313, 530286095, 366219500, 647592949, 292492375, 658818948, 194130141, 355031227, 368775071, 408652502, 357489026, 231464357, 951347930, 704703828, 527535009, 271728643, 629529705, 950739149, 988880379, 792955219, 32954631, 331687447, 788902552, 383383514, 710131820, 16331995, 428234919, 118505214, 796233124, 163759923, 681549233, 68664853, 450172038, 954472970, 409619288, 489093772, 345737120, 131335780, 586636155, 28897226, 179332273, 45609838, 108116747, 977814745, 398471988, 143044114, 874410545, 932498928, 644817271, 106171460, 755323803, 449769130, 132522714, 73556560, 48933949, 956846001, 539646503, 742996941, 119814341, 279324856, 903421719, 59754011, 555579903, 652794366, 378342781, 264790585, 565287018, 707482171, 811817690, 583492947, 596599025, 429783829, 353622304, 393230381, 951435435, 26498246, 998189128, 896031945, 891124962, 404333305, 275112030, 813095852, 323917654, 158418399, 154504658, 777024810, 381790318, 686923524, 987142663, 103206393, 790668848, 400965379, 800039227, 633824792, 779969761, 395538170, 684113389, 397944205, 175532394, 920250721, 802311314, 129475996, 636515588, 545192664, 197783825, 590182100, 363634927, 207417010, 106686677, 313968288, 265249116, 55641027, 921536931, 881593343, 193881705, 304232798, 484560945, 174683748, 548609636, 440381851, 796937396, 54320181, 968297240, 362139260, 400698188, 858160254, 213931217, 138278045, 981235612, 157439451, 946577149, 34986179, 434387691, 575806952, 161106083, 502405118, 658708213, 479316690, 138026156, 169886544, 949028116, 600657909, 610129983, 734628501, 594200717, 430132458, 891566190, 637841452, 544079433, 733923014, 368292102, 766226665, 941037108, 929681998, 149731196, 387180976, 819400328, 844185040, 395219571, 211728310, 355823136, 221142080, 872247748, 291645242, 522319425, 165339523, 41795806, 926364737, 90838674, 284904067, 179763813, 850323318, 532383586, 449362593, 75888965, 491181853, 178238926, 890704221, 51133219, 10067725, 978694368, 944687914, 113116434, 960952965, 223441553, 624947768, 847476679, 411804947, 544917824, 530641217, 632319550, 482671729, 973930361, 941233794, 691948844, 427920512, 79294772, 671712781, 835469004, 23649362, 45148373, 184595239, 854744695, 640446762, 931910957, 184302861, 902281100, 702144394, 825337888, 607103516, 91513455, 939149015, 445283180, 372162357, 199922939, 456427559, 53373761, 741800827, 159013867, 160822427, 601961208, 561464251, 153661589, 439055081, 831824991, 617162339, 333219542, 618101811, 206298805, 308190940, 303002560, 803638257, 734719303, 286665885, 823420486, 836321368, 837837472, 785394196, 766352738, 901992464, 357391675, 224919048, 540170382, 814057428, 655767371, 540287032, 764669912, 700835164, 134576791, 981812329, 240254943, 262073457, 494073449, 488605281, 651072897, 66732326, 270588283, 329351032, 53213746, 837457114, 373700830, 957531248, 510260777, 288992612, 791529205, 335069733, 110449549, 756868321, 824746137, 981264558, 894987544, 243253797, 939019576, 280963940, 810174310, 429970870, 459819902, 338708744, 329469844, 335082121, 340810095, 539692282, 944465649, 902960127, 761290492, 16987720, 640217284, 64067968, 505104437, 139082610, 466092575, 832493948, 264500774, 348692499, 894273956, 861376196, 492861963, 412380357, 966172301, 693447439, 515185385, 898359086, 54576500, 430514719, 677225289, 940124176, 850744681, 891208438, 665312863, 922670962, 807038346, 106447258, 365498797, 339479079, 366599425, 858788720, 838829958, 697210825, 597241393, 913368665, 241231961, 626309469, 34664292, 385937483, 274819247, 997324638, 611926266, 98300422, 652261325, 780198427, 831945430, 588211855, 764133638, 962445957, 611157801, 335614083, 457468839, 302478497, 807342220, 979748189, 582565905, 602110370, 900374997, 111053202, 414300436, 737027862, 225352093, 735659461, 881549130, 928488873, 721389968, 693488927, 558156268, 772395355, 919600809, 859718011, 688413397, 421059401, 63825445, 670319141, 794010207, 6438764, 414227107, 771013318, 349961764, 127764699, 174250976, 162764924, 967152802, 401588555, 781677448, 398841094, 936907332, 326136177, 772858897, 178299266, 982387091, 166437733, 661447843, 722731148, 143451986, 210408500, 727285264, 148652070, 377445140, 913623288, 158515543, 493371599, 925670467, 277311616, 460130320, 801728857, 857350150, 319895497, 143568255, 949082848, 838100678, 917768529, 115201256, 273493023, 496007674, 500248738, 974600969, 644735833, 88598671, 241557625, 722888220, 698315281, 902528658, 72941184, 44906657, 512772477, 190900992, 772563443, 168605918, 516323891, 370541068, 742956033, 10714123, 864022035, 22075176, 984156181, 903766211, 392509634, 103505341, 638685938, 924744914, 898344164, 945897572, 395760657, 689059983, 904777680, 481494390, 988687560, 723513717, 992673390, 328576290, 450640496, 257140019, 516761373, 403462850, 663112707, 83215523, 492667518, 474917662, 696770784, 970884475, 363986389, 70328283, 628051159, 633170820, 261639052, 375347786, 151893372, 259241777, 822861818, 658828650, 42257941, 867373568, 219650431, 274333606, 621713288, 877265959, 338486709, 241648338, 616392403, 512449305, 938444086, 282458423, 523208845, 28062024, 644069244, 664729872, 254284506, 521593617, 32095760, 748884793, 913844097, 538314135, 580220149, 234861730, 976503382, 908691427, 33520262, 361877400, 113064848, 700697667, 822178509, 322049171, 522149947, 850513740, 319330140, 649845318, 891709136, 413122128, 698427506, 226286180, 495729139, 61639524, 551137469, 813756514, 482685397, 76716613, 151284610, 858949143, 779573159, 264832042, 208361241, 14667192, 377196550, 357349010, 512790105, 81435085, 951185021, 112153096, 113800908, 560245126, 493073735, 739330699, 733654783, 605684331, 290640391, 60552540, 243911993, 334848990, 438018673, 289296663, 459936351, 150096597, 505318551, 638291565, 291787144, 18863513, 616558795, 592569123, 432099539, 270183200, 25103946, 207787401, 533998159, 902266109, 814999363, 235330380, 704044866, 170908309, 904178762, 798189316, 587561519, 252346039, 529099221, 133899472, 365924365, 964722349, 118896792, 570310800, 91023346, 728177069, 284804921, 420216984, 384469084, 343935917, 216587154, 373950043, 191314329, 213846467, 481143295, 803586325, 564185914, 190146970, 912663469, 386383213, 655367110, 219586346, 456655659, 709360162, 231719354, 135477971, 903056625, 437318660, 196567617, 355642853, 17794306, 992135815, 766552551, 706666887, 154635776, 867027970, 357397949, 90926379, 847867827, 13243454, 27948498, 614524594, 229889109, 742113482, 490786127, 546788498, 448055711, 462446933, 73392222, 545290556, 964774036, 691545456, 920127651, 442283140, 187933647, 918835265, 663913446, 416363138, 105824527, 863617065, 746703387, 316436117, 799621788, 89031522, 744184580, 449862260, 442727541, 185169762, 934610258, 674566910, 995295427, 315524228, 667207397, 890290888, 553600811, 680168827, 877812933, 668685054, 541102011, 185111041, 345466132, 146338111, 261121998, 325608219, 94869438, 119770596, 707670805, 368309189, 82292262, 280894871, 324388760, 197754710, 425909737, 368586910, 905870709, 787894474, 721059571, 340242471, 313964228, 413204288, 609764041, 174597282, 336223003, 691227310, 908390124, 941512107, 629753655, 864612091, 287285593, 894403637, 56511012, 306552559, 22367812, 649552570, 143411241, 19469673, 249349125, 193260429, 399302133, 188509898, 631535052, 909551522, 138087427, 168259336, 708801822, 61760286, 126423090, 35759617, 734936110, 943790985, 637692186, 23618066, 387813553, 491101096, 636852249, 844521867, 851590141, 289779843, 834225226, 140739520, 265152581, 327614433, 300851774, 669704662, 424339308, 501481828, 729012458, 45693321, 2046282, 171959650, 672824467, 186960762, 108755407, 554380005, 869707673, 736999785, 429466318, 619353823, 272936321, 888999510, 563643103, 219267055, 761681776, 844510498, 804802176, 332446653, 363015289, 31179209, 323843977, 974724836, 274639539, 50066546, 840537545, 153221464, 516485585, 805335590, 169346939, 966272000, 801491665, 285844796, 151728818, 217404152, 380544624, 962322790, 35137663, 371593442, 677790616, 460181731, 660792654, 789801433, 19618543, 818697970, 27692770, 393394353, 989126854, 137061100, 22613214, 369949339, 444212426, 439227919, 28461364, 688017858, 944937948, 591116672, 344861954, 155808011, 793852804, 303391224, 295768721, 574144362, 739799984, 184500819, 924879985, 346498770, 524621748, 849134721, 964842198, 379210095, 542064886, 17130708, 170456645, 823498996, 967016841, 57887799, 861823746, 355782054, 21633195, 433466949, 311583309, 798015603, 277151984, 359376216, 481193615, 741233706, 926772410, 684369798, 411368936, 846272542, 411634481, 48186690, 871914518, 112644793, 834845886, 386883895, 806066638, 401880014, 479966953, 931762754, 637764948, 528602408, 74439881, 165316812, 380769488, 150157072, 751998031, 163109564, 238562994, 916383964, 589370730, 692731055, 341533057, 811792832, 481237026, 639436772, 655628013, 16838960, 585910458, 984372867, 245619760, 623090207, 621179422, 534835611, 626517411, 178932585, 315431458, 212877365, 660154287, 741846943, 531727117, 421872799, 641989456, 959779244, 709400875, 601633338, 908667388, 580174877, 820837994, 450797647, 293287718, 357641316, 224455055, 417012596, 465214013, 14274889, 508098278, 349288738, 683778713, 516782005, 765310739, 695197374, 66840824, 936192376, 823089847, 327441284, 28713526, 682686710, 721460287, 602147605, 953017923, 515123694, 56920393, 735839824, 853305213, 419209591, 460486649, 957394460, 171047127, 570343253, 14334671, 166093374, 198334367, 891249105, 355526995, 562940312, 318878967, 48549883, 288427721, 132448070, 878010903, 257245968, 104769923, 38906071, 978674915, 892976510, 859389142, 906083082, 336244496, 72036776, 320932049, 709789659, 40530054, 327666264, 45868222, 375905014, 479649419, 729006116, 475962894, 343018261, 267496034, 958306577, 132605583, 139701601, 539172619, 230912746, 32068528, 911494312, 137099957, 80720065, 939813692, 976317234, 721077944, 967193633, 130112057, 231397809, 229442666, 670557517, 918801284, 505179858, 608288305, 955006026, 347549800, 78408953, 889999899, 6446104, 638446093, 165259379, 786358957, 847257975, 701781814, 338814694, 180893061, 33759708, 679192542, 994068544, 924352167, 886716703, 752484474, 613720031, 742321877, 940617161, 385359880, 736497690, 684906607, 265807735, 642618094, 418695749, 170593236, 355386373, 820629793, 197126089, 578243078, 34436286, 109518110, 272327367, 626663846, 744666803, 715171024, 455239197, 555888341, 448572825, 430352054, 992725424, 125534950, 615255033, 23481280, 195445655, 376941171, 727404408, 149287000, 683592255, 143026570, 702085500, 827750848, 170121161, 186569469, 201844228, 115325793, 689983467, 576104769, 995000359, 460396428, 975980165, 779037113, 998349009, 394674480, 293892159, 95286425, 296755866, 575863230, 436482495, 264472029, 412227691, 621073722, 790064950, 202425070, 431726206, 803941265, 187914941, 322577692, 105263657, 840711900, 7384187, 436472243, 716994196, 744253867, 140102791, 630276626, 816578493, 168343167, 379099943, 472817576, 234072530, 618955980, 520900740, 35888721, 212128477, 671904338, 605823877, 975280585, 8151108, 144573722, 986567704, 688346097, 91190176, 626979182, 20566313, 160091068, 649260567, 937590196, 962984693, 819239264, 997854874, 510912366, 647718937, 401261000, 560604376, 52686021, 123205848, 571055148, 740381587, 921396515, 580971276, 423229031, 402183790, 240034536, 269379470, 82839987, 766417471, 222031910, 926604756, 12970292, 736142492, 679124295, 789648233, 333363388, 929321455, 574826926, 613890719, 998464352, 102251115, 102400699, 694518399, 444618394, 885608303, 950583446, 479981395, 714809642, 117085179, 375603242, 91067525, 413442425, 63544129, 309079492, 422448689, 63740618, 433962930, 779849146, 380406114, 119753994, 582902619, 448374059, 712589633, 688667733, 253778889, 978334699, 224505787, 978549038, 946547390, 650239294, 722072736, 139117459, 844537645, 567961174, 516237215, 153528880, 66422263, 495404235, 442713279, 159641260, 606879702, 734747649, 364304289, 715588449, 420537301, 192097621, 213175721, 625808722, 461490504, 824047290, 612074812, 595030898, 146633150, 833132744, 45846277, 426425551, 363881492, 750437529, 627438752, 730055699, 697921414, 905631781, 11781298, 208342833, 641610935, 390870971, 163226833, 6340427, 565396120, 10291758, 479475289, 401627531, 353891237, 392212197, 687879544, 843119008, 559689222, 189056464, 492626566, 643055929, 419529033, 588710342, 413637291, 316313556, 291252123, 478487435, 278682896, 554881375, 477652481, 652928070, 55798376, 488531116, 889204696, 694609427, 489118503, 462178001, 644395854, 274313388, 653930209, 935950718, 874025942, 708743775, 940310564, 457930702, 576957063, 61297939, 573051600, 433416825, 526431176, 465945915, 503295563, 822361473, 182335301, 328595970, 157981589, 157365900, 84677736, 652885138, 146291785, 272202754, 429109534, 739645502, 681120391, 729422847, 592610268, 728737804, 178647272, 713892324, 771688657, 229854459, 686726038, 933072390, 745927420, 863028896, 709451406, 869337789, 559789041, 509294562, 681289838, 128750089, 311463960, 854865453, 298404837, 395872560, 531230470, 116866349, 184386320, 19437716, 109487326, 994704723, 239760446, 41793380, 869688583, 864952460, 115977078, 945343957, 948182302, 286902296, 107697782, 395687107, 857724816, 811251085, 896874556, 805981176, 396585796, 331339195, 545834945, 309425238, 988443579, 228146487, 820213247, 985617610, 330628304, 74270305, 228314901, 573060967, 798784902, 521412791, 692068515, 693684520, 371440563, 846613679, 718745146, 498487415, 251090640, 282339304, 527544389, 727005101, 384999123, 104269159, 934724131, 843231494, 714551055, 947662745, 228583188, 515039636, 486325782, 701591628, 816710454, 412383093, 371714345, 882150694, 745223765, 242128505, 972265637, 658713465, 33042308, 650805946, 575840014, 683131278, 6871226, 655562262, 318716370, 764196633, 460776743, 71301751, 685630169, 276165661, 263758980, 950157938, 565577955, 166726821, 298171782, 964326759, 66356508, 760131312, 583333309, 240132325, 984997340, 575585907, 481762160, 198335625, 864459021, 530534436, 45404621, 433840436, 979189240, 50764937, 509377763, 179980265, 1981172, 209854976, 361293506, 237594581, 243125669, 671948719, 819257364, 399384385, 836583855, 969693440, 85805233, 704532734, 29505055, 85192581, 491171913, 958206691, 85378017, 876556720, 260112434, 511091564, 261696878, 929819207, 332481733, 219924791, 948824267, 757966576, 733596775, 466959069, 943880094, 148954138, 749444887, 950479257, 313870067, 432608884, 591225580, 1238033, 632570774, 650268110, 715762273, 854263879, 189119125, 679634282, 909578660, 698607588, 156868542, 442133045, 215547990, 746343252, 861314255, 850371315, 269632325, 745799653, 320959421, 515363985, 509900883, 274677014, 811451481, 978207952, 194898714, 66407060, 234436885, 590054864, 402244539, 775805079, 775956533, 464233862, 532166121, 922306213, 62701724, 572793285, 287834911, 101844606, 828062948, 169810117, 275310381, 289576574, 51712726, 698183503, 16236964, 739994049, 246539433, 255026850, 919430542, 352690287, 14364787, 691006138, 979400787, 752493970, 369695998, 664771209, 206928297, 350305736, 603362043, 434146783, 342609900, 799200349, 730265550, 591848653, 505576114, 232376667, 537347311, 305403500, 949608398, 482909839, 427426775, 216443426, 940074717, 592233363, 708283805, 747083418, 777481731, 702085160, 862607730, 474433245, 900256451, 927385452, 275891993, 708298460, 955833077, 932061673, 406303813, 53082096, 985659379, 356033129, 696004346, 519521609, 383135229, 66442283, 340934038, 548689928, 68526933, 449239591, 97454022, 27114625, 902696515, 828237700, 889000293, 840330373, 420754917, 480029745, 931362134, 471768451, 480229556, 408505923, 944266028, 32599570, 19324632, 26347387, 811724725, 935152441, 553964554, 371676741, 684114377, 118555493, 840589162, 700767908, 21373100, 400289530, 987221844, 336585416, 670193719, 106277769, 209689310, 974673201, 155478458, 615464373, 198136185, 649005125, 341795152, 311392427, 692622115, 778118540, 823211329, 816215970, 270947056, 902049438, 73940710, 31375224, 327488551, 366474578, 7060570, 326088864, 995280726, 950036323, 933873061, 542426190, 714808146, 933214098, 14430850, 905976050, 470623765, 578983420, 442728568, 391253353, 809759772, 575146847, 40139514, 447435786, 784670886, 630969506, 554137050, 176143909, 958428245, 143855296, 339402409, 412552284, 546678582, 260462575, 500097155, 996264506, 196970101, 735247685, 71679146, 817481722, 873853721, 750768616, 861030136, 717843219, 505488582, 212890152, 791625190, 520975775, 27527770, 957857798, 382192196, 808204299, 935745793, 951719659, 585814306, 938664152, 391711410, 787907756, 343062184, 168697255, 145755084, 882369308, 5307692, 11976274, 122086477, 299852633, 234966169, 188498097, 558238855, 473727681, 128969542, 80628589, 784225129, 247217817, 959165427, 473330588, 686107946, 192627152, 444815417, 758167123, 53450442, 524034802, 351554227, 407281154, 43424777, 327718723, 346884178, 332917125, 872272706, 14521363, 753288598, 122705338, 395222600, 124154062, 902518154, 325773904, 257178533, 253142245, 724720828, 473855922, 179070515, 869777035, 687885524, 406105667, 534445109, 46995324, 264657361, 366260305, 826096942, 278136239, 239435438, 362945262, 328900432, 120334765, 157093002, 737934301, 565919691, 77191817, 682950271, 921050484, 617796717, 496608488, 165476818, 957004272, 565174725, 528018813, 758900964, 773793427, 66799594, 794855539, 471286412, 331593019, 419493822, 16786356, 785089383, 616911931, 48302132, 160808309, 918583403, 648331600, 431143996, 512325271, 605538720, 374006655, 540370941, 511536930, 747491623, 995907308, 408412659, 137493073, 577230920, 272473727, 140870808, 740065477, 577121863, 30395633, 208627702, 900079729, 910490928, 282972419, 665317604, 814167265, 336750716, 129581841, 286701132, 167082204, 823849371, 889732187, 679903858, 784895162, 651494093, 860119623, 706836672, 41246371, 256795952, 604354127, 489513925, 763997142, 238935255, 518504470, 415503058, 250384953, 821788878, 796734111, 389424051, 560680143, 512848588, 290938107, 709936166, 791966524, 116458541, 817835339, 264979195, 302566696, 785780284, 568033112, 660278679, 357421386, 890793102, 786230352, 540876456, 846300583, 282693712, 956307933, 513231749, 286953041, 252399412, 480843401, 627442036, 239878837, 854566528, 598523407, 777423091, 611673776, 646373259, 70367934, 825075366, 503975784, 684020333, 56082777, 385929290, 199258660, 490985990, 541443000, 328199462, 317641257, 401574211, 410866571, 3063988, 975789512, 371299507, 927356361, 327120446, 272541778, 106223537, 790167546, 50536435, 129207484, 932204140, 780003857, 479104556, 905403369, 370788490, 480214024, 26332832, 598693887, 508806766, 922683251, 763652087, 723651062, 910299491, 519562585, 667967583, 162746697, 827121509, 495531078, 583903899, 984637125, 961272505, 432305866, 514222816, 999712578, 137557101, 49277415, 434087381, 270330037, 849129384, 358136550, 584117534, 159545345, 900105351, 535904164, 531762484, 443106549, 127005212, 953100634, 35838318, 927419405, 850194924, 172248264, 37505633, 838198414, 947898719, 614147535, 37482697, 614793343, 785899130, 492959507, 173848653, 438840375, 635190900, 528693199, 454127768, 321371379, 383635428, 805291085, 607489037, 873243247, 148860516, 220322485, 880428966, 174808185, 889047009, 692381082, 72173413, 180876258, 505259266, 787850191, 359794242, 297328114, 418123087, 854960858, 788216071, 472927056, 136592733, 26931213, 561603214, 899561282, 561879600, 485559623, 102952539, 200569736, 434534693, 853640044, 929285351, 428646617, 722094956, 420407673, 730056911, 943812180, 916258090, 796135828, 314560804, 12623492, 250765455, 509554170, 379403045, 339357094, 665745135, 885311681, 140884815, 72519353, 83673537, 476343175, 443132165, 799262892, 527939505, 730140729, 969949919, 778234088, 902813222, 603159497, 670299663, 420694427, 488438667, 967282996, 522019671, 682870505, 645597246, 469760194, 983020001, 588222243, 34679899, 480028570, 421522521, 394300858, 531699921, 162069030, 88335323, 611763824, 156510458, 447565837, 713403638, 594852979, 679966559, 138617495, 912117857, 581841994, 845401824, 206101964, 607052538, 823916575, 438570505, 211708507, 210539459, 158702571, 661689732, 138429247, 646076584, 227740224, 549589444, 438477087, 126696198, 734718381, 703720190, 481295095, 298033927, 667616739, 327236647, 106134320, 837923026, 839436052, 987017211, 767165308, 242243220, 634622368, 710073638, 678987483, 123586747, 497161230, 105717170, 971506812, 272490037, 166798900, 432876930, 647405998, 250302225, 836311626, 176869055, 172016966, 11360189, 288812711, 816523951, 299620550, 125924126, 51243067, 167712679, 230467905, 746118294, 667608268, 710526533, 660386847, 456075086, 518654300, 578809415, 854934538, 141979256, 537726072, 740023902, 305778427, 491698179, 335856487, 716845638, 406711932, 798970748, 423240267, 601587391, 701152708, 350910268, 375702132, 473871815, 76156557, 11510004, 751285085, 979074894, 526984087, 492345611, 356264910, 802337496, 621413134, 183839518, 367200864, 346483522, 836751380, 351599047, 871343110, 708853690, 450941865, 799453658, 799651956, 837228776, 530550083, 783253703, 791170790, 279501191, 557638918, 343267594, 947208677, 166073361, 315907735, 399900313, 549827010, 468264978, 783776097, 744174936, 766217881, 867801873, 833956579, 602595749, 599762342, 520632955, 28822843, 53175418, 747896277, 43817718, 174879290, 607990071, 559064437, 906323600, 609634026, 515749233, 461995570, 528056669, 589985358, 199169283, 42002876, 71267149, 387876655, 61957998, 928381916, 279748148, 469798615, 211529283, 853729010, 382402856, 930469483, 594215570, 615524030, 454035331, 734177768, 634730651, 336494435, 754069385, 639546513, 714820629, 669316781, 854426870, 960080437, 977845015, 101565360, 434880290, 377027838, 376213561, 937406806, 501422288, 507290980, 451196888, 508439476, 224461334, 554120038, 893116720, 919558806, 4087354, 841369772, 622333650, 350452504, 926178927, 893105274, 790013992, 648673226, 234310009, 6947570, 582453148, 672076461, 24001060, 123736879, 993614432, 867563850, 345158137, 692025925, 231374960, 381684164, 542171677, 475821227, 925248620, 849948248, 119001293, 224514417, 10265799, 412063872, 310720697, 553411265, 597254550, 351685880, 78573920, 631899262, 639047815, 789542110, 475542571, 135822190, 33370888, 206378887, 413260708, 14536429, 109830091, 154297177, 461971007, 279332278, 590506727, 285196844, 895549118, 993915338, 70891499, 190712863, 117322863, 710610771, 238975497, 780992637, 63957305, 599616716, 956933520, 610049023, 447598767, 208794035, 460823267, 272458842, 222187787, 295244081, 69435686, 582367015, 14016544, 50088592, 995527223, 795983658, 68692728, 339864062, 352631521, 674053987, 770841633, 305610314, 911481454, 477149708, 772370376, 535010658, 717465492, 13673512, 18664473, 231604781, 2779542, 316966158, 741442862, 232164072, 206834172, 902141752, 623301524, 173941986, 983792302, 655052466, 715362967, 803813280, 858662054, 839470035, 68016029, 722883546, 521099315, 899868901, 318013296, 6337819, 271018292, 836775518, 309119703, 357839605, 881824559, 105070386, 57316589, 57235198, 316031383, 616810932, 888131098, 596471038, 626656918, 530921560, 613448254, 63348691, 288493133, 298112244, 838665141, 16151910, 499782971, 305337247, 634220697, 601364559, 153014731, 587743390, 772580756, 696629416, 786565417, 934449479, 454174581, 587058844, 753152305, 752074356, 625715817, 698459133, 630259707, 739637726, 27850881, 963291133, 131524114, 936693129, 883121667, 599977900, 556081724, 423227601, 91605559, 726999169, 200865583, 160590573, 958643672, 643669446, 284323586, 601899908, 171811093, 253975492, 379058138, 752148731, 890572606, 964836806, 416153511, 326805169, 353897861, 776239100, 404189855, 198945762, 262494168, 947717554, 390901645, 648875758, 231629861, 261546629, 591079795, 380819441, 714744376, 346402786, 415827632, 525055179, 853007570, 65609000, 738289059, 441817440, 245293098, 392585213, 551815786, 529426113, 759893629, 602377144, 334579535, 61306650, 632856549, 175684800, 286095903, 667188565, 111780473, 903981744, 876239112, 271325310, 472770662, 201267762, 106703427, 145936714, 598155327, 578746582, 801200286, 202899907, 911515166, 728906781, 695839103, 430699583, 899869023, 358707018, 974163647, 331480347, 341842573, 224809770, 476324491, 433510154, 885433244, 171383183, 333355226, 613574950, 207785594, 378556462, 251038040, 211454456, 270043517, 551327624, 828655439, 263570653, 749088295, 82123181, 931675488, 584847894, 261149070, 854678283, 194616891, 451313197, 249624009, 887782875, 48549560, 173952764, 655024235, 216227023, 219780479, 425775595, 69052072, 386691113, 435696588, 163595366, 763150814, 775613245, 28669597, 491847745, 551527036, 674328948, 212000190, 630628572, 998476969, 440817648, 47355220, 961197112, 223753599, 505997604, 465527731, 939623786, 936657041, 209314285, 571027466, 180412907, 439363666, 51341719, 633239512, 496968133, 558439604, 643207084, 681060349, 366934591, 399780273, 917120321, 547540758, 983559253, 311516255, 369960849, 392798227, 819389501, 691562562, 406045717, 165603066, 270282930, 706972486, 437492116, 191538127, 299567912, 240001352, 266753973, 70948569, 884809921, 550507588, 839321026, 326965631, 662240809, 311390625, 517357309, 928477715, 705940201, 74635165, 175903949, 499222390, 655428759, 352626827, 462461430, 459532729, 891033622, 205982761, 344023904, 639629372, 472494827, 997928038, 538547291, 607242056, 801683752, 979270547, 699960739, 768524167, 946788832, 383561947, 360515166, 922458368, 836872386, 332667014, 886240537, 133004274, 686949494, 369197212, 889713872, 197740227, 865439720, 76643940, 927859493, 969938923, 985041312, 258194815, 99536327, 987504110, 853949747, 979444569, 587381728, 563934369, 896310148, 98728601, 41532053, 432582795, 545845029, 752566131, 548051176, 973325928, 960803998, 7787374, 687524825, 774782054, 924720515, 174926464, 28686118, 902195016, 832691486, 112076130, 181738208, 283913222, 211860520, 21636611, 691726247, 764892701, 695702576, 228378129, 486918269, 88397719, 403221984, 711111245, 922486796, 101904493, 26373548, 530358840, 105478875, 524004984, 464003202, 957521823, 902107208, 960346075, 904128613, 964675136, 176631038, 937693749, 799059452, 651893145, 342800845, 315650810, 61292182, 178047141, 278369576, 639090652, 958289617, 125299715, 276384183, 693444397, 661985624, 817412847, 651118904, 85363793, 344564918, 552476309, 699131023, 893871469, 951110099, 298895552, 476885842, 799591996, 593498653, 954655081, 513334652, 664892462, 800952409, 836554719, 751581580, 901534639, 76221772, 38143882, 473298969, 408943698, 740515473, 813240889, 164967589, 361691172, 452695722, 120077336, 406181950, 495850425, 270500491, 571924048, 422498794, 231190296, 827358130, 788417625, 821591576, 88525570, 505961411, 333603677, 107591180, 660503395, 440825854, 176532166, 88104089, 857302670, 360646013, 501183156, 849669606, 347015371, 467367522, 325338218, 718921061, 288970694, 990320571, 55647947, 627344111, 918409980, 168047994, 922001611, 789875021, 245215668, 868185833, 68919613, 366178599, 996618853, 420900184, 34316708, 220636256, 706224082, 467537479, 240781763, 701977553, 943923908, 981225167, 210376545, 746791314, 434378256, 540476728, 41114836, 809683064, 98656058, 563987985, 159299847, 214317517, 530040959, 968213966, 30049936, 938113316, 84290974, 398257387, 237450884, 7682509, 601666780, 523616287, 548325272, 945368382, 237123297, 554881351, 533551654, 155790240, 647000612, 489457594, 643666004, 480081428, 221321089, 672068559, 50325667, 907278780, 449238783, 886024760, 118540198, 510773933, 685073762, 943058055, 483177354, 316885590, 397327869, 451581775, 988849271, 160426804, 804583589, 485413770, 694614350, 334163707, 606651174, 551002312, 776200694, 781197206, 767299309, 267252629, 924938369, 891033598, 174659004, 515023147, 955693977, 53700549, 710271433, 803634326, 546059285, 8568189, 750901503, 4056470, 91936627, 554090822, 382172190, 733605593, 782023403, 899662967, 618538708, 835112548, 974684237, 531471924, 831366547, 23882921, 278969527, 370170229, 183778815, 205038048, 965557859, 607846064, 737625550, 623320799, 17200405, 6541884, 778725626, 570271868, 792856932, 446548894, 802737230, 734885285, 81125839, 173814070, 403701545, 36424745, 910971425, 623438669, 217032805, 130871652, 190411068, 19110353, 864499498, 785881691, 962468232, 722033992, 753402863, 159644049, 745200246, 534287841, 446040915, 30345883, 682209441, 646505833, 279923667, 379319191, 20447471, 970702335, 961751591, 269124677, 165216297, 788152417, 829096634, 586636337, 636093424, 649769982, 872636468, 404612181, 537561729, 590459153, 946263265, 780693053, 394578672, 170191249, 509182416, 264657722, 497980476, 999882962, 467886517, 814891791, 591918810, 80155077, 436689630, 18773189, 467446170, 429924627, 627061867, 289766635, 885443710, 998034235, 313645928, 380339794, 246387085, 880113177, 448156836, 932646882, 290405171, 932286629, 704831957, 339739206, 91016455, 32266610, 963847758, 81666717, 443959240, 986705048, 861304691, 623455780, 247161469, 705373105, 440968357, 789579716, 570401176, 708264264, 433315222, 441048410, 87745551, 665543906, 415478697, 135678489, 974975004, 717619568, 552583309, 233231020, 484453227, 290073413, 810622987, 209810131, 452245163, 388493516, 480408355, 615339359, 403883945, 425004469, 735903303, 1912565, 133467598, 981614755, 29891846, 833083924, 648676718, 607969988, 145509516, 350826480, 525365113, 83306718, 530384790, 385287445, 27521727, 297459697, 789269126, 651608792, 102865499, 757885421, 297816316, 444152815, 934186315, 328391324, 558250605, 951027217, 901822970, 6839873, 527475246, 532013640, 664512831, 183593066, 853429505, 341275724, 91543499, 138705084, 547022745, 123282690, 909900705, 432783554, 927283996, 759976626, 966994557, 292388145, 590112073, 276987722, 808953830, 453138401, 754713162, 877686712, 82329724, 90423249, 958302271, 616870141, 583037581, 151300830, 486458498, 368388492, 318802472, 237145292, 448679791, 573034186, 413077585, 36696374, 507473436, 751773207, 207640244, 604903622, 865787230, 603301836, 283668652, 446380106, 588061972, 807456306, 236593427, 485852814, 195413918, 71785586, 729797049, 124850231, 421784559, 476523099, 542853033, 180465764, 430180613, 152583276, 93089850, 195905985, 771459048, 318080477, 840904714, 402735714, 196284583, 128172593, 263689273, 84781083, 192382144, 282794839, 825615271, 967521436, 953882353, 461915806, 968266666, 611628754, 155273330, 872677727, 411766648, 342215064, 120292620, 684700633, 849448188, 887787653, 795959786, 171222165, 672861782, 502547345, 893942652, 826398857, 781804583, 999521116, 723371188, 22099814, 817484704, 210605242, 44659771, 368812515, 45344161, 706665189, 554704460, 557788560, 423926576, 667929420, 252652969, 173382946, 101621059, 668274172, 719983263, 219767001, 582806108, 308580417, 250380969, 956466921, 974312410, 386334796, 582277584, 821157190, 674070992, 469996666, 864010121, 360218992, 652249420, 269621963, 350354600, 663246990, 108839023, 450162666, 363447502, 155648280, 482467615, 572630383, 345191139, 947769788, 235141516, 926635178, 484711674, 416004230, 683836608, 41861879, 87752770, 535814144, 268305908, 271609076, 77773531, 297094251, 516567273, 348229155, 928084440, 481533249, 321357658, 145392533, 361421075, 508508255, 190295290, 503334854, 546893282, 452445623, 666515583, 49153624, 433194869, 249043861, 721985596, 28156647, 589418018, 123773253, 410115453, 862732642, 74850531, 450479065, 418258541, 857195474, 372666314, 858239867, 749678904, 479876352, 858485226, 690388490, 504303731, 357916070, 999274982, 878810124, 606279267, 312632232, 767563358, 778875464, 948511960, 750198967, 408420723, 685190666, 388587703, 546543203, 683356146, 540503858, 305671321, 227709383, 130312215, 885255647, 583227739, 455569596, 745477406, 263283695, 585955897, 936603910, 969950611, 792177718, 545925345, 44210355, 84305168, 549608552, 495571205, 332441097, 645976379, 385469395, 178339156, 325022036, 744569216, 315732119, 621618536, 138610379, 853214541, 647372744, 82850149, 102644381, 31667852, 804247177, 957765605, 223532592, 392695898, 131583611, 561178350, 664541296, 953219654, 473073670, 790289555, 944153527, 703011032, 278843313, 482370824, 948713258, 425511000, 310480446, 853215744, 127687357, 239651809, 106843466, 523412916, 173997300, 268832578, 27800346, 986557648, 255129027, 867025924, 3718635, 225602383, 955420744, 474305683, 108719127, 513366065, 693753043, 408434239, 543588848, 252790747, 7771087, 621728330, 837593988, 213011588, 342577781, 837022437, 146855235, 309141950, 103207295, 375132328, 597705411, 641230068, 387124605, 305319770, 589408844, 42472300, 11001695, 726109001, 964311684, 255520712, 313886086, 201250623, 129201643, 697510262, 806988706, 216634, 703211895, 242803860, 698671141, 58097665, 474187483, 947341288, 362411538, 375444352, 104742711, 68539530, 724315469, 293675994, 508353114, 566881808, 988985586, 508066062, 935085109, 227461333, 825525690, 65511523, 548402101, 216918298, 888140215, 828909180, 709857740, 479739015, 36410388, 24802577, 223846141, 40972085, 541709589, 522102272, 995849734, 385131640, 644470330, 426372469, 252512319, 928120872, 62720168, 527018347, 198435891, 34843856, 585068196, 986957851, 907146048, 654569870, 378240826, 482932502, 843926628, 340578097, 878340777, 437395855, 442733182, 695716378, 109235554, 182215307, 874420924, 360542047, 361478584, 702403519, 60627332, 897127632, 895156964, 400433406, 116283789, 700501888, 30045090, 973771531, 499595271, 929892587, 940707579, 685880358, 674843822, 309731216, 412346055, 97992695, 104239700, 304881962, 375119244, 213554484, 692982419, 865353121, 754639553, 346007419, 762654756, 526485401, 657363892, 950282731, 328342840, 840566218, 54816774, 128420073, 656282680, 866442740, 279901062, 221834282, 46018818, 641728764, 945537142, 652252993, 702530127, 587636343, 423366759, 213654345, 876279406, 189384022, 27338563, 769699663, 440172245, 505397048, 892535761, 510148203, 325022687, 581720662, 676224013, 252638989, 820325758, 243375206, 803864658, 961294422, 147120284, 248405488, 378698576, 761172982, 936369940, 387069974, 871343412, 605995291, 314654082, 672485633, 954940317, 1244605, 839068235, 658219651, 67032400, 616102947, 370837671, 524767104, 265444952, 552738294, 96116565, 782622115, 395546574, 463514564, 451461211, 157473756, 218437534, 493416291, 248806989, 67245148, 67921802, 906640362, 496759661, 862457291, 260396636, 671230964, 989982543, 314431559, 33279747, 977288985, 116496725, 324600387, 957248719, 646749670, 793971693, 665167120, 692082119, 61441785, 642404732, 424439738, 660323401, 213425769, 351877299, 550629234, 534687432, 272727890, 287940724, 583479316, 313395229, 365215661, 397753887, 130764016, 645155204, 338905645, 569674204, 208920965, 955145708, 553699985, 514050702, 95545658, 367585447, 89372461, 575880723, 698893077, 114500656, 269157454, 154592906, 824059884, 407503463, 201762514, 8112361, 368500606, 383720681, 311689761, 675474180, 617717848, 441355624, 466010703, 919065727, 245344908, 375808709, 796861228, 150828484, 708748351, 433941975, 149807706, 443981655, 155468925, 243122161, 599129066, 829709115, 72575177, 949710450, 816577828, 35665401, 817771657, 508984789, 575903853, 831417150, 457893984, 39541480, 547001857, 106725241, 905218987, 83033169, 804939820, 866007879, 104770757, 474292634, 356664233, 906799056, 2495010, 789331466, 901217306, 316179699, 382436658, 391411912, 206376419, 84241200, 653500640, 417278253, 745271286, 92850897, 646407111, 657530703, 700319908, 948052785, 590574720, 786263333, 458026690, 162595638, 589812029, 424045380, 446021684, 31235033, 498590469, 417665850, 305740148, 814143875, 434920553, 618955491, 7623012, 108517913, 323320535, 298953353, 590138566, 491058473, 818145019, 750878998, 267287178, 889505688, 940530412, 899680456, 183773640, 929313921, 681300278, 654240126, 889521491, 341421407, 893667570, 350248886, 696765017, 707739371, 628793507, 690604278, 749201217, 512197147, 477021549, 390419221, 6347430, 151178066, 207558474, 858374984, 804762675, 701496150, 841401091, 451881879, 49624721, 572682470, 465536072, 888789484, 617336847, 996348676, 50623152, 570879882, 427398076, 20033116, 596617035, 485240760, 230888793, 287756863, 601446058, 678392511, 340829614, 82896903, 512346766, 444935215, 640255574, 577206199, 203645731, 94942012, 659234133, 246057382, 547114937, 153442848, 593903539, 127160400, 352875669, 776033741, 739446161, 840776940, 946011973, 116405170, 82704486, 716898461, 903833728, 575169152, 2752392, 52513546, 774988750, 721214789, 768444967, 739786700, 144749216, 230668978, 170655230, 889701881, 32396237, 968500654, 506066194, 457075786, 738956564, 701448185, 830154166, 29502622, 658459112, 186219595, 203039220, 818513746, 477615928, 513821556, 152904178, 458155304, 762454738, 866646884, 201886484, 902766326, 132919222, 893243218, 278845580, 967452541, 729745594, 571432061, 150564548, 658221703, 857780652, 806347600, 64447154, 43004172, 804972308, 410533462, 497778222, 944779875, 888720539, 886669197, 81218901, 43390008, 203215112, 398061909, 146263807, 584539558, 443463210, 376262237, 970575442, 880071560, 240585252, 642202591, 302189499, 602610880, 990547529, 464875515, 915312884, 844593330, 314047888, 877711903, 908385123, 545055355, 798759276, 82673934, 339733122, 818412579, 225773081, 378714102, 847777269, 594262374, 455708305, 811393825, 118184179, 333185461, 143054103, 542218575, 667363151, 247610085, 299515915, 99712624, 125835426, 38380186, 234800786, 171303677, 301243980, 969013978, 289549543, 531232823, 425189173, 146576129, 604980427, 410915223, 52877601, 347537899, 886755160, 215570207, 668657156, 287106328, 178616072, 952781540, 265175152, 472729956, 121286580, 653749708, 499583671, 470939321, 86910834, 283048436, 75783182, 538560458, 389877740, 338114093, 91764726, 574521045, 724107487, 442871580, 839326935, 59675945, 748872556, 540221633, 190854002, 384905661, 184262440, 517598777, 175711165, 43703569, 27168064, 783727722, 746622083, 160899930, 958118810, 320472634, 15280257, 361194723, 611313169, 512123038, 872184471, 811270522, 532966762, 431026852, 633223568, 423581701, 618841566, 224977472, 125221988, 783847910, 510403001, 274437797, 734506976, 211422069, 785192117, 20945323, 457581368, 10178383, 370477801, 585026311, 122505769, 772168504, 653475830, 490633226, 134595679, 229116871, 863285165, 503774777, 221154761, 870294842, 19789682, 529985218, 5138984, 849181954, 377545760, 125703948, 711737329, 812776527, 446927359, 959254853, 260025004, 452945012, 84109872, 71321063, 379955320, 293768296, 339013471, 891238616, 160807739, 799638548, 552169560, 799676702, 432165397, 836458225, 400576027, 928904344, 922321815, 165597429, 975220101, 450737156, 225376153, 251847666, 608749630, 907732669, 124733493, 808924799, 912353982, 423606166, 416817348, 830033938, 658604783, 497345070, 679820995, 861391624, 649072432, 716597386, 674716476, 413246358, 515650804, 805453953, 817907876, 482784309, 145593278, 46794819, 760897114, 559378914, 973170824, 33153189, 141765800, 2192333, 988419528, 392225675, 922855330, 775484411, 629782265, 185407457, 770904656, 517065668, 784433433, 402344840, 791037672, 24954315, 901991907, 911458727, 210759355, 544144178, 95809835, 984847754, 186885962, 104275840, 932479882, 910114031, 148512986, 852648140, 985175239, 963157026, 188331199, 44284349, 654218605, 297997913, 753796563, 190399234, 660749095, 344353107, 445858187, 733460592, 314137757, 820359589, 898663586, 77514852, 878138135, 276551417, 429461489, 348197342, 902032882, 960161491, 148009882, 130134602, 956159021, 901642861, 591344518, 977606903, 469791352, 45410734, 93670060, 295905891, 585151859, 919381215, 187866720, 551894060, 631915814, 892071721, 873809407, 199893697, 559212144, 142742566, 977221328, 801362141, 247384611, 607300476, 377167855, 701076090, 29863064, 456425994, 812043491, 144770045, 150988311, 625609915, 440782916, 663350945, 644899826, 332742114, 807417717, 382105987, 282798847, 819040789, 947569381, 23711841, 612340864, 718568721, 185532408, 627160629, 272367790, 317398092, 780995022, 582298939, 909773543, 274861181, 178506144, 188543545, 425880323, 151004463, 720187081, 581692735, 39844437, 920257240, 423164045, 526697720, 357836566, 77202933, 151966392, 424194529, 310299734, 79804446, 370983301, 1956469, 635156671, 88827631, 482049409, 285528280, 530265792, 115624060, 493631229, 259869532, 616851385, 692487838, 988190182, 235049550, 473284287, 264381272, 399106699, 152978097, 542660266, 864333069, 912653735, 964510758, 802907398, 728130819, 792815139, 393242269, 927736932, 457409898, 259387202, 397560491, 105009513, 191287402, 242486480, 287953106, 461873909, 347400274, 480670459, 9078126, 445126505, 362446099, 190674446, 859359094, 255080061, 873803248, 403431652, 948445598, 836553359, 855529274, 326774597, 755464785, 764821310, 773438653, 849457082, 176942748, 837956281, 315198688, 238627383, 465374717, 593091907, 222566153, 802885354, 712241958, 527859898, 363196956, 732331067, 139532914, 366699620, 770716878, 437493524, 512980013, 640166220, 761352201, 721366674, 17288904, 48086327, 479157857, 900190094, 640780799, 39235628, 195448017, 273849161, 255723610, 915800419, 487524080, 261595224, 167460863, 109089659, 959007932, 357407668, 681915523, 586769953, 412736428, 105571698, 785200459, 209608263, 139470346, 520759324, 300736426, 779234067, 815950848, 829053853, 589810035, 876498115, 305925153, 446389667, 299515129, 406332315, 42489510, 965728102, 733192001, 902858130, 903283499, 721288587, 174431469, 973374757, 592323733, 552370770, 104547754, 658697854, 493552217, 190703469, 104062344, 273147616, 781245561, 898213705, 42169628, 655922537, 700076651, 284929436, 8018358, 508481097, 904202796, 891080817, 705952425, 575736296, 6009154, 807056790, 760127149, 201571671, 745268124, 891877711, 761295019, 177891362, 518016411, 341402843, 774332237, 924899096, 66921909, 200158584, 999666977, 800810309, 809586444, 935841014, 238501652, 575145090, 637606708, 998082223, 508665655, 201495349, 148156124, 617806950, 46036252, 512752779, 230489500, 268919355, 725263017, 530559344, 435832805, 514281645, 212811871, 928474985, 731435079, 118043468, 736388494, 951939614, 815303584, 898568096, 115828126, 897104568, 424304540, 988487370, 28136224, 727687921, 372055690, 382344339, 435246452, 168199027, 901725598, 35249862, 339311567, 199284503, 207712311, 369254505, 860966169, 708172807, 567559700, 788234011, 641516704, 956387720, 223241045, 641049644, 740455937, 625581097, 144773143, 154733080, 13178296, 25164270, 598299539, 952834104, 996269470, 432480373, 670109296, 869527110, 342392821, 160090345, 313963020, 834280714, 41119501, 631134589, 917772276, 995438621, 341550441, 695496340, 267003224, 236872102, 732988667, 618689042, 499080619, 858292164, 31256224, 774992819, 519137647, 533934065, 111309245, 275373897, 754760721, 517474886, 429063147, 591595386, 172345220, 636590811, 123793092, 285142554, 661884723, 458049924, 477018776, 325460527, 833568031, 935954195, 237192889, 16519242, 136253755, 692737240, 35232594, 780867676, 495977912, 189118917, 124011582, 717859912, 620335495, 283582970, 792716100, 825959369, 856432113, 31965965, 352451705, 601245539, 611849528, 327960900, 778826539, 574124216, 915924000, 449675675, 136191052, 179062828, 163740259, 191460906, 109755896, 911777011, 651803960, 962935717, 692271633, 314286504, 782089018, 766376609, 432171551, 836155310, 72764469, 675888268, 257833405, 275714590, 879042378, 279046088, 846048895, 573247555, 180869593, 830336411, 875968785, 889436571, 97255880, 44800756, 264529907, 27271303, 164877835, 552991802, 38040128, 956435002, 611589774, 841703166, 11377869, 726644439, 282058398, 503394003, 965684580, 639292197, 690290064, 830680806, 835549579, 440637838, 812741138, 419464955, 295204894, 511600348, 513593011, 115667606, 47201715, 622795854, 74289114, 732480902, 417511669, 560685404, 826156105, 740302079, 627636654, 433332046, 990839336, 128200151, 765258217, 379141212, 582390612, 398397426, 640426969, 235605751, 942484709, 552010165, 296255029, 232812917, 567464634, 344526574, 340404569, 602702347, 199037751, 26827251, 450405442, 537497577, 877834863, 189904890, 662863117, 94387793, 777259680, 69771729, 131304806, 71223364, 877666654, 501988225, 913624789, 107124027, 62353830, 102027593, 226777577, 201696438, 93952796, 225416439, 448465896, 53137551, 675964588, 726572138, 894592390, 394858453, 603151713, 590774110, 579072138, 326389624, 980822320, 809518045, 388914622, 45636959, 927128503, 919891311, 65422063, 448527375, 371814535, 23201811, 507244364, 363542784, 642584947, 202321800, 770609504, 617939697, 572415820, 509258511, 793408069, 639203655, 243157691, 635859200, 959995465, 843334964, 738204828, 68390720, 602014403, 227788286, 319229400, 233671444, 635234116, 284084918, 559037882, 105607410, 364035244, 751811328, 251781088, 814471159, 273468639, 585656790, 880879529, 299094611, 250971346, 562390089, 555980409, 313074023, 510158088, 348401493, 952716738, 829612439, 163774973, 228623848, 467702622, 505032782, 243973393, 555843414, 400861214, 683085672, 999318026, 422544057, 42606774, 188631674, 57482856, 601953128, 374196817, 111800729, 765858863, 24708996, 127998364, 150209841, 751477595, 747675207, 165903902, 289728260, 283118838, 894798564, 344083974, 916607633, 683080371, 389543162, 791238511, 747711884, 598240521, 626052093, 379716847, 370606603, 422921290, 926627999, 58936863, 558155548, 413818919, 797482037, 283184698, 992267523, 679767326, 296217099, 879489570, 897573572, 687728365, 891156790, 398585674, 376637998, 877634399, 265411945, 972258234, 927982077, 913988364, 26618702, 477288817, 333933043, 41428827, 789300693, 899778584, 899956845, 613383864, 560003870, 752128107, 292622365, 984507722, 314812246, 85068497, 135097826, 393049144, 103668526, 727882700, 651949724, 282390081, 939420167, 98453245, 893627927, 124245319, 908743025, 464949258, 886800268, 859130395, 395414865, 545042741, 766308198, 779490370, 539039839, 919756251, 150011281, 208287515, 917421589, 52834021, 630833450, 110111244, 387435828, 434593199, 723838181, 889864364, 962327569, 245602843, 477694051, 289186409, 775002572, 772682721, 222538685, 608989803, 837171920, 975580225, 976406298, 458294341, 669399771, 463633863, 338392932, 759207236, 844888181, 140534056, 939420272, 897702545, 153161655, 498052081, 102385733, 632283866, 697757859, 31592537, 396415967, 31489882, 713730356, 33901545, 898722824, 66123367, 139289140, 377991134, 494494571, 513552897, 797807168, 781294080, 98017019, 28351458, 814621935, 951488008, 942780560, 382208300, 440014876, 893374085, 984665124, 163619742, 106211838, 206395435, 903158164, 145909556, 951555432, 312499665, 849015905, 774815775, 901452938, 159959611, 707211586, 879663359, 380282809, 609193107, 739726154, 663099181, 693948741, 701922501, 344991605, 106813881, 656129082, 958902517, 227974491, 626133327, 534761051, 681047470, 248342737, 767031160, 2777653, 773607301, 581514471, 376541189, 341865824, 274442917, 168958112, 662130184, 617927578, 350563793, 369279725, 581733628, 595880544, 576723016, 726527313, 497134084, 635118228, 175458132, 66313506, 13624718, 52784743, 780837471, 144176013, 134668909, 363604911, 221137779, 17904738, 532374174, 442141938, 605831068, 777141429, 739382286, 931923626, 675869597, 344235079, 570716293, 332500896, 422807617, 798665171, 825237537, 35855581, 887754463, 727852905, 610886363, 478383592, 460951025, 992900985, 191277203, 857851964, 714017116, 937604313, 132766334, 622114680, 829915507, 423479312, 274173014, 992162005, 419474337, 957284879, 906702660, 239348499, 113063613, 459842181, 78224637, 618222611, 118840057, 967138947, 638205888, 672005898, 1530094, 221462358, 814150932, 505087982, 207002053, 676751522, 284806373, 136880167, 368122245, 88756400, 52397893, 193665012, 409816966, 855319974, 596716625, 549630821, 89015499, 74899754, 271046713, 752062076, 368376832, 997903730, 414906320, 314824978, 714720960, 692500039, 893280066, 328021606, 599583559, 951093165, 480590353, 352820954, 457400556, 269587206, 360573560, 151630762, 700261071, 756480496, 654453419, 917323002, 253036792, 95732766, 233096995, 647529664, 696801366, 140957420, 266842962, 594448240, 690090117, 613912114, 9828568, 814619462, 952934799, 641403344, 910397974, 480761990, 989273823, 48533102, 936183528, 804117091, 394230712, 659821826, 33984721, 939055197, 236837926, 852517105, 349276259, 769869294, 11989449, 308997894, 883535473, 48928490, 744839230, 695276073, 5776943, 30138119, 533502871, 402162640, 825092227, 907917962, 17584261, 120838236, 232601347, 521138215, 135955020, 99174043, 782950674, 894374984, 862586724, 186484338, 538600906, 820749585, 826455153, 23764138, 998925217, 141208881, 743164302, 883816020, 264462915, 967378736, 620971844, 31243675, 880920878, 23969246, 499903419, 135614229, 879595200, 847436621, 337452960, 759230361, 841736807, 792507124, 799204036, 260940295, 832260505, 19999724, 773578386, 808468287, 492768007, 847546191, 262334963, 759980217, 387495473, 304864095, 181987432, 851582279, 782155474, 35128917, 336176598, 965934317, 514659808, 921231884, 606215724, 645390580, 251699525, 679677221, 29518207, 937589261, 926202343, 407692303, 380570408, 928431857, 572068459, 595013092, 521656471, 103613414, 888244568, 653214831, 990510816, 852502123, 580821611, 240541573, 927453355, 373974756, 805973387, 309423830, 881399463, 444998936, 87933814, 719792448, 416099451, 668599440, 361793578, 885153222, 274831148, 582552355, 986609848, 315095794, 424485620, 672004789, 973542279, 164542771, 395703229, 540087038, 707428284, 905695300, 438927362, 225304043, 323684439, 473046058, 565368160, 334210942, 621836872, 82139633, 946350979, 600339907, 65711727, 620552677, 458851136, 214466526, 575614830, 145418634, 487809186, 994853377, 428826670, 221679697, 209941027, 129276665, 792965234, 933974041, 578409923, 741017394, 725964865, 328130805, 480244244, 896848047, 642604455, 982540397, 720116310, 277541045, 297203565, 573270351, 752272673, 74114893, 697228713, 816984947, 82309239, 548079122, 583458134, 816689212, 181428590, 823479160, 349515297, 271153812, 682703346, 657593691, 321940503, 354702664, 375046605, 993708202, 380443568, 653041807, 64298334, 982691540, 128697033, 938023590, 468323756, 985206266, 215467029, 771253621, 574556272, 143091996, 793850065, 853364528, 347675254, 994436002, 493198942, 772698956, 475017313, 206035830, 500291233, 619668000, 689102217, 101595729, 215790552, 3643887, 284538971, 656832929, 15203975, 771021114, 881987656, 863528491, 786752935, 596872022, 927641328, 330629510, 221299899, 968949784, 31884340, 92813905, 187176140, 891253169, 395403061, 625841148, 218355789, 20104492, 510074149, 429074212, 520808272, 684156536, 27076163, 474097907, 650802194, 279188217, 55555479, 457883623, 628400025, 470685260, 13052440, 644193412, 149167167, 157239418, 566598672, 89137820, 66608128, 355994629, 93260548, 128561911, 537466899, 765176821, 18417388, 329710718, 499050784, 101689881, 625057420, 606557434, 388556085, 191703904, 832653168, 429093711, 882647654, 368467357, 108083293, 824318853, 694775260, 373671715, 707016202, 54040860, 549288944, 495033247, 878186681, 814423270, 324747193, 984962408, 454185092, 581974387, 8186816, 164026043, 199076607, 497767094, 356404332, 513325706, 67640354, 44007870, 719696916, 257439906, 538058063, 645725426, 267124561, 393747437, 78195387, 530413409, 574534841, 888576873, 532277255, 707490735, 825390888, 324978934, 771027748, 125527808, 708308671, 487728289, 54243782, 266167078, 90184029, 250437993, 111084992, 877653231, 569224868, 189838755, 769446371, 929808034, 112876030, 330636899, 527770792, 298593677, 987684435, 43018331, 873578654, 86282450, 215528095, 607421265, 685423217, 701197618, 780111109, 772977053, 740695937, 912574332, 178698247, 519088001, 657808132, 395490934, 40075817, 385940199, 629555171, 880750112, 681093183, 93440397, 562292947, 174455981, 605826333, 644167922, 1498279, 280806484, 810128256, 459135073, 138728876, 294081759, 92861887, 798843808, 335266707, 543682107, 678568915, 899094588, 920141969, 400139561, 849438540, 508816608, 766127569, 494069113, 517283793, 220996996, 217510045, 440798989, 140330480, 341623699, 247324548, 157298937, 503941742, 947718839, 858530771, 945604050, 283092872, 344571011, 733720401, 802707961, 192393850, 565647704, 937107315, 569712939, 675309835, 112320408, 101445962, 335132909, 573476816, 338509609, 984297722, 645973144, 883750429, 270607188, 231007794, 850693875, 338416022, 887536054, 107746209, 907091802, 910020562, 146706899, 882448454, 694918709, 870399439, 535163249, 652183495, 301300772, 716498142, 970701827, 698353469, 964745184, 958991194, 375443021, 565791439, 905655091, 789406921, 626679289, 652442335, 550956811, 631271060, 549731545, 303587305, 831249106, 269042210, 963880323, 537232433, 906423740, 280160555, 687509270, 136059556, 516170278, 574195830, 769924698, 579597071, 316969600, 631133976, 88791013, 14383355, 316561764, 709186870, 275734937, 423096900, 629242161, 356307258, 915525643, 781674495, 265607604, 874391174, 582998041, 283110328, 930303831, 263557488, 689005142, 184307362, 272231167, 849504135, 466817367, 892826520, 659618403, 366821864, 195035168, 704769463, 491578307, 717708094, 943474537, 923249839, 814947666, 655043037, 514218307, 985120732, 715809489, 104856329, 766871680, 564600194, 32217896, 944977530, 279671912, 202169019, 909244565, 99148644, 169320642, 230596467, 523086379, 158156511, 583489856, 77400892, 603941713, 681476343, 180111914, 452944600, 469802596, 606788188, 123645808, 329096645, 810455339, 626075285, 905938242, 106999438, 22832419, 305701899, 720118612, 802685245, 554760894, 481835340, 320097230, 426302109, 354553872, 996673580, 543713592, 523921163, 196377118, 23520782, 561912368, 517224712, 626623201, 691443944, 126390882, 892981058, 132127217, 803864211, 464517857, 313296169, 318818479, 704878204, 358122742, 448092207, 740158496, 917601188, 215394724, 85280004, 588636948, 684454965, 4548708, 758046416, 507025220, 967373057, 669371771, 374304501, 625259754, 379224336, 268253957, 175647202, 894759064, 581657322, 246469410, 793629052, 53764330, 831169478, 26984378, 499407055, 271916724, 378270160, 874260245, 794554704, 398032164, 930293997, 748114073, 317105526, 209035909, 907021221, 856142559, 163044296, 377732802, 886833544, 3389476, 825236602, 415329285, 364314262, 200379012, 11003139, 74962290, 170998071, 525889121, 804042951, 675166347, 781038843, 627353935, 401020580, 148841733, 518441341, 212376335, 91627181, 185703103, 881991693, 734622102, 661031650, 517315710, 156287703, 512470362, 472561956, 393901275, 752148, 823126614, 378683984, 329221760, 103899195, 258811980, 88954564, 353372924, 825997227, 241173855, 130808572, 355077714, 208447821, 847843738, 549994236, 915566112, 523512989, 624672782, 432797031, 708689090, 328310651, 244332359, 517243409, 994438462, 824583468, 998418813, 121373401, 603071847, 402468519, 327936401, 202550803, 789937308, 132089135, 584602883, 345000626, 192976207, 4582791, 778348304, 695137843, 91987992, 44535678, 10558317, 519280495, 372776007, 257632355, 388397203, 437442198, 803205605, 120441421, 729371201, 577618755, 328449935, 485084779, 624964849, 323915823, 213618815, 507508922, 71855034, 22491816, 269981202, 603250842, 443394506, 451242103, 918526406, 395412013, 429068398, 615703766, 201614489, 658994897, 681738279, 7376760, 993618815, 164105832, 763319735, 68297504, 431481596, 896021337, 132818263, 525620556, 116480200, 212712230, 456035287, 843092073, 643867473, 502487554, 679809271, 221981833, 887395294, 389592211, 499805815, 282958782, 68668422, 777981483, 805557314, 352408051, 959337351, 862113737, 840294744, 989064397, 382277600, 648836072, 252751689, 106242759, 979116346, 138312297, 493998293, 219649604, 32693055, 762276947, 849565387, 318700242, 30776805, 298825404, 658161756, 396461081, 648338405, 237008021, 563256749, 682566999, 991194698, 953569558, 769748417, 679569403, 130391083, 186220969, 159548044, 767995654, 903099775, 125722119, 661198368, 280806678, 678790811, 952841757, 79391071, 674301215, 525947868, 548307475, 732929516, 144758606, 189195486, 449691697, 36903838, 829617522, 149679775, 175418788, 805065047, 505081450, 699585236, 547316823, 685281869, 991184995, 769332877, 154124896, 501427549, 812974794, 75105745, 459208139, 242911566, 967640106, 991152882, 971353022, 511735461, 417044509, 365509111, 749992868, 380807467, 347335431, 23302730, 407329212, 111007075, 106085921, 699857495, 367728752, 307930769, 639861009, 792386574, 766764047, 506307914, 501732967, 308505827, 316628067, 312806796, 428412097, 945248915, 932223238, 22977147, 205286405, 188203869, 407600088, 271631693, 918207131, 521667071, 822060779, 19626445, 786451056, 918078555, 717714544, 555080011, 83711130, 477968011, 996939820, 662643864, 248679690, 840217392, 304834437, 963441155, 366473183, 580592191, 556006976, 713825015, 800989349, 260621721, 221310741, 354066312, 467779966, 736334757, 480005900, 98291283, 587771305, 594455853, 543907413, 676163028, 561442444, 727860149, 22488103, 29651437, 403832428, 641866035, 202077335, 912374963, 845588032, 447905447, 290718260, 751124422, 584013682, 414385497, 860907652, 301151043, 819673981, 732485901, 15215420, 707743013, 106918319, 253053823, 465867435, 690074636, 124300830, 425676465, 500178163, 797296494, 217108719, 849009019, 785454326, 429998559, 358439354, 95882163, 541557788, 200259807, 511691378, 247878690, 353203747, 777995489, 823671117, 927448505, 561800047, 835069444, 853335536, 616384881, 627555845, 853210712, 774406304, 645764397, 449391730, 29534212, 794140584, 457349689, 85317637, 438362743, 132257565, 204653384, 363427621, 646920292, 516506402, 393404355, 262362066, 553850081, 808713912, 109928014, 170044315, 878447932, 977256895, 766984665, 784910151, 857550969, 357367230, 228811185, 639632932, 391262562, 256650607, 783855393, 720479641, 88280386, 275375198, 910988536, 592709381, 546064672, 156467251, 438612747, 588837983, 434855019, 391924733, 949530068, 530309660, 595351870, 961132655, 924813877, 942245350, 779643613, 923683568, 424430879, 802802725, 557497345, 829106785, 549045472, 746720514, 151108032, 860550719, 37106762, 639227653, 804631270, 752803448, 99505047, 237718590, 859364473, 265705221, 362368430, 388266420, 74533868, 322795990, 827360661, 953653276, 278290548, 763944480, 247056153, 923885449, 363137939, 458500654, 600422380, 295179244, 983845066, 309730985, 77937686, 113727761, 252829338, 976347392, 883336024, 891585634, 383963639, 684155888, 951633232, 344246785, 270970531, 247021364, 416000700, 571530582, 880334571, 337802852, 472204692, 143140609, 649219995, 779709872, 941277949, 328609285, 574917572, 978900272, 486088437, 548272811, 794471297, 400239758, 478309419, 371002811, 186600918, 255163237, 606711912, 136659490, 297107830, 801868391, 374339935, 252620334, 268758011, 936909485, 424757209, 505460904, 842539321, 313101524, 853386129, 868223532, 919237280, 261195155, 616282507, 456720713, 938759107, 998356915, 830770877, 396175231, 892518850, 216256979, 77881585, 478783568, 820860126, 565295328, 483610200, 740381826, 992477046, 939921931, 252322473, 229351677, 983469275, 107138273, 655911992, 943632570, 271412425, 827960706, 243763814, 789386084, 328783806, 742402019, 942768396, 325358745, 381045149, 268677710, 856686568, 430632780, 35013525, 948902169, 489909284, 972129155, 265513976, 594928255, 677319218, 167881867, 43411854, 64360680, 348001485, 238886073, 1381429, 489806347, 123865683, 848968995, 505320876, 552103221, 588350120, 348892276, 894818863, 911054128, 714400245, 969909007, 861400255, 338301986, 774765316, 109459360, 751192721, 675226468, 61954591, 345404700, 634859775, 21237181, 334196708, 70562136, 580191547, 661917292, 496982617, 761616719, 797841177, 401580926, 758954165, 29659010, 425192582, 475170922, 832059604, 352178968, 597758791, 103901364, 886222855, 389310690, 778955153, 689246472, 316488283, 660222796, 120251595, 860892924, 324228646, 196387043, 672992310, 263107953, 646165549, 866509196, 877419038, 450223096, 153419914, 806481204, 184703744, 150276584, 325699427, 621185085, 354251740, 872056213, 815865725, 452962757, 972694209, 322860435, 329839377, 44595670, 55837051, 123805836, 194407776, 137321287, 842607568, 167548516, 84415703, 392367840, 500400236, 364429656, 454251754, 722139441, 938310651, 238515269, 981076422, 92152983, 1461669, 947719800, 311042864, 629790334, 745239972, 872722047, 706973548, 135147456, 467882266, 972055623, 74793044, 503779105, 206792389, 28422941, 579923894, 834719674, 999851073, 891285329, 761309460, 988319007, 413692562, 582827792, 143144202, 642591735, 922497572, 184822761, 642648812, 302604416, 613909693, 7823804, 969616406, 664840012, 648143869, 317968192, 306855621, 748740444, 42276577, 879438796, 700214070, 624279469, 527511950, 292247195, 611161433, 324257576, 535443950, 204371545, 248738488, 153751945, 203797004, 833951782, 552477877, 39507776, 733553874, 977788404, 711762043, 858016778, 687759046, 712664658, 658038417, 302406184, 781302205, 149076919, 492762295, 959600812, 772059677, 714678950, 469387652, 286886837, 925978085, 507382477, 690142804, 459488034, 113518061, 846044672, 867668592, 53691164, 477105495, 464697053, 95895226, 408398660, 763692585, 659495945, 880450964, 826103528, 832862215, 253631677, 9575896, 465592936, 74670409, 332227037, 158820362, 504824995, 682620879, 717755612, 596657444, 653623336, 98070803, 768143803, 650706852, 600790887, 638925291, 259675395, 894301216, 200042871, 45685168, 673678415, 157096675, 778296772, 825736629, 373857581, 289758309, 723051010, 877433607, 563514025, 592610934, 87969873, 39392818, 972392403, 738729271, 208227651, 329474010, 394003363, 426639984, 630338515, 830001521, 932759595, 776018574, 177629763, 944908625, 143701990, 346168798, 311905350, 429587781, 144576590, 709379476, 694648674, 167197742, 847481502, 88328930, 747281916, 73189412, 754470524, 480052818, 503800197, 343949891, 959770996, 426394567, 812418360, 71033428, 283766728, 5668306, 879934692, 13194416, 236921663, 909160964, 975894665, 284170484, 963688923, 287362813, 505915356, 59543532, 17410767, 353656180, 224017107, 616517907, 959905890, 941594590, 699501240, 14684992, 864042281, 224629506, 489233512, 853409357, 274680572, 371951688, 750131458, 753018469, 397741933, 983741990, 996385790, 163115389, 754051404, 298146271, 403848209, 385888110, 784274319, 257226959, 837844302, 517471637, 154152284, 49442294, 421562253, 233620727, 505642230, 663416956, 378878870, 638864687, 281954420, 219517103, 424106202, 959255040, 743124473, 860920238, 809559999, 724794335, 587403595, 778776487, 582393192, 264136972, 579520610, 703749104, 743708984, 552017872, 326721792, 773211572, 198407383, 467980547, 322181074, 381505512, 519310327, 850172745, 983685232, 582228461, 76181109, 158480784, 734025954, 546546756, 337477861, 670056776, 153829466, 262792298, 340266264, 911567124, 636922915, 48078254, 11096576, 965424593, 168461124, 255846089, 769841421, 186273623, 794955519, 347160810, 308071173, 649862451, 890892245, 580628474, 276823517, 535209211, 67419858, 702626230, 93768317, 156373014, 661593426, 235095244, 668080061, 682350233, 304390161, 507806476, 708262818, 19543206, 137761814, 63110966, 35658131, 252888011, 806125754, 122085690, 3904306, 848469335, 480163942, 533951425, 691445402, 437415295, 45705360, 616832852, 757408322, 365898460, 378436330, 136422476, 872691685, 758025324, 321764351, 351110674, 562073926, 481518333, 942754348, 483444234, 412309235, 952478891, 944132061, 460889168, 978168272, 929907674, 972089355, 28312505, 270602367, 420245318, 434652861, 940828479, 440002343, 816977205, 616052537, 274034877, 907414625, 106488699, 445910366, 296955432, 895000476, 83196187, 835775069, 543828899, 587382445, 178538732, 349230043, 554049089, 711790232, 823188473, 326414264, 125607487, 614491862, 977467399, 775753425, 650533524, 243148561, 183082101, 322405789, 70768678, 4606846, 544004631, 328032786, 673788429, 548106186, 189943209, 307627599, 914211832, 732829583, 631687173, 205365668, 780927097, 803811385, 945043289, 286320271, 216498262, 192143911, 467803566, 522108733, 278348740, 613396305, 968134019, 373649412, 31230259, 787272436, 212221020, 476769177, 896847210, 758794788, 642837705, 329753392, 751121025, 60311131, 386637766, 812591323, 912788540, 807906210, 305433416, 345926456, 756426588, 332298508, 160801355, 234498624, 467956601, 275455960, 718177808, 397682155, 307486968, 37430328, 487580999, 707317719, 727674097, 877041375, 651420804, 752462046, 364952280, 845440261, 702745270, 134026284, 893741414, 950721860, 718329211, 786579069, 506767472, 458510824, 927170373, 735637583, 57918763, 758131020, 930697883, 184387249, 437906812, 529014034, 863820423, 876889280, 835235604, 809461265, 417549920, 309139907, 559973581, 502664634, 437513321, 364771369, 790339987, 240416718, 745865554, 410305008, 990713528, 431565181, 386475127, 547716631, 309870856, 571398850, 405991861, 434660113, 353659631, 802248632, 464742434, 498214785, 418236616, 565949475, 434755893, 122544074, 451246959, 45724529, 928820233, 617414976, 49080303, 38280513, 145267710, 342793143, 335899789, 22489233, 942001705, 982335646, 722559503, 822820465, 669435188, 339181231, 463878195, 220713851, 149839560, 923343924, 129571414, 117385354, 762072158, 490414259, 954412911, 689933226, 292292971, 863118700, 300799022, 57484486, 697376355, 359121559, 67785571, 25657555, 668103177, 603136439, 58626057, 122706571, 989648639, 465808408, 616319120, 914467510, 265539252, 81517051, 540865845, 956515286, 866101470, 752933513, 678467976, 423903891, 710612403, 707127720, 739155842, 44440546, 930065529, 572390158, 9783659, 209213674, 325427689, 895116119, 159465685, 904079888, 784430932, 410483789, 699678396, 518006948, 827487082, 949773841, 268283879, 127214469, 831635214, 329682723, 54154082, 9080819, 718416169, 313227078, 44772787, 551671408, 664944949, 412675823, 141944975, 416170319, 542348091, 406944534, 376535543, 258643317, 932050911, 752699522, 961815656, 141800791, 846167232, 676423235, 183959860, 453378327, 800633168, 330831822, 772794097, 112296679, 969802566, 865887592, 803048274, 596064206, 350592016, 151939844, 703436325, 797417798, 830119849, 941303563, 815936807, 469816809, 536256993, 396013167, 374104571, 639480482, 10436718, 340354282, 407284523, 724848011, 328421468, 296041617, 926419420, 834178491, 130168178, 657723900, 240167625, 735959319, 152049816, 220217974, 630678514, 543102051, 434764051, 471521316, 594651880, 228511484, 8845091, 956550408, 650623328, 983918125, 393659722, 642734996, 228227887, 923319816, 17126541, 455976387, 982836747, 355456212, 137264630, 507862108, 804931228, 460599252, 788849918, 271705431, 8320028, 634937961, 718581756, 554923511, 996103851, 784593103, 675316573, 896101739, 860839781, 294301263, 739677228, 885402421, 753835486, 705879146, 222679573, 936860535, 488480174, 406097346, 47783709, 6998054, 589606354, 747960404, 783434544, 119118590, 812731197, 4030282, 702759061, 844770939, 969816151, 81350336, 146187689, 937248747, 122914420, 544403819, 134621912, 44121441, 399709422, 120972914, 14937154, 725438030, 382551765, 927555524, 877113558, 7640217, 400631776, 811654727, 150027236, 5007050, 624365203, 532720818, 577311860, 193459571, 646166529, 849031071, 665576920, 144866632, 844658654, 331017397, 344349419, 90466664, 526580065, 708455344, 871885682, 93513274, 581727660, 443578884, 119482579, 599736627, 358727466, 663739839, 149547236, 321669873, 761120215, 731133948, 953779893, 714151856, 567053629, 17227320, 348479659, 566112197, 912021113, 822075111, 31601770, 587263499, 450851790, 993706931, 165349874, 145307350, 133710224, 929927985, 540704076, 659185552, 896213391, 739899345, 91354532, 538732017, 232622284, 935316638, 493314695, 603608081, 38718488, 110578294, 621482801, 315338146, 112231677, 399786450, 867900478, 383090195, 770437347, 468863885, 743905345, 153093002, 144109223, 198125909, 681218563, 711560780, 937176597, 493065128, 590491478, 742244762, 524511156, 632069566, 670586504, 43448047, 185958650, 24593374, 545526134, 297794187, 392299427, 777893086, 897476569, 588251286, 196174272, 877379225, 989142644, 729369572, 921648840, 372714778, 325486123, 615779726, 669499345, 192995045, 998019760, 589207943, 771880115, 171178332, 409926671, 106393525, 123139502, 434673293, 633837782, 144549376, 49367833, 201106289, 205843890, 15475891, 118433766, 339089502, 544480379, 700023452, 496151247, 826306761, 633843901, 210749073, 434417562, 68602738, 151994950, 438548991, 669808980, 663430377, 439226427, 434092001, 991389740, 744970008, 512490888, 69403067, 414618633, 970892937, 394379296, 655571432, 234575440, 260577773, 83549060, 600532584, 954830630, 99151091, 223082180, 118098966, 144039047, 76875448, 460265624, 639882720, 409480090, 223104449, 910360138, 462382058, 117871645, 787149426, 403287525, 928182311, 621019093, 204163760, 112942259, 891699509, 199647042, 750763259, 612441977, 859597263, 783940278, 563100643, 972222095, 139162173, 672278652, 906528834, 323647992, 778073726, 404759764, 183656897, 358405312, 823467962, 42119046, 183984888, 177818193, 594301293, 771452930, 690785528, 737187319, 538872568, 209320676, 813402374, 74959197, 967114443, 406726248, 39237417, 588207645, 190293123, 518862296, 625834440, 155433444, 110916025, 721731102, 810315783, 233724325, 416902143, 793199441, 417666032, 631261798, 531395172, 885492332, 8780947, 568523174, 154691275, 121969938, 406216192, 669957060, 303193866, 730233617, 773789813, 472061255, 623066328, 367959069, 507641656, 893690726, 967001320, 47679510, 991376203, 579104369, 968991794, 508291379, 621212768, 51097064, 227813664, 733225675, 155572382, 245027346, 73217533, 580369068, 148543005, 564252057, 173538234, 724584959, 239521132, 711146650, 588790109, 644219331, 974879416, 112682512, 283103834, 420703819, 250653508, 156351299, 239223946, 31005593, 2336339, 947258397, 858121896, 403006944, 290331077, 868573961, 685685469, 20279558, 290798298, 906547864, 823105929, 38733283, 146128038, 131882688, 285477109, 269431016, 569567070, 151796163, 185190768, 371392992, 787339510, 896329168, 839300183, 380469848, 75997376, 301870574, 610309978, 145816436, 826659246, 245545778, 947923809, 412979195, 279983239, 967146888, 440422655, 288428728, 522069105, 526213318, 487458607, 613863448, 926805907, 744760105, 477540040, 914760778, 163941454, 18211022, 534432176, 306265170, 863183475, 302998050, 483069453, 54484957, 838357861, 203647715, 682282180, 851730073, 418053574, 645369208, 648141526, 271382431, 531769445, 266935417, 603033008, 698257034, 653622098, 827325144, 952554517, 983043377, 816234173, 741025707, 265316350, 195722553, 51169399, 527671476, 678246460, 701016652, 383700489, 646104235, 588789450, 898261766, 146467489, 900883242, 916527774, 955936085, 133543014, 690901712, 50125534, 952750888, 872108918, 123366721, 582584017, 76824583, 123896046, 563062533, 988973462, 163898549, 267655287, 548873233, 958723044, 743656939, 284411352, 319737594, 218952016, 714343526, 193840786, 733257207, 531037012, 557123313, 439997105, 548280724, 320992515, 852132571, 678447559, 95118269, 69391242, 971966935, 807664926, 678792956, 438786617, 840166710, 929558995, 135011796, 846616468, 979474998, 124853615, 346543688, 39093721, 335305088, 921339355, 265595579, 876721808, 707157598, 875492557, 608618282, 356086734, 683178713, 793267388, 754591982, 155265688, 81698115, 575770134, 132250205, 338824056, 825145601, 881193474, 979449475, 764811008, 581981787, 904279012, 276027905, 289716963, 567017263, 204797262, 881172766, 930770327, 523223324, 383767987, 385864506, 947015726, 805443874, 483813666, 981116099, 334488336, 149785273, 425322818, 877425332, 35965380, 826184871, 635537736, 108127273, 484823554, 542665949, 346074197, 712846498, 396835910, 112111677, 948770077, 529287001, 135939866, 476509424, 169774032, 114822064, 240985692, 76177634, 111473206, 310301486, 533443191, 973097829, 923029899, 640308631, 990954969, 942949513, 647629669, 760641926, 381234587, 834141383, 247652929, 719564043, 38480192, 22492228, 926555330, 494739870, 94624963, 200734055, 894546511, 265395289, 232837808, 519865221, 297677498, 90650916, 426237818, 469175160, 784325236, 794715571, 167745430, 920384334, 503310869, 436816577, 826697068, 986776828, 531423650, 421765575, 391779177, 558425525, 235595449, 353545900, 741440202, 61168406, 21463195, 334697090, 617466820, 426622328, 761765591, 764267270, 531582978, 136192699, 151406323, 239396699, 789770864, 233629779, 814734925, 570193288, 583191217, 746900031, 396082040, 873974743, 519454856, 529646906, 543098822, 637522862, 755481319, 451057669, 432226881, 748463318, 117468962, 975016229, 606217918, 917233141, 85537273, 268468057, 532726375, 72394199, 341708965, 715374680, 262777750, 178023523, 737824064, 341263730, 977541579, 88069515, 336653457, 727030400, 740741957, 277542493, 219811013, 100581519, 148509199, 480253283, 826414005, 5985093, 462848026, 913209238, 973854185, 786948037, 272333252, 787357560, 843412952, 944098600, 573286745, 69911946, 696501060, 685549019, 871931511, 155416006, 656725278, 369662817, 577027726, 998394323, 455768084, 291137051, 97047788, 668186459, 981460360, 800515782, 167233301, 772447792, 752100735, 104823080, 9518370, 862249475, 148066537, 213672866, 449484639, 685624551, 938408796, 240450600, 657407177, 184590897, 864960598, 734545714, 187397810, 567090690, 749504308, 95445161, 185042996, 250540554, 474101147, 486462439, 132975046, 406624013, 203367209, 463941281, 282167291, 530413989, 527718212, 341102543, 794270784, 123680331, 36273504, 915827336, 168970312, 943144664, 402006512, 965628747, 98195646, 655641505, 335260584, 973305995, 752373032, 170458132, 693403486, 233594777, 258654673, 684033774, 36901674, 38390452, 352119849, 176313086, 835177549, 841674171, 672667584, 426186865, 516642160, 556129772, 979752753, 238923731, 965882038, 821440991, 502588931, 538646555, 357518421, 809874361, 27714386, 713979097, 376866810, 122499529, 173389790, 173309218, 452938646, 542919985, 967009014, 242789084, 995287548, 769246778, 6405588, 576872825, 454345244, 285899019, 826950369, 815185814, 458906704, 641217791, 712065393, 588887103, 850022483, 440872475, 49442199, 352008511, 219648656, 662757376, 612834512, 916130795, 346283710, 532386967, 708650631, 765857394, 227117779, 952453060, 669800161, 832235343, 390693106, 873969969, 653085329, 184454369, 289316290, 218345159, 814114930, 62277729, 148970299, 215597779, 656679112, 892421645, 71345121, 673265223, 683415508, 325898781, 772985687, 351270409, 675512010, 239433637, 442921989, 660553095, 157139419, 886746801, 198345145, 115018944, 775808092, 241612424, 54702349, 832148090, 785646395, 125249164, 7434810, 911437524, 79921745, 560534132, 752905688, 63762076, 595384393, 590549023, 464953502, 208847060, 212958369, 248649412, 278597896, 923463590, 765486929, 88897267, 547244702, 667076233, 444940735, 49678911, 480268408, 723980899, 284301121, 307702848, 653663698, 878844734, 710436554, 53661403, 526214339, 486911579, 442025194, 384087374, 451586147, 627021098, 681265505, 23344195, 918026986, 686905335, 217892740, 946694992, 716249125, 244015375, 973700011, 294224084, 922914545, 920049562, 404670845, 791647631, 98069439, 424059623, 246839785, 390347515, 522467859, 435599933, 435146673, 191255589, 488379657, 450321512, 711475588, 654142504, 178007268, 970421677, 225098865, 105605373, 301229932, 576318965, 831183604, 423106641, 219985277, 878796677, 722177074, 114239832, 281927840, 437258691, 934713671, 367560424, 382326444, 69081978, 270049444, 762254220, 804845556, 493713849, 156745733, 162311353, 320977648, 482021632, 838324448, 978800205, 747245470, 477385820, 618241385, 201020757, 965166184, 133662926, 887939080, 719176934, 930418492, 999439872, 258680149, 691874594, 219825782, 254563933, 183402896, 925895951, 188692326, 585616151, 558410796, 784451708, 382927680, 982752660, 49142544, 839539075, 327007791, 810236860, 713216103, 199739000, 727123390, 25296925, 39689824, 796284246, 463250010, 683753230, 869574399, 781839210, 373923700, 301841819, 699195540, 557662246, 442778013, 834377185, 507574467, 624673354, 261237848, 309437827, 510108442, 445120475, 271830300, 526193360, 460528351, 699573467, 761876718, 834350326, 922438977, 745622724, 946863157, 253271194, 688990971, 500126352, 263956510, 220326725, 318555824, 269770430, 457162888, 583531095, 711832471, 848635260, 475602195, 348469040, 650964092, 818625702, 903949551, 278961494, 50747115, 394840076, 542715925, 415514574, 403593188, 140525859, 596889475, 668939050, 952155312, 289441864, 717473368, 364903066, 501294368, 345460752, 840087465, 437171094, 152010243, 22196980, 661355469, 104463617, 327721390, 757509232, 825574767, 788376558, 715944658, 300283455, 368771446, 657864251, 78384593, 665622515, 587203802, 317293639, 84863564, 555786723, 949490732, 472928051, 486767496, 324031593, 509102561, 557340190, 661260566, 156734039, 27817891, 772091117, 637017609, 139084929, 298549413, 572602497, 193925351, 453330103, 917502082, 769835133, 478453291, 305412104, 611380954, 769208443, 101807227, 7246085, 417320353, 459823315, 813233322, 831562697, 245708936, 249162647, 943387378, 109768310, 366256893, 548419943, 78989538, 549748277, 512493453, 553263699, 15518234, 228808456, 999698151, 342101823, 975165518, 288939016, 749902384, 154976599, 19280960, 782879730, 473963320, 349903976, 640415617, 358754623, 905770200, 312716940, 930209512, 289882484, 763240, 906183544, 324611501, 131215506, 158219394, 449906636, 609299528, 80880586, 165008601, 506711458, 605740517, 875054662, 917852014, 710722626, 878894374, 147014752, 38950322, 713207397, 174479637, 270013705, 572433312, 881638766, 523598558, 353886257, 148161037, 979378686, 241968495, 572881842, 890548674, 646862262, 234736637, 796593246, 393859777, 772408613, 759199059, 356356480, 705509509, 794902049, 156995585, 580981494, 934356158, 102596219, 993224606, 112825446, 468417323, 510447684, 351136493, 735637043, 567858017, 708812588, 544657828, 564331866, 864693848, 763924355, 466662640, 74926719, 567417991, 508277703, 505863934, 355584143, 385674949, 486772828, 503656353, 558462049, 497946596, 651144310, 724081917, 781286473, 913798656, 786186841, 337097490, 103796719, 84595468, 444747938, 33236317, 912859442, 508355998, 905956536, 625374537, 90027698, 154026800, 266780168, 950884150, 800263312, 983796288, 716186201, 111092201, 890783014, 426271957, 437007020, 847970840, 677097607, 234106768, 869562573, 338041243, 973082320, 717274894, 406254226, 593433011, 691116038, 661619974, 408860996, 526891471, 299345981, 863385447, 126004505, 714563822, 568895803, 102910617, 189522192, 576360937, 520796586, 715513039, 501744918, 675200331, 731563847, 485164655, 992074609, 586634725, 539537805, 304264230, 728137210, 227929822, 919099385, 278263866, 131294953, 722294071, 373584981, 389713156, 472941277, 701562784, 446523783, 12936503, 16718212, 640409991, 426178303, 147872170, 155702296, 712227029, 305374025, 64461618, 7358507, 880195326, 379093517, 301825641, 361734093, 194948735, 113876753, 928089361, 417025141, 704104981, 602466543, 111548113, 83201828, 969646347, 570455256, 206919497, 740042594, 575707774, 945652326, 852276480, 116885140, 18132191, 231246328, 208806478, 681276168, 345188391, 976271316, 455221229, 696275729, 494547645, 621853763, 783557920, 424115039, 171470566, 270299676, 416744627, 91641475, 440771359, 609332655, 664800868, 21397795, 636146958, 598266365, 823151617, 282510887, 652307310, 253919156, 434365724, 142012853, 773059434, 197386837, 780723020, 123795764, 339903690, 323906314, 426064064, 96571515, 929419309, 69239742, 275193693, 246655449, 754357187, 719981029, 193842315, 517922938, 505468776, 564145284, 166910112, 667143141, 997809382, 954078749, 676752657, 92638209, 232829847, 38251807, 773603045, 755847262, 967715912, 794625582, 145362532, 285442662, 809117697, 727478121, 309691429, 278294688, 28978382, 975789614, 136045731, 269178344, 476568266, 52228787, 223855754, 473022936, 450197126, 18870636, 719110843, 73645089, 486029401, 201852339, 582027639, 728508750, 207169722, 768371118, 956313015, 207665572, 701457196, 818495836, 293181129, 880145450, 407753978, 591112838, 658855583, 697459259, 979252257, 506637898, 784007747, 609806469, 601268628, 32912933, 588666062, 489327184, 617035898, 117896013, 240049353, 268344065, 696281178, 535588792, 562856686, 302608483, 777611273, 835107849, 529122866, 111116560, 688285142, 254698096, 671271878, 597855462, 426542942, 407235929, 160061707, 74395459, 23172192, 971920196, 338110619, 900951436, 738717312, 380768620, 544554039, 166920772, 869407680, 609587525, 78128436, 542293071, 550711278, 619786054, 641925235, 956660617, 917578410, 323562566, 136772409, 686214923, 580851470, 709643701, 623579231, 838445689, 411801016, 819555039, 824809903, 111307316, 111450833, 227577194, 905564531, 731979950, 320281103, 75373359, 115239021, 646875105, 548609520, 180313514, 709030263, 172044060, 210073745, 429264074, 734304991, 333793860, 706646025, 243750996, 76923106, 736176117, 96153567, 270029705, 504698542, 976204239, 571918090, 794574969, 418758412, 931831860, 969293384, 204658729, 757603333, 735033585, 165344784, 898137266, 911686360, 100516215, 697575645, 843943325, 93796400, 660205830, 295936043, 539856124, 617058606, 839589798, 169197972, 796778097, 136657638, 870412933, 701687393, 356984997, 518631917, 161487767, 933434950, 935533786, 993590554, 433201527, 264749561, 564256616, 392368003, 285379799, 633511227, 900927515, 727542627, 519404747, 870015709, 909521296, 847273995, 643802461, 240344213, 447710701, 895070477, 137230079, 265847906, 70175692, 207846112, 831598616, 239104939, 417793285, 970177909, 416181746, 637308787, 1092704, 252388266, 843453855, 755529391, 570880409, 348953948, 441831550, 888335758, 414752028, 463788511, 466754851, 443904630, 563522618, 604898568, 315560301, 693765083, 892861722, 357240269, 858092136, 144047976, 622886765, 114467772, 693039810, 562103663, 787854019, 719788227, 38841753, 33442849, 896208, 361140038, 99856051, 186165888, 292544258, 736055630, 873930482, 389082406, 698848982, 346007958, 175743447, 578761826, 195197626, 517256879, 120093678, 593536066, 360930702, 607546060, 847213046, 81958737, 954384883, 832987229, 282069100, 777514392, 762483752, 414362289, 861576452, 644046360, 79809237, 173321385, 190674488, 498165742, 269833325, 312584712, 217206927, 186927583, 740285689, 547024676, 59605110, 918388195, 770165227, 700539999, 494786373, 245461272, 826227445, 420446253, 731796303, 880488878, 982810065, 541881172, 60354027, 258408108, 297534572, 887432666, 16938502, 156335345, 267679754, 268913045, 584118600, 396920966, 443149506, 633062538, 557344575, 210968485, 949929224, 335687832, 830109997, 312578167, 290595338, 19421294, 531320106, 287416143, 440744182, 218851329, 347139183, 825024092, 174427498, 675191592, 20113858, 9307167, 772371025, 228123845, 105037137, 770394761, 699870558, 41298382, 899797929, 215078805, 947887704, 133894642, 978548100, 250798376, 378887324, 784809333, 61730536, 555016835, 926209753, 986272521, 226194120, 205026470, 168369092, 854836235, 466685605, 142560411, 89778468, 528904940, 610579136, 262593695, 230343478, 549829410, 956383235, 463917570, 198369076, 11138916, 35851873, 639677905, 776901852, 722714021, 847265476, 520274940, 358183975, 710590173, 27531212, 124052093, 842240867, 703750341, 864253525, 720439886, 477075338, 717374326, 473148336, 264118574, 475987245, 792346415, 556208370, 106456172, 100234409, 778552481, 489200599, 148964658, 762061379, 696716246, 413465147, 209734564, 193107313, 922461143, 615652059, 382377003, 876205995, 885097362, 541049939, 192757300, 520856129, 176927736, 620520982, 151389342, 891604688, 377574615, 176642852, 129516735, 696861131, 663682411, 128200453, 853912323, 241172, 423708676, 489711700, 17145323, 660513981, 746740300, 565914084, 17927399, 962210243, 305184890, 131870114, 446661014, 904192679, 919260142, 648394797, 430774962, 28031159, 663306526, 963865630, 322629244, 609532459, 47322772, 361158516, 168772054, 104061542, 612001789, 160443969, 668078300, 348042217, 137496427, 100408190, 256834437, 676156490, 184034012, 158375485, 197256991, 255302631, 221194864, 913373249, 908808502, 816986132, 933683379, 560318118, 344203972, 550446563, 215118371, 461510912, 54150743, 928852409, 345400347, 177774337, 595928241, 200764680, 584573919, 561109830, 346887089, 41625241, 816147619, 980617500, 802989603, 618455424, 346619385, 466023523, 663392800, 735304263, 980193410, 984153906, 97917627, 823027492, 150604280, 935947999, 236968974, 371448085, 743907556, 283181868, 595212169, 908206191, 380582488, 92562444, 731841143, 270065393, 219499305, 511304460, 113440297, 331703021, 768131534, 318515094, 707843506, 115546857, 742170519, 889722837, 500124599, 511029518, 552959435, 190237839, 633120874, 368530868, 749821895, 100408591, 877590032, 500441776, 600116803, 853493009, 22559831, 616292920, 354652748, 758116077, 97937787, 995569631, 639658823, 191513498, 530262691, 446924506, 867090849, 361547525, 631476715, 394705286, 863937915, 690407055, 624075260, 852955160, 444129630, 406334347, 265359323, 433217659, 233100280, 111879592, 171217394, 502730459, 296826878, 776993832, 45389854, 682131385, 877984463, 935193038, 297342489, 518853371, 897815306, 527213106, 494501457, 477627611, 486172050, 554499049, 742528646, 758788972, 561452190, 670229988, 783993900, 643457020, 974661222, 836320827, 914279122, 685050967, 887174929, 118141162, 678491637, 178042902, 115559362, 782488977, 25429961, 518861308, 81641375, 750766037, 215689024, 396310306, 267081431, 260624061, 231803520, 917052358, 340691572, 747550195, 897929999, 846831522, 16464773, 117245413, 276597131, 585630065, 391203597, 857448113, 10412117, 785077741, 823342030, 61648508, 427825695, 758874463, 107696685, 982458858, 829569552, 966910977, 16518741, 836561600, 566883049, 359377861, 318468956, 734744298, 255569980, 581038626, 328851778, 641042416, 822747916, 618702501, 323012490, 971588747, 855653073, 656279817, 345269260, 936966609, 879821135, 626313659, 521135786, 292713077, 953094982, 54255324, 320430545, 478250495, 53057578, 861250626, 768199496, 76273565, 994564332, 664992443, 495911679, 83507724, 728022226, 349332158, 336020111, 770871817, 4462520, 51943866, 172510814, 741790849, 324831674, 804724678, 107996067, 833834552, 80496595, 220445706, 482915166, 899029920, 86079273, 632968274, 126571857, 265767401, 492357586, 789814910, 280998654, 479425380, 839311568, 714601431, 632274981, 223595115, 605706531, 917869131, 910675291, 238547952, 289193356, 313657286, 376810230, 173684049, 742517965, 664019491, 504618200, 58761359, 996114486, 983341607, 482378605, 372170737, 221960557, 306305275, 233777961, 249619644, 511157898, 289372127, 380624789, 297655373, 510392548, 385978252, 490335769, 390876464, 713510135, 513590034, 381075269, 357911208, 775316477, 344046413, 574132023, 32085395, 346379127, 751289084, 978448034, 49967593, 445211303, 92086369, 81383528, 320353204, 638709302, 250373734, 428789136, 558289879, 646787992, 834838071, 783450823, 551971285, 442585930, 800731724, 688625949, 56453306, 343392813, 53247658, 866572327, 441191883, 376086032, 325997806, 393407834, 604390029, 464219030, 522151650, 790641233, 219666665, 754820148, 967400798, 192300815, 922961985, 963550531, 456483682, 714093568, 509812111, 176768343, 196457165, 52484043, 802476294, 960764469, 368388150, 540677637, 191825266, 938422720, 444032871, 701463821, 151522291, 226670215, 693342858, 720218441, 672666586, 390754722, 885321303, 859756869, 168741436, 155398171, 748537370, 667560704, 422096356, 432603603, 763039524, 321843876, 62578295, 606688622, 822327793, 550440554, 717326658, 467325171, 13844641, 167422777, 277410133, 842802655, 260998599, 651319283, 581148956, 879519579, 521303346, 530733985, 486903006, 91350527, 238751561, 462746227, 522507375, 164286271, 994842426, 222439941, 123793912, 415367648, 186761573, 155665648, 876280939, 73053093, 62765953, 978480555, 696606650, 766259354, 28376437, 989089252, 186590366, 91996156, 107408897, 681706633, 798388361, 127275502, 154086638, 48687496, 822008973, 906605427, 999837999, 575403064, 616150996, 14311447, 48230473, 400668900, 945477878, 191827291, 351019721, 878152664, 824411102, 211150005, 787539022, 164241660, 120827863, 782046078, 604036167, 521443774, 930053075, 558454433, 235232492, 619051270, 285315140, 591160448, 225199746, 751252515, 714702076, 576423772, 407286135, 784791669, 299856545, 804689142, 663105963, 687838148, 341657158, 402064709, 154291381, 562463877, 205008727, 32219942, 690416140, 422071649, 216734004, 718424026, 728322061, 845669236, 661563406, 844618627, 8897668, 427582314, 724516974, 718433681, 282854886, 482265514, 973943565, 477745975, 586087555, 669215614, 192944535, 283636041, 941903782, 416889954, 287750421, 284204760, 331630950, 932219598, 992953330, 643235156, 662456042, 953017615, 131152174, 89508437, 435443045, 134917380, 257844768, 611741880, 928536525, 592102658, 471474582, 314309170, 426880535, 22546183, 236610402, 965424502, 451615953, 154703370, 155127329, 225842969, 864213689, 716284007, 934952520, 311411952, 599230744, 611634156, 357745976, 853125385, 778662259, 858675224, 87254963, 412981210, 373896884, 543535883, 150215199, 181328664, 741075806, 392987737, 279347572, 782914774, 787561978, 998035998, 352992331, 936008901, 888727676, 541946423, 223481409, 935963842, 507225729, 662745670, 496302652, 998722082, 7493815, 623119592, 798433556, 830160824, 347168705, 768784069, 236900906, 228224390, 624587767, 514318973, 171345456, 778594904, 589414956, 920791042, 986362937, 109403720, 486480941, 279837189, 239335451, 796143284, 981948012, 809011910, 301623254, 672331576, 772838121, 252035494, 935426750, 305747008, 842936617, 223039388, 548821101, 201395348, 223434048, 563085288, 638021513, 75380318, 915947755, 13264910, 264266775, 196105627, 731153508, 976959221, 815906776, 179757121, 285162185, 269285661, 881653191, 500516053, 557627730, 249034867, 703968381, 862379157, 783707689, 818192512, 447777495, 828257511, 74832719, 178264123, 59446744, 77212437, 815679862, 821194338, 487844826, 415776008, 74145658, 817655943, 239727555, 778870613, 128017161, 683212719, 395882584, 497288658, 648162345, 905362845, 334234547, 321141560, 986522253, 868870350, 309444759, 542896485, 882141344, 717611713, 562913693, 626809682, 542233700, 366240418, 687125812, 113967768, 267298912, 383594182, 364560955, 920839537, 733077871, 795890868, 56944070, 336166445, 118274944, 238807153, 204515778, 140775904, 483130896, 303353060, 94184607, 473421561, 350291581, 761892255, 635965433, 226571383, 969246457, 765668688, 865691885, 371217438, 134028311, 774303760, 499383624, 196475735, 640153931, 140137178, 952802327, 637450958, 760184796, 397027465, 916248257, 97208799, 383187467, 329715123, 92952125, 697240082, 847515009, 924186314, 704258534, 44933931, 648333647, 136413499, 402201343, 968114485, 859498755, 677244228, 62005255, 977020345, 468625608, 715638177, 494019390, 881213322, 562881868, 365229555, 293650578, 309219529, 919211690, 886492603, 479004310, 245239301, 593364734, 68278009, 211950821, 402492683, 87604716, 560509862, 487499207, 720107416, 64423672, 145010596, 228012417, 222221114, 402242276, 298461934, 94164735, 861556376, 1200030, 9357914, 772283292, 713964785, 551541425, 725277382, 449088494, 52633594, 28114360, 480536672, 302412121, 280146197, 63815278, 980254417, 261166140, 416016577, 814018479, 238906243, 706662566, 403429703, 787533945, 883318621, 531104075, 203541017, 393650918, 350698169, 640802053, 871564478, 973812359, 62050148, 513339203, 27235943, 247216784, 190344578, 791185761, 897868060, 59783905, 310302886, 602001536, 572587483, 774904813, 292114961, 239056336, 798316697, 58151690, 488814662, 296202687, 770428361, 424571480, 753064359, 968916408, 466207864, 201604737, 682002121, 700629532, 486980622, 674044966, 944235725, 46956774, 919770528, 989993526, 885592088, 481231739, 690988154, 134244765, 153307278, 884419438, 710100295, 35966374, 890751406, 529018872, 831318078, 315517650, 262663955, 37755373, 611562755, 765618435, 819368401, 388466376, 178972937, 587799959, 365151, 308421495, 688814964, 373878881, 287367169, 317430171, 595541451, 333147022, 206274652, 358795121, 863038166, 575162994, 682084039, 795225600, 815639768, 492535683, 671675839, 347238200, 475537473, 125362045, 679236812, 82993389, 739428666, 275867417, 280850531, 92742993, 213235755, 330149983, 434395412, 345228089, 509672170, 226749420, 760850294, 507134183, 918672487, 960187004, 508559105, 416786550, 396075670, 753945853, 184665895, 406016130, 7823989, 627006519, 668652182, 995836116, 804456895, 597596112, 871829642, 366539205, 32476176, 131579006, 890225919, 71246094, 210905395, 726635403, 57287902, 976846340, 486256904, 906290442, 718403926, 320823004, 37332114, 298991346, 171045922, 833887793, 383138006, 845172068, 420630340, 561388812, 212845765, 242826016, 321869097, 544161054, 19753076, 756645680, 624731360, 657664303, 972705322, 723832839, 788886193, 211538363, 649002294, 553535142, 439965452, 111892949, 928634692, 491424396, 835139268, 705115528, 114046989, 593972687, 449889559, 274921320, 103601750, 452407456, 945671454, 577687395, 973737916, 473088126, 267431187, 162621436, 100099500, 638116677, 320115423, 55311841, 581546974, 88085907, 284881819, 171598388, 559959181, 511441025, 569487943, 727297161, 609469896, 620551616, 7197967, 380943697, 861650213, 795578850, 832555585, 960855230, 913296773, 871765472, 909908407, 54055302, 62587741, 144643295, 259107549, 160031428, 987219665, 57708083, 42619463, 553533048, 713352957, 470305942, 29085335, 931940785, 337146991, 815665943, 594507000, 899299165, 367154556, 981133129, 297594427, 408706661, 57511209, 355426560, 148928200, 972734324, 394693557, 594052953, 712588762, 254193677, 426647119, 490949709, 713623828, 385475781, 583476747, 263258725, 891362537, 134494465, 297645553, 361339638, 7048347, 243848069, 200511199, 409047821, 659677948, 850562598, 734587171, 756365144, 393865345, 394708669, 430224846, 565440565, 814935796, 837846416, 256242927, 692767179, 559930843, 44292324, 705778774, 968247542, 693673965, 599967259, 508891007, 961288295, 708996994, 179592356, 550001374, 143052314, 623022538, 497447955, 398155926, 916058573, 899007343, 868659554, 859860745, 717876162, 381974002, 828217980, 279203484, 95325672, 52404023, 734292687, 295395594, 635630942, 818309288, 270874016, 724155769, 713400401, 328600033, 330707436, 100873204, 447634543, 846418357, 619381866, 475333700, 885381580, 121646413, 544186180, 46259149, 115573937, 510372108, 410474648, 54484027, 899418858, 954260731, 590194433, 788070773, 802515614, 589826981, 361569067, 559122335, 505748904, 388314830, 713939002, 719484219, 943373142, 14303101, 76838572, 351236043, 790520175, 361772349, 292709409, 612098660, 763932243, 738986316, 837028816, 935301625, 87896765, 915685309, 878313452, 724259670, 789893565, 93613937, 396327575, 410263218, 604750480, 660848772, 836126860, 396311735, 418007804, 521652687, 368869423, 953570077, 346522034, 674831161, 198167771, 307662976, 384223565, 209108922, 461367210, 91496620, 984081702, 394712844, 379387989, 737351614, 755217744, 765467328, 444548297, 973885008, 919843435, 810017593, 300913414, 320267782, 202617921, 603278794, 166109141, 425859130, 489845871, 288766581, 73736246, 936409458, 902334678, 729118475, 344908162, 952711658, 142776811, 232966644, 746863982, 754254109, 972087881, 276563738, 716499260, 427675834, 295523825, 712444130, 770277173, 23485592, 851379644, 93696907, 362602322, 833998588, 876853332, 217532598, 438654986, 934710297, 576064681, 501833003, 962601392, 664836129, 928981658, 124765875, 127646958, 199167094, 959766369, 74109304, 468332194, 157097800, 816677475, 643183748, 111714971, 111224557, 351749085, 281851536, 819271141, 257207873, 80613792, 363273083, 381060779, 892991547, 19015529, 147163009, 105315401, 70100160, 420381922, 640754425, 800650606, 435375001, 659539711, 311255230, 927064314, 973649277, 739223718, 899689222, 428850081, 424542691, 132319612, 486014750, 151482309, 428285374, 71468580, 83887057, 676406594, 278874630, 710593442, 719547386, 661703010, 793785844, 92687687, 358002223, 608962836, 28455919, 129669319, 186816742, 431705794, 949007923, 923826730, 249834478, 142553103, 636671821, 893564352, 457175149, 899001633, 229486981, 733788758, 279220014, 732461517, 54860471, 302710965, 546096381, 61578721, 773237588, 850272304, 818212676, 412714207, 922906562, 767131446, 275202865, 833587863, 256577314, 83418047, 479939927, 168494024, 99645160, 837022717, 919300717, 999613561, 315963867, 440299726, 487969267, 114624724, 619209858, 465932842, 670876410, 691458977, 253505358, 281427879, 642691196, 740901568, 565288859, 474718064, 179976401, 979427183, 477863578, 849500831, 988876078, 172302335, 675705350, 306103851, 36271774, 636787449, 351704940, 884300963, 166025630, 849568335, 85236992, 508104212, 990239515, 317000787, 759026111, 647648348, 998349174, 1785606, 771500132, 273575147, 572245714, 98938254, 226137894, 629802807, 543554089, 966379905, 34360892, 356222696, 817421543, 446944471, 545148218, 669347965, 724434623, 663904028, 457124012, 820384367, 770750429, 472494152, 292842153, 454310329, 858150695, 776904677, 44323684, 864749137, 849692641, 713296726, 318618519, 167637766, 689800660, 569265988, 547064603, 237640693, 596702525, 817837858, 834061893, 166349143, 826284343, 810920277, 560137087, 469534724, 293890926, 590745152, 338088448, 613949103, 661540911, 579420111, 250390236, 277388930, 87695144, 86407100, 527244807, 746844681, 683313252, 105728384, 859528031, 954952448, 971189461, 297761199, 381530160, 899011452, 217454421, 724426435, 651176265, 614452835, 575689733, 189297484, 229045791, 888336716, 745112525, 696838229, 651613772, 713412711, 755493302, 632465583, 331150068, 778313628, 62418514, 239486598, 167549197, 549113920, 46120230, 460934351, 280140401, 803158526, 997946500, 634800099, 443021165, 286950956, 428978085, 479963710, 254360702, 386244557, 319575811, 810817701, 832931248, 15460471, 104352148, 577669147, 279772522, 571837699, 720484851, 8385903, 742375022, 467716185, 726454407, 872046100, 846223629, 674146795, 557954944, 394474626, 844458620, 381456796, 668129045, 929325473, 207338441, 480819620, 719867662, 682795446, 997039670, 981752209, 214381564, 816450649, 928013305, 276189435, 798176004, 184092204, 163135145, 713230602, 957470855, 885343908, 200233253, 340142048, 458174671, 710841983, 640212593, 562911789, 950766807, 750597120, 132262578, 186797621, 333973964, 707781401, 846414746, 888540695, 480609538, 139814865, 236369623, 74188022, 651254214, 37341609, 806203067, 862765272, 166633672, 939937643, 782909247, 246076258, 103434953, 404731274, 161458659, 977278213, 669202117, 343792712, 970572910, 680329020, 715669361, 681772340, 425213972, 72184130, 726353559, 297889040, 690582932, 711619403, 22309636, 323524245, 811634145, 47995052, 544200544, 446427396, 772797438, 746842, 835661227, 242997761, 720866504, 438958426, 735470569, 965005796, 883984840, 615109659, 643999218, 475714508, 501647210, 474177093, 741346510, 564108627, 767496951, 18433210, 747290712, 662212034, 507421347, 93069713, 975053822, 660445888, 804455373, 477042089, 273511411, 696947452, 138564672, 968390191, 169952917, 974538497, 138603301, 275229473, 173298633, 84935877, 921478311, 338520606, 421308830, 631421021, 645908027, 267695809, 86627427, 725885788, 801101959, 285834708, 105246135, 840260758, 543269994, 204099957, 264366051, 375539213, 566489768, 540705944, 40650012, 273347988, 914069612, 494320296, 681577289, 975756541, 632383824, 876772981, 263060821, 438710230, 369213197, 388932533, 400234996, 403567387, 81100832, 240103226, 135318088, 909974695, 454547107, 143544824, 504392837, 831274727, 339606884, 543336090, 778599452, 898540331, 210843079, 628016322, 76367994, 983852844, 319506092, 832313807, 170521006, 280563591, 244345299, 143005656, 548756513, 726120600, 245817142, 663896260, 927395522, 836783846, 351693064, 557683536, 180124356, 633608543, 427849170, 813081611, 508045027, 364857180, 787728451, 568470400, 782147599, 602552311, 599022089, 962673427, 404986345, 189074195, 828914924, 153927255, 483188166, 570542599, 620673467, 401172384, 504485114, 833871364, 717114772, 264459486, 858106048, 670826189, 655907591, 289550451, 482903699, 186421497, 527634412, 275299936, 394251706, 980835969, 79508187, 536347583, 849634685, 200989925, 534841407, 396211614, 195430903, 685352506, 164861433, 594508563, 673891670, 498692673, 887681971, 393039252, 248781463, 533115922, 449708791, 556481614, 592022146, 514999446, 480989023, 632228701, 775153488, 155742633, 130034084, 467089951, 273081747, 835620329, 610453293, 52590080, 529782523, 53122364, 141990422, 104643858, 276349884, 268973475, 689014170, 827691585, 481485781, 727785255, 558519866, 97692290, 888077742, 444804652, 256124426, 31377162, 775956975, 497010521, 228937987, 773562571, 546608678, 842221297, 743434344, 440996385, 341225645, 647279251, 390562907, 335543272, 18103173, 809477553, 991722524, 30171442, 566507502, 166923132, 902142281, 143683059, 739406888, 922540429, 892258421, 881195531, 93918218, 244374604, 955666602, 390893540, 316585733, 95066113, 866907240, 433493444, 882610794, 275254897, 6567055, 949865644, 163687350, 769370841, 821284853, 210881466, 367597036, 166811081, 433021027, 286770691, 708181648, 947144506, 769082261, 880900715, 291472002, 345247333, 340115807, 524863762, 859606519, 409479120, 592000989, 410423429, 813321476, 846751997, 723843382, 967960660, 556601756, 155027269, 636665240, 700874496, 924419576, 925064107, 249656587, 589941148, 994919510, 633071964, 344134182, 247555442, 755734193, 955070086, 462747321, 928341670, 962091550, 224273622, 510392587, 44692565, 303349722, 633074043, 64909295, 315189531, 377270607, 783292753, 28317149, 466629880, 2217582, 478193505, 874888310, 432858398, 895929053, 27555755, 236403085, 635455924, 901558403, 288128129, 871552766, 587416279, 564857849, 42880032, 89335759, 303024179, 626840802, 336967772, 134814871, 60335362, 508218921, 341300958, 426694404, 280580645, 967195898, 801224089, 991987185, 614785385, 793462741, 378515962, 706235431, 501766850, 209183701, 483689307, 237272987, 661526473, 639971001, 114838138, 314482456, 265058160, 890277908, 633502469, 956826346, 111500864, 23067956, 158419775, 139700026, 19911012, 529685034, 437623110, 168989319, 977176041, 179721618, 873835752, 117316964, 27560619, 821747274, 967015438, 394454749, 701157060, 260529132, 74277647, 14581368, 415192825, 58483361, 644695178, 256582015, 874139971, 535050936, 124577834, 554437793, 51387811, 999691643, 224010329, 666740610, 927621142, 103693293, 308175494, 517232276, 514466783, 375437718, 27745200, 148648166, 585173829, 903012132, 786362834, 109977622, 198646325, 747297839, 376263022, 204774489, 954508015, 174168914, 732966140, 333462467, 177298600, 517169444, 918105518, 430301663, 497697618, 367857032, 490647201, 122933117, 777093913, 759493192, 516234708, 516216109, 968432451, 532638646, 93074901, 436321117, 447322542, 751380662, 757395158, 852007740, 943036940, 638387997, 191822990, 377406267, 826670266, 18858216, 362936677, 801993669, 600582350, 379135460, 469870277, 589812903, 357937543, 910721098, 358389707, 446213310, 71564539, 685105163, 270798887, 327093561, 76924725, 497308825, 808294590, 374429103, 665095051, 394172615, 680067230, 181471380, 265229523, 445027323, 236717026, 682728000, 139763473, 367832171, 169056583, 522326087, 344664683, 395409633, 828110158, 201845774, 481312976, 934302619, 967976213, 381531387, 45617454, 577244490, 8961969, 393306162, 198054733, 628653397, 972996247, 977487004, 340294144, 487430485, 137738291, 459787175, 444903455, 106568337, 831239087, 833813623, 881755, 759211495, 582263375, 559833023, 789813343, 707631433, 228034520, 350100395, 108621306, 732948490, 5535454, 38659499, 20796493, 50348585, 358923818, 111205919, 298808441, 963409466, 562835097, 261028063, 380188710, 176992839, 928932771, 288318403, 119620887, 167786455, 140676674, 94170719, 584321542, 452356179, 588090832, 770605660, 722315013, 764517386, 299033074, 749862358, 772002711, 846980041, 496859611, 657859197, 588446121, 916544337, 950497048, 425756968, 928234592, 633984197, 136981461, 915309344, 310865125, 288233034, 246845870, 567927918, 40910485, 928978662, 36123998, 339476499, 949208255, 409180664, 249339977, 223119286, 685204331, 644679714, 802051179, 735414897, 776291606, 214929401, 639164546, 543983167, 927957101, 45022430, 944808452, 683875278, 400726064, 259367213, 284224121, 159118871, 921415925, 132090416, 921180601, 454594920, 617226478, 217497987, 877453100, 338722073, 733265495, 747281502, 378005493, 701947725, 168896675, 589011891, 461039428, 338798203, 889927465, 32721324, 745752575, 209496888, 549398285, 585389643, 338922429, 575635402, 186433444, 863997183, 600432005, 224133029, 893461458, 792603084, 640437692, 985366707, 415742476, 247215140, 570416010, 860032225, 997054785, 9475243, 936017850, 852181297, 462547390, 811966739, 977628425, 796968763, 641897035, 486261726, 847002775, 280720298, 863537212, 65512652, 516137804, 429623696, 350612067, 843583528, 743628578, 540527602, 811656798, 961137277, 309315133, 797828303, 28003571, 189455281, 207712947, 961200763, 60055184, 217141087, 353240159, 826209711, 160033219, 840039088, 245480970, 774951188, 388093555, 32452250, 503225285, 129935799, 324595534, 678122094, 279379662, 891628959, 903877909, 135880194, 197032606, 590788697, 849355173, 553857170, 271942718, 33345235, 460841919, 603142037, 845151118, 311748242, 443089244, 674511186, 730001535, 48362402, 654155267, 708149875, 810741005, 18887052, 302508841, 30159153, 875506472, 87388222, 511822654, 946112308, 262705205, 797326992, 128183139, 501485702, 497238989, 738068498, 991804736, 488029067, 712825239, 580641412, 647630003, 639184349, 981920131, 101358719, 169963281, 665931154, 234720027, 921091122, 905116402, 337303150, 174668418, 855247022, 33816332, 938892385, 114525656, 886691196, 657115720, 733819141, 226435357, 979782671, 282737785, 216753200, 121622617, 227152960, 182886897, 239758072, 503176869, 173016035, 132287690, 309700205, 600539161, 353849121, 142010961, 580432685, 599180296, 996165359, 73779610, 450037626, 595609049, 942261790, 425145675, 716881604, 529026462, 34532488, 141321077, 547248024, 248257373, 412815646, 483212845, 302950509, 942078041, 751278976, 601164426, 848754707, 342976246, 238478678, 375246983, 303423714, 528709022, 727279151, 197717739, 577622214, 850264195, 164211914, 405609453, 827524763, 830988043, 504174033, 514789304, 965762513, 782989577, 355796080, 586964162, 24505454, 327626187, 488595126, 86611241, 202973856, 358849077, 65988542, 238800895, 485114249, 840485676, 949575347, 969719013, 471475386, 420994099, 865123723, 728957360, 458217293, 625744572, 930394315, 629592400, 147658881, 583417443, 898882932, 869510101, 16568848, 345755874, 654877714, 675845562, 622863682, 197348505, 276919196, 839990883, 455247155, 335015723, 14602014, 881285063, 734967410, 425211741, 291819835, 197644881, 426029903, 886810818, 250966060, 242857752, 368703011, 532250088, 55807860, 305337547, 309205025, 26203564, 178454432, 895264210, 139701588, 635413831, 899778999, 520806588, 691537280, 538694660, 880571751, 155263567, 678242450, 642438552, 459795887, 20762167, 880102877, 805825838, 384825606, 983381734, 15397665, 247108400, 703718751, 66931780, 601052678, 691400690, 781537519, 539064005, 137143169, 968771172, 825534982, 601207443, 424832122, 777834756, 190447541, 655057536, 677153064, 961076456, 852634134, 671282041, 538220599, 570764815, 289142370, 467882428, 173409526, 527378984, 740286766, 125401453, 99987309, 521554694, 734857432, 737716006, 368676751, 417558543, 72327072, 470778842, 509653597, 558956479, 294087035, 513406622, 116244985, 130263663, 84421329, 658340524, 71350621, 868116901, 832674264, 57052700, 962785, 260290200, 722298573, 596093668, 381248542, 465373603, 772279598, 269145059, 883045887, 832846767, 802218483, 928736659, 861987064, 513335135, 590677812, 880473337, 879601975, 110458095, 272268726, 533925441, 312434424, 757685558, 787081488, 809566186, 556714164, 662005180, 811431114, 44732525, 813952705, 920027541, 417439195, 623734436, 771999991, 530447304, 130451433, 314649133, 331766004, 951209508, 300324849, 466022646, 25155473, 157749192, 272180752, 507714972, 172215504, 561246581, 447849413, 663260700, 457806444, 497492045, 32778739, 168229171, 139570294, 6477391, 162339708, 544788242, 686847109, 180161028, 740280611, 292248218, 933031309, 552967961, 292877366, 640326733, 840535795, 964785664, 814420578, 354646324, 667093262, 917566000, 901945038, 921035080, 251814227, 291554811, 274689081, 125838439, 660279678, 400007717, 311275969, 760110887, 623851221, 727947963, 397049562, 891363342, 725252576, 782981225, 451654232, 144910590, 265157081, 14700249, 860966023, 544085941, 728723075, 495970119, 867939466, 220319224, 945890908, 498243951, 113015247, 619551316, 839911540, 504398782, 53450663, 60229471, 98817941, 652570399, 10436173, 663589310, 724319052, 336368795, 31797168, 512264911, 883254902, 744899211, 240219719, 997608998, 90371165, 302769687, 189394554, 842481766, 865296827, 531576319, 91218437, 428749185, 884699013, 706031046, 572730733, 183658718, 579825589, 448265764, 343969039, 768524777, 141324970, 558714975, 734249778, 911447571, 311935599, 416591334, 139568682, 734932923, 571829575, 495224599, 505342696, 84927668, 411646376, 203503438, 582443466, 317658780, 634200924, 385192431, 945986094, 965492388, 6769168, 815687039, 74187585, 648985077, 519954114, 211708740, 623390137, 168485715, 944063987, 401349291, 492993771, 349902656, 867990978, 429067576, 612876741, 682469288, 831460208, 199799868, 470801214, 695685094, 698686356, 904132769, 117264086, 781226505, 432281309, 718623662, 581524836, 375615204, 955210069, 517587391, 676826433, 223695303, 82461425, 812172036, 663355668, 57337173, 907265684, 782246977, 159115913, 815881473, 566928320, 458601759, 617811784, 280808334, 811538885, 234264234, 341888384, 576680215, 169625571, 703821527, 634375028, 862386647, 786976632, 220807562, 16263037, 480638700, 60852211, 771564949, 27676468, 232172560, 770526070, 792471009, 432351738, 693769001, 37390331, 231066554, 749423177, 951553158, 993793569, 75203669, 259892063, 303801461, 468586593, 195872746, 668180842, 999363340, 127602253, 637310305, 741786730, 71469871, 236960980, 362575932, 705397110, 232189768, 351074186, 783491740, 492003245, 978541564, 383455561, 576717296, 944209777, 332252235, 97280521, 560421559, 717906643, 584125861, 437519467, 269656388, 726513650, 665957859, 956891359, 968735742, 180267237, 233222285, 963410815, 319379384, 979563560, 668165699, 189214916, 833212700, 805067783, 674223744, 123510978, 840622820, 563466057, 107657564, 449382126, 723430696, 270031553, 412654050, 444272491, 72071551, 38692535, 65260670, 984160375, 967573802, 674904041, 206652795, 941106886, 535769951, 52684723, 134456131, 777056858, 92971595, 822868531, 447431237, 820179695, 41169274, 803415473, 402040338, 782000497, 215614742, 359835926, 543448718, 524062569, 850959302, 437027227, 652177358, 396470060, 649770459, 437157441, 490324963, 323636838, 470538360, 272736037, 328445377, 695707756, 310063161, 465300337, 478408658, 279649228, 865502834, 876737860, 880742164, 569557454, 397327426, 163413058, 191687214, 942786845, 478585745, 496903954, 39162687, 8869174, 411807190, 516981855, 592840026, 298753483, 43306392, 493527971, 204647818, 885796831, 943745572, 708274312, 751781347, 8198905, 678966936, 797302830, 736193101, 268111, 978506782, 734081315, 492215535, 63385861, 830700262, 609689254, 960966418, 244744055, 306101394, 290589553, 855641700, 523756852, 555799670, 382698516, 286335791, 538579829, 172085128, 592366454, 262246961, 593446331, 467450060, 194891117, 992707104, 812026811, 703226256, 64399624, 837493799, 680299951, 658521264, 456151357, 600264408, 288491974, 548916385, 379377441, 70528189, 564087560, 19066925, 948569747, 328978784, 377078290, 267081025, 731502540, 51063777, 864412730, 235925856, 600881709, 433234246, 901912437, 815456441, 350460671, 470626459, 737368180, 122298889, 813982879, 184066488, 128651441, 522885914, 613661135, 263352775, 878000943, 959780657, 921787069, 343439040, 241957459, 32600030, 666822121, 885809392, 896032072, 370395958, 550834558, 488802968, 857872703, 110279396, 522272772, 691320896, 769380788, 858849173, 912854024, 576100395, 116511380, 437348542, 856577520, 575291738, 356906641, 985890066, 428719281, 725912788, 235680053, 548848432, 527637490, 669200120, 888987764, 859097797, 814203254, 862663102, 453768294, 249837588, 911466147, 253725175, 758058583, 961092267, 139437418, 48309855, 616928439, 641171076, 134633680, 80651627, 185600312, 971201915, 215622887, 750601757, 645176452, 712370374, 130884555, 91574772, 358411834, 969320332, 605370106, 506556561, 268855612, 882947953, 651271742, 633293417, 310864659, 891711403, 580229295, 50943237, 254201050, 444296373, 877115706, 863145387, 793296097, 572877321, 882639035, 665433443, 452678248, 51926687, 894869360, 8592316, 241277512, 543175333, 849368829, 982394618, 129305107, 691039969, 442413798, 464187391, 154425676, 306512996, 911425128, 325507356, 491973645, 397525566, 734416439, 793413133, 967970408, 583799061, 71729789, 995009864, 951787554, 9067668, 770730298, 970650774, 404935942, 53891323, 131626019, 201455643, 871875562, 200055878, 302489002, 609752436, 835613268, 783439193, 748186045, 583444660, 922676289, 608158328, 276679781, 125906452, 507102547, 632061081, 560938850, 728772869, 305071305, 965607370, 353487065, 321026667, 446699197, 53482857, 522827612, 765789863, 802729451, 70807388, 45668158, 386959942, 724474789, 339581342, 112512294, 307217030, 947985608, 84062385, 949861202, 208512555, 10837201, 627625835, 18564012, 670514521, 878533427, 972546505, 456015465, 225193588, 467906433, 916628827, 782242302, 934824767, 161233402, 766964472, 970461543, 274501013, 465483373, 59006638, 588497215, 993110117, 361041202, 349228919, 242869766, 775559567, 946657196, 184889771, 374284951, 152829803, 124852350, 111585946, 714298258, 784813446, 91745804, 203692050, 692157652, 380229782, 190576595, 805189286, 884801165, 607932147, 595546513, 306055190, 84115917, 862653574, 71729347, 24314908, 745189017, 499705741, 346009813, 998139479, 621201259, 204087480, 577720222, 912718071, 769881692, 47564534, 689542240, 412051577, 803743293, 656617907, 597838142, 217908194, 125665627, 33934400, 391782804, 471619357, 547572900, 252267400, 307115425, 943552376, 719408318, 959974028, 109065981, 422503968, 710991373, 868315170, 403716650, 894690075, 890850660, 230500807, 378507396, 99340423, 9965670, 39543823, 309794923, 680792698, 226951339, 921499021, 766181235, 659030807, 208004717, 231706074, 976083455, 732701172, 450859613, 471039671, 149511151, 499824452, 525132742, 301755692, 302095241, 652764969, 110827699, 351586912, 125159166, 342983159, 338474884, 169550797, 521422876, 304897985, 861462006, 589786202, 658192293, 344034791, 842879296, 431453654, 437063368, 830077774, 108167335, 518258898, 958962315, 445242555, 656962825, 326506694, 428495171, 869865915, 987357513, 960383107, 123874850, 941145811, 530680183, 377358995, 768258870, 741967990, 93299882, 374398850, 945500690, 969068267, 196273348, 556379351, 696943875, 119689506, 262794980, 726616280, 715560269, 861979332, 324679048, 817586196, 62880431, 406586655, 990252959, 487852181, 310527105, 164931031, 931024098, 429400137, 940085854, 985744506, 841362425, 540797058, 751258398, 516787977, 915590856, 206308262, 357901910, 506565205, 151527668, 139212816, 505118798, 455654565, 69186462, 322354154, 497894330, 404316652, 912646314, 425415991, 661245876, 342166921, 469526645, 262322511, 407018446, 646537547, 771891805, 816956449, 117026487, 776387143, 421755225, 627160539, 871433598, 49894069, 888647232, 862402784, 877391474, 607038381, 248085580, 134510782, 948561323, 819525471, 656579723, 685524825, 622109728, 30952337, 13327203, 538891095, 668239694, 610115223, 84388001, 983927692, 486263315, 167399484, 896370960, 164962471, 210730914, 450863669, 503943465, 516859717, 399520497, 636802775, 601806843, 10697509, 596925574, 231567215, 764578567, 439213589, 912881890, 648453673, 330515505, 247409705, 875191829, 208760825, 447314415, 33805121, 178719629, 166145091, 398297277, 124560148, 873537695, 58465038, 197942772, 946768134, 191249265, 909482089, 677828665, 163980712, 212446688, 932392720, 277502528, 246886866, 685905579, 826032434, 135896188, 747851712, 83485530, 810854258, 938137790, 370624570, 137871515, 202878232, 853635504, 504004429, 144148206, 806068631, 724480617, 798843957, 645003543, 543000874, 546751910, 539271534, 698143733, 319616506, 526067512, 875378376, 974653028, 539185495, 284457696, 702096007, 946391903, 335277277, 895307921, 317943522, 907550561, 126068761, 272790243, 316074668, 261123337, 471333175, 963730889, 217108146, 467234471, 105561866, 985641456, 157898557, 325582738, 810282507, 24799316, 195515881, 514668204, 187961986, 322156415, 519631063, 628195464, 512134980, 779911506, 943883115, 196916931, 774472539, 244092185, 288847805, 603238379, 378925651, 433126853, 686157633, 538197302, 610756924, 403139544, 325986755, 836184813, 830216966, 332133266, 334622868, 713094220, 964731153, 345932548, 503788029, 954846438, 265677259, 846268192, 363623464, 207522463, 593358061, 480021204, 337100648, 367615850, 666469736, 96035661, 192928086, 652540504, 763029954, 958392381, 782893806, 841194425, 265918842, 760616835, 253269848, 682459670, 662219232, 170601923, 628952583, 760340762, 874156262, 479599845, 44060819, 919515941, 561605125, 438118943, 887061707, 970066465, 84340460, 642210796, 537355467, 498842186, 196679772, 697370244, 24850892, 644898014, 634142386, 268741675, 834885616, 377183288, 152869179, 675273201, 409219012, 143653042, 538352277, 316731247, 280060473, 861116172, 871338514, 708034264, 826280714, 288626469, 296869076, 548849392, 485222737, 741283461, 729438688, 114591700, 13332774, 373851750, 928109982, 676420893, 375504738, 231833275, 697811894, 65259224, 153319465, 977759542, 27290844, 448268994, 338285688, 489744379, 565905647, 122819399, 904162477, 517345394, 730039782, 348736586, 51503794, 191569452, 61561770, 351950898, 455203381, 479533037, 839062904, 5415198, 893482808, 342726987, 894875385, 940997432, 84891782, 290796363, 712030603, 476498082, 362632301, 440392979, 796780976, 754880039, 179915254, 336270263, 609715390, 862679826, 331574577, 156503079, 315931536, 460892773, 882226598, 109958713, 267804779, 889641002, 248022541, 408811298, 794725054, 208138226, 491627916, 110746279, 1136339, 232461516, 812883692, 619037823, 912025927, 920044949, 273993475, 848809430, 228610034, 445580825, 648788897, 876998256, 987993008, 58655140, 569155655, 242678079, 433800662, 6104536, 987306959, 735891994, 303065070, 668500327, 349962324, 75784259, 416905987, 624951583, 651050172, 860723422, 632118124, 684258332, 562607825, 149839626, 208972887, 256636914, 520009842, 607718358, 438821780, 113439108, 846872869, 780401774, 769616014, 10670412, 205195410, 83258888, 781513141, 636091018, 657888604, 427931927, 727699446, 497701148, 387985338, 664682240, 294439426, 239769900, 908517740, 921250369, 721080470, 971400688, 849173271, 264544466, 12043134, 323594383, 201540370, 905132193, 212516831, 624310562, 165887681, 693473951, 48281201, 843781765, 981038946, 196801515, 372908982, 440985517, 466647597, 670022444, 84423475, 421040800, 17437838, 674903212, 917536837, 643102507, 581056924, 697610031, 749651117, 963072414, 83171930, 158259958, 28629384, 564653607, 467653816, 851956617, 219053739, 450888911, 122747935, 97297101, 285348207, 627200135, 132076665, 757639706, 520560019, 202000112, 734004368, 433230958, 260713743, 940191944, 374854619, 590039308, 968614345, 298213309, 594005944, 410673465, 50066082, 830133404, 203010204, 99246323, 617262306, 378004384, 384714169, 899556864, 127614994, 897125826, 333025391, 265950220, 99358741, 408714091, 419976806, 344568198, 836557371, 546684201, 369933343, 69999228, 409951723, 11568666, 482399017, 369107966, 376681308, 132196443, 400781405, 488546215, 4729183, 858926974, 854218471, 629861905, 963768700, 182970774, 706900989, 911749885, 522824642, 468239481, 170130309, 685297769, 98091123, 951251410, 20406008, 620000802, 543050399, 727292273, 425372150, 256847602, 168809259, 668329876, 664493976, 995824520, 434732097, 420114750, 339919863, 116275016, 980042097, 774827386, 755431886, 179616031, 642343553, 413295084, 75304260, 880912890, 613269442, 682714373, 574783010, 644275774, 995020259, 290071388, 796540616, 451085806, 285277052, 54997992, 583378813, 627570437, 450676957, 929505536, 97187812, 420511375, 949497093, 499003730, 471950122, 861923584, 116599225, 861683993, 199018869, 299283739, 170562341, 867325885, 351582978, 871811847, 467462324, 339998650, 183748770, 48871473, 860766460, 182495493, 439175843, 792720237, 539400833, 804155612, 346747553, 923477926, 352020691, 595720050, 416516854, 933564318, 681385306, 968743884, 785180187, 321894516, 628373031, 832560679, 108694021, 661255172, 974251865, 710987654, 132365577, 453168573, 111868324, 925887905, 261829937, 601651007, 281121951, 789405897, 450529230, 639166316, 257438986, 13259540, 387635477, 946938503, 34530726, 174018837, 591779070, 616522608, 219386041, 849162433, 906467737, 320751400, 143305183, 101643986, 152036990, 492526374, 39720844, 994763202, 765118009, 869832385, 725751237, 708123520, 903212521, 220833295, 217772469, 199340836, 533936254, 521923022, 399269806, 191390475, 878376685, 41296777, 457380143, 555518252, 250768577, 643622074, 587881146, 798245332, 219938142, 575589166, 43556267, 971131969, 531563613, 196082841, 978765005, 151616122, 735131526, 895161258, 159310060, 721950907, 336982530, 232728549, 670724632, 167410577, 771241021, 899029484, 962588538, 506390294, 611766809, 271131472, 142930986, 330931660, 661958128, 952692791, 608221404, 609634752, 848274837, 793013703, 406092064, 253241416, 807961388, 472575493, 938252456, 771862601, 655049312, 957232804, 674348544, 912981510, 485172512, 10475869, 726458204, 674155215, 20934006, 426847641, 770056231, 173563012, 435920772, 179180120, 714067457, 830984971, 87837427, 69881898, 969012878, 588139378, 718906657, 616017444, 736768350, 557582630, 80752602, 621718851, 739130597, 47263188, 889878155, 857675021, 964568896, 239118640, 540420940, 994086054, 964770195, 290468132, 838703780, 510033807, 711448963, 19050348, 31629255, 901624641, 565127188, 414054730, 139240837, 914438243, 148662022, 70464672, 752642518, 829594994, 352254710, 69799312, 882817271, 107031674, 357452431, 405854275, 725274927, 942089363, 143583027, 538641610, 537051510, 69537064, 593777313, 627066824, 754125692, 767071341, 672162278, 224245389, 24840474, 444502604, 274156050, 787432177, 108574503, 491995855, 539500548, 456366994, 250628081, 17414455, 904891337, 995488808, 465285177, 53032686, 448660001, 633759606, 239146963, 310990271, 644239275, 845173309, 540213199, 638352281, 63683837, 188591251, 848472650, 534624741, 890382350, 790786565, 673414319, 747379323, 815314473, 270112992, 713700149, 159413147, 58273792, 344427899, 662002715, 365092947, 56772818, 574149589, 132458548, 108771605, 720496159, 473241131, 522719199, 51829867, 140739985, 438798194, 233122977, 353041917, 834298803, 33389737, 322110082, 702800732, 155130396, 848732566, 699806711, 48455307, 148447987, 896709005, 416397639, 820011813, 376871613, 284857208, 108765633, 102443638, 679464171, 157503916, 640003472, 362856851, 818006396, 468886679, 817975686, 992187174, 817071631, 407917426, 82392033, 693937966, 679521316, 884232625, 184003710, 855082770, 319353134, 535136617, 692200606, 178933270, 376577624, 650449035, 355645765, 698663184, 470197115, 326368987, 990900168, 114837926, 651068568, 735716185, 19225186, 82779761, 40229977, 467898314, 184880201, 993972793, 992277985, 618440372, 990090609, 37588364, 846928998, 728854459, 604189339, 886202669, 662705151, 189820591, 588088152, 928726609, 908562563, 223073632, 17140963, 893011175, 401304453, 401693203, 943650373, 546271322, 777640452, 525209465, 476074739, 873987045, 127167891, 756744045, 98045784, 708886220, 294477985, 932317982, 92274175, 611671051, 846307259, 139736689, 377080672, 539709474, 788896105, 977577776, 466615392, 920467860, 361101831, 598246616, 516123157, 623667127, 941252780, 780924627, 41957401, 524833881, 36921350, 284574590, 881529657, 938538791, 396998343, 685895582, 997709904, 169401109, 24214052, 464631900, 616262692, 435190511, 414825619, 518146090, 313690012, 969748262, 699051599, 873020294, 483706674, 380018825, 175453551, 943758655, 299368923, 355996513, 934229011, 216450301, 168073827, 713574237, 97911484, 208613871, 570238918, 807353744, 645987018, 586950955, 686094090, 329127836, 293514911, 419593524, 19278181, 562795505, 268145324, 203662999, 394347024, 47403673, 546141694, 951897323, 323037286, 543057069, 856030914, 483922825, 823275688, 618350878, 493573091, 237017515, 256761717, 239340782, 956336138, 177394856, 256673519, 82261658, 641700848, 177030572, 656489743, 750177914, 127114814, 652114074, 121514574, 534458095, 304642656, 408553087, 198196104, 2716334, 379605205, 445188929, 485018052, 874770581, 383775330, 928734952, 213213305, 702924015, 28208140, 904862317, 750435062, 167854752, 886820544, 87697654, 552989808, 388143020, 503228337, 369393270, 233799295, 209680638, 703106050, 326147363, 455864941, 154975777, 988756659, 13917604, 128713358, 144554856, 927042176, 42127012, 132695147, 687874, 27368664, 333122664, 755624980, 983316689, 390707434, 606609094, 655318459, 602371703, 52374562, 251412536, 39605491, 673991854, 290954376, 222800215, 894125029, 1282445, 902359530, 580412829, 905651498, 721088436, 599475778, 222317402, 385291818, 923261247, 328923421, 691008484, 269827664, 911111860, 715443344, 858932648, 906883370, 25465790, 404444026, 26777871, 795127198, 494203019, 153292067, 249768153, 329232766, 457902259, 278491296, 166222853, 446773226, 518076429, 828886652, 478829832, 227652360, 508030636, 840664831, 436435253, 353241406, 870161369, 353291110, 780644852, 785934816, 798897349, 502000573, 955658446, 301891534, 924081405, 164552214, 794435432, 857413848, 953409576, 39943243, 840733119, 252310266, 394233864, 705923325, 829260062, 487757544, 613032258, 605856608, 267415486, 566144559, 861357637, 218904093, 313716993, 336854876, 53688676, 647279819, 825026024, 801193098, 604016692, 930927824, 371619107, 532809644, 644795566, 387842534, 800205687, 50806969, 721100654, 524965188, 690506981, 754093384, 87678325, 893753052, 845159878, 703690539, 5540479, 96623700, 937748142, 827752431, 487633331, 371850495, 464731646, 59619456, 407773422, 253434032, 750582824, 810671574, 301117635, 500882636, 593521314, 430496986, 46123665, 686953170, 495729199, 938315224, 864499241, 699478007, 550738944, 343060661, 513593792, 836286169, 572604174, 165855745, 69448612, 392201870, 284071103, 128400481, 69963157, 87184507, 222547083, 221877034, 87123762, 849618328, 651931058, 521865407, 112958322, 788426117, 93358069, 946220206, 343906966, 630540702, 763754868, 734388666, 184272912, 342131021, 704422792, 556183524, 864470360, 646468234, 40570003, 332197752, 789622293, 721387000, 727668089, 305875444, 158014911, 358063161, 762086686, 449807800, 527593323, 630487120, 310823451, 449764392, 350199650, 485774216, 964745049, 143926941, 775321511, 153860739, 794818618, 291890349, 217102828, 524797045, 464087672, 95135593, 399883096, 313250277, 734828420, 18336500, 397609093, 185648085, 978727692, 723421988, 749918045, 391329433, 598846317, 958131155, 192683944, 81279365, 760348226, 665182256, 25390055, 713839771, 635777804, 601343555, 81342742, 448430952, 694590738, 444850816, 993739394, 83129548, 821579412, 365069948, 336723675, 592683267, 471494736, 102461999, 119244976, 654805563, 75816532, 778343132, 175770436, 729825579, 458843470, 810707797, 89636574, 32337782, 136213353, 995426823, 728884421, 281733134, 240586836, 997867182, 853765337, 764008195, 261220669, 198878209, 464104843, 481983694, 722647942, 361291668, 274500914, 307135999, 980673179, 13830357, 829158905, 747624893, 64964888, 374003123, 737310582, 381476114, 547503763, 857690345, 869471629, 189941319, 789607212, 963520662, 89953102, 367840478, 532270922, 520058864, 32973270, 88861554, 260911635, 181905570, 88571806, 609904831, 839219218, 764926858, 684287004, 91369975, 560419361, 847669764, 841496744, 136824471, 833607139, 573502556, 551573847, 283676557, 840950775, 443960154, 571999778, 550626914, 907027038, 673758632, 599418663, 516554449, 783054245, 158792417, 733482816, 684865235, 105411393, 615949420, 722863839, 1959916, 891603144, 116329094, 306781738, 598816726, 149769735, 181058784, 993459910, 227385155, 533674111, 777434383, 323519845, 559181810, 217753542, 115649863, 809379891, 204096943, 940625498, 298334744, 843474563, 838265849, 642719044, 34527042, 520040209, 249977818, 502885113, 402038923, 917714252, 227322183, 476808679, 406398569, 65789236, 300938928, 133049374, 177294299, 831884518, 107315128, 477804657, 881911390, 948419676, 277540788, 799661721, 764498492, 962463326, 939249093, 222630920, 628726888, 939560803, 30630299, 568669308, 319415445, 756946194, 442314437, 195428081, 224020035, 967398470, 747613585, 615131749, 441962458, 733768391, 401940457, 79664247, 234274425, 579239208, 171196295, 497379865, 233494164, 766528475, 230519164, 980812799, 485262687, 316232264, 311255627, 434569024, 123005703, 425013281, 768795606, 215533184, 742324544, 909055437, 461324284, 158250636, 765998263, 537044439, 204283012, 868788612, 580946080, 977296056, 70290511, 689798783, 579668579, 129387896, 839520645, 317892332, 117082509, 873323533, 191368948, 847343221, 940094576, 399642845, 446003261, 355710859, 756687895, 893841804, 841323119, 213965757, 966485897, 89897, 208652861, 898153133, 225073106, 198778844, 923523632, 47524542, 325181228, 113511132, 52526421, 836406440, 453765210, 854119108, 567357567, 791564424, 372601145, 719038169, 965963639, 896345523, 708257774, 729439728, 34900198, 752999432, 30276189, 866296180, 427815032, 877949566, 2220313, 761934434, 313443343, 316491684, 158114610, 894892224, 131345314, 354519548, 782226302, 738962576, 148746879, 61463587, 669856730, 223954498, 220405959, 201743230, 457857198, 40747615, 200928467, 536365376, 538967810, 697604979, 312629337, 969910658, 172971684, 671666010, 102981160, 991408032, 986801997, 413435136, 98591641, 482720875, 641530194, 127409689, 720253037, 501367829, 477312523, 809370608, 295200305, 900293384, 64236768, 23133951, 912688064, 906461829, 455056019, 521361478, 459573791, 244941159, 471141491, 770235697, 474389408, 315170937, 693728182, 169202978, 189004669, 381917479, 145783012, 649251855, 762583289, 249293130, 443651371, 342669853, 777703137, 863203719, 130165351, 136894692, 604430576, 131143256, 439491373, 267391838, 590115290, 705202762, 684978609, 152218076, 82269916, 498905050, 663262355, 777709914, 162410886, 409921538, 92582283, 449657412, 483370779, 58515078, 601944831, 407830823, 714795844, 505676790, 405493266, 138667708, 660330231, 428155212, 707914435, 184039660, 10562008, 463224418, 170398665, 865497124, 870668805, 432882894, 115973801, 560237367, 856000428, 60942354, 99428479, 235159066, 368317452, 503869228, 918623561, 342251727, 527816664, 350760668, 164332753, 816471511, 422686774, 769102012, 236282744, 374714206, 939412749, 4310768, 675773082, 310403765, 115006948, 270682170, 332716302, 23164302, 960995135, 981005836, 863607753, 275459303, 24788636, 404392623, 617410880, 433091714, 932932435, 569701672, 609436300, 237888532, 977705231, 152940062, 25856052, 222053219, 989372044, 929555121, 1483772, 243107836, 146166156, 455391301, 433052911, 420312100, 913571674, 741217888, 269390714, 209229767, 528553269, 78859366, 736398196, 593062732, 368084155, 783887821, 335318140, 184254150, 55172481, 545912690, 733207858, 806060276, 11655048, 935301389, 426244687, 573275621, 127093507, 122556191, 605544632, 210290257, 225486109, 999084202, 602045365, 993983589, 153439685, 867503860, 239103761, 874995734, 994843081, 690202918, 281915159, 550160809, 609031468, 218390683, 793688150, 855063464, 845289525, 616368729, 238093655, 133518815, 862163738, 862879233, 148349396, 760733839, 1169335, 326186626, 898261224, 367260653, 241803292, 923255454, 928967303, 770389782, 416851075, 880213232, 902122278, 313505559, 119002479, 532374152, 514822322, 553879699, 554521465, 1441863, 953494815, 977289217, 373218791, 330472090, 327239257, 479234294, 165216335, 887733648, 663317480, 236264474, 231468076, 245692325, 165062651, 115284874, 262705152, 179229386, 942527481, 588874179, 990643135, 199824358, 706093540, 906530464, 834651084, 926275815, 385212700, 145711931, 765138027, 919018950, 871537546, 206247646, 903533759, 537295442, 867879829, 551693348, 686656854, 437468669, 10896429, 157802881, 837971308, 249573139, 988029480, 1952774, 113940654, 798329835, 767217267, 27968233, 263338985, 248570349, 769698294, 914795289, 240163781, 704299010, 673749752, 433537565, 838808947, 179733254, 680662075, 542970445, 372429443, 405314873, 381099075, 225333444, 353865244, 304939695, 801683142, 773103548, 443721075, 325669007, 47963430, 674739129, 753483639, 627662923, 904318577, 355011210, 312291429, 197250023, 794385176, 444022681, 836648129, 916515626, 978720862, 371937866, 466221028, 471044216, 20148172, 253913053, 356150620, 437759527, 197523301, 193932560, 164865161, 934521056, 552518224, 671199084, 732949664, 698533997, 692242376, 218255116, 471611286, 272859247, 78500337, 903955147, 99287912, 124956296, 891330657, 892048549, 79330178, 473531228, 234670309, 30999554, 469889942, 553753189, 12185965, 668370121, 1701587, 965003142, 85587104, 430324086, 296037546, 4325979, 397260336, 181743567, 830043046, 605259127, 354274977, 624520403, 501084600, 63197837, 897093674, 114253072, 739440300, 96431486, 336898496, 718975375, 737996768, 684752332, 834252969, 161182842, 877212314, 451305014, 398939254, 577308336, 68509345, 13392703, 249200706, 449814699, 99290825, 538260139, 422277911, 398269155, 484867843, 663121970, 59020750, 915088963, 874188078, 112091827, 340906192, 605757506, 769708544, 850301775, 738165250, 560038216, 514796509, 42658719, 779220105, 132831895, 755561027, 87328679, 394391181, 970546912, 691629853, 21649427, 837726558, 823866278, 608496474, 872694397, 269072133, 993055422, 773490719, 935481676, 13297691, 880650170, 23914463, 512854758, 388487907, 996550686, 723891206, 66488909, 376345522, 834138081, 771043489, 506284882, 621208048, 209660079, 492774274, 296969793, 340552052, 629893873, 624228316, 907983581, 826348618, 202092209, 122669782, 547779088, 5523542, 637673366, 585770226, 412147633, 161349906, 554982369, 727695095, 500076327, 573087498, 795434357, 202350354, 381260346, 365217274, 133068622, 879472696, 407361538, 110986027, 296834438, 747913740, 966991172, 822169130, 239562794, 775235569, 111821637, 336961830, 850085643, 63446859, 951719518, 921730120, 49908858, 106562655, 159057744, 42966010, 302411377, 66952940, 632109035, 628062428, 714577575, 721011111, 54621513, 225127261, 969766225, 823749185, 310307529, 636168352, 216291647, 928897029, 424109360, 216962628, 849071640, 438452385, 58375378, 878409722, 279234929, 452524970, 226164654, 589113166, 576909079, 161283694, 617530544, 181195956, 90803524, 263058356, 873315663, 992523033, 416261688, 244935985, 467901954, 963437676, 394614893, 845649049, 615501219, 298663311, 604488565, 239584844, 658319954, 595200394, 729163460, 151028807, 447798168, 867279643, 88156702, 438444477, 654979604, 897861507, 752854525, 207125569, 326714576, 79479047, 227124871, 11569366, 584955265, 889581122, 975521767, 249080524, 225637679, 117412123, 225268640, 479447277, 355454428, 795762823, 605888357, 542191379, 855307887, 655017024, 111242723, 156457527, 359215663, 513824686, 412463655, 889129719, 288665087, 742022704, 652543575, 155592272, 4623739, 723477807, 113325817, 79634598, 265395828, 938047700, 182860512, 520454424, 397764591, 404114171, 349760307, 114470691, 506660211, 609763005, 110270943, 694066912, 372511260, 912824284, 348610359, 624340281, 556432700, 342244782, 548443208, 241276467, 664313891, 665490887, 473606963, 899097759, 193796044, 726004380, 291607326, 493641602, 674141913, 426384321, 800616109, 65017002, 685566963, 707173606, 879380425, 614655266, 732203980, 492253009, 212653830, 304365404, 29406047, 270307353, 334987930, 930216288, 126617721, 614895916, 620230158, 822921190, 568458256, 8760960, 234166813, 156886485, 728650692, 598347183, 171142165, 103417150, 825539410, 649418706, 441799625, 947751692, 988925854, 244725253, 169174829, 574571018, 267745234, 637691755, 113299779, 146172508, 316825082, 316432190, 409575268, 712227464, 668444078, 388009714, 392158605, 38852904, 212275544, 832677660, 580604350, 315302635, 770751132, 154944937, 272810418, 529351650, 205985551, 320011785, 307862343, 239341116, 967417693, 528243398, 977094615, 198770576, 227096946, 928106456, 825934956, 442576065, 29994063, 518460201, 329195142, 398930499, 732521294, 483549554, 727867829, 968505267, 505743098, 471520114, 44024139, 72683098, 898336701, 633333085, 771489970, 484778652, 359516103, 182097589, 532783514, 826711803, 3395787, 572356127, 89094055, 472836035, 407970020, 545474560, 956177283, 866739092, 591664653, 711032691, 441042739, 506525359, 136697738, 241975513, 768965934, 554509806, 905759963, 772208675, 483272925, 979800087, 298509375, 345947564, 522089619, 362614516, 401146733, 826203957, 591859264, 275962298, 269186481, 547728686, 746764125, 733287446, 141155034, 814290074, 105322793, 735076710, 441282823, 665357509, 282884598, 835417746, 631701578, 902052165, 828067328, 523549925, 936739415, 371673174, 903082936, 741749921, 134113973, 669619467, 698746997, 13423067, 986745204, 683684212, 404532795, 87443722, 968933957, 970287496, 155247127, 64735356, 239361477, 660641103, 72457072, 258694121, 176564249, 232423424, 621930976, 391329850, 17807768, 193499770, 495278314, 178958294, 299911278, 74348753, 678152166, 699154941, 579472840, 402152961, 63575871, 736641176, 639317992, 878890231, 519361939, 436641569, 138512227, 634301926, 830175728, 244628500, 85821171, 780723795, 192087573, 836507125, 460607204, 737673116, 82446046, 531150352, 742713535, 558546922, 678220182, 811085275, 862191837, 921130842, 732654931, 549073529, 19517485, 355753711, 302752971, 453816962, 545969696, 301596931, 682564531, 207835740, 771759792, 829184143, 666864427, 528228830, 930304902, 225176160, 768379943, 178620125, 313292905, 716526262, 866356411, 328655805, 652380526, 74597306, 337959226, 866726622, 133166611, 811030059, 80468616, 188049457, 222203060, 668744636, 24464285, 910574069, 64683194, 142062283, 830097068, 260338616, 184188960, 442471782, 561333282, 981394211, 963746169, 120280151, 421318049, 397585607, 606860537, 365259597, 837581777, 743322212, 524453765, 140717908, 908151364, 39232134, 824801111, 660254967, 76378986, 477933349, 573707237, 756330631, 934877894, 551292790, 388482857, 745467973, 53895912, 485245929, 481188504, 957394190, 661867694, 988132515, 110479965, 276748729, 760412024, 866146084, 342617163, 941703780, 9479880, 514953553, 475042707, 210833616, 5469162, 273290212, 503543976, 659399269, 148029499, 707828300, 233361433, 683156776, 308103580, 637942438, 304526258, 337804727, 171149640, 928411303, 273070220, 215969824, 97023312, 441677005, 162605863, 158977196, 357191358, 86353227, 570320784, 65853870, 707386296, 441147965, 933568585, 275674725, 179777053, 162854387, 152189308, 396971736, 917539209, 559252892, 856556952, 474323033, 617556419, 553087630, 896440448, 257992138, 834356826, 167523758, 969654639, 115833340, 432414389, 709300263, 550799627, 681635917, 980388955, 904183778, 236231627, 191202515, 453031264, 348101776, 977565021, 297913450, 423686548, 853170019, 409548123, 670490799, 171916101, 924382280, 870176980, 838052217, 545128249, 454971595, 480516176, 80176452, 800602952, 907935850, 840363926, 290705254, 89305220, 455402755, 564972902, 540973709, 405481617, 435768451, 856438453, 991756316, 757419590, 48567989, 162550078, 77308620, 112707676, 204830704, 736892374, 723242103, 213563698, 72460558, 427774392, 453453063, 946146226, 113335267, 509010531, 249875787, 333404905, 825777262, 23948504, 126925317, 3292838, 654937659, 832715217, 304978787, 503197531, 953486409, 354579573, 17054807, 636765818, 772556356, 511907245, 996785808, 325922250, 344331343, 402299721, 145415827, 50709290, 166992749, 911065219, 291514689, 821186929, 392652188, 318910615, 204241894, 195597830, 520809349, 857489951, 232257719, 173422525, 120978512, 877808703, 871535238, 281947027, 83017863, 125233972, 476792547, 134253828, 957028300, 499609733, 347580334, 533400022, 389333051, 448192414, 423380745, 515323215, 761374384, 820395170, 822229379, 742030325, 489179973, 650026229, 348165035, 243486558, 595871655, 549768766, 881948272, 794744852, 414571114, 763955399, 772389543, 329142805, 782065168, 718799504, 378898883, 420804745, 326941154, 660778254, 812954718, 792496367, 576438016, 393511360, 880644054, 473597990, 654447731, 95224838, 668562713, 228038236, 276699321, 982971312, 856749440, 218144584, 485140006, 116940910, 131319406, 279717530, 535473540, 490495570, 304570566, 764375454, 503680427, 237564106, 594853871, 934806198, 659564, 508398057, 906319448, 858746407, 712839404, 618952530, 352584138, 806706044, 840073524, 748531318, 211067686, 457548221, 797968712, 631579507, 812322713, 211345577, 807738786, 708374001, 411199766, 195700240, 146355360, 345032234, 645140686, 196438583, 612428320, 426661070, 889653358, 346176477, 956190760, 985011629, 307735855, 121133278, 401366737, 467807900, 174023209, 535462859, 607776512, 514576330, 372829496, 861697832, 779104707, 955210014, 659936920, 839814574, 284085023, 335724513, 932252728, 863700586, 554816933, 935431944, 636406711, 832194096, 771266176, 233441833, 372101267, 304456973, 585823275, 466610674, 874257519, 937991855, 515144924, 515883343, 336577152, 610365728, 217006055, 632804392, 71201256, 350900058, 965436031, 309413711, 544603658, 940391574, 10098297, 184842724, 308384182, 559354928, 241780781, 207420037, 422844712, 459716948, 739937447, 874288548, 954967111, 583500525, 923265880, 12860258, 236327276, 991387918, 368753008, 328768806, 810028418, 848866648, 999641142, 445622049, 422052627, 393238461, 687895648, 73421739, 244500270, 587487509, 865556122, 198472375, 100756521, 309453206, 37825050, 376999645, 276439666, 360815148, 14061014, 778622566, 594784530, 19254303, 990196005, 537113882, 925229300, 367321372, 588969428, 442222079, 924693916, 340497287, 757101019, 385005057, 270037312, 987319342, 714546212, 972334978, 933699682, 561807711, 555693351, 168157926, 890041011, 111113441, 141553860, 822374614, 798141385, 504766426, 377697740, 99392571, 447253886, 267858815, 638170963, 550703009, 369604142, 384193688, 158305381, 955930397, 897425823, 928180495, 611172994, 27859746, 4150303, 548092150, 393999811, 299289148, 415258105, 105714769, 545365551, 691149076, 41674804, 297367289, 314620794, 734733231, 222740236, 594865588, 641648289, 479743929, 22621483, 959903355, 346737722, 549292631, 243306605, 768201715, 690728765, 665088278, 547938942, 317607738, 704778029, 563680182, 452622956, 421726227, 613972346, 534961248, 632919321, 31480401, 942306454, 648581643, 594206881, 25503486, 81852213, 850787213, 606122679, 242619445, 308182407, 736823046, 75394202, 418259949, 274493953, 509448249, 422378107, 868626991, 300967285, 166043116, 756021881, 482286855, 891746165, 197493227, 563294109, 801617144, 362494882, 542081300, 771999498, 192046465, 91093954, 533470801, 743851512, 441328837, 162298504, 68069067, 11856459, 509502600, 345014581, 479867284, 824614604, 441123537, 146168617, 94450483, 516966356, 570855188, 370340369, 80709823, 551961493, 225521708, 729527678, 356658420, 39377683, 875292319, 757002123, 304520330, 455022216, 381133714, 232547270, 754172400, 762381016, 536921459, 938509031, 142177064, 988334398, 970100578, 92160716, 843411633, 592778155, 818076337, 371243805, 180456065, 459339273, 900858826, 785534295, 404267537, 785742683, 633293389, 335817530, 709009746, 640388549, 627529111, 235493147, 862903633, 879142094, 121889488, 242844205, 628131492, 263432774, 293207652, 519042935, 631395425, 514346113, 37653704, 130450304, 827839469, 356805631, 863214048, 65961289, 970450597, 373606171, 924672688, 700176534, 796643666, 98876121, 571585042, 310317063, 3931617, 901978224, 513731122, 569381271, 633207157, 199973426, 757962369, 179824112, 159333093, 202880302, 135244548, 119219190, 626904021, 510891605, 36105706, 997552848, 788343810, 400927408, 767049589, 84057315, 769582950, 48587597, 895411429, 983764854, 611052703, 611554769, 470056094, 330243999, 110249830, 761030759, 852147119, 31515451, 624696716, 649025889, 247642052, 115362295, 262849504, 62347525, 747574398, 451012604, 131343819, 410507771, 447730075, 822097141, 268211366, 916853562, 607464990, 179127538, 941753343, 939210369, 436337082, 5203936, 613784249, 135289843, 515376942, 367725948, 645351795, 63486816, 337949843, 729228998, 637984877, 135969198, 497212875, 462152702, 441299080, 429931069, 848933988, 834928175, 865593924, 428147735, 114576240, 9496235, 161098353, 790677369, 642977235, 94654131, 268471879, 12769233, 26196837, 360482209, 464161879, 178488523, 935240402, 330085708, 337445273, 228103522, 874011357, 974172517, 201127149, 486511953, 26352458, 510003228, 26554123, 952556265, 165277690, 60782924, 968955160, 579065532, 773876465, 651328236, 130679451, 456300575, 980020370, 619148694, 358477516, 112150554, 370962313, 994703523, 965292965, 189865736, 271063234, 15186605, 510306519, 434666243, 564436973, 360272740, 548244290, 642427773, 670056047, 720093568, 768021094, 116405724, 623873266, 722233009, 930554065, 887440396, 822666853, 923873432, 734448524, 891956665, 465375849, 358061278, 527145066, 459042898, 613098034, 936697713, 581173257, 3056478, 834945036, 177243232, 460444952, 983522908, 710453723, 684639589, 707013027, 673610917, 54252138, 454324278, 972169249, 81743686, 33423318, 454315992, 655287693, 336907044, 671455353, 927406451, 453321877, 359306260, 483860580, 992923015, 229170257, 713205297, 674956319, 67142125, 371630779, 378103769, 599957226, 32157090, 957571564, 379093272, 743968828, 285376719, 827384918, 854367942, 209089190, 987121375, 461235778, 844033637, 592056785, 803765184, 469165315, 266874725, 114010761, 619532112, 890460249, 923341547, 747812045, 42079505, 157757837, 811257840, 171162323, 232447675, 815298070, 156458214, 330022976, 972011950, 964690111, 807283811, 14896426, 503853656, 468621709, 317426269, 891565893, 428924426, 917313083, 466687822, 996877774, 887532477, 249253226, 212542783, 630452187, 425035335, 485765694, 553792303, 367339633, 859152729, 704336418, 999301491, 853634644, 529229706, 409500189, 22861954, 962384453, 698426078, 889548819, 560919259, 667412452, 411724218, 675925537, 346794338, 878255684, 816269075, 380639775, 421843736, 720728714, 910450947, 273425202, 64960167, 879320930, 146180251, 167403410, 744347248, 789601724, 829451957, 950744154, 767090281, 49345009, 205808694, 112569017, 104956472, 736547125, 774888854, 561557720, 155862087, 148843550, 713398910, 261463276, 599682145, 172577687, 424271732, 713899244, 940289285, 611445032, 388691004, 467850579, 379392476, 658142314, 773645633, 973795610, 368419678, 381991618, 988178685, 357035762, 600146441, 274262138, 382375491, 34180767, 56540781, 694872052, 779451773, 927170658, 231731816, 762885030, 287825131, 850418983, 961470998, 363616815, 635969216, 125956509, 410225310, 333845600, 769946287, 844298781, 134727862, 483289407, 603432075, 781643356, 77553394, 455314066, 590458495, 646431655, 314594938, 355871528, 308013406, 625626226, 272045266, 902881461, 62988636, 233773310, 695504055, 800797926, 154978273, 742071703, 942898438, 764504605, 649157108, 691862090, 552197206, 103830967, 403924071, 248181660, 158266510, 75498859, 97389125, 429066233, 747103165, 123798444, 562281385, 240597959, 193964267, 740612732, 4694023, 267072993, 324221477, 756268510, 379100395, 16551508, 82854611, 959887634, 164306170, 46506657, 391336661, 169042547, 32715038, 69095348, 5633952, 254841187, 607237698, 465891486, 598508567, 831267899, 168542102, 103419403, 287660733, 129220769, 294745584, 50433118, 864048022, 752376277, 264326532, 880199420, 231490455, 74633104, 437906165, 466330464, 167880624, 129081586, 538210422, 933213855, 229406136, 895835014, 152093580, 449978464, 575977665, 615527355, 898697031, 16556454, 526898323, 798560578, 803664180, 560108270, 875949703, 324127026, 951517684, 558010016, 662536844, 253656776, 243822722, 109212064, 880260755, 438018068, 754065156, 801169101, 128464740, 285168940, 180590535, 634011516, 622640768, 654838273, 689896718, 679406689, 696526925, 690004086, 376746944, 648938482, 454705834, 442211817, 987107593, 132362181, 705188117, 644509909, 321291506, 761593875, 590573827, 415480556, 484834564, 781866631, 313338856, 325080216, 331907472, 501424288, 976973532, 144265370, 821490739, 575336446, 23793201, 164470602, 325925613, 264477027, 168475008, 779336850, 629324731, 529848725, 824282055, 452758720, 603127625, 695937717, 238753, 349414970, 983196985, 464944737, 405652232, 185868464, 633378679, 366129523, 910183640, 785980770, 42830577, 109448799, 33015069, 839397088, 629988039, 996087231, 979648543, 202335679, 523509180, 794301877, 107939314, 391574515, 124378684, 948592018, 363903791, 907933801, 957802566, 147212962, 680833075, 493306742, 271709360, 946310431, 132234089, 519474557, 297798389, 895710762, 68747189, 942802650, 958265632, 430413590, 26562941, 73213149, 90075082, 968868284, 782570114, 550362842, 585162176, 127586785, 117599845, 143705176, 277452704, 251943544, 603563254, 134413075, 729356539, 756781074, 546980145, 689277316, 874437179, 819381360, 334641057, 976047546, 834710132, 172451917, 168141237, 588636496, 169342514, 692102404, 377601024, 464801517, 682902510, 968306263, 984577597, 615354143, 815173174, 596080307, 74411378, 779546633, 757456367, 879092546, 728338118, 189435410, 128324497, 125730358, 42920449, 482766561, 794237126, 106167740, 649340243, 273911153, 827586608, 468835383, 794330733, 54187306, 865916376, 526163897, 769405504, 292237879, 710985449, 586665795, 95341461, 663194942, 498710967, 770498314, 992741127, 768610864, 77280432, 114437799, 228653457, 312153455, 329813786, 621083750, 912111772, 354551974, 306572535, 61930865, 527645007, 916733656, 460265216, 90446942, 951631262, 17259432, 870560980, 24068739, 734819844, 544722923, 415177342, 445795628, 109217498, 900901323, 359692078, 510355780, 791160438, 787918870, 528970009, 350798364, 493432626, 6626065, 273914278, 743599734, 23071909, 551565072, 48039758, 634210711, 509451239, 926856264, 574701646, 472893322, 759141925, 715134796, 333658899, 863155891, 618014628, 103699086, 699433525, 295403271, 400868158, 942625901, 566596668, 547028803, 567185198, 472980720, 252589712, 172822205, 256438059, 191935493, 554741718, 151697230, 575896408, 672813478, 253658626, 144820098, 352559549, 443333170, 850865752, 18897217, 962328498, 984091372, 196253142, 297210216, 432965925, 955600524, 551621109, 373054769, 900281616, 694804213, 212647094, 178300524, 59178724, 433590216, 317419168, 559432545, 567657396, 129004603, 46145907, 335714807, 416336729, 712316025, 431093309, 858629444, 742922281, 599462671, 170279275, 269259350, 880785316, 541501860, 995622278, 734992007, 90028200, 640280636, 64420023, 525226367, 126063176, 99767740, 452084201, 907147569, 337307321, 491439746, 968093750, 862624879, 327066635, 137535799, 30187282, 464864993, 247027553, 96004579, 609980106, 972646861, 381998056, 480101316, 62138080, 215668385, 151561066, 98291312, 903274774, 265219991, 990654404, 348703954, 624296233, 798623272, 979246697, 169946645, 124545971, 11839793, 290264327, 627956887, 386447493, 607013632, 665285587, 785406982, 97707256, 36788881, 216579244, 942936627, 898043949, 417678101, 75876338, 421257910, 768151195, 60943871, 185750940, 327168395, 562338721, 597637894, 971191995, 376202072, 573755529, 614958323, 390853244, 40907410, 395082091, 190567001, 833855387, 131752401, 701243662, 192612498, 903944297, 622391009, 520755876, 787351164, 472651466, 547798482, 450696592, 728452654, 425857873, 146789535, 679988136, 925848178, 636566770, 562725130, 555438533, 351844368, 426575070, 941956594, 178743470, 464108257, 421055860, 59506416, 149678410, 599266131, 911168901, 686772057, 744540983, 642410116, 74594706, 455462095, 40028059, 283221105, 954638579, 873166951, 557772206, 277087650, 347519865, 228024051, 746582441, 568801995, 13616756, 542038455, 526720896, 202496371, 724435472, 529993119, 35692895, 891742640, 661151847, 931817630, 482786539, 599247650, 315464718, 612952534, 567395395, 323124661, 644480748, 199364675, 460639083, 403857854, 102628163, 52664153, 826062747, 499256307, 36228587, 657844940, 888308560, 744014262, 276713629, 336398922, 766574160, 536707495, 838980185, 696070798, 954716290, 53875884, 512584540, 219229759, 936496240, 601690056, 375098310, 457221770, 533913638, 70062431, 729993988, 574909910, 429452152, 532672601, 255383747, 409179886, 424356559, 653423779, 644973513, 204532492, 392144965, 922753384, 822077764, 937221566, 314593079, 896878618, 436858375, 822266532, 139285185, 470502640, 964579927, 979300084, 886413333, 862647835, 598849767, 79554438, 546026155, 966517816, 506642883, 576302600, 169634972, 189640104, 762160908, 640138336, 682387334, 802215669, 362398074, 133652431, 865940919, 122706178, 635649037, 431725185, 54075168, 996825980, 598941498, 868929027, 526581742, 286273532, 88268982, 335144228, 149492246, 418392800, 811793823, 139451871, 283334587, 530046005, 886442715, 924898930, 283757009, 702904746, 212704448, 735144899, 587068668, 944059013, 894792248, 281886025, 184063597, 889233408, 699223274, 267871554, 233147878, 47582861, 51401017, 849929329, 283127257, 826680866, 972401820, 793697657, 873237609, 427192341, 540812220, 937164, 755389172, 678782238, 948341153, 299285372, 856470576, 313340813, 864405916, 610026888, 801049336, 757089825, 127452309, 337128676, 138043299, 503606868, 341383952, 146315683, 762695991, 586918889, 270806975, 5427583, 409366894, 465085845, 140375380, 523719766, 91631084, 457097191, 766393137, 262895644, 90504667, 909553075, 461916022, 664958017, 158242785, 50171410, 315929170, 918588342, 417542598, 656785044, 878613365, 35531492, 574641019, 439019213, 454340202, 664931327, 708250679, 124351068, 606259024, 673623683, 940099921, 258846453, 170085226, 937233603, 237761810, 588100389, 498635406, 890662625, 281331994, 234974141, 656612861, 804823132, 94336544, 384748652, 743100816, 812182541, 129006676, 240634107, 289474724, 494472077, 942208368, 175153039, 629195395, 574260618, 381468337, 861224609, 346552160, 703507112, 454551142, 745102494, 327893930, 282448539, 684213153, 7882771, 697624196, 224983632, 815957119, 398631498, 639976216, 604416153, 245844641, 465011047, 770406428, 626564796, 927929268, 961351453, 119076343, 292458817, 64463848, 423466531, 896451777, 348810329, 18303432, 207766235, 963531604, 347514706, 939191830, 317085091, 292756442, 428778346, 875149144, 244149176, 981269964, 616599128, 625623422, 796521068, 142491419, 906060630, 830702170, 289486803, 711744615, 65675141, 968109437, 848152749, 308950230, 899261808, 341494301, 665201423, 685044995, 148297022, 923243017, 992027516, 698417942, 310466010, 754993654, 674810167, 775210077, 674363247, 12913073, 618978030, 983504419, 330546747, 481259223, 988119289, 612919740, 42881784, 324734060, 616629300, 276980768, 859744562, 667800711, 676950650, 303887245, 820358763, 123656646, 121412469, 889955762, 290240358, 1690204, 664077492, 974064485, 82469992, 751256238, 930924269, 786721826, 504341097, 256466221, 367880470, 565707887, 195444693, 650332048, 764662789, 199200043, 29194227, 725570199, 872243470, 693976364, 904298760, 765892985, 807516070, 322100672, 151881033, 960842198, 606697037, 798518587, 228133927, 427858794, 92659328, 429974466, 687334790, 394793987, 179398074, 994616636, 384984581, 962081947, 940600717, 135011142, 816297879, 339414979, 380352487, 599401961, 418917734, 433628339, 312529977, 756290525, 894569400, 666606222, 474241292, 996676016, 641312598, 807329172, 909536124, 498220936, 509951242, 658495082, 696402503, 101500098, 154963713, 802360956, 76158326, 9746963, 762025729, 895378281, 586285527, 76286062, 350132240, 65716369, 979131319, 955881960, 793549436, 166856313, 824692532, 129162400, 812339643, 5317720, 766543969, 604600966, 586080122, 189010443, 835166783, 822417415, 792695736, 880924350, 211539563, 385421563, 129898697, 471372482, 740607505, 344717128, 743846763, 65984331, 825711520, 393759902, 435364523, 659211261, 511141113, 66031861, 777918186, 450291945, 789356280, 863746176, 536894221, 205062063, 992778447, 357571546, 198051500, 279140676, 36404521, 631842336, 652482023, 250192995, 53115321, 971191798, 191709682, 446857427, 87710407, 888111443, 404428063, 380003606, 929190467, 785340866, 239602358, 522465964, 52556532, 712404106, 87829756, 829493278, 604772087, 372379017, 554770858, 996331328, 836125829, 105098605, 25267055, 37896357, 494171989, 748911297, 581844211, 130031151, 161169787, 664225246, 157113783, 540941505, 44642223, 374445365, 21704855, 628117699, 324738050, 893244331, 600768264, 446390887, 787958696, 506515913, 733307338, 104415130, 973511902, 538544579, 526734787, 433714324, 563052798, 465400972, 82257622, 888327315, 182199317, 435159659, 713059567, 12850003, 873799773, 944776429, 515078872, 150300605, 921121609, 705705787, 609087336, 36744887, 861597719, 567489325, 816923460, 458219501, 699130105, 208475202, 507879051, 371520684, 687742519, 797615947, 429640355, 999324503, 324877405, 814679983, 613430317, 8518329, 782672677, 729825359, 624249472, 595571063, 440784736, 701422100, 772216756, 738144310, 79927093, 890065904, 361058110, 482678950, 478355398, 338277186, 100005670, 600328036, 285283587, 278921391, 393942745, 683712254, 341925714, 681213968, 589802287, 119967601, 246343697, 772155614, 626466432, 587459301, 392960713, 220398821, 426614537, 572442150, 606708562, 327597439, 79359719, 786862813, 855543912, 784157902, 738666422, 974054779, 200258013, 123007731, 856945257, 393910804, 434620023, 547254502, 926139729, 905158139, 270433544, 486469694, 877156250, 252202708, 310260049, 999908459, 572146139, 280121345, 880760050, 301478330, 481205727, 103668563, 729868224, 908901115, 696442570, 333018711, 413828240, 155962514, 389365938, 303133122, 686325269, 602868158, 976757178, 396033575, 40173177, 978590492, 552794377, 11379870, 725648786, 64697624, 208414570, 432400002, 429158081}; AssertMatch(players, trainers, 1000); } // 示例 9 TEST_F(MatchPlayersAndTrainersTest, Example9) { std::vector players = { 552502579, 675651955, 555358415, 134474879, 66211434, 540682259, 955795306, 411253979, 501686731, 910471422, 857421874, 129651606, 71294989, 563703184, 289043335, 891139966, 893027738, 371035479, 758423385, 688602315, 550982489, 662038344, 350024419, 211085448, 625413921, 149270463, 632415057, 173289116, 71396563, 416399734, 163430824, 760688790, 547791418, 464852047, 987910607, 325173905, 343983983, 260485314, 589067179, 317341023, 219497583, 462470179, 201971783, 946374443, 569889700, 126210160, 438553396, 316933559, 859326944, 773084619, 389183047, 363484327, 937154213, 622085315, 76349873, 983659181, 855547976, 688526293, 954475798, 790610928, 419930578, 815531040, 768522689, 501335536, 930306041, 963475100, 430035053, 5131953, 151579484, 786096066, 829987356, 971735193, 900381418, 144059319, 344085528, 324685960, 751495168, 891156890, 353268816, 476163327, 764194534, 292975226, 208365962, 583845182, 350794223, 368018286, 669938437, 796400618, 797666509, 242633079, 143597588, 765756445, 771180376, 28624092, 579361421, 835584641, 996073948, 965329095, 832211560, 330515391, 93773954, 156673052, 928687391, 214500070, 973640808, 793702900, 505801332, 403581744, 14219901, 797194423, 728392965, 813754134, 655743259, 209485994, 867126519, 764156538, 359139752, 602905575, 201969127, 585609008, 956766403, 745609597, 562601223, 696783127, 99428792, 355820620, 321150965, 550895299, 40324740, 990027864, 622029573, 961313314, 530533208, 924138230, 735444906, 789753097, 639369266, 118321438, 218263459, 913942837, 232429217, 108367172, 458620280, 342444958, 326812595, 698313627, 57362862, 990215965, 458116358, 881351916, 513521276, 911091297, 386634868, 189224682, 460658573, 792918181, 995806290, 769331740, 245172158, 880713991, 676103610, 508151875, 864081708, 636193041, 536589362, 280136218, 639386071, 187669871, 594171111, 610204347, 931733221, 26553223, 448209184, 741700079, 268624496, 869075148, 702258551, 909487844, 761787525, 128950160, 467870321, 989785312, 23996081, 545519730, 346609859, 692607768, 420838789, 604753302, 898524033, 146789158, 874718548, 654288123, 672080979, 714049702, 253581293, 409055711, 597983305, 764180627, 617881821, 373001091, 95958711, 638490233, 317756339, 198387324, 162923150, 157710976, 109939997, 925614980, 488896897, 913181672, 316066513, 195019951, 951905574, 66478021, 679108529, 810932566, 146240392, 750835268, 242777753, 712235934, 626828574, 764963672, 795292292, 868159142, 130972935, 21151592, 135659539, 908071304, 405881700, 192728567, 266385763, 320115386, 55583035, 136620315, 628441682, 326942034, 191292107, 12137492, 67642905, 92749192, 560423788, 296752621, 211599930, 208975190, 665506592, 932179851, 54026750, 133491215, 479360648, 636372032, 958958202, 404661868, 779684599, 139567383, 240502502, 243803400, 848791158, 341954013, 630757829, 271814937, 695038737, 19434775, 118786201, 536878137, 749636541, 791917694, 806426863, 425823622, 661333255, 52269582, 71642055, 597247318, 413926571, 475756731, 163655387, 859070632, 441429541, 262733828, 510000772, 241845429, 243609678, 564487707, 417672096, 936332267, 790494979, 162295246, 308826406, 19763250, 567652893, 976178518, 731479, 733891791, 469351278, 882550438, 191267708, 634820595, 651702431, 602430166, 570221772, 842379185, 110383130, 477475925, 2265714, 517400734, 10946741, 590807657, 405201635, 936481887, 417760533, 890837754, 242775620, 755099647, 787200307, 878755751, 385745170, 956199326, 939100005, 185535214, 119167462, 846608155, 426506413, 436992228, 27176893, 211520369, 508450810, 40260760, 835555036, 81486074, 50982361, 500748924, 30924174, 86770869, 65808076, 349220729, 198453767, 959269840, 279467588, 40493940, 108912661, 607146660, 461832079, 936081891, 382355604, 454231626, 56882667, 569695977, 843498789, 964605485, 522030857, 460376001, 280099643, 847058554, 683748699, 872054240, 255207924, 341757050, 142587748, 417831721, 510795409, 662344723, 721199626, 910121978, 896741533, 889771259, 930371637, 332163427, 205630599, 655138057, 506247766, 627041320, 604117818, 891187933, 969856881, 791819984, 603467758, 495809448, 330222806, 374143242, 75443794, 406290126, 897621110, 515491281, 6238229, 859275979, 299853459, 352311960, 458325168, 718167662, 511101753, 80961856, 691601880, 232164647, 266515329, 741598097, 261907132, 515051177, 927222277, 966841638, 199345020, 347247551, 1345149, 986893982, 363890744, 461255967, 421171832, 174733417, 248358328, 160546462, 728162195, 231993155, 127904493, 346435452, 334361610, 760919532, 769469588, 530953056, 111140520, 588260952, 812689803, 98927435, 734429767, 61778296, 820671389, 430598070, 471732772, 628634950, 57637857, 262290468, 737687802, 216287097, 56132563, 202042353, 101130685, 795824412, 8637289, 575938404, 631402883, 835432627, 768136502, 594423811, 903271246, 654662808, 683400458, 2939280, 481315576, 892842659, 497166347, 514768286, 756887336, 164412525, 502799572, 487342802, 485311966, 758328885, 490862526, 560456771, 969560842, 24463526, 914936293, 460810129, 961011994, 457554952, 631790865, 903120337, 432142929, 259437690, 873127384, 78271381, 427733032, 617222086, 164559628, 240626288, 148585752, 991436866, 525816466, 829680810, 668254898, 459350683, 858485241, 728247624, 333939045, 358267813, 724815642, 593841546, 888199319, 51250178, 609370400, 206771797, 11848616, 504966155, 254562724, 567210174, 764561664, 293572348, 961634031, 224444488, 463401323, 495541635, 878206998, 224729796, 793473145, 937044567, 104027180, 816251201, 665030876, 158989959, 335025716, 259604389, 448329180, 218461785, 193507375, 987787847, 687993382, 155782063, 54508932, 357454867, 744672012, 560241175, 807912911, 999560129, 766511312, 333820292, 30315829, 414142495, 954588505, 946838069, 229056235, 230338420, 896510754, 855957640, 525503147, 993101794, 443209295, 811448411, 262879147, 916005912, 993755906, 479073365, 924773289, 959226689, 33255781, 127383508, 737642567, 513390251, 364415607, 575573521, 437503336, 573356427, 219713581, 563010392, 161209567, 216179582, 764667601, 291935581, 277690380, 803484788, 423122693, 317930657, 902062225, 448842084, 304020808, 246389594, 847940451, 49326124, 194697826, 57095056, 812758480, 665429659, 879115849, 534576716, 665919206, 868333966, 848414644, 3244897, 649595246, 251213768, 112292052, 25805007, 150787314, 524005653, 489609358, 937743090, 370172920, 702783853, 101975352, 302114824, 553355031, 132261870, 374624426, 78260162, 637821486, 356307568, 937789625, 534763143, 316016108, 60044204, 238849112, 150079559, 22383710, 645845900, 368000081, 606996820, 247425350, 794007670, 685794883, 499750998, 262615094, 609250728, 808337056, 90833150, 199957080, 787171157, 420001264, 972454075, 682502804, 990444844, 768406989, 660289528, 924106127, 66876173, 438637079, 689295273, 688989465, 339985877, 233067525, 368026515, 344603060, 172766719, 191512362, 380236213, 798207532, 977680040, 433652558, 309803052, 573197287, 954894249, 673781876, 403423009, 353427537, 147028136, 624882014, 945867266, 818579176, 881576845, 130145032, 918249663, 329757636, 292868895, 614022046, 748088439, 273924739, 519844226, 319389762, 760877342, 607892828, 719724596, 33221771, 243360142, 114405780, 45581913, 308140798, 705892529, 437238121, 330315201, 122333169, 601893108, 231410228, 368306492, 543135566, 336294293, 759267279, 305327072, 286658683, 272198418, 136489020, 661026523, 952810003, 30076784, 50703767, 846211330, 719619386, 381401618, 289508824, 466649519, 165583877, 496282869, 59305571, 479474300, 824791837, 774167260, 538547674, 292435521, 915839616, 756248910, 674798151, 6488273, 759785960, 674772806, 920717388, 893406199, 996952758, 400607405, 104512383, 321162461, 653072579, 989392721, 91953512, 477240579, 232031420, 769975145, 473403045, 453820320, 4948884, 250324083, 549061032, 385943390, 480974284, 145915522, 579548221, 556471165, 334665706, 656254092, 423042585, 477003774, 825912226, 318327157, 758054080, 165847795, 291553797, 856044796, 206297146, 814175390, 439738046, 671518269, 687014322, 999175954, 111360228, 525698329, 444910649, 569588849, 383613013, 439320579, 999741921, 475678654, 749992442, 218784804, 797994413, 414791882, 562716380, 86111456, 335801736, 934593197, 542499579, 811434205, 442461832, 140911479, 297944472, 164221381, 633294465, 944114131, 509728342, 436663596, 32868568, 242798302, 941359796, 540915236, 800775685, 985966192, 806850294, 270455812, 823474121, 53417964, 555891123, 130212181, 957101746, 36466959, 110869590, 613334698, 495614600, 853586179, 25192392, 141436636, 636352426, 29841963, 625929379, 918485432, 558823428, 574741531, 280177377, 938980168, 74737752, 795696365, 350385, 573695443, 844399063, 10333945, 388551024, 119531023, 613935174, 569868206, 898906484, 615930183, 382235396, 638134762, 374562936, 860832945, 605709112, 702596244, 590058502, 416753779, 952678615, 192874632, 475745771, 951925662, 912258881, 493767669, 3452709, 329086786, 312908208, 86353627, 745505040, 512724215, 143084807, 737135957, 683784664, 827107975, 31955815, 797309322, 15709486, 516219406, 238011687, 134209751, 706557659, 939471541, 670964195, 807443922, 929565831, 395582778, 522126634, 743579049, 635672867, 495280116, 88439182, 95452978, 59523497, 151912862, 846338845, 865880465, 907223383, 527731049, 404802341, 84432897, 338588582, 472234350, 910496544, 439586199, 95052043, 90361324, 807608381, 572198972, 674225448, 238306183, 429492175, 450413525, 663086999, 923091815, 609335740, 610272972, 129793090, 735605237, 147078169, 775843094, 649432362, 538367935, 608695173, 950889506, 48172436, 704803666, 987846487, 782674527, 45880723, 401182647, 486101348, 65310124, 562239051, 500825955, 890474703, 866202787, 833410666, 850618405, 428724846, 551501884, 934719244, 642819480, 174827430, 512275932, 265203062, 175224768, 345815322, 623401227, 548649095, 813103034, 843204036, 950782342, 110016372, 628260676, 916463279, 637452149, 607218837, 357615007, 192277923, 178645191, 855432129, 166155981, 801743269, 817214930, 23078097, 810983504, 192303194, 662934413, 864773916, 769799922, 595905002, 642070125, 93781362, 8864169, 168534728, 584463443, 546343942, 427817717, 288414624, 832120516, 533988324, 474721031, 700913010, 491065455, 350345982, 38630803, 330195456, 668383268, 263994436, 712407299, 179306031, 267904455, 167182513, 584804856, 328184008, 785203313, 404282897, 91542466, 588936454, 202675295, 997609257, 182116882, 915800115, 122252697, 947038777, 729594488, 203017773, 76897518, 532818181, 692583234, 745650858, 985910300, 449013555, 283793537, 231082984, 463671035, 168211273, 549331590, 492311790, 110662714, 8519925, 258970043, 918406070, 993793293, 739145007, 878380959, 456625154, 413132472, 818433157, 755722335, 296218965, 652160693, 80014288, 317195145, 665397915, 123658072, 86297514, 902074831, 355797399, 292387856, 583025698, 645922101, 165958981, 486282468, 464309859, 412392860, 523788120, 968570069, 946235620, 988795041, 535799289, 130930689, 270255203, 394115695, 889862087, 171580969, 906703549, 430303366, 789654457, 7920957, 298903591, 58474358, 711301530, 373201203, 631497652, 21422890, 320904338, 302969029, 933056006, 308818768, 56670922, 902073203, 501209910, 340492790, 452028947, 677942814, 745870361, 398494296, 387235581, 946517018, 126408301, 248037799, 361710850, 5457594, 916230728, 287441601, 652989580, 161414414, 264682676, 252114745, 199108196, 696948159, 520425455, 829207410, 166667913, 416887020, 167320920, 960751824, 950391896, 291527476, 371373003, 752528002, 70329098, 727152806, 545963069, 259409317, 674767531, 950633718, 939995146, 506348479, 195703991, 899323655, 733247922, 494900248, 195545015, 925933622, 484396085, 955401869, 693819976, 423529042, 280261503, 332800995, 756251807, 149172889, 437518256, 739955122, 793600111, 992434233, 168555159, 737622700, 482260154, 280396632, 293496111, 586308153, 178893931, 48924253, 414164428, 84517767, 408923435, 945918175, 903036773, 197900699, 198454053, 320786152, 626027798, 755494617, 960648926, 747198534, 7914517, 259507823, 457203497, 362522905, 315709600, 550969608, 325718614, 164362, 373405669, 899118266, 336581601, 959746478, 697939464, 90702717, 740803245, 497413078, 997801239, 948690539, 517327660, 610174450, 407541722, 185817309, 477337686, 427765094, 408814037, 414776283, 537736113, 477248954, 893399450, 889923202, 602887350, 313892060, 199340111, 337943091, 477051468, 825608540, 892231342, 12542394, 565090099, 400598134, 500149965, 42308330, 980829591, 299515890, 655396507, 589686841, 943052718, 822282308, 85734106, 400284082, 849585192, 432380393, 479504097, 783936722, 697437340, 247714307, 633550185, 302455751, 576006541, 705057624, 383330258, 168762100, 912560063, 524700595, 891156140, 916446753, 390582172, 310550059, 377042750, 715146533, 15947673, 339954948, 392673258, 996176385, 615346359, 961445264, 200651926, 593578415, 133282167, 342644340, 480752232, 280998978, 54145564, 990431809, 687598119, 665953452, 157283865, 721220171, 339102358, 315187730, 539892607, 403891799, 876901859, 346517913, 549475426, 653428237, 488126213, 914485555, 663661926, 475429784, 390516037, 456947674, 349219548, 692109086, 678327010, 25345428, 440796869, 1352527, 33611797, 995385655, 342056561, 745071721, 876661414, 221450596, 931908339, 264147028, 903133856, 751006179, 624400888, 94093634, 69057730, 160406677, 600286679, 819529787, 510889655, 222712973, 801985931, 405741615, 209893455, 535536130, 672870449, 461329746, 155527129, 999400767, 441728678, 142564186, 120151795, 573969216, 180871531, 923133532, 822279255, 674692673, 831585991, 101888696, 826166940, 635580419, 566381712, 385409498, 722789793, 643345362, 728852615, 655537828, 818199960, 119231934, 690818287, 180157778, 415985438, 79462397, 670071486, 535914109, 938915581, 522261063, 509100147, 758331566, 653455558, 753982492, 909006645, 684808527, 94099859, 206354971, 592145019, 766191186, 209632124, 532854836, 422719141, 464788143, 343360145, 237178801, 567396649, 46553003, 966927082, 43716465, 582708182, 937916316, 138657578, 503847128, 301745959, 452403393, 678737556, 151658096, 348091948, 223559423, 335986268, 575574857, 931033952, 994997516, 311182280, 429184227, 101330148, 608111260, 417449423, 933368386, 963882280, 557112066, 738175226, 195144923, 799544771, 207864914, 263456640, 327167592, 227092117, 533920214, 40433457, 265071755, 415094825, 724232333, 477038832, 794341362, 764320150, 376118269, 317633846, 97034529, 153342121, 900680383, 214465092, 607698012, 922048572, 810760605, 869698173, 102702662, 216647105, 469014022, 642108245, 888571017, 870739298, 513959498, 216665107, 723547416, 51610281, 367148526, 378671128, 265710291, 660811110, 274516659, 576783324, 502688363, 856660846, 986266084, 442892887, 979827457, 960263123, 110940321, 793390829, 595158578, 832378730, 698528800, 923347633, 628621042, 762164454, 319541453, 640342184, 111811723, 348817473, 894073070, 792176798, 991176133, 123716334, 218726237, 274049844, 127106747, 815638335, 622230846, 30273868, 708882103, 697335951, 715386488, 125697423, 656921411, 639086519, 909984987, 954484230, 499949154, 89611274, 521180874, 305169869, 285384129, 183522546, 149080264, 595284429, 841186212, 658097179, 865386853, 612885780, 226300686, 132999316, 676115622, 797080425, 803684470, 902137245, 405396052, 63862393, 654596378, 760945377, 414347325, 40540491, 138723875, 195573323, 189803878, 885774569, 924090837, 209555684, 824968082, 357439314, 480872973, 166781293, 279775520, 738812806, 148748471, 751921410, 148404587, 886362706, 629081540, 726935437, 786959052, 510406575, 517609541, 671179720, 118870911, 447000574, 791835449, 36458284, 706554303, 257158050, 695979757, 936899557, 43505011, 197641325, 637473756, 958920723, 90775538, 189514194, 655363182, 110537408, 408343161, 59216331, 538193675, 612957120, 207462311, 614068473, 926276623, 902790268, 547269, 42452979, 324198071, 709102643, 333097973, 445154001, 115634147, 786248275, 513031031, 686585358, 538905354, 762949983, 362500718, 359474623, 213578084, 670251766, 710822338, 780604024, 125010670, 617367990, 672536142, 7696207, 33443494, 511441907, 701558658, 658068469, 404597857, 137651259, 777660037, 111114321, 730321857, 270307840, 555792862, 625839038, 631235263, 211684829, 745072883, 973541573, 61144175, 132618652, 765815008, 567279711, 782699465, 830931493, 805877477, 506939926, 502868657, 819068788, 403818720, 296210878, 808247598, 870520633, 834428168, 37196469, 343563078, 339665952, 76497848, 941250237, 656694657, 707358164, 896723346, 369562803, 867113129, 223674456, 559586157, 662300633, 439878256, 153535050, 149755388, 430326953, 304997665, 166886232, 656474058, 19757646, 509330131, 394541547, 956052114, 299489393, 569830594, 848086093, 744266433, 813600591, 98295449, 337689755, 38037854, 829918579, 15502153, 677508278, 306241738, 438518811, 452545556, 536647387, 146323137, 995623062, 970067169, 708739656, 206386005, 576783043, 966714122, 899051817, 131975545, 567368383, 904518585, 951228270, 294742509, 166945612, 711468811, 204750863, 596220266, 667714127, 311393618, 878886648, 678641485, 658046577, 701579688, 297464097, 761414193, 70970965, 853002528, 649048936, 278678699, 959179637, 611106763, 793364201, 591007371, 478237190, 563614922, 590155380, 109613249, 645757235, 973605059, 492948813, 627229470, 356597338, 25416624, 644548596, 854445091, 547431928, 202670972, 85741241, 87537853, 578233677, 931364786, 832916132, 810813276, 729726594, 929150571, 250209532, 452167118, 705952800, 671151236, 717754333, 688393277, 167032971, 921703205, 274969624, 565421607, 488873315, 607461597, 398940295, 790290599, 766791915, 936407783, 299337460, 560774810, 273333219, 771745438, 294991817, 39534345, 461484484, 767934647, 173721996, 71948538, 93064037, 857559790, 591592690, 147838433, 858051535, 829889883, 578062565, 634856717, 713024595, 641971728, 358652372, 309485254, 473936650, 168910960, 146233530, 42026196, 444503991, 760746693, 594419905, 268262185, 493315938, 946585628, 601983744, 728967582, 768068801, 849577621, 995035822, 996481500, 763996473, 169405997, 301773771, 701534393, 341852009, 633702518, 20376537, 959226687, 676460770, 599724358, 149628720, 711324598, 63730571, 357044918, 540473738, 886731864, 539620698, 464865727, 376814440, 701093972, 781285592, 1736280, 163810170, 507211505, 648149575, 72461409, 373514891, 241203715, 46935321, 151086341, 176302078, 974204858, 269672452, 545194752, 868789763, 354168514, 468614756, 96636166, 238297562, 676120999, 627823879, 220105783, 352836359, 466844244, 387864333, 6400809, 258037625, 799080600, 247653253, 66506199, 633964976, 743529321, 2668809, 420030929, 545869210, 4701560, 611767908, 656009084, 465319881, 20142665, 87982598, 692494141, 673710701, 988335230, 478275341, 925498824, 521470257, 796890601, 624002394, 107285659, 559647712, 501424597, 545090753, 167401821, 653555644, 992276790, 487481514, 718717053, 351983089, 306763034, 276002483, 550887782, 997903564, 394366174, 619498770, 720987320, 246608378, 285297160, 79978155, 229382116, 406406550, 246946046, 809323729, 874211648, 683192604, 450717104, 994009716, 184315328, 137543772, 375017105, 34747017, 954203922, 120881062, 900964893, 231442165, 103574954, 717485625, 426441764, 465317264, 105336116, 535980343, 443397414, 731876600, 118274873, 198505374, 640116556, 779847252, 204702164, 919215753, 563843258, 395876491, 807045035, 225542344, 585185860, 179436784, 320417585, 958893380, 24342966, 682298109, 805531430, 841880603, 82285018, 186465231, 496420833, 28508050, 71663701, 902507474, 895498214, 267789691, 971449938, 428220833, 849048681, 46970436, 659118980, 140302922, 740970964, 365770990, 346999887, 33333695, 630510442, 123696606, 735169227, 590298418, 609791171, 609197918, 843491576, 408881175, 778305826, 180299468, 594447750, 425320205, 904196679, 334028455, 557621918, 181843992, 8997914, 612203375, 791427497, 432889788, 572642125, 748835608, 324597234, 975141969, 953018369, 777776972, 224496535, 214540701, 104021421, 9052183, 787430289, 522892606, 347814823, 139821044, 800747264, 690592974, 528535577, 838352763, 258486233, 390379127, 620268370, 398550238, 498916821, 158130015, 224838658, 482444135, 565551227, 264329724, 713461573, 649105838, 25052372, 861344536, 125047566, 396963373, 603592019, 88087047, 768193168, 147129761, 703446714, 563345365, 710795813, 950852450, 87637927, 520337208, 753093645, 485660860, 966092381, 285221497, 425547633, 714801803, 972486278, 915523618, 315601232, 243812351, 291706070, 955221796, 632160847, 289193609, 701467908, 416695089, 677190081, 832421292, 782877299, 264447833, 947537736, 801930865, 858887749, 543918416, 125759706, 738147794, 322520685, 971063442, 827466391, 200125062, 614340984, 426793765, 878157190, 487433306, 411249916, 573218578, 187146308, 46820012, 36430418, 730341753, 618878483, 683349778, 38477881, 914401664, 809202075, 84634171, 262924199, 409313247, 738616590, 300883217, 633669654, 622348396, 789246804, 834198005, 267860192, 474635892, 291895859, 26513880, 630511772, 289598025, 733154719, 18448279, 974619134, 733641629, 443373778, 161204997, 183193086, 738042462, 98438474, 78694670, 842316748, 862610687, 641331368, 477080103, 540122267, 866406458, 957929857, 652231598, 535947227, 863488051, 315541343, 910289701, 83802165, 634285754, 628128301, 794904856, 202751602, 972632420, 469014378, 104300237, 683047417, 199602586, 343765071, 642884938, 809828079, 995777149, 920760905, 749864334, 96759570, 233780432, 525404, 898136965, 445925018, 22534576, 358401610, 39930743, 694237247, 378793630, 295755360, 171165854, 980971876, 712671390, 495750780, 499529664, 93494201, 601608183, 906104732, 112020100, 170653685, 755821517, 111275067, 581403978, 542488597, 169279129, 228397787, 573810546, 468944042, 129098822, 813079209, 210091632, 662488181, 843184415, 375405821, 921134930, 46684826, 673416783, 187809054, 283857114, 569871298, 908623990, 292868660, 86396991, 188581829, 125574613, 819990285, 667539241, 908154275, 999720045, 246636210, 367182994, 421099167, 180295614, 595658620, 112120717, 316118708, 429098530, 388940075, 740682793, 138613156, 565209486, 794327599, 32092305, 932855751, 381708844, 476392842, 769030570, 777474522, 264398105, 701213879, 200065720, 119437037, 133825299, 741891820, 408820292, 23042587, 768598625, 766644772, 263807768, 178042180, 833039271, 751911528, 590641095, 791069406, 657090710, 218847075, 609442090, 389453832, 733423166, 705678624, 978494761, 887659489, 468178516, 785820543, 123714325, 989604944, 133580563, 521780070, 605903646, 29706722, 259576688, 519368795, 224321347, 147188273, 641884206, 891333098, 173568520, 172774912, 346004738, 379192686, 88149686, 395753403, 580270099, 193038488, 388443294, 737452696, 657096063, 162846416, 784657482, 401947719, 639918699, 757320869, 100491770, 899053303, 821459960, 859411577, 336457472, 623599089, 119879346, 315509145, 637615014, 796931000, 673695414, 968191361, 450685306, 894356357, 658531551, 466270843, 120809619, 929221490, 618801288, 92812410, 641109330, 523656068, 281147185, 229021142, 282217058, 576666200, 173978186, 286763008, 262513380, 543686611, 865718546, 167911777, 16998170, 123600551, 292425066, 768999472, 892779282, 234568032, 229624950, 971104826, 9278480, 129514102, 149816513, 174592860, 569660167, 694719391, 348215242, 151648906, 908524805, 348779257, 239378741, 261244526, 367843050, 534530413, 331662122, 899996072, 876654562, 271046458, 694197320, 169009673, 10562062, 598572241, 258941267, 469089916, 911102215, 911004253, 928470439, 619692169, 955553106, 799007496, 781178107, 198774055, 765903980, 860428746, 780433665, 339765114, 350389109, 210546267, 82959361, 469924121, 899432128, 933973826, 840615204, 299028479, 225558866, 330771126, 740418818, 215735046, 51870542, 884734710, 45265861, 272572269, 190596883, 738410550, 692963538, 189552273, 922967711, 322341984, 267653491, 694107054, 923244477, 403462439, 263180036, 17221915, 527108360, 984064357, 693861980, 521574980, 700575207, 876390549, 373214307, 576960412, 855002415, 270951536, 271733864, 117637, 479153424, 731604201, 6790193, 228470451, 997244016, 735946503, 67714543, 54267438, 393679593, 630128109, 460074579, 582048141, 40780530, 537267856, 265685339, 128305436, 379083340, 560191078, 219485139, 894524038, 194139346, 234842119, 246144706, 79227740, 216987080, 289064954, 443357461, 443152251, 950852252, 107200170, 413674118, 653871825, 525730150, 831659856, 980424252, 862451863, 856539058, 299497791, 179776470, 881944720, 410642223, 993750324, 124830629, 607686481, 651035315, 690209442, 283892089, 895162227, 254222880, 326670760, 540639886, 302109519, 968010173, 646232474, 868761951, 607631750, 479572013, 191172018, 291045670, 824671850, 965829680, 968100386, 171833140, 441685435, 631813984, 811002008, 652047552, 712821104, 346504542, 562735308, 294593499, 492788922, 771364168, 322138399, 256625244, 413894056, 385033825, 968397988, 926899148, 823446410, 289076641, 326590370, 362128426, 650425421, 216201446, 370258305, 79564987, 451861212, 723165568, 195454802, 787442062, 419620063, 202824056, 891100748, 894775007, 378049635, 754647112, 465490314, 756230794, 412451066, 776102366, 170598734, 256140799, 65396455, 154152415, 941648866, 419002402, 180948910, 7952624, 655857644, 598224160, 690453364, 879184473, 329683189, 199405624, 829715312, 128785188, 20143189, 31026097, 480295615, 674825977, 52890799, 641529980, 408062546, 455198935, 550436213, 625521500, 563755642, 268882035, 437372376, 673311409, 586082474, 687040726, 632539303, 245882745, 247956238, 325284249, 299073158, 88452643, 839147517, 727837276, 548898887, 109661570, 772438070, 164673834, 783803964, 750149652, 340990779, 75567054, 221225228, 455782109, 598637449, 763673842, 712888885, 11165479, 751237232, 135607076, 238626077, 828591633, 931425350, 293503885, 107152509, 673038152, 728805692, 321198744, 419378778, 498960869, 875299048, 233098511, 186662644, 196661301, 36285100, 166611436, 777538250, 128568136, 996176424, 455736685, 27046858, 290234811, 340669962, 523749857, 592041014, 498649385, 28998516, 519982867, 433362509, 387886255, 578097651, 136543970, 920065553, 679892070, 914714, 679785227, 709424156, 412192519, 389179985, 970562540, 209682843, 964166584, 444915579, 381496953, 421765584, 318243157, 673802493, 19370206, 538562870, 184857477, 339883458, 411829390, 40329061, 70757157, 115963307, 659737693, 703952736, 974911775, 509693863, 224938822, 288247995, 461279849, 347975769, 298596658, 283989971, 832273239, 811445976, 375193503, 643062376, 869302969, 680288801, 985689096, 809868426, 553397774, 156345484, 381354230, 431832975, 113002912, 751779117, 233202932, 408805035, 87721667, 752651016, 668763609, 780566922, 766797797, 910412325, 87171208, 861782675, 532295653, 334455826, 645852005, 303075510, 361343618, 659258285, 887077714, 69022333, 365614287, 677355911, 973342720, 422396570, 324322055, 363969765, 706775155, 570721302, 281966927, 870142585, 261979049, 807422851, 681170731, 722287929, 173022187, 503969871, 410179998, 637569562, 685988218, 729619841, 279345767, 334115434, 204437888, 51727654, 868190064, 182251996, 306382567, 975413071, 73081352, 916764040, 35294729, 923811562, 185684145, 135439389, 648539051, 37549382, 674735205, 929137805, 17311603, 594038723, 145867682, 204079012, 280681557, 664523011, 698125671, 432398874, 194607840, 709104712, 466665760, 353724077, 924816503, 988075324, 358992954, 3753797, 401318478, 425165179, 283250855, 591399461, 770073674, 595851920, 420864853, 646207851, 546397242, 362688827, 715108017, 117186083, 748454111, 666937036, 785005298, 991869018, 820038206, 763647582, 327670722, 281835809, 186661165, 558766158, 963479001, 653212453, 620649832, 901938264, 180974613, 685346962, 458117201, 206074046, 997702131, 361873026, 982240998, 949288992, 108102543, 872934323, 475059707, 386229884, 73716455, 404878923, 474184564, 670178211, 59480933, 686192846, 215518705, 756579990, 870616152, 678410901, 313308064, 347665295, 552250183, 823252488, 894232522, 294812737, 887540164, 559090322, 895955414, 996331418, 577694572, 663648429, 736060633, 301377581, 680682227, 516545562, 741183286, 608471051, 731240484, 838796876, 458329607, 309920832, 846213558, 740747724, 503315612, 981942041, 292422840, 552792637, 884038796, 300454407, 730713031, 974882905, 507275875, 585039352, 135416577, 541836048, 384546429, 66278607, 49641421, 253228131, 537060065, 393405269, 863837155, 554975443, 884876997, 958309774, 818744098, 391337965, 555137479, 814357094, 521180879, 9074252, 419349351, 528141158, 22936090, 999078722, 107058514, 240770739, 411120816, 464843367, 256260158, 504583508, 333474524, 381798388, 754597705, 218722025, 409086584, 502361387, 515805101, 340882792, 100901360, 183532836, 833753131, 263426785, 121325917, 119355838, 640790116, 372571205, 409803842, 239328536, 433598191, 8296137, 356481330, 154510367, 877891411, 779394686, 396846355, 963727461, 44127825, 556164706, 650437184, 682565554, 317385696, 247058056, 552734362, 211013035, 998047074, 123691675, 873573619, 768134319, 549626251, 518612858, 143621499, 37306533, 430078810, 342065356, 20871649, 550116778, 445114200, 434812461, 190589827, 330966828, 511981266, 903389669, 359587481, 714759816, 150519100, 494009062, 23558955, 205708036, 189647809, 825566510, 162545755, 681004719, 511458407, 36045963, 118372849, 314454848, 238551671, 490223274, 431551959, 65917294, 743720135, 653256062, 497624918, 808666978, 796700445, 417769177, 779965592, 397584944, 497911418, 396523821, 782447046, 175565525, 317453648, 290729289, 57925709, 245629710, 849913637, 476081129, 444545786, 695441467, 251521674, 669027421, 562895552, 292338482, 269419106, 125329161, 548260833, 48275444, 282597494, 460940451, 257325304, 76398464, 615652610, 938896399, 420243756, 363403188, 102571805, 526423317, 184906924, 474181402, 311217299, 780589449, 677204590, 267827735, 209494232, 140559914, 887911822, 204424653, 429694378, 808612565, 531379388, 170479206, 38676640, 347732642, 668815002, 526268731, 767117569, 667197633, 28145186, 568954370, 790892821, 475593590, 528178785, 21469901, 82419833, 689104966, 483657732, 325041074, 113264475, 292820022, 129388539, 133752040, 826367122, 782401528, 32019701, 791021016, 204740745, 436932424, 140132731, 556285408, 270762979, 380815624, 109110623, 269794506, 674112557, 481156957, 412212061, 596164751, 347600575, 129927123, 216906914, 504297679, 833353922, 12936848, 924061442, 326217804, 983213945, 2692517, 227322991, 934286960, 210860087, 531773895, 658925884, 796441680, 904225502, 116092224, 419595346, 668348479, 516860856, 251793334, 87667435, 648311706, 78443201, 459189566, 311950575, 746700451, 510661022, 603094530, 315436810, 14915876, 240741056, 324579218, 13110836, 604051551, 774333172, 894586005, 999549505, 732769836, 65083035, 317604950, 856525962, 183920450, 330939162, 215001508, 646133407, 42766782, 782423895, 530535367, 492304785, 207098264, 488569976, 709432100, 168980293, 192007358, 965702422, 817879044, 735788625, 793814603, 821766004, 171857723, 465799594, 582896172, 558787193, 488716438, 672225147, 713742392, 166977107, 617503491, 809714237, 497377022, 643655898, 814322272, 641334523, 326192586, 614542225, 565665321, 76851347, 609422520, 147248882, 351522225, 76881280, 50130570, 893484084, 704778474, 899283750, 660363725, 508219011, 569024674, 292901192, 641887443, 464747621, 800403125, 516163305, 140848350, 876657040, 468861559, 771918929, 191753834, 263132634, 606780657, 191595678, 820080261, 705274354, 523769756, 130219230, 872832083, 272216357, 233012511, 383778967, 502999218, 189770565, 304457957, 66354759, 350335372, 983071065, 324057664, 506100823, 701824631, 643861080, 532115682, 636284344, 232453668, 890065964, 215004218, 772492709, 507091873, 600951278, 618351560, 482506049, 519919811, 81740731, 232459475, 679744549, 497308876, 1715853, 132621828, 255640582, 704050706, 934212978, 891894518, 724070003, 903260449, 261430325, 451940164, 74992336, 478841775, 324615367, 714725921, 482088812, 128204676, 533645476, 962847024, 233174694, 946685267, 624639346, 715399926, 571249974, 964360943, 560225476, 71714490, 342820826, 147930344, 214167276, 692383454, 299420042, 621043160, 754985404, 835505512, 6516073, 920842533, 163888752, 82061229, 779434723, 598254648, 393053232, 500336389, 322334102, 707485001, 493866149, 321746750, 463113579, 845537342, 596915839, 381765329, 808804083, 266641097, 830001889, 905085004, 153482818, 586463536, 165909318, 781391880, 398482050, 71259607, 297556870, 981545360, 381840820, 371320850, 258518380, 897566764, 664468069, 791133123, 782329590, 697641301, 137365258, 987875183, 227525570, 54718932, 735965844, 522234337, 288388818, 692255203, 418680390, 120617116, 385306820, 286852705, 892983645, 631456428, 80228371, 714773104, 383089053, 611077513, 254164347, 115426795, 715713497, 16016969, 382318636, 968876110, 227889052, 35677995, 521794774, 256445475, 439066191, 264802803, 409029368, 276608627, 546245538, 779893690, 915873852, 438111967, 724798697, 976859638, 353507694, 765562385, 46166477, 5433401, 376297444, 626304869, 42200897, 96597094, 655092586, 94493550, 88498902, 690505583, 78941574, 263752594, 553069485, 115913355, 314512520, 887968914, 346535123, 308923360, 504187005, 99709206, 515056318, 867573181, 47828656, 332241281, 150948408, 294426610, 234666040, 618471419, 217181721, 789125944, 628509692, 636716807, 806930750, 361790735, 774881306, 208396845, 639356805, 411202300, 891252808, 717136580, 899020351, 872418990, 855639859, 41795964, 101388165, 249886528, 930399372, 542236500, 740629184, 168485102, 426499314, 800012555, 303668553, 567610169, 67627040, 863312803, 101027420, 780774684, 524740269, 672647601, 895241141, 331469346, 717372614, 935755686, 835230425, 567911712, 15109706, 428231906, 323126678, 979933350, 888304760, 95486437, 170942097, 568843340, 821507202, 6543876, 646944917, 81515173, 968288584, 7183327, 982909451, 159050492, 568950304, 10283128, 789734939, 385054628, 415390129, 134423069, 470955813, 973474138, 812680065, 905915816, 621890565, 875838047, 613220677, 258816202, 143587878, 777090504, 350888927, 164147129, 877951549, 621092387, 771299834, 621952476, 834035427, 200381470, 624127182, 757806792, 363906782, 262622701, 732309526, 566001621, 213399925, 395486117, 460543548, 847539314, 299691619, 811696624, 332507076, 773845242, 766844172, 126159960, 596838328, 479083184, 657494164, 434851331, 408994495, 769620794, 328843612, 510408935, 833094897, 358774737, 72292470, 143056993, 216512134, 843162991, 228391366, 924711298, 568904893, 425661371, 957144736, 339738700, 99147298, 245280569, 371038371, 560898392, 35244061, 922022771, 435593269, 80342327, 680963132, 333955716, 345537391, 261299168, 248069798, 305749599, 261042190, 873630742, 102021444, 128702788, 700210424, 43461026, 868327771, 657166206, 243184039, 31723624, 639229555, 515246945, 481531234, 707717091, 207330996, 790615791, 838334725, 108083326, 271274809, 971115226, 509525154, 515440784, 539128102, 803710947, 211269004, 32437459, 694302406, 468961199, 247984498, 506226191, 607383380, 355118942, 262867148, 512504687, 908295985, 552449925, 499390170, 330939738, 631845839, 682257635, 211062351, 616176014, 423651004, 132276139, 365516883, 811306942, 970934330, 210405332, 323980890, 511882873, 844006397, 971935920, 598182308, 197118101, 79306256, 815943069, 456423427, 44938603, 275805437, 877901814, 17904158, 590887490, 748729280, 672433625, 119174597, 744381384, 871703509, 620321940, 388940873, 958935726, 986845414, 61783924, 263971165, 666414168, 901265077, 44314545, 100827964, 701356312, 966109960, 684590452, 388019313, 554126057, 899429408, 931352736, 768060974, 396118884, 493550040, 873103904, 435575304, 755800861, 543720687, 809019373, 208694240, 442263147, 407033732, 363737907, 629782919, 80641044, 539324580, 507674367, 267832455, 428873089, 182012615, 725626177, 627469734, 511201866, 813844041, 712317930, 790252803, 231242319, 346876880, 259994246, 22982833, 593744243, 743232440, 803600242, 634526035, 880848513, 467394482, 660978046, 284431574, 834158403, 265553956, 595584292, 638177100, 633873501, 776380776, 321187332, 855640749, 199517579, 369494842, 220084838, 418759631, 115796403, 298606284, 945979113, 905567145, 322548283, 742539333, 654453844, 22610896, 863398132, 714770631, 878480079, 418565281, 302088198, 625839906, 998050025, 168442083, 924638080, 195241658, 282814265, 9963967, 934640437, 259053323, 246868915, 940843330, 181565994, 23342400, 572140935, 637282506, 940122524, 335160613, 459764769, 568405991, 698355901, 430536056, 18230843, 247242731, 174279337, 740840346, 139144462, 120519434, 689512528, 806780685, 900089770, 880975938, 52375702, 497725963, 288644602, 961397318, 98527567, 228841457, 88703401, 108724191, 363964098, 969869776, 266462796, 441362761, 843468993, 588024599, 462062526, 877108583, 190879806, 374288083, 974891147, 722066624, 386129789, 630488069, 760844953, 62141409, 166989554, 822703553, 313762997, 566793405, 420065650, 443185766, 755566169, 881287686, 304154447, 176993626, 382968241, 120146822, 389986240, 991396882, 732712430, 193688821, 700023024, 416418100, 285653511, 753123122, 324758507, 831665604, 973615401, 304527748, 182665038, 641819613, 266680827, 331232284, 946162062, 921481336, 873284900, 754196895, 673609760, 711133524, 451496542, 726758750, 327517488, 370804785, 327249557, 946262816, 1744120, 226048805, 431626664, 665159725, 352604993, 94122910, 176803271, 651164402, 272846049, 49830184, 303323243, 999626872, 467156879, 471610696, 76662885, 702020941, 339708991, 211140458, 858052330, 585536170, 720930402, 350092167, 829461699, 902442136, 570521029, 978876548, 843950064, 103685620, 886338634, 294049824, 487229155, 396683736, 364554862, 461800261, 372639307, 947623744, 580763203, 461007183, 791107487, 245002701, 743582487, 534612634, 663883239, 768182933, 410652696, 755238593, 198048142, 683713667, 457069794, 83752041, 910076235, 427314618, 470801011, 669437463, 517028516, 553006602, 29226175, 724795073, 625141035, 679134947, 411366914, 474102944, 601530416, 725084000, 687467866, 347416119, 561298539, 685107998, 204240601, 981279724, 205196071, 947237776, 194521040, 780977512, 528250430, 246369594, 384833821, 548023004, 161882119, 22565821, 822879824, 521047748, 235061836, 93269217, 32929903, 509156203, 539189979, 466227433, 740238086, 556438953, 256239972, 60128666, 266255463, 45430203, 263534205, 433459304, 778039075, 668594159, 191786386, 59052888, 143862821, 164973489, 51168182, 691200300, 712061274, 978082922, 665094794, 27850588, 296252994, 388915382, 475816761, 283076369, 51683869, 860678235, 131936204, 797974363, 945705675, 290873028, 843822759, 849430840, 220300736, 588180216, 955722723, 796613203, 765051843, 692193968, 358217526, 562948853, 781754315, 273470631, 836453152, 127293055, 927535688, 352830027, 299267860, 815454533, 475223055, 876451446, 259075261, 219773122, 657691576, 948092258, 16779037, 711890025, 844101261, 439464199, 525969061, 878134542, 779570747, 126011912, 130950931, 883493913, 616573436, 921518236, 417461194, 957784950, 123828283, 311965375, 63872308, 650410616, 504030884, 396347050, 723782276, 52318087, 940906200, 483505077, 618845627, 534733249, 619158099, 383556855, 338101384, 550301772, 288339648, 489175997, 982311791, 186581918, 845053290, 770933007, 62999280, 234571542, 389694317, 44712231, 445476993, 701596589, 818866514, 61868764, 158573750, 657901909, 653498800, 588052658, 634287881, 689894520, 209739001, 209542003, 709786275, 238630840, 580098, 757992360, 195852773, 770379718, 911578318, 397180303, 980270648, 244413940, 44881507, 557311764, 402156971, 364697786, 835637377, 364344650, 955808812, 120322975, 482174102, 279849480, 566769375, 205061989, 4195881, 793943451, 149759306, 890551911, 891755463, 538550678, 125047632, 153709902, 180158330, 887220616, 388730349, 430801364, 264294940, 580560230, 218809482, 602710683, 449298615, 537944808, 702280958, 858487272, 717096784, 500046317, 580342012, 458113397, 812911266, 341768575, 165755190, 337821703, 240266673, 353245939, 315619168, 14736481, 167240165, 142195922, 364746497, 116220009, 935762909, 288010363, 167282247, 431527344, 341247120, 825970971, 428322580, 223056727, 133534604, 597073620, 309496053, 744195259, 658655414, 400989875, 231635370, 419479629, 463417486, 558244341, 803240188, 120047627, 494267458, 110327941, 331276781, 797014254, 700476270, 178372638, 566162926, 238975253, 861699651, 805609831, 831258504, 388994956, 498646357, 151062326, 291823787, 996134471, 199209462, 932033592, 312080375, 782335725, 994373361, 795386428, 7894993, 929033877, 552743284, 673996340, 242551126, 381430056, 619142083, 797550656, 160266944, 238709054, 422662877, 81337182, 509021184, 865917998, 709653419, 411856821, 981935870, 127128499, 668812016, 625953929, 529370563, 270664373, 770770935, 679217751, 395273358, 832317122, 46767538, 497073396, 322241173, 601323066, 823357484, 524501910, 696313321, 84567415, 821281124, 635025344, 369452184, 488104944, 466302624, 655715897, 699959046, 207018928, 859562552, 762838848, 771986537, 551063731, 989428936, 878726060, 207513525, 156468176, 719844027, 871184996, 103028123, 251626317, 481916761, 905937200, 641937230, 436454269, 315262575, 935878786, 235020608, 718009573, 573247043, 504496484, 140605317, 433847844, 254132136, 847415381, 706922862, 704780188, 523594178, 639263721, 503506644, 294349658, 447014105, 519315735, 159795507, 981523543, 260773680, 296119831, 865052936, 375926643, 743773838, 585586662, 168332841, 241443648, 627389925, 702208976, 990536435, 202779669, 955808387, 173738493, 150713539, 556102806, 534469651, 298581666, 102188349, 223667717, 13340764, 711246075, 470995549, 230230367, 816912717, 720193715, 992168141, 297573280, 940821368, 631807883, 920028229, 265621994, 619009798, 683591904, 339190783, 816505728, 780870585, 138770957, 24150064, 176981141, 254344877, 511909480, 501485979, 10341356, 71913809, 499668585, 618946544, 627937426, 195677119, 493241236, 782779108, 849107898, 884581623, 325321908, 365392598, 123884978, 512734784, 375232694, 967285048, 968882058, 228355271, 896003974, 145404648, 125100347, 688543065, 166507919, 732346957, 818538396, 105529862, 424511290, 665122365, 107782107, 532758623, 274823954, 139557463, 106762847, 658426813, 932856481, 227349487, 110015580, 775386782, 831701307, 125548631, 887583923, 785603329, 658787705, 922936585, 478580559, 945680076, 66496347, 339470245, 467949300, 244646347, 107060272, 28152010, 254030371, 89044627, 832905096, 33634833, 344030459, 231057428, 135429368, 113752257, 409986105, 114567071, 903510345, 639768103, 232249283, 593047827, 718284880, 153315383, 828027987, 11048952, 627258223, 387449518, 622174733, 284544939, 129551129, 574386389, 692113094, 312061726, 385934042, 949764367, 105483320, 348402955, 576713927, 678786875, 305655889, 902040457, 124354688, 216288628, 324901516, 325584582, 149084519, 579394212, 976877341, 655167586, 710071306, 129414477, 752788770, 771081209, 766948464, 254613008, 905384241, 235563552, 119009727, 264023982, 31373461, 791030320, 614696431, 142835001, 533081668, 946406705, 273698815, 877624465, 171409449, 899921409, 987681351, 347830826, 589813780, 520984440, 97981807, 127897808, 720992784, 565315555, 598381470, 262070490, 606184848, 484200788, 370932188, 771589766, 634620300, 814794398, 137643611, 147801526, 493980502, 239852902, 278805171, 21840402, 144080171, 200865965, 768232592, 391305513, 75755259, 127884881, 548445331, 54116016, 63935797, 891992454, 375784725, 583054108, 151171287, 969002540, 181635737, 415616637, 778499380, 888720667, 837288664, 978742949, 932938023, 487249446, 714580472, 441236080, 489840521, 933233951, 151109694, 124721297, 17808577, 30167687, 44597794, 116542229, 273602754, 977462037, 374267173, 664706509, 535184164, 424650861, 211745944, 662928380, 802309809, 287705855, 131858872, 776382127, 821311617, 341477975, 535780070, 395173703, 952559199, 538136133, 381037744, 384175187, 567762137, 280493155, 290965965, 829035932, 288416430, 942274982, 669078649, 17485669, 458880647, 13467201, 13982096, 13272607, 417599832, 626445686, 907446141, 897034430, 13613890, 345627387, 87446459, 816469280, 991108187, 917074746, 590717724, 637497546, 207220114, 620866636, 731462242, 772862148, 800144989, 10849097, 109265021, 310852263, 640261284, 745171682, 337377198, 503919108, 628980703, 174368981, 479385468, 145246006, 556150692, 165335262, 383528843, 378604910, 821081499, 373967890, 138948529, 80045547, 248716475, 564298214, 20911497, 155930463, 151547239, 14871789, 244618645, 305791472, 538248624, 336278645, 713230048, 997218598, 472297847, 347915373, 538223756, 546150051, 702771214, 565491814, 562857695, 767425515, 278863577, 207088228, 931563184, 678349073, 840174066, 336169411, 440109169, 776891397, 192270055, 735030080, 616033764, 583975794, 680524876, 761654602, 251633573, 568945120, 114918429, 680115190, 716758722, 265071691, 995321640, 122953582, 132087390, 980235784, 814523633, 499709752, 266236042, 490154882, 56013383, 554710102, 389488562, 989967323, 513028299, 969623640, 568772242, 864466698, 354494523, 274108603, 117158633, 520093342, 551503431, 876432662, 488204778, 164490771, 82828456, 961333748, 591340863, 394094272, 243864953, 495195570, 702967552, 418250224, 304770970, 354571209, 90859285, 345968127, 310828055, 698793552, 859941056, 528782294, 263226144, 34994722, 198951123, 763036604, 251163943, 587558837, 75481749, 784733298, 606439051, 895220188, 391131030, 212021030, 671935476, 278403440, 844464078, 850665556, 632990011, 585854503, 897479473, 462912759, 438002740, 740835886, 875068728, 381559298, 963950255, 374730041, 701430029, 756146584, 998248142, 817872257, 606952903, 901926203, 433185373, 838722135, 931194323, 992539056, 660467052, 942083186, 419797707, 780242636, 742344818, 640472428, 60708204, 690077572, 64695912, 767216095, 206774474, 867577324, 992509391, 314932481, 369167485, 307869947, 790047863, 305555018, 275177164, 728458376, 428238882, 493957851, 468964685, 335849752, 83383300, 576465402, 665678341, 823655734, 836102831, 981184331, 436019843, 404812314, 40399790, 166645041, 784031817, 810477408, 371013790, 270217205, 584055305, 284700897, 255227720, 560603044, 569386346, 21406728, 994080807, 861995734, 95096874, 740183857, 24679189, 824641494, 299339036, 518689580, 383412394, 662081302, 633766881, 77715054, 692226570, 651971298, 443195496, 556249666, 898479635, 826189887, 64869127, 239697765, 724891466, 437549871, 957844975, 796734057, 349463291, 879001620, 720178213, 553030728, 993950591, 340462769, 478103230, 973231758, 114460027, 72578568, 54130705, 158076256, 870642264, 710585312, 516736770, 752667350, 53449757, 534433012, 712846419, 652260177, 344720488, 460215953, 318212202, 953406907, 275544965, 627699779, 164695892, 214513696, 230922819, 158751832, 330011729, 122290066, 224643016, 337701013, 840491646, 242267424, 621632787, 998234201, 247653677, 325112813, 243795234, 958783928, 848757773, 41337276, 612143842, 128733801, 801409095, 933554245, 587690493, 439275490, 732288609, 663157049, 555089224, 17563987, 170144383, 875322996, 579106121, 359738843, 474858148, 828612917, 357706640, 806851080, 551571252, 598114542, 444228040, 640699226, 685678368, 25327097, 651637821, 619162690, 164039391, 939795396, 587471285, 216493802, 618361058, 725622755, 682527256, 999022555, 374374414, 610176218, 289730156, 757857946, 834388821, 324564216, 972923930, 43473659, 930235092, 23836122, 314812566, 323397672, 855771076, 426038382, 547850656, 782540250, 545303702, 159489760, 940777915, 385443367, 337446717, 16207519, 185453068, 281554059, 193400028, 759530559, 196081236, 901154259, 485753705, 471733899, 178779520, 458821439, 383058049, 219326230, 670638886, 349747779, 632258273, 197772116, 848262058, 700917677, 676312270, 400507620, 484619681, 978276406, 395876991, 640505358, 569695658, 928733571, 97318470, 701515661, 658811484, 62922841, 288009995, 101858223, 668311496, 115296111, 6066895, 767510907, 368963866, 995644445, 303637528, 956962779, 910797616, 202983187, 979513944, 347116987, 995838822, 595041038, 835351071, 988896709, 210395887, 503249171, 584023744, 179395632, 631966096, 905669081, 431128753, 89477445, 926166355, 837948337, 65459789, 853486265, 87107057, 171512913, 930938702, 926699705, 584014906, 563323528, 215040274, 683671183, 688202083, 291006289, 46398894, 398910207, 911833901, 551167377, 835471322, 262437478, 29341436, 95270494, 595238549, 842450744, 306365012, 675610979, 267906587, 480139027, 744311207, 457188220, 622187832, 64068658, 159350930, 362071790, 716113147, 267451222, 414230904, 39286113, 536670973, 208504283, 273185764, 808047924, 819845762, 53347083, 484917970, 401410982, 357029556, 253333256, 517394376, 204671932, 643340560, 912590400, 236674119, 685564349, 146822429, 741397360, 198463569, 687535198, 93791447, 824054443, 248798311, 897351160, 966037876, 983931542, 623385400, 303717139, 457858328, 778224050, 854629956, 737843891, 925187809, 355273867, 45279910, 225713442, 937445244, 166294076, 366030784, 414849586, 700056921, 672660878, 441354597, 630492407, 362745686, 371323341, 658052462, 932816133, 543054208, 376740901, 545840759, 239422279, 878073084, 545473908, 865075114, 631746476, 64807267, 135690468, 58568190, 582876883, 976043947, 319484829, 479825564, 844685468, 187095415, 511207907, 266581605, 500065050, 248337939, 200417340, 354676063, 242246361, 224185807, 894578599, 274638525, 246436590, 785507523, 558644652, 211638011, 744402270, 284583889, 400694216, 368890584, 466983221, 688953901, 578662696, 231362099, 634377949, 254381780, 870658419, 733418852, 949105812, 975587165, 957489322, 939058564, 242212773, 842881121, 679275318, 30931405, 863456543, 858554366, 465889663, 482781804, 33466801, 259593274, 991879642, 804192244, 377216473, 493068263, 413482975, 581725176, 895846120, 736114891, 293722066, 64394537, 950901160, 118543408, 858585482, 547532928, 171249655, 230020718, 860106845, 997746017, 425041883, 519003280, 38584069, 572673794, 340020033, 371989522, 23371454, 735261289, 695890740, 163280976, 332007246, 3948235, 239204196, 708155823, 214560212, 173907951, 802500515, 400507766, 604774867, 933967159, 57550133, 14507876, 186434342, 23876731, 509491599, 806377892, 986491828, 123295236, 407147236, 990707443, 155028558, 899504754, 805713541, 703635402, 252534315, 36011634, 545984501, 195089683, 690100474, 6365316, 149014684, 369551503, 200749296, 504571787, 101081711, 145673480, 198447628, 336172855, 181597604, 296336816, 255983535, 235943446, 822278226, 975692390, 949301339, 172627392, 650554023, 235195346, 369500245, 500335875, 395510908, 681714759, 784080847, 432857098, 572883406, 454517410, 290704861, 94406313, 803275621, 941282258, 430636214, 784976583, 299991792, 962653212, 813006031, 242576908, 282782557, 746278643, 140185289, 250800850, 945980977, 832165255, 479129272, 8386523, 563808801, 760922721, 419924390, 338193512, 217982107, 798165267, 494991440, 280918248, 900848928, 741163195, 974394989, 920938102, 295653943, 260010748, 824738655, 55981557, 537274995, 957406537, 455675509, 166654713, 73902492, 934744699, 276891799, 317274881, 699315189, 422343131, 151605792, 54533670, 446286511, 6864993, 987101844, 107703977, 140528463, 560083306, 830529671, 675086501, 927241715, 246799794, 932356009, 638449884, 304695452, 854754593, 647434767, 738970667, 86064028, 885529006, 512450957, 32340836, 36115473, 347766933, 667298434, 837462996, 671062027, 630996109, 6030120, 274761616, 394786427, 764971895, 312942819, 244245250, 554057229, 735743972, 666343122, 793217161, 138334353, 70259845, 655397409, 769640059, 939546503, 317615590, 885554214, 33439173, 441750731, 992955639, 322239858, 454298337, 788542615, 692425150, 233440983, 694321625, 177604808, 358716972, 765555099, 824788399, 199481553, 714339338, 704825774, 5562363, 421922234, 86154102, 650712241, 359313506, 139204541, 546534211, 524543999, 919203282, 605418759, 108519616, 5597317, 157788224, 180905908, 7893232, 201972289, 629995642, 25853707, 202288705, 162731190, 838648393, 307656322, 553872931, 791477633, 416758695, 799975377, 954826129, 506700821, 624114244, 910531074, 733887835, 389644780, 987375141, 306047398, 205294967, 583663879, 452506263, 476216288, 703392420, 543904637, 174978465, 762363302, 248804516, 917067385, 280729210, 788269123, 591933396, 898690822, 795893790, 933469246, 240359927, 784402458, 403916429, 800650090, 381430352, 284940650, 863355029, 700527607, 190709624, 221581234, 197159098, 501992889, 31593833, 426867454, 92518436, 232913494, 627049923, 708359058, 697935214, 434434508, 490519077, 720899214, 114083107, 144400106, 522477832, 93152175, 843156537, 409730309, 507787919, 893534185, 581317812, 512926520, 116280915, 732515551, 95757122, 176850683, 373245492, 50017606, 686334321, 234239765, 471334958, 904256574, 590052527, 343652729, 544595161, 720325437, 714736555, 707881054, 543207489, 11706144, 496942682, 323064851, 824966286, 615957945, 995012035, 25499046, 837639569, 132013740, 246212458, 663337831, 463500297, 985122616, 534740128, 819263830, 290977481, 669499188, 997062228, 865339753, 909247108, 464845078, 212957470, 862058177, 158337013, 874313377, 232153076, 466848885, 449525580, 70047949, 409942189, 834626921, 159069662, 950550073, 227438926, 47274210, 687554052, 986565243, 274981224, 173826775, 86098042, 370490784, 434378301, 62305261, 410809157, 426281478, 175514726, 821477069, 278367814, 448477240, 760181412, 933614920, 841230716, 759541524, 385872628, 788382867, 6773016, 902470736, 116816389, 441208748, 506034749, 106060460, 963372064, 856416829, 698414136, 665901653, 601209518, 692152992, 519539817, 411069670, 582828957, 25008413, 772397882, 839183367, 669354979, 657706490, 816294797, 332890398, 79683731, 276842477, 680656385, 923909752, 235782960, 706179239, 260481775, 249698657, 243185178, 419331386, 422396154, 345374883, 502331581, 57479697, 774253354, 635856660, 344577652, 140175683, 19478264, 419527474, 612613955, 96999772, 203813729, 713540491, 691719897, 41174664, 746265384, 38234470, 65511699, 447057762, 12515237, 770186233, 574454486, 983330091, 206167778, 307095473, 265010496, 670910507, 292762433, 851601427, 347185786, 512518442, 490117211, 459521324, 814524022, 371069792, 686935748, 425621589, 54306255, 476721786, 249309600, 226821789, 131286971, 199322315, 955543333, 187044080, 424817112, 371016466, 304077194, 309276671, 664124150, 969220122, 167906866, 905717634, 284001382, 723151054, 53061453, 647399831, 913406517, 335003149, 211894049, 418893430, 516105993, 346138683, 813502845, 894940886, 65861273, 456158378, 202921203, 417820965, 829170771, 894056289, 80152526, 186300648, 706652053, 316815000, 611697978, 845555289, 91113087, 47053005, 207698865, 353645943, 511800579, 470354384, 336764811, 358175504, 70629317, 611722504, 976642261, 213825933, 798289757, 253108973, 352431337, 189856856, 789633196, 953359919, 549105148, 840323627, 917197026, 137694667, 659171763, 446387899, 925689904, 403664051, 368223470, 988277556, 204150654, 192849996, 685784574, 847007170, 851316141, 512389192, 352690937, 508490105, 813515252, 535661420, 995708612, 988653502, 456949068, 455252439, 437618632, 891248099, 858555227, 236802459, 877879925, 356172325, 494730825, 904621756, 851102931, 500777349, 720177317, 951810225, 103591792, 771189199, 664816769, 970219552, 440879543, 206155985, 867252398, 7961649, 557930818, 934938363, 472320304, 752426957, 386155684, 489344098, 468110472, 194968573, 484889972, 594912625, 775141116, 597347287, 610382580, 511939895, 947248169, 326211113, 849853248, 931141134, 172693283, 612590324, 216060116, 644350162, 187734962, 609963767, 588395978, 595061637, 414521948, 505292896, 734572636, 635930394, 868518050, 305169293, 242414005, 573053784, 11407107, 44477718, 765918988, 990631269, 582230414, 538584361, 381837528, 910628988, 464975102, 221737139, 275239159, 511745125, 47074214, 400456288, 530410863, 501691683, 791476596, 291369639, 668453416, 260679436, 60644655, 540751559, 698043649, 615714414, 647977885, 494633143, 847741262, 803737801, 625790007, 262122497, 838683140, 405058891, 343503965, 950842858, 245560618, 533771357, 707590233, 19877997, 697182973, 743875964, 229847388, 681873186, 303574350, 310819628, 640614214, 282325139, 279286481, 438252668, 884720058, 621137041, 379165239, 98819238, 449591678, 688075082, 912652084, 912930534, 928973854, 399645539, 740370520, 652167342, 430651053, 982500017, 138334557, 29062019, 23980389, 147728058, 599336182, 751425918, 737956353, 942813293, 279364640, 374093670, 882944613, 682975835, 301270229, 618721905, 316280254, 303273168, 67906166, 681154683, 646028139, 876384435, 331492777, 374754205, 653397380, 469230474, 511051704, 94084936, 296558533, 43314272, 299583710, 492623131, 224826100, 27882815, 354884504, 541079241, 826865241, 37858861, 404974745, 971703577, 318913661, 355262519, 121022099, 825462261, 175622454, 214166723, 621533680, 148406762, 185222915, 456696561, 797860738, 370667109, 300510202, 32766752, 597567871, 836822767, 711351925, 563117275, 487628871, 905756766, 3195719, 699109789, 411410878, 160530866, 164434612, 669670071, 711220351, 318590105, 652757014, 420874113, 137368134, 265924184, 937223000, 393298539, 988758132, 168574451, 706444234, 898152705, 736447628, 976025598, 876492803, 142818213, 525453945, 907232919, 895870403, 638327169, 839132082, 908179054, 440966174, 197010127, 357710376, 755289858, 296901259, 946435959, 384818188, 953881667, 249866393, 78740005, 774588820, 765824280, 386449955, 799770019, 460983508, 864874552, 266321358, 255330620, 206829142, 871140501, 973276853, 481816993, 255321302, 3254355, 342177882, 478812930, 906661421, 776863893, 668594406, 880094841, 240036479, 150631562, 936315439, 294700573, 127311097, 565883590, 285247455, 528185299, 177395325, 487944634, 696272279, 263752461, 5105093, 596502903, 945410254, 914500274, 132073939, 524965122, 74669611, 799627593, 806956636, 886577442, 319726752, 934642849, 620464537, 374816779, 443683305, 913629202, 493370095, 604792991, 975270350, 41343290, 811340140, 302264754, 904494538, 51558542, 55709244, 995136507, 41378303, 448907472, 204868469, 971271160, 800650464, 730390093, 978867793, 285949707, 866173841, 496612148, 217586341, 133363658, 847295167, 760024520, 937327508, 934120310, 529605790, 710872930, 9659288, 831185817, 286302525, 860638928, 836156006, 254663430, 906020546, 988317842, 958267461, 619689918, 662845223, 12776188, 507702267, 564934722, 611949006, 733847642, 219324216, 403301565, 227106993, 871715913, 612695346, 279121348, 239139932, 799795032, 234287206, 984170265, 638433279, 692743633, 722338510, 910833182, 250041709, 72721026, 995732844, 486937124, 766723277, 952237165, 89122739, 636230089, 926277592, 197738599, 190855494, 846843919, 813457881, 533960787, 476290078, 61479913, 797311664, 11623145, 521183035, 835108234, 780611391, 456127171, 661106376, 556390987, 324881233, 217470908, 64855729, 574323077, 247904862, 272239977, 644123150, 397032282, 946378462, 953967947, 853169763, 475262725, 480041833, 290185773, 59413386, 429710358, 957055414, 509919320, 424577697, 163056636, 686708906, 256299371, 18760374, 577925071, 628211405, 912648430, 514275647, 139212279, 873974812, 208424293, 599287971, 694696145, 28497702, 209146734, 140517474, 494607564, 406320292, 240987201, 95435442, 473090511, 720384351, 414067473, 578177439, 64261348, 185380012, 708495007, 61654409, 578917873, 454269341, 778536913, 142379528, 48897214, 746117299, 955456518, 288271561, 447155857, 103744877, 210098121, 26865745, 308863727, 359334670, 169007496, 8906050, 249678550, 61438501, 700198082, 115197283, 909212021, 197563405, 831601724, 492038822, 258865002, 22717027, 68035084, 622684157, 314814162, 938903654, 468255127, 603710384, 378045777, 972852716, 656489335, 777493649, 834849574, 170396157, 100242335, 846912475, 622570404, 427751087, 194217632, 398213215, 539017469, 771855976, 144202702, 481665183, 710807191, 112975961, 121402976, 991495103, 979666995, 881788558, 253841783, 873435962, 513957573, 5360798, 984290602, 451046987, 438627485, 102576078, 646116725, 612883002, 363342074, 377504912, 69674959, 207739583, 450342548, 783113118, 355155815, 841437859, 693923451, 404238184, 76589515, 740801181, 403691799, 119586288, 629884162, 229489134, 600697167, 308174818, 903101187, 812968515, 76737261, 927135655, 167985722, 649985154, 334198928, 137767255, 371209957, 981291219, 27673794, 216046669, 914545623, 829086537, 360230557, 612806418, 789039977, 118508831, 354887319, 396764289, 866846425, 541651890, 288520400, 541131772, 183914397, 257956539, 515083220, 378403008, 193382897, 640743580, 985803889, 353842635, 22740618, 526210323, 824244937, 124541240, 934801725, 713246059, 834203620, 71350045, 149732402, 521783197, 498681082, 852809886, 264066038, 714268474, 484976218, 173798825, 786864863, 957525715, 281483503, 158391330, 513081450, 555372573, 816779662, 494481633, 536100712, 951243032, 994416456, 765225032, 571677889, 72990133, 760251220, 502203493, 973142961, 709753780, 710084253, 44664329, 70999451, 568034029, 925105224, 877544042, 336306190, 311618927, 741365402, 924485073, 892353799, 972912252, 38690181, 783507514, 87177415, 668568364, 506289785, 1703212, 830141994, 426586405, 490689735, 412244286, 184931454, 755472684, 965690727, 846383246, 953398971, 915970780, 114853581, 950687066, 950619612, 739781164, 818457638, 312987039, 409232086, 783083423, 669497136, 878834761, 342264001, 941985354, 716877602, 435747104, 201420488, 289372379, 81627879, 353268275, 94437245, 638036645, 224900759, 120295331, 134354391, 492408728, 598602317, 249989070, 977686313, 882446684, 503658727, 347410229, 342146289, 523748499, 669037224, 580785619, 87748914, 835384086, 545857330, 565032103, 916947520, 909418449, 685890162, 109124629, 761058223, 730496820, 577846992, 300444067, 352197654, 673338860, 305404103, 298725626, 155265639, 852128869, 183153999, 524117484, 802150315, 520062770, 765744092, 56768302, 238773547, 309969564, 111642258, 627401863, 39503275, 117258475, 110868393, 804260138, 936792804, 716873466, 3959475, 547233762, 444606279, 879978923, 203336417, 328153235, 735849086, 846222217, 119048045, 985581132, 395481543, 165518013, 620122396, 942758010, 589295784, 113091949, 451111791, 229872801, 940878775, 933080710, 518708522, 974528662, 370495118, 124068964, 453452517, 718578822, 687346910, 397437863, 541515976, 816321164, 479994922, 982958323, 896495810, 621119368, 310586051, 321024972, 977863379, 865785916, 288384953, 134692495, 787586300, 409265094, 708608896, 669934821, 236716291, 855705618, 203299354, 68396069, 195161954, 314549245, 794203269, 816303287, 240862433, 821208913, 238111278, 458976985, 656597460, 813858373, 369084027, 991678119, 724959994, 700774514, 162081685, 396859220, 489990603, 413928078, 694436040, 706181571, 507463624, 769302645, 21477887, 176204509, 848768935, 965055740, 865556518, 895483328, 53097327, 913484203, 79519832, 770626393, 830600455, 780503434, 389829998, 440357676, 15563456, 753865953, 424384463, 340084524, 641550026, 715839254, 522808541, 188345037, 123661449, 505363234, 955701749, 573562416, 485838626, 734428611, 841862127, 42937334, 92001967, 539803841, 622265582, 375387899, 263034708, 270314562, 919225752, 309617958, 215236317, 97557747, 893381389, 115308755, 455705543, 120860744, 106480826, 403094937, 451699265, 942101552, 807179937, 726666112, 914185831, 959129384, 241447763, 169118316, 183650473, 175360326, 269728078, 789637136, 793698309, 535210348, 320040946, 405551835, 523192401, 601947647, 757935110, 990002895, 763599702, 872939632, 522014668, 958081756, 563196930, 462677023, 546402493, 978213431, 172779071, 338290971, 373862487, 719125367, 297488572, 354520147, 785791852, 55505259, 486154839, 654743116, 618102879, 186940238, 64824742, 44471214, 651724024, 666349641, 96550516, 453929051, 353955816, 34000089, 720051753, 787514183, 718454037, 143045093, 724178299, 666152774, 575416489, 353473752, 897142418, 982131331, 486378541, 94469606, 253015351, 197489330, 585540453, 550794955, 600067458, 281267395, 900322987, 499840549, 742221553, 813726035, 617375078, 134450936, 362934257, 269820001, 207743469, 376766548, 260889870, 884251962, 396266249, 200909903, 852465963, 234713473, 240399276, 823361536, 160514779, 23693456, 619939400, 173926770, 943468230, 619148550, 881446197, 796417926, 909617410, 885941506, 627187953, 466408214, 594900991, 936817740, 67379131, 764738121, 646740920, 345500711, 916110026, 902574186, 266131532, 643923914, 491504720, 856763634, 162419541, 410728908, 393122169, 723248988, 926325995, 787703631, 47028116, 128881370, 228794754, 808693140, 341286031, 157024539, 330580416, 543131568, 53766328, 557653202, 391808207, 177792040, 70713351, 839278237, 786114717, 813001813, 274291687, 228881129, 223767974, 80413191, 795164059, 924225388, 64690228, 878482062, 706240843, 699763637, 457086235, 5440625, 613459593, 686824629, 913140475, 909670422, 674495454, 374463696, 650034490, 162490178, 323751914, 717529876, 276025685, 283929708, 43602765, 140872249, 138614691, 492325999, 286696954, 686298103, 272250930, 828933186, 149261183, 19314319, 537716880, 921005080, 658712214, 890926941, 773692917, 592331480, 189248292, 875864190, 587890108, 238561198, 498048832, 435144991, 238654818, 191419378, 654193620, 943980400, 19581373, 236068772, 888752477, 684193484, 134078389, 102953239, 718054661, 728570783, 352238897, 928581014, 483456456, 792039170, 126018100, 76863557, 842655849, 493667414, 492096475, 379385933, 974599711, 675372964, 63329442, 990499410, 775881793, 410905777, 949384534, 123497990, 16159294, 522945371, 447266142, 691445181, 748536563, 339351158, 405286631, 745548610, 911727143, 332632495, 382913458, 261406120, 860448968, 934489763, 716917447, 204482126, 236921187, 811561368, 737993561, 243870130, 495921932, 334116230, 450621865, 517777598, 635886452, 721474549, 175101101, 73007554, 966651745, 929527040, 839515873, 513416116, 892677698, 529664655, 281487574, 678667554, 719435322, 697115225, 394245115, 306698235, 352793157, 667608446, 368112353, 288730259, 775146344, 384846842, 649752203, 418378922, 682233647, 480335084, 442011458, 895587117, 607401459, 427645487, 925363777, 272316761, 246437054, 366606761, 602456969, 783385710, 309495990, 512961373, 706234277, 36352878, 127321904, 415448262, 438061093, 118037626, 670509268, 940695, 4693132, 187418966, 644633236, 730187082, 948420611, 125504343, 507813197, 933707388, 348273082, 186069543, 91180357, 99497463, 928390923, 267078870, 128020931, 762928186, 237257699, 511368602, 990152705, 950389722, 995792734, 898586633, 713817390, 244912105, 418481443, 554114367, 585390203, 622395522, 636608472, 902309182, 498044338, 442034791, 868902454, 860733615, 138529885, 116246821, 271490309, 287919204, 981927443, 881147874, 711853916, 161238618, 510473119, 412181458, 623297129, 474237380, 936373429, 552110636, 107112667, 647267758, 816831053, 370204961, 338829755, 824099589, 397351353, 424856308, 845958376, 569761706, 277570387, 313279766, 197777905, 477538271, 975400453, 760895834, 303581737, 572420527, 835670109, 738845054, 377464787, 206111641, 14933071, 839966599, 741992537, 121535837, 90538070, 113050468, 551893163, 623442936, 870664145, 863324281, 141241436, 922485493, 495664473, 593273956, 31493280, 503604917, 628600110, 428114617, 62764419, 151766016, 193763555, 518733340, 376923575, 4959454, 981181648, 244072757, 177835872, 900461948, 993988124, 851595079, 862596666, 76645870, 814029471, 646515783, 429772402, 585967538, 796497597, 912696029, 849228175, 198724895, 111093078, 222658291, 207628987, 16879579, 57189549, 392136927, 277574530, 662183278, 73012225, 818198021, 124411700, 354338307, 611333634, 171863512, 855283732, 438820022, 626622722, 544823896, 9156648, 297284871, 777211546, 416801886, 9568900, 641026944, 981383091, 948607642, 878818662, 955544104, 241766154, 297725782, 903263577, 6197046, 190286501, 682781463, 176119473, 179950506, 783716690, 889288889, 384873243, 405713131, 478923624, 841095125, 834365476, 722218864, 443371187, 206674924, 181599475, 50845287, 14084446, 797373599, 103332856, 760675196, 424124068, 296522728, 761117585, 837103190, 196774171, 631356500, 310330191, 714236010, 46184169, 913402933, 879517288, 191560825, 44501847, 545205769, 188348839, 695817209, 683455296, 861377436, 57731088, 631894800, 845849916, 815517072, 933858685, 893586178, 803179155, 44253893, 904516271, 566694051, 715809329, 430401843, 426432427, 759841069, 651248287, 376050750, 910317384, 831694805, 601273875, 824391628, 574660301, 139295012, 430869037, 358271940, 915698749, 647865672, 791568508, 447584281, 144361273, 974965941, 902143529, 143804310, 932871822, 38956975, 506109483, 331770067, 236684421, 162903697, 496900768, 254992485, 310826136, 550569708, 755206969, 28442699, 948487910, 76417048, 942752119, 994444960, 150647266, 469657574, 670543924, 87274375, 45182864, 83758733, 46716368, 11962087, 745995272, 422573843, 231826174, 446204822, 171215064, 916143405, 537530263, 718864989, 454959360, 892754095, 709564593, 565969150, 470303271, 542388323, 273998384, 911825651, 644227031, 593564607, 609165694, 630715815, 461294978, 16253945, 465010829, 492003533, 841903980, 540846692, 125338188, 598367174, 664304716, 420597641, 917856339, 370134625, 261810226, 440711983, 344782079, 635925382, 719525819, 444205837, 642460708, 444828625, 245745891, 369844314, 800648964, 789698998, 760757438, 805378723, 33044695, 922971487, 466132320, 316342771, 963609315, 97300496, 619884817, 997162617, 125636033, 319497347, 930786304, 448703447, 43313639, 219033879, 495534086, 987103085, 828994015, 250536264, 135495830, 225077870, 168146464, 395429846, 961527856, 810007844, 348237019, 79399007, 669302351, 917898479, 651842810, 383076027, 346498199, 809744539, 672289449, 523567382, 443638893, 574221403, 853933340, 471110296, 84383217, 191168340, 96043575, 980221617, 753428625, 568529694, 408298659, 112687474, 148336306, 744845187, 796309104, 688856929, 732253951, 494445165, 733796332, 551619318, 998417883, 532118931, 704715277, 673383598, 502011524, 50089963, 65347613, 58849371, 991399930, 304498771, 750475873, 327671596, 199836451, 623145, 455987234, 380591637, 98966474, 282863318, 198407825, 328045958, 459991385, 500634593, 713368837, 140284468, 285618707, 675693997, 238761173, 122500084, 738547575, 494943695, 145191349, 796854579, 101198340, 642355890, 120215190, 806863237, 521855622, 373140470, 342188797, 431735674, 981504426, 746801925, 556753690, 181786192, 569121259, 849310126, 501485228, 315870784, 369430357, 459163699, 26849879, 477473566, 139143771, 537255743, 841909499, 229610518, 768451340, 115576767, 701389553, 60517600, 713975826, 296514106, 908070019, 905402233, 666263303, 823275652, 69163445, 330661937, 975584023, 273859008, 980974060, 975229372, 64876059, 258724629, 790825439, 659274423, 506177485, 794855945, 904204562, 455039293, 27717317, 27137554, 478944300, 905407693, 726478335, 929614104, 293699262, 466782040, 705274145, 769980607, 406776540, 384439680, 678739002, 980132195, 557659076, 284924639, 260283208, 62631387, 819124113, 725282160, 236186374, 93155293, 877979496, 848888556, 641759237, 158929679, 674943521, 2902805, 225021857, 657196311, 468857763, 471503752, 214106058, 170651720, 359097586, 227752760, 112313121, 177266566, 937201113, 596867472, 662350008, 325111908, 979372169, 525485654, 165490359, 493132723, 517647529, 679996826, 361029555, 313216654, 617318148, 965397734, 979147500, 977048871, 638185975, 902318300, 323460602, 554843789, 310925034, 97831033, 951661006, 197227854, 177820484, 441184685, 48728100, 860220888, 479436728, 326364143, 410158635, 339032195, 934434718, 672010911, 812706187, 281807727, 536106510, 819547470, 373093910, 622524933, 218405284, 175033712, 756127478, 14495859, 112897748, 222367782, 407870816, 857763298, 568104175, 702371244, 913016495, 79024069, 429891183, 43911128, 449362775, 38995143, 471263723, 994222467, 524635704, 587934807, 216400148, 113941376, 695216052, 520383635, 76989523, 598960950, 154763900, 94756638, 634381765, 91306621, 203794733, 299320830, 102065997, 699395976, 450972627, 852078228, 607237250, 973465280, 842146980, 308962520, 777097750, 361086451, 858306519, 287809294, 370341236, 203086246, 794057092, 436863512, 823043577, 787026710, 450600538, 789503501, 875353539, 780600489, 424385718, 214562387, 963585471, 18827904, 506007214, 852869928, 702558035, 703150644, 817928098, 950307546, 694554874, 630383021, 97707361, 978844011, 637630223, 796262096, 649076632, 200471576, 374480246, 471507200, 289228729, 109136419, 428623354, 635995001, 684318484, 543118445, 37776982, 626736821, 595069377, 739166935, 459653393, 899355381, 464905419, 243485050, 611400783, 182998452, 852863914, 165428249, 725317562, 328830716, 490703508, 794900773, 647054511, 751793060, 106226452, 73557792, 419639633, 987877433, 264819289, 784631400, 226731146, 336867435, 306917754, 575702489, 532616152, 915780229, 143368216, 153925989, 484834052, 305936413, 602593327, 59966798, 532025074, 81017710, 279829127, 849591285, 226024766, 307954170, 712700784, 357227559, 272914640, 83227114, 860990438, 660605603, 219520499, 131386945, 418402561, 89739957, 291657768, 799330400, 160379422, 487677103, 609193379, 531849494, 816982709, 60068745, 775262738, 180844517, 738764926, 771284446, 438353050, 710243703, 83428601, 558870994, 208737899, 463370158, 902943770, 789847261, 515361601, 929619725, 286066627, 311522091, 755078248, 380317902, 142230944, 882661262, 459179047, 207244766, 793062618, 339970792, 524493869, 587737011, 545473029, 486336837, 90399808, 977743375, 274137879, 404662202, 450694037, 887446643, 849047066, 335797916, 969626893, 955848852, 689081802, 103282126, 729883514, 548186098, 137847406, 370429607, 14744781, 223873469, 114959144, 788642173, 139776344, 180074548, 375680655, 735327695, 147437737, 480346926, 946898278, 748028833, 494261780, 50812315, 891879817, 64232638, 165682559, 166950833, 681832546, 398006719, 480207857, 22589187, 425653284, 521077342, 73750423, 722997618, 653763771, 547098599, 867633640, 500390717, 103634234, 306400411, 433226094, 132269184, 438064114, 176765594, 226930795, 279636557, 503525071, 145016898, 425357614, 797767689, 291708488, 447449489, 36598262, 974209788, 451121730, 522673289, 935652633, 764361749, 247902746, 543100375, 878979040, 937116056, 880222953, 660634705, 333483937, 352577750, 950939221, 392940385, 408704667, 33626636, 179410628, 247935369, 7163359, 307093797, 359866627, 889569750, 873762054, 263782128, 325038999, 164734804, 278288141, 976668819, 231972246, 539994777, 311868880, 387822898, 107737096, 621295722, 404184827, 64837518, 408832355, 804259606, 603405293, 639129399, 269741822, 592241367, 234248906, 427301990, 489538759, 655831086, 622904870, 514501182, 493158590, 507160809, 272203584, 955993525, 74487636, 964805280, 109931169, 923359575, 645668214, 233819968, 759320355, 876190902, 41234810, 402983351, 350120671, 429649351, 619207478, 337816376, 371108673, 271595701, 146639295, 242363626, 505498891, 254135907, 642667110, 146269500, 792013693, 958994393, 597889031, 135628018, 835666132, 640466389, 318797281, 382974988, 541255726, 405400886, 981480818, 28847365, 671187944, 540999278, 698071749, 216496999, 839929353, 979501666, 347847160, 290976407, 70718418, 655144449, 489921802, 745771201, 79678104, 177974771, 527408086, 180566592, 144039256, 919797923, 784608417, 699634244, 995010305, 315827535, 198019139, 224621599, 581493250, 11606461, 660427047, 655832999, 880886304, 395832256, 334323736, 450716186, 291274012, 175643944, 58301431, 689477293, 642804281, 661242595, 20828004, 821716196, 780446591, 15983275, 764544092, 606758401, 334052935, 388647798, 184402494, 24985169, 370275330, 56747754, 433391238, 172924428, 196794341, 154579357, 862006666, 308290429, 596624797, 925100376, 594038355, 565139190, 392447116, 610946019, 46842393, 116371703, 653792779, 326401949, 287130085, 9195492, 15481985, 842803005, 789203716, 123244019, 903395268, 881438344, 845056833, 847913353, 739289428, 676697481, 522089136, 412277802, 924716897, 358966456, 762130411, 533211759, 374354506, 674864603, 428263196, 854544104, 875421064, 361253172, 186107035, 259927349, 883080213, 299190856, 154958482, 514566199, 261550762, 653189631, 455822134, 853102330, 685468869, 24705894, 30751260, 934790412, 139010388, 702073813, 351037609, 986321126, 395228903, 480506372, 288701704, 570708967, 653815793, 473023082, 683525092, 267439341, 339273397, 12619357, 382286511, 93810911, 312037875, 393982902, 532885212, 267725206, 594625462, 87060904, 195870706, 926516908, 370619021, 286516086, 805097742, 324150880, 212091471, 585833548, 633873822, 168351893, 397237377, 408166844, 989269829, 851345927, 909568422, 130125600, 881518954, 360835459, 981828603, 299581411, 49039331, 441437827, 827803841, 311161864, 793195321, 760691392, 360533196, 710824030, 57560004, 82248007, 407068282, 94761950, 62789675, 46565118, 697851399, 715386594, 494875855, 171802870, 915914778, 822928961, 28382531, 714209707, 705254866, 944744839, 217207733, 98110283, 73939155, 643891947, 375495611, 247599854, 419093244, 587204271, 429643975, 892885360, 727613600, 484374862, 217950514, 620990840, 412093506, 435934758, 599612065, 618056436, 850762989, 302173078, 863870005, 148464975, 469479568, 268438495, 867153632, 641826134, 724344733, 914522360, 736087383, 29289245, 138982695, 318483787, 801150834, 277584110, 249221413, 73560179, 163717816, 471918020, 319004448, 65967212, 607410054, 399054509, 816201439, 354321506, 17854815, 972909492, 989374870, 216134513, 702793345, 609978613, 680485861, 130364894, 590102814, 525959717, 675899001, 549458632, 342697304, 31585992, 602552048, 597961235, 580038412, 524496615, 608488626, 187290891, 909061930, 5627664, 342244644, 994285765, 81166748, 939590869, 434723006, 284129475, 560173573, 949511390, 625991142, 350169819, 224774391, 587781907, 224268319, 221113565, 116957820, 777623994, 924957612, 150388409, 807261348, 413437444, 692579566, 597930428, 365881537, 486217759, 130710422, 672085085, 661402972, 471867149, 24825469, 396224134, 52237504, 50869246, 16353528, 776308610, 20726455, 117433629, 833361647, 315750373, 913087300, 125320123, 281816098, 613123179, 433203489, 583185156, 675825545, 807730282, 761474705, 489704865, 263765612, 533002214, 282354153, 333282556, 781974338, 573314483, 887860587, 921296344, 564189597, 84120811, 153469975, 733192864, 80149690, 754405010, 434059088, 90804223, 130328704, 696805391, 574908996, 320489211, 258631569, 23179416, 278409056, 727735771, 86911436, 79291968, 452907721, 167557722, 118943794, 842578521, 123674672, 322703420, 830493382, 344854578, 736202976, 715112178, 304676016, 291264481, 252530753, 786518477, 479258062, 42431834, 221414982, 14048987, 396665369, 338145069, 552807116, 597941365, 483526881, 998415095, 335474741, 510409884, 54458410, 631106075, 415254147, 23379456, 854792324, 42655704, 474695894, 754279878, 274271864, 866221277, 225742636, 432162052, 244518469, 421450063, 326323944, 136237835, 218893606, 260749506, 312531253, 475562513, 923935887, 467046668, 53938992, 525082834, 59698807, 3408988, 384458647, 796326167, 749726237, 551829422, 98602130, 26749798, 680595660, 166676239, 274813297, 163248076, 131789572, 426670543, 444405621, 960033928, 550823401, 178548976, 624803539, 396978307, 941764069, 852690369, 220489361, 878684746, 10089899, 764533733, 404998444, 466356974, 328005998, 463261423, 990035952, 430637342, 857113919, 953613784, 646591446, 986561670, 219975466, 865603916, 902251160, 54370841, 539818223, 298882655, 855005280, 872200838, 414718838, 473897164, 965695199, 554157403, 737713487, 220998676, 267742727, 557498198, 705663022, 302849836, 421130921, 641636430, 148142143, 312925245, 497929784, 817564509, 378684811, 371955349, 173929137, 31573733, 599726215, 397780819, 654599750, 635382038, 227666828, 341927871, 675703660, 474397071, 707780729, 164085880, 134940793, 812823724, 254307306, 785944774, 676350996, 750473785, 462911831, 873318278, 296796513, 326948126, 737357729, 129969422, 528609290, 264833456, 746285467, 400009202, 830400202, 135867065, 262279616, 499772655, 634668546, 204029840, 383833582, 540884429, 113783527, 333710053, 483411745, 229610205, 589969636, 790091001, 253475665, 132334001, 806044360, 54470891, 46002696, 826291121, 668973297, 914503157, 617931115, 107883966, 84410923, 803798997, 38647325, 424501549, 396111375, 400264830, 959305586, 64399071, 230423210, 446958855, 685030846, 731887176, 415920271, 341766221, 892141749, 69137273, 912397062, 813772806, 106446243, 206916858, 572462379, 587566781, 558891208, 638713277, 179773525, 877892023, 608365873, 3897468, 343816739, 659296827, 772635753, 57210589, 79436023, 160709227, 381293078, 232471417, 568724724, 107484765, 32624109, 117426293, 103693371, 346489940, 76948675, 883475327, 615887619, 6061907, 87861034, 346134779, 282973655, 729666889, 664158382, 562866196, 227568002, 151433979, 652653951, 701824829, 863710511, 554927148, 408141054, 4087250, 952835634, 747710755, 684748869, 282516777, 582159276, 801634827, 336497675, 218718342, 518131613, 458440496, 69320617, 587435799, 858794837, 253893791, 555822487, 711577219, 407476306, 947683944, 603022983, 66113417, 808897984, 239016380, 1342034, 94223161, 450182682, 767297246, 190097741, 613414114, 966998754, 231769521, 167598860, 988268036, 202723631, 114066962, 323686073, 27583906, 517522547, 815574229, 308744973, 500466454, 141770548, 651512747, 269478896, 800814728, 372029701, 564986110, 245183425, 666080709, 810400139, 857614292, 137509246, 99425618, 532553065, 666216500, 130333897, 870237301, 833313776, 58349991, 270539920, 881361278, 648421130, 772710865, 591144653, 737386831, 570136125, 86071021, 571346318, 48216746, 313839116, 374704474, 397038570, 196376185, 745983138, 698496676, 326466794, 166739267, 37220479, 748082249, 158879594, 832105128, 224517598, 539658527, 688567521, 718607934, 488609763, 669795488, 188444899, 530031539, 160106432, 248993722, 815951385, 178916013, 472127037, 797955162, 196984825, 685256906, 413664980, 175433672, 27864712, 13519902, 742660125, 806378713, 580115430, 683573878, 739475353, 127510441, 162879201, 186330930, 642371895, 809501881, 734873973, 687551726, 755698826, 616593157, 252887902, 971710404, 335893413, 615103118, 799291081, 193883403, 145495727, 175139027, 682016482, 6483812, 692426408, 224233493, 258352535, 899140786, 326225663, 763755247, 205395697, 671202193, 818605976, 329711292, 461535321, 302016208, 199776577, 746388865, 682218009, 949585696, 237218425, 466381173, 389544442, 763325909, 51745830, 510726536, 50116207, 88222681, 242167991, 490813779, 146742579, 780117360, 683747378, 100597605, 876139393, 835980905, 752813242, 58959043, 681488022, 404796067, 489757059, 1606167, 4194164, 103880196, 843839107, 222328697, 642129731, 444803274, 965673057, 358272975, 88443648, 437010443, 468635060, 243237575, 710964720, 408653884, 96372346, 987069336, 24395996, 354662296, 531546560, 610024602, 976614856, 139536955, 908766231, 941872701, 423825997, 543203570, 130145255, 751671762, 100485530, 71510415, 170058271, 794248094, 498741646, 808043201, 398713590, 8482078, 313517742, 331842528, 609642984, 684070312, 814894095, 675326279, 234036708, 292481093, 60363858, 509859718, 882828198, 571201996, 358801978, 38380432, 723041991, 35172861, 658216602, 764539044, 635546307, 349472906, 788273597, 214324495, 576327255, 875375946, 771486416, 677567148, 350205396, 312361547, 97612099, 255149124, 280237874, 462451115, 679202882, 535567785, 358817391, 693666044, 847756123, 428672593, 735526986, 738173444, 72001115, 503228277, 255365500, 936189143, 280654049, 946524082, 497050283, 484000638, 975815740, 968498160, 303493767, 632034382, 374536685, 981545710, 109367277, 296213362, 798928698, 348219507, 759799129, 907934205, 655600232, 736962564, 811654777, 823202970, 666580038, 442563027, 549363957, 110904897, 132453655, 724940653, 902846723, 872558645, 896899524, 976387145, 955934917, 908918098, 526710061, 939671642, 123524438, 908628827, 511669501, 942402485, 934458240, 114345745, 555019612, 358440298, 522696081, 840274051, 638558803, 423816367, 674721337, 627044982, 733048965, 591370270, 482357690, 204132353, 769021659, 467531061, 331492754, 965775574, 123699204, 276593581, 259935655, 858238945, 851471826, 492834430, 444883581, 394934730, 901234524, 697091410, 421426662, 58851818, 105288258, 995467770, 901845856, 709810800, 3125964, 433710931, 271932173, 112247989, 282488819, 541971145, 984846684, 777373488, 144256042, 135607553, 456345952, 713482274, 600071972, 238174656, 674793999, 264276187, 361619141, 795626365, 256891517, 206110758, 874828226, 321191516, 765654517, 973881548, 944757258, 863223510, 315516153, 519617441, 274466545, 870367529, 826380759, 214879848, 408793383, 648714279, 154319004, 137941842, 997261954, 995012377, 864516523, 625288809, 938910914, 358637819, 420005113, 207603246, 319325283, 624219645, 544770453, 955157699, 762749161, 778107858, 251096863, 390807835, 591973570, 166589130, 746728640, 913194840, 213011366, 99301692, 141196265, 999011113, 624876274, 481496551, 653533016, 165579422, 801611498, 333425486, 708124114, 663242788, 218808073, 610263963, 59302847, 50335761, 447829462, 959665338, 787197383, 892287464, 611300881, 215628205, 76824337, 368733072, 36269821, 525963123, 350266698, 992926525, 725431684, 719947273, 234981812, 981432515, 509232020, 699010394, 128572801, 549033538, 274077525, 212911547, 335960233, 489772925, 269709557, 641535220, 127809423, 865712264, 110130460, 577528869, 58897908, 207667180, 621626306, 138287614, 573495493, 306559463, 893785663, 533136762, 871124318, 293405131, 766200857, 846770958, 19787182, 226477490, 169298450, 750217553, 964282697, 26397048, 821564074, 886916667, 975355379, 567210719, 436493061, 933199314, 750323884, 492132495, 290169883, 935928640, 516423726, 424637814, 579686344, 344303300, 744931176, 54742627, 288238971, 137395960, 517774619, 59927170, 390137957, 67203094, 73795185, 563862630, 618396184, 231281263, 21701783, 215322612, 52826813, 211478801, 32682218, 773322235, 692511349, 902319653, 92526757, 76679242, 215686166, 738012045, 983181450, 823870601, 898722861, 186210488, 595751003, 887579336, 983461623, 15232497, 456432297, 770664978, 339679272, 438907538, 869701710, 250069695, 743124252, 127695105, 625472151, 895254484, 332238979, 793582438, 777839702, 533460338, 587338294, 703962931, 44551879, 772490072, 652660020, 465437872, 850555894, 883543942, 902174693, 696059966, 559310889, 230707234, 663692839, 840515826, 673748713, 480216491, 772326700, 441904454, 462217611, 477776565, 389065256, 983219276, 360101192, 131706087, 803372272, 944682941, 750891326, 946128574, 994594868, 322360282, 329416732, 85931488, 476159315, 122332697, 126763171, 824277293, 356967377, 203404972, 922442212, 579025815, 900850787, 538227573, 754586069, 404513045, 684726733, 490510676, 412991403, 480547014, 70622333, 295987730, 499140095, 63512260, 249733668, 84045237, 959707464, 729649468, 605190395, 105033347, 144110516, 991914875, 859435091, 365344319, 713186044, 180512118, 857973154, 682250346, 696171788, 658307059, 359885463, 382971396, 421083295, 886182393, 902127224, 915616021, 548437519, 598149201, 507187524, 174040477, 808476686, 77834794, 461522928, 262355632, 522669803, 335449215, 12344011, 560283148, 70242638, 542793268, 630477109, 466798207, 707412298, 303362170, 152743856, 849447773, 343485451, 716755372, 960717007, 858076835, 753853480, 143817787, 582379806, 418167709, 56850599, 235028225, 304798609, 414139516, 921382504, 292545357, 466739234, 756533243, 504300972, 20538931, 109977870, 776184207, 782677067, 311217269, 889777983, 845703241, 230772844, 79927160, 546160267, 559139634, 234038095, 848458913, 365557080, 192597865, 221084220, 915374099, 618522471, 755688657, 200278001, 730684197, 792221561, 304908950, 399139338, 685972229, 952470065, 616526767, 497182761, 344092685, 546668950, 248542600, 539788582, 742916987, 594862627, 911419315, 800171600, 398364635, 478552640, 97992260, 204760887, 996432096, 295503556, 335828966, 233636186, 862385264, 195577538, 50656123, 806728264, 135885444, 993501269, 289869646, 727305466, 585046257, 444069098, 997110100, 341557722, 74926372, 470113288, 233798917, 80521537, 377961569, 845208289, 837671370, 785382106, 69753457, 180178095, 839867310, 423972486, 597343092, 835221705, 808311975, 860480124, 956279837, 287489722, 564872613, 541965938, 840430320, 863667911, 154773819, 893689071, 348961068, 40880187, 786226873, 561830097, 564037751, 239490051, 457640922, 92484416, 384170419, 267904439, 830103935, 164569858, 952482479, 888361381, 64333643, 737510716, 445118315, 460973196, 232959982, 804806257, 412380782, 424147843, 175337452, 925095108, 461139048, 41616589, 474965, 816287456, 354632144, 112445709, 823099033, 355233631, 661693619, 339421329, 746742779, 81105156, 560374469, 249826554, 659869093, 891540766, 543914528, 22709738, 414333522, 745390335, 758001171, 24340333, 842024285, 900448879, 310930845, 383572021, 659325959, 443256310, 166945753, 379732015, 460414172, 264770394, 850805944, 351269638, 104496461, 583662405, 291860364, 263740666, 99861950, 967121935, 904594658, 53991505, 360392146, 238245237, 625535224, 918106826, 153324648, 825357058, 547530758, 920486854, 533504541, 748379978, 856161840, 642482331, 902667851, 49884359, 227539349, 649889633, 392616189, 144286468, 780000465, 125916111, 947523546, 520627325, 868554154, 301237394, 654958128, 111620091, 310312896, 355697313, 983397902, 850744056, 122972190, 799151541, 223249452, 442549581, 404088886, 280527255, 71352735, 140667315, 648083682, 593136285, 641996359, 755458108, 914400768, 429088203, 835061310, 845200283, 20403833, 544177875, 379250484, 59275106, 357195198, 830697501, 624757267, 879444132, 542214564, 348680684, 543291366, 738278077, 598508434, 587475164, 914802512, 116379040, 913929427, 758748622, 853742878, 880834611, 581860375, 653587901, 540544358, 587849787, 921343844, 460606640, 432050813, 927722583, 307994109, 239828610, 591539344, 25296143, 39679585, 498364831, 579625467, 446937918, 997834819, 959206672, 712375772, 845147255, 681696522, 884177783, 640582105, 73836679, 375145217, 691627926, 481723521, 449093070, 633899966, 909630659, 602199958, 714754931, 631467667, 757635798, 614459751, 381104137, 589861522, 124778192, 791017942, 877328107, 166317966, 722066361, 815635825, 390238209, 480618060, 511445638, 898629859, 461146801, 777206082, 333053647, 767231585, 26492687, 981131353, 30928290, 664300008, 104901180, 750204317, 141383110, 850255929, 18478759, 65459105, 199851284, 83777132, 906647640, 377303666, 135216448, 336596530, 429976255, 675186376, 786807100, 909425014, 127598517, 7868213, 740205036, 710001884, 657344673, 182250567, 382731679, 14011493, 626176956, 352368980, 676303812, 328360043, 452006176, 221520942, 91400497, 608258300, 950075522, 819015029, 403109926, 23247242, 603842417, 195773082, 442966042, 687512311, 12628097, 470411085, 450637694, 463430293, 609155581, 595731906, 211826223, 334066951, 754421833, 540252933, 783524892, 879836020, 647492485, 828960874, 268930207, 294707949, 144549811, 185317065, 705191929, 354033538, 821072274, 258965553, 248732444, 281354557, 711090267, 488757129, 951503952, 347872590, 118914488, 815155971, 934017617, 951872956, 835992929, 708381703, 547125692, 25471700, 102173587, 439235225, 507802378, 228116071, 283057351, 639853104, 481258905, 249837087, 945915, 38758654, 120196900, 524123861, 726572620, 13481323, 274937676, 11881150, 959409505, 966702153, 339779162, 986596906, 773841915, 661818140, 791067791, 283582863, 616149015, 629349044, 865008275, 164737937, 733553649, 729172867, 201024076, 480581233, 382408723, 826542926, 488572183, 410643063, 802781188, 32278609, 68066016, 882491117, 262273299, 555943396, 64822305, 189230499, 609250760, 721895007, 913716159, 674829952, 906038028, 678816381, 138008787, 588152000, 514947690, 700308003, 457027407, 503329911, 388413829, 547589986, 480109598, 503265029, 731912843, 454697932, 21294167, 326867853, 42453708, 9146784, 326888040, 671480409, 650113462, 488222809, 347291108, 619143504, 32701824, 988414170, 542369280, 734919344, 527990634, 440218317, 392645986, 786842357, 578543860, 465435765, 47179187, 264471922, 936646888, 956648781, 338169932, 834297025, 652896177, 314636558, 965086547, 364643106, 979052419, 87132081, 12951195, 122797441, 154241724, 79269452, 708530507, 119418238, 862909295, 76364445, 364776869, 173996180, 582730116, 976504636, 538772575, 904109739, 802920701, 395879055, 935754910, 183523144, 150864159, 903547135, 222312460, 194234896, 371424665, 80538952, 962276464, 450269868, 95388543, 41935333, 284744749, 286712847, 922136979, 499591011, 678208413, 854678741, 234712577, 94215650, 214904771, 861941702, 23730329, 209402173, 558699645, 984243872, 64494537, 949988674, 110861021, 119212367, 687393740, 135788784, 232780655, 278979160, 323691430, 860641808, 977533792, 156471423, 661214080, 2071703, 280763626, 449381919, 148048904, 409443496, 359584444, 787199249, 175063982, 453437282, 613712341, 622882161, 328495386, 546936376, 431247496, 616137518, 143627385, 86788103, 709724121, 29648427, 423388487, 878163249, 826781335, 786945471, 946419168, 274026370, 286185460, 270783044, 685421032, 610198292, 900371953, 754158938, 516068459, 517809023, 778863602, 990946487, 160879958, 831519452, 999312922, 473008975, 345009968, 645601378, 615962872, 416275151, 32931481, 838121227, 385571673, 844939878, 647787336, 783438416, 138763721, 9966478, 819644098, 605656843, 770418581, 707494477, 650258294, 975857849, 693802647, 211167174, 549900043, 817335129, 557631529, 510403268, 894504134, 555711899, 895765930, 578588595, 163819510, 974928488, 704453562, 280053367, 290812253, 402898250, 660670088, 331912423, 653159869, 574727029, 538912541, 807598688, 729402315, 818011523, 656545078, 110330286, 194683959, 933294786, 436940312, 8681025, 595409867, 526897508, 193872883, 182977284, 764304511, 927187135, 972069407, 43229757, 385284009, 244951313, 368465490, 623323379, 487029659, 454309100, 656323285, 460333660, 982193805, 27254183, 673884854, 813159856, 913873182, 420402646, 487823925, 108260123, 247985550, 223015615, 834504043, 994480531, 659116877, 914609741, 710194069, 429465332, 627090163, 149910635, 557408070, 127654339, 368570949, 657480261, 1347630, 822882019, 606166312, 685310425, 926412515, 630692959, 953982953, 279075524, 195951492, 818573346, 478662779, 421557369, 968021082, 875888925, 600381374, 741090003, 759696595, 613199026, 55829989, 198761255, 901353976, 259751396, 840348268, 564069887, 851762254, 235352609, 151051345, 361622794, 981757902, 347250203, 696785207, 383249412, 276909202, 948256886, 48126879, 705157123, 710072073, 220220049, 483402616, 633040831, 338740630, 839873071, 257658255, 761806977, 748919850, 567672631, 431682065, 644085549, 733593873, 957626736, 687108897, 279935264, 11352763, 629397568, 710390410, 657739107, 928192491, 260770012, 870649091, 11701302, 742618168, 417171111, 774299488, 772226129, 295007955, 790452609, 200934203, 622556056, 309132923, 4425365, 395954888, 772827516, 335037593, 574861291, 635736675, 887885686, 991802019, 448038893, 812066711, 940154710, 132375105, 577227275, 840997838, 849709061, 637332755, 186191923, 243238403, 808022933, 991470751, 4709887, 317733867, 558381780, 717826435, 410393400, 625373794, 572335908, 385996784, 756589863, 963501604, 402292530, 680082255, 705410897, 668545920, 389830212, 806628666, 394435539, 844756419, 909160677, 598413113, 723150457, 674217830, 292053070, 314675813, 925685437, 962171891, 768203803, 910768215, 489461991, 308015580, 178166156, 679801691, 444846104, 735644954, 450896915, 493112768, 862821487, 256088596, 185660198, 193181529, 123448724, 831287986, 197362532, 920205626, 424007745, 947926143, 494125578, 5064911, 335953935, 636492864, 918274917, 697626045, 187020035, 467928777, 11073031, 822299933, 618802273, 478065421, 467127677, 310224832, 744067484, 84858741, 210806237, 498955120, 317500496, 840338078, 646234957, 602486748, 864407726, 578704230, 611162643, 5232976, 371154387, 6770694, 28598069, 652648004, 406736124, 861706425, 39083165, 773333959, 48884928, 230193251, 760518353, 912522897, 646169827, 199832419, 736750718, 529533277, 112237364, 343804827, 732095365, 223874847, 449969402, 355592312, 698102734, 786765055, 225167008, 4730154, 900946529, 916207619, 575081360, 822461762, 978421236, 795001971, 16171599, 572170863, 410566595, 715053045, 324487550, 747048527, 786891049, 397952857, 439341896, 58597725, 363563197, 520254857, 360926290, 195837709, 868638030, 389652478, 802852737, 495785544, 35901785, 263047433, 362055283, 820482975, 807304117, 873101278, 442262375, 842635548, 87876171, 409856892, 93652609, 496243696, 286751822, 855956828, 198187073, 239929120, 32894340, 722729906, 78177984, 655039801, 505125307, 437408484, 175461346, 323772880, 548511867, 149719697, 955366456, 855219030, 586670675, 920361661, 372836507, 639216943, 674334255, 137098290, 756365980, 462727242, 815936376, 562238743, 909826688, 415793992, 933444202, 247036458, 956210076, 763297955, 548926491, 291460369, 348076874, 683962857, 201285444, 783038243, 344623185, 248139908, 931688087, 668946762, 848587578, 716098646, 237635604, 373821548, 728019351, 425882194, 5011389, 248035237, 896216518, 478795458, 595187072, 915620231, 922484686, 851482681, 908009764, 404826895, 708125518, 34746616, 146692740, 484382348, 575570212, 302206602, 535987930, 65321970, 460775119, 362542794, 793419100, 55319110, 494578839, 305093638, 344725915, 817890674, 512582922, 427993145, 454491279, 202431434, 370396116, 930249966, 2289139, 827417732, 24261349, 409893958, 179094665, 756327490, 725151049, 247689880, 773216845, 478307297, 547592843, 325996376, 864820270, 654057684, 845466979, 126452300, 597476025, 979349416, 517915816, 631665294, 594883648, 109423481, 286466428, 640680687, 617555613, 848321094, 710825700, 405314002, 403194370, 914120635, 733524281, 792884111, 463670956, 734565033, 159081379, 217264677, 370454111, 490311271, 673824915, 89575507, 339999072, 477854616, 375254997, 742801556, 63925677, 654814473, 47109205, 318511002, 507780955, 337215530, 665226574, 597655788, 35247021, 156082055, 575068855, 377290217, 519213453, 498263040, 109713142, 532072563, 394548443, 951154873, 699177434, 32564925, 418651286, 319113944, 166120797, 996330305, 828628302, 149129521, 484090598, 366242404, 540595489, 469623786, 270630897, 100779746, 780294391, 862550070, 305737661, 225125440, 784703718, 874127744, 692176522, 254262825, 818730408, 784882181, 726853518, 262578715, 109106146, 603343672, 470543489, 179874961, 946162591, 534649896, 548640771, 47551350, 231865097, 984178930, 409425540, 751905120, 870005548, 345307439, 278842007, 18722650, 345433269, 80852674, 844343801, 763423394, 745349846, 696036947, 591962855, 237232675, 740785516, 818276479, 187081789, 767337664, 194484725, 699636270, 646191506, 26624627, 263996166, 833736861, 784581644, 978261863, 635517926, 758242247, 444535971, 25222335, 523238229, 583883153, 348897548, 794862425, 557114687, 269102736, 540293969, 569691253, 130806796, 535987426, 690721611, 983355380, 130018909, 707534621, 409741408, 327927264, 43734934, 657027363, 659888297, 3947355, 265285192, 406659979, 703510342, 489181831, 877190341, 37694116, 655190706, 839489563, 195246241, 880724335, 898620660, 198193916, 894334543, 611323986, 442977463, 797768908, 364293852, 241731159, 834045023, 199145946, 297594304, 912932004, 425989537, 91318375, 424126656, 811070174, 141151443, 952758768, 460894080, 876450525, 974959904, 306919725, 272486579, 765029771, 481020138, 531084608, 453017525, 237479904, 107500604, 78168615, 54941836, 598664874, 74362579, 802828440, 460716433, 430442512, 796760507, 28256243, 831037913, 157804242, 874450370, 37895034, 734881013, 72014663, 139357275, 140370467, 268051379, 7876606, 942271573, 314588061, 573834500, 247399371, 332543935, 784183302, 318190173, 916375726, 741462589, 784250305, 796969296, 820670343, 820907556, 689397978, 772078145, 398278375, 582849406, 309328553, 190284599, 980348546, 349514670, 112223723, 432720082, 807580949, 902357137, 616195762, 673376148, 922721218, 985227134, 30556301, 368849356, 588228558, 743527310, 958767073, 855434560, 895894409, 9086802, 200077655, 961555902, 665118782, 944587005, 905940122, 861038030, 232874066, 764361621, 172678359, 289370782, 48857559, 886351551, 627344737, 762170072, 499139279, 902552824, 508366408, 558041833, 61187660, 652366157, 498075817, 278759818, 344366143, 132282024, 172178159, 318340497, 817171603, 228422194, 195223783, 739342644, 905996904, 758469412, 939192543, 822965860, 845075984, 574828720, 142093169, 932140642, 328013145, 230079448, 48248039, 894601704, 718549992, 609833190, 216199602, 335186484, 377671944, 218683168, 476691275, 592997279, 461272243, 614703, 456097382, 919438311, 174631719, 2627169, 855714765, 33825232, 62858257, 816583182, 693009512, 897565504, 90943775, 755083491, 260914102, 264723285, 416285007, 406780651, 403731766, 467848056, 227141837, 277780951, 20906353, 692178090, 840010256, 23346905, 669843674, 313679505, 790503898, 147367815, 734186435, 778645143, 596024197, 79425258, 446206610, 32909333, 876484982, 561528630, 886514332, 493015323, 30034616, 308843415, 431693689, 530585186, 823347243, 120282489, 473470779, 161061153, 258929290, 181837479, 517439020, 975652473, 785950344, 42463348, 771838404, 426511127, 849224856, 795085730, 135051848, 907145255, 173539746, 946030623, 677511194, 184308488, 43151480, 808997113, 660349209, 189770305, 52855623, 36980669, 974283838, 349107438, 383013069, 714242568, 744267224, 837262667, 323527766, 935965346, 132596850, 929224523, 556545518, 676304730, 969877663, 286564462, 420272143, 759021389, 848091427, 859607251, 520674571, 885838469, 567520453, 905370359, 918543629, 587178673, 827426806, 858678841, 331796189, 204949453, 797483590, 126853791, 154208528, 412941420, 803319506, 986729142, 584728311, 99034298, 764764566, 896503638, 989916120, 796066562, 732248577, 848387734, 546625445, 678318266, 493626821, 3944389, 480044915, 52532828, 366218135, 546673991, 636742832, 875895896, 447061606, 824938798, 749631420, 617642922, 730830474, 322399925, 935422515, 633041704, 340214077, 41403362, 502074208, 616547841, 424215941, 916644424, 731498096, 818203095, 752143458, 698494887, 676656145, 540266667, 514347820, 225607578, 391994913, 348879882, 513252694, 985253570, 31352969, 394664314, 861719655, 296620093, 563459717, 290199721, 975479397, 650533234, 973974974, 837623523, 766780483, 969153794, 981283803, 202467825, 579800496, 712685468, 765210083, 399362641, 125831690, 263105777, 404946918, 193254241, 313395660, 337786438, 283612033, 484964930, 186662260, 956931844, 101477532, 462849235, 767101958, 84941343, 181751191, 140397173, 164644284, 879539712, 244673134, 681681602, 928007252, 885577776, 628355063, 962733311, 986007520, 299592377, 410760382, 349351353, 299933247, 683694015, 670147828, 512763525, 75944138, 30227491, 919323166, 857970377, 148483262, 585687698, 27901603, 747446097, 100371095, 289303555, 760450418, 596696269, 671743237, 741082799, 978973874, 962532192, 499346244, 220539111, 441520563, 932215426, 662739873, 583424653, 86910675, 103935424, 66726562, 896761904, 762209136, 812506079, 289435474, 583148290, 604403923, 239021555, 67838799, 798636339, 827766620, 366681248, 683876674, 644084357, 469714187, 777323603, 691626598, 399931086, 950039388, 392733493, 642441462, 18032364, 48453198, 326641265, 786272102, 208613657, 221594466, 8686765, 977565473, 941153533, 350708540, 138296671, 456203027, 14685778, 374532398, 562325812, 848423513, 521490047, 964948124, 889473659, 534848576, 942168553, 256973425, 662756944, 822973626, 205462329, 888053754, 842566964, 475360093, 228729959, 865907086, 267293435, 917848698, 550054086, 397767725, 856902435, 280076064, 605790430, 551148957, 66274456, 229042976, 251386954, 136272476, 49648596, 286146751, 719926080, 973168943, 72562654, 616026379, 369129593, 984229750, 17956609, 399670373, 509474189, 150932177, 136391038, 368584989, 60035855, 693236445, 181821714, 195233935, 23536143, 339057040, 909872572, 560999843, 488575443, 632858664, 364571740, 252642413, 564277631, 870124681, 51390296, 383989009, 935982791, 284509791, 97384812, 190860232, 176974032, 683727535, 622668470, 56039712, 355659795, 268202913, 734833602, 492758569, 942441731, 838581023, 492990000, 732888700, 724137377, 293779660, 592146930, 367256954, 730312721, 109184765, 618280476, 372579170, 834218223, 221268818, 716591740, 843341221, 576775885, 852365513, 570176945, 443826090, 543384607, 929782707, 328465883, 525133797, 919821920, 66089374, 955579521, 571936661, 768667168, 103287542, 28370937, 969988913, 797654289, 281895510, 920018629, 478158025, 703104729, 172377068, 835466069, 992699542, 288693589, 882883197, 161546585, 405118615, 682273955, 927303051, 298049161, 527007155, 674153709, 21843773, 751244316, 690773148, 922895710, 969707894, 414767555, 912965189, 67651221, 281287403, 582636448, 56143811, 300010947, 270361871, 699622491, 831931409, 718076824, 68024493, 836927427, 315092308, 98995000, 965315103, 570292365, 619491193, 163544861, 976288530, 670012917, 238002325, 621729634, 335190230, 681273047, 605749486, 427534072, 343253490, 182075370, 275764306, 56505685, 492357572, 504187229, 228684906, 655472114, 915493178, 103766935, 645858907, 411310098, 112823985, 673867566, 651356946, 295808386, 543316798, 163073322, 107144442, 289195616, 2107044, 3795395, 235298911, 141993309, 992947252, 28009919, 587860868, 591578923, 377404852, 933311984, 57033859, 917880823, 639490082, 409473567, 366274517, 471019264, 994915205, 603988712, 188510261, 361500049, 942168154, 988254570, 135550486, 778286378, 340701354, 468999423, 558215631, 355946869, 65561408, 890258706, 869162746, 806871055, 635051518, 281279541, 158999428, 719878589, 117804058, 786456710, 126733765, 236879430, 802687938, 317167343, 11757369, 357702196, 505411909, 45651392, 251354690, 740558927, 212294873, 243626263, 947817226, 486535379, 957313146, 897165285, 372378261, 724198917, 869711557, 320187922, 58883500, 78699875, 390771313, 689632581, 282826524, 645046886, 576654774, 153247942, 595418006, 408638202, 164025810, 811245862, 900750333, 195053911, 722946796, 336560866, 57620004, 733001413, 57876257, 800783930, 971785481, 397134871, 406003480, 74821713, 276407648, 648321919, 297191957, 360927124, 485500953, 40731562, 671840855, 518136643, 615296970, 132959349, 915132100, 21810649, 732601240, 19994949, 747226054, 71202950, 372525801, 522223777, 521789245, 601338768, 833382839, 424925084, 323686002, 814237323, 923689435, 914889424, 72112146, 576164146, 867812782, 877238604, 47901347, 570446374, 565305384, 991894381, 754784513, 1187047, 38650824, 451039798, 752277519, 29151843, 819634421, 469869448, 443159706, 940675119, 294040269, 134289679, 798144291, 600974898, 971167082, 419129, 16741108, 979969792, 809060844, 216487030, 943591016, 788670753, 751436159, 377478613, 554978868, 806106222, 10623866, 158171907, 384699064, 105949846, 8864126, 918017177, 955682349, 192306988, 133074529, 234821202, 133614500, 847432739, 568188052, 261202293, 401846120, 361634287, 171138473, 475488697, 603732788, 775261, 107863327, 961427408, 358708879, 322061287, 417453059, 385107884, 394484216, 738373754, 872390402, 676787969, 469708575, 437222586, 515609309, 497304428, 305399866, 59142547, 490864291, 940944629, 173732341, 433926855, 457312810, 624902973, 815792086, 310831741, 278967546, 514221929, 334638437, 464269302, 818793090, 880801546, 775747311, 314821589, 670381177, 914688132, 448466201, 271181424, 407131480, 299857647, 866156944, 427500997, 102306604, 377206416, 20857442, 398506547, 529472835, 285738106, 135583258, 731603280, 857796280, 162768217, 360745011, 231271675, 56443872, 681274751, 654701921, 338431859, 850175142, 547652500, 28746751, 184435689, 740706339, 756575135, 357537732, 224922788, 173533823, 229757531, 588128478, 666642099, 87954856, 201018223, 265666019, 752971051, 521795201, 314045193, 41428854, 409857694, 320236217, 851158188, 472870649, 32380888, 249721513, 350862839, 456110674, 659941271, 586820836, 826960656, 957951465, 706504393, 397991019, 40661896, 276920215, 932984596, 109086899, 677607674, 339997570, 173473237, 410725764, 422476431, 863859303, 174507868, 377861981, 154194942, 249429074, 166390859, 935659756, 774659201, 126071570, 308383311, 586452756, 725847521, 349179484, 163193630, 309604934, 203308724, 116014335, 271684186, 23567001, 729502236, 576234963, 120621319, 961526464, 594972192, 762393225, 617259979, 505728076, 320076135, 55120590, 102135063, 196213930, 92251486, 504034235, 800076955, 706408217, 396137265, 149470059, 407059662, 875890091, 693749821, 735526466, 953540813, 713267956, 619977811, 955091810, 919440688, 434273738, 611540413, 414674670, 624480010, 566871953, 837201712, 164634197, 42265780, 803372590, 279552809, 505241340, 899675342, 542269805, 469693895, 355636787, 121529538, 652758308, 242548499, 949916224, 983552555, 511229721, 478775477, 813611, 552638847, 725267427, 943880929, 916485804, 320685697, 221796871, 514614262, 253889109, 993327581, 241789664, 611121795, 474455155, 726163642, 892612089, 565940493, 553962896, 917654739, 646291247, 917338777, 255461090, 463898039, 338220488, 350504813, 597039642, 119389938, 546474728, 175502914, 831976034, 320481678, 930091652, 508451223, 974564568, 541248616, 959885362, 592818677, 120196651, 618327585, 865354336, 864066939, 599182777, 501507087, 906702472, 672940662, 155285980, 120912703, 191397987, 250339151, 579618341, 712645204, 603651731, 244157862, 664246104, 71221181, 105643689, 218715492, 25311092, 105427338, 786713745, 586693469, 422830465, 160607634, 882546366, 732737693, 539510353, 161735825, 350341600, 720531693, 87121772, 406026658, 784420869, 899179002, 102539630, 207298322, 537092888, 716258125, 312960584, 701307131, 384821102, 80107101, 334811902, 168835772, 652877622, 890000521, 371332982, 2742244, 570882684, 796463148, 183647927, 899773192, 926008589, 467569120, 693789804, 120902429, 901650513, 561964081, 561756600, 531239712, 708661544, 876830631, 761809281, 306130445, 836612080, 165369806, 976354277, 78544046, 116017506, 683768288, 168083514, 803179882, 569047152, 270351961, 477240769, 469534981, 913629309, 414934837, 48138906, 143246149, 779551107, 73453966, 915430223, 761804852, 603249934, 620271014, 590112904, 268398688, 711955773, 997545170, 199201431, 543446609, 550760662, 268250062, 356077868, 899062406, 466590987, 586356097, 773180781, 353202015, 449715803, 276978364, 39249969, 788827595, 618101368, 550642920, 578611928, 205762115, 247764232, 361814263, 256715498, 611606543, 404393354, 710961374, 621276986, 908699812, 201722748, 530238327, 280506627, 636204193, 791461402, 851973300, 326031577, 302018101, 997074043, 967551734, 710687598, 587750639, 310071639, 509877004, 519984406, 767862703, 495911097, 430872100, 974583457, 129838354, 238503198, 767868650, 587314842, 216805005, 549184861, 275355304, 586485732, 524843720, 716909309, 928126306, 851915662, 487496233, 951542886, 282540906, 222985185, 843389946, 894422466, 564762374, 216088650, 408079458, 266026140, 496588011, 33003379, 388837550, 24302595, 898272873, 293912251, 278588652, 397326193, 159668465, 242624444, 328204162, 848196588, 309787031, 682207844, 143601857, 140271404, 43226737, 522226928, 372634982, 308348442, 574420304, 382331688, 696093377, 970400925, 41169972, 978034937, 454171059, 480319081, 602187301, 512417967, 779077812, 441364958, 28910226, 924104077, 177094229, 270487780, 333552580, 963331156, 939290114, 952241563, 395832605, 692787864, 558331379, 327081242, 391611375, 809521804, 237531886, 366459471, 209896237, 864486060, 215630970, 557452256, 506606605, 444679169, 491494307, 224350302, 158153433, 142291337, 492092289, 150324273, 851009708, 680616732, 873194541, 211484477, 583738969, 612654921, 343699211, 929555658, 567628910, 926432828, 155979623, 195867930, 922799284, 326367398, 955876235, 451161437, 501350932, 94644791, 472496785, 481636830, 664517035, 275454361, 768220368, 38835391, 484574707, 678323638, 459065037, 432639666, 83335427, 272149678, 782556396, 372082973, 840592905, 224174883, 386029478, 546665159, 567485579, 21914190, 180171506, 244247154, 512883809, 115990778, 143905632, 96061689, 917490236, 102106574, 75979488, 141212003, 570166799, 865086819, 74382189, 430735109, 757716505, 897847944, 829528358, 903967672, 905920484, 938013193, 741363051, 399978041, 427716928, 50345686, 484899487, 976569989, 461470313, 160483797, 809224039, 686420759, 674971631, 490986146, 934890225, 856439725, 77975767, 748508429, 684114539, 352815443, 320612591, 744855855, 501310938, 800230580, 884800858, 564060787, 17058755, 641469942, 622254637, 283135414, 165827412, 151175336, 600756875, 569914803, 932596079, 508884848, 716814455, 596956319, 501579814, 596574955, 491522029, 580596614, 211610352, 263026478, 324246910, 929604232, 208772330, 104402196, 739259197, 353053207, 278259720, 817588089, 973571613, 130537545, 662437343, 954432168, 549136825, 992496403, 268564500, 329878527, 615800431, 367828216, 670612273, 568280376, 711866258, 912190479, 491701710, 623431649, 852021760, 313945247, 905717527, 35062119, 206933454, 94495628, 944321307, 975759366, 568860347, 884626024, 424011386, 984483725, 951602441, 638349264, 849533653, 573887727, 311702751, 748605202, 544551888, 901293651, 104394550, 100805236, 894561185, 700554398, 622082641, 441097128, 755361938, 365539748, 219802516, 164738668, 672103036, 23523275, 27789033, 635374473, 990935768, 536850078, 439252784, 588085223, 964993323, 773868878, 753278210, 692935461, 879967056, 614854687, 498178434, 323218587, 673243105, 470169938, 625526596, 779732292, 665596392, 191639740, 678638860, 46525277, 592358852, 822575103, 899025327, 635347619, 967900580, 804644864, 785618817, 849864214, 698097473, 550192525, 135775819, 477941113, 503660929, 261553498, 624365628, 454753681, 919826953, 169150254, 358811437, 563867888, 14911762, 147963365, 932321497, 304527985, 388578730, 404942649, 617950553, 174685889, 207221308, 60162806, 338981772, 857405023, 777824389, 326220665, 18437048, 971120645, 280654308, 806928126, 655449845, 699166798, 419234398, 331807962, 690771261, 578189396, 145972748, 27333158, 796177149, 588471533, 727216741, 53484927, 82458987, 591295932, 755093639, 419554199, 408943805, 604948161, 737017078, 531540292, 366790169, 132225846, 339073083, 138996450, 34690360, 341515744, 30774399, 715985584, 756308896, 301579476, 748493647, 367573986, 855218649, 437274382, 674303425, 308379419, 733883013, 965246445, 460872311, 461589482, 161545415, 418934383, 822323141, 646921568, 617794369, 302812498, 317793029, 409806231, 521465132, 52026319, 332751613, 577076278, 858884698, 69757934, 103366304, 783221366, 404162158, 334902029, 804686937, 988834311, 518667822, 264888352, 193307291, 628981990, 690123561, 853959911, 220934913, 973149508, 226730506, 699958797, 411775455, 884987748, 894013240, 484192006, 119662546, 489139242, 512063155, 649597235, 555936373, 257628835, 771630142, 912609895, 565969395, 514444996, 920735895, 226042092, 303663588, 475309306, 476941494, 689905221, 288520908, 931439114, 406591624, 42505209, 900978632, 226850458, 271791435, 283719978, 3106821, 188971505, 145018909, 245880029, 607563240, 878491743, 573223474, 154826969, 780928827, 166079119, 258929092, 24592534, 875306908, 69552248, 946610897, 493646751, 666962616, 984862986, 136970142, 463487480, 975425226, 701758601, 419439657, 165525326, 65339138, 211518259, 108322712, 698719707, 929919034, 517784236, 722097724, 210871344, 483562513, 685574273, 589959953, 942566470, 925389566, 600754502, 836053562, 722206656, 129817768, 552023295, 869319349, 112451216, 996577078, 16835036, 160554981, 950574430, 393043221, 148512399, 975101248, 833155862, 914119705, 4036308, 729199907, 341574250, 951342826, 228906626, 490131656, 761497358, 96622565, 670781396, 785818848, 520055788, 714673050, 218714308, 684020251, 22669067, 576366061, 433288125, 85852601, 882389654, 56178194, 319316026, 856771545, 430810084, 391558464, 230378167, 782393375, 351265909, 349300406, 779896086, 141099240, 476420758, 905551323, 673887941, 766810351, 74812369, 948191192, 473085361, 968766941, 990960176, 609309559, 167810478, 860520187, 52162127, 624449606, 921515302, 364114625, 539504115, 239890614, 228716810, 419815475, 254399199, 885280044, 410841802, 611102918, 967249707, 634997549, 967982358, 701554108, 740349934, 797815307, 840374596, 436968798, 472509319, 696683647, 6152021, 164251829, 740708045, 273966057, 198357760, 206293746, 255960753, 104456100, 766811499, 19862551, 219008260, 514425160, 820557674, 367800095, 88759210, 484102328, 39482897, 187222611, 256714466, 650300099, 317113002, 497613180, 630203670, 902651476, 452341843, 123992258, 80735332, 328200234, 922955125, 189456842, 233610051, 601670867, 265245159, 330465245, 854637433, 381401116, 657360019, 521564191, 308233575, 327620639, 637019109, 717818448, 373639705, 953895768, 710523831, 668165794, 370451785, 9138972, 671530837, 816126691, 978121873, 476195361, 200776730, 996794983, 51118750, 406794786, 630333855, 798548339, 766487967, 524650457, 892398748, 48135947, 872238471, 58031394, 525789982, 921831313, 688945740, 322671598, 877563260, 137780771, 121159840, 261988283, 633450692, 304167892, 657521186, 938550401, 124762090, 78941753, 449429121, 937487503, 84488778, 929078393, 280264072, 471565351, 796665750, 532387232, 953548792, 320488092, 266444235, 116466812, 256021620, 450806476, 811330261, 802472804, 220143018, 859931165, 594325490, 200663936, 313302773, 265760340, 907766603, 113503065, 735135635, 641901439, 67602527, 411211509, 638713002, 919513985, 581778092, 615393207, 54877925, 827297213, 515345324, 192981523, 580126379, 815114901, 742079147, 177975250, 523695572, 951983555, 793429716, 163691444, 336656214, 510849601, 837169620, 111201192, 858691094, 392155389, 374275123, 634290, 323561645, 853434136, 556435690, 482706652, 605257329, 934679915, 792641557, 247416191, 266525111, 702912459, 264473513, 942618405, 32181578, 198949487, 598140055, 743644421, 835491759, 506625884, 408270820, 228562718, 138880045, 872924870, 932022060, 936726917, 520080590, 23568999, 252099473, 805998621, 526584622, 34737788, 822428170, 84028087, 68867588, 142357534, 365510455, 23071523, 681796050, 748218907, 834642983, 19535796, 215191810, 225340285, 332840744, 897885666, 91067320, 20684354, 878803567, 741951943, 78772888, 113847746, 845192716, 886306773, 355919892, 581370172, 491771863, 936398042, 490357397, 931425134, 944396587, 684354926, 760616061, 341221281, 414258299, 656100134, 347959081, 98519118, 68342468, 398606701, 14676702, 660125467, 871027318, 794589459, 713736331, 283744239, 437379959, 7085945, 831696281, 223466321, 938270093, 428837585, 595168592, 647314842, 446587393, 176515908, 482974417, 232779027, 464542620, 593604069, 555636281, 409374461, 896037054, 208065022, 530176816, 978904836, 920822606, 1239756, 555725632, 371653656, 210392762, 241834773, 435810994, 358086204, 617050200, 857459696, 134397217, 340946923, 513717136, 802821631, 919677833, 523363049, 707419199, 687642996, 61622971, 48520082, 878913118, 951830494, 13777429, 779732680, 321443156, 248977101, 753986442, 207429503, 442382841, 139120549, 616961314, 91944724, 201869133, 948356925, 622934422, 6204350, 17344010, 724387193, 204638190, 223065429, 454217191, 917271719, 810317542, 691037849, 554113491, 737110045, 270072231, 690788569, 377202097, 952151623, 490026433, 787685421, 583283935, 417278, 516609488, 436251667, 894485671, 732129755, 455247357, 596620654, 938263222, 135829870, 532487696, 385065821, 539737447, 823841812, 261784747, 614831351, 702227341, 295484724, 17512407, 101456147, 757809675, 469474851, 569883333, 461620126, 735988135, 668963408, 7755703, 929713752, 229276094, 876275963, 594679959, 499736447, 381052970, 378789681, 88027931, 973454414, 834900031, 492694300, 400784978, 939057194, 848833280, 382955825, 191112104, 335216757, 918906744, 62550272, 687165894, 659136165, 589318908, 331637564, 757596907, 913890103, 241523629, 78211832, 910286449, 685562643, 878794896, 922431718, 57959991, 303935204, 15103344, 195192968, 116798884, 833508784, 448375292, 157828459, 360122626, 885286267, 76945103, 222837635, 848589929, 502589551, 521299290, 376035506, 902542112, 631418562, 743794544, 702118159, 995656052, 490409924, 456802123, 305407124, 635596769, 997284952, 665812048, 8329701, 24369843, 283990605, 296847530, 963072906, 494495546, 219282896, 560560387, 402389552, 276804294, 241358076, 15803546, 648026780, 366402411, 199640408, 350605665, 264721924, 144123900, 27006259, 950677088, 839035119, 664308622, 953765663, 541167649, 628759679, 841520792, 559956966, 195415529, 573523937, 237284961, 381409619, 896272923, 604542623, 684178960, 706359492, 222507577, 312872783, 331930453, 322218368, 72469788, 274757536, 918028663, 869042624, 950338826, 152162047, 483063604, 539626171, 425947499, 914739346, 486603918, 245691451, 124935399, 689959321, 966354417, 132611815, 375192125, 848966277, 775697873, 801638031, 205866693, 713732188, 241810491, 537604945, 907633848, 371625745, 518549017, 677402552, 960735620, 533330242, 740863329, 880471869, 490743851, 830998687, 370243437, 635382824, 617068140, 887005491, 483309209, 336614345, 128532653, 742467330, 237025143, 417875167, 399409772, 462506798, 349296626, 829936846, 164412173, 332240861, 858420264, 786772621, 29735982, 799338638, 124334676, 51932485, 540976814, 584446855, 56638045, 241970043, 991717996, 311139411, 220596428, 268997182, 155181889, 294624351, 766886184, 568998679, 694903996, 675956280, 137151731, 921046196, 992706325, 933823023, 897381049, 517898016, 843753453, 1968830, 191153685, 710541562, 75284548, 994299274, 314115651, 389798550, 685286083, 423890869, 565206157, 496863724, 434707880, 975922439, 789000653, 926253507, 449328929, 826124389, 970879065, 230697855, 713663627, 992895195, 883406623, 114057277, 835844738, 218472432, 366195282, 170884966, 934121878, 482143997, 734547227, 25788933, 240471973, 442253992, 477527101, 81371439, 502491265, 175334023, 893019800, 654803328, 794201088, 724844601, 456586233, 506506554, 756655912, 483253564, 784830423, 432753239, 199634745, 655487216, 941090726, 474479989, 368824151, 22907039, 492840938, 196047417, 552736387, 478217606, 700874774, 901432892, 626197027, 988114320, 155435109, 614515103, 578305853, 459283413, 349783702, 939668075, 100843739, 732054972, 610203506, 253071510, 21566044, 454983206, 593627975, 747829608, 718086652, 769020319, 435286801, 611836157, 853858096, 158079010, 232954779, 315306070, 463608532, 845431874, 293787251, 358095456, 260992477, 335335415, 424623694, 764215573, 783521152, 678330574, 218053642, 494457794, 654172673, 770063280, 59358742, 64058483, 255218170, 623903588, 326275301, 480229741, 606792830, 5529457, 271807524, 907010254, 35765847, 964973918, 345695009, 882784245, 992242822, 74855698, 106049098, 473740916, 755252459, 688106389, 996003141, 960653471, 841589416, 831994477, 540192785, 138962979, 779252982, 875349872, 807793177, 428915219, 289341959, 683315668, 788239346, 714079989, 67651718, 263072757, 416053602, 668571976, 155854886, 887691845, 16765915, 336305889, 712676109, 989120847, 518981368, 358685651, 579690939, 311706336, 382027012, 855138134, 99839605, 285892716, 756555061, 996710869, 121350111, 807952621, 369365488, 906518122, 468316535, 203134564, 82499882, 156022470, 498426295, 368368047, 332614104, 498467743, 932053567, 135841586, 159308347, 488509076, 714059160, 11702990, 301224183, 290305639, 383389671, 649995454, 83077932, 989055286, 605765668, 242363203, 409380954, 662814323, 845944242, 431766165, 323222468, 256843510, 984577604, 968309850, 273372657, 728059789, 502677204, 86109697, 315461499, 678783464, 86927387, 725850004, 613702525, 580725942, 348390055, 448258023, 451513655, 787554014, 690236432, 63045898, 684738476, 203369572, 186756459, 791025317, 137244580, 841603836, 705294583, 506899022, 698273317, 71543734, 386412351, 103918102, 186534490, 105509852, 283333775, 795650368, 510891092, 94058188, 44688702, 850952305, 486756921, 388162946, 1430732, 579543880, 702477342, 578711259, 948219458, 58118736, 99123547, 760281597, 252611372, 552790701, 443608226, 64881799, 71767652, 314821420, 507944842, 624612438, 254714678, 672821597, 6175667, 568276853, 505496506, 493340375, 325994101, 352074542, 298183303, 346824192, 35755686, 561441070, 948327604, 527934803, 264997839, 554881648, 204699061, 691317029, 670809131, 160819002, 887191974, 311557497, 354787357, 674471775, 279001537, 559206089, 703131231, 58663086, 457364506, 134610851, 958396905, 990195945, 398597520, 474209386, 694244443, 426160597, 105407463, 158028732, 789517054, 19015575, 53335447, 208224495, 235057613, 837654197, 984154597, 272637762, 807196616, 976722424, 238809366, 574628139, 518054647, 348887319, 698793999, 712336966, 161106419, 106656258, 145594553, 372388941, 109945809, 358275283, 158986993, 992148767, 268017702, 212484106, 6543696, 694783055, 226956468, 70179843, 918784518, 456854110, 357923022, 973344628, 49211194, 34693475, 47316352, 105052701, 579660886, 147603963, 787905764, 825770283, 129997872, 21455784, 353757554, 850280396, 419470198, 518830871, 379185803, 936464883, 617517188, 94914815, 353195058, 370840379, 109517753, 134483379, 957858050, 962150180, 600521752, 343099894, 297047762, 432982124, 13568318, 486358486, 369363468, 492479425, 312381831, 931008307, 617032015, 351206359, 722789930, 697336506, 687885093, 492411615, 676096629, 533940811, 293773940, 338882870, 954134674, 971464808, 441156006, 245345496, 947830371, 14580837, 40339523, 581724400, 593165251, 290366673, 843918500, 88837174, 143116258, 521553254, 603038969, 666184609, 226186721, 788217719, 599182211, 386816917, 308603362, 69414530, 562678583, 29011275, 868878616, 627812709, 932634375, 38913040, 732629691, 37979066, 189864761, 961775024, 502744594, 874578978, 388486920, 123012776, 786796039, 949680960, 958749855, 204680028, 854229313, 182811939, 880854776, 541120783, 782261925, 451351811, 531550087, 405615842, 304251391, 859698558, 461256829, 338874999, 174959364, 753580846, 540383730, 22548300, 63401749, 65990497, 15146082, 305149454, 655433706, 498030478, 2130256, 82197609, 220462767, 222551182, 770946045, 890923552, 629361697, 166752924, 148843331, 766695006, 10158434, 2453213, 236782858, 52103267, 763941794, 559971214, 847713909, 478088063, 230450366, 980931833, 86918153, 679329474, 237514439, 500811224, 830662147, 154472087, 71118334, 913088339, 532100505, 420975307, 686390966, 702391401, 208808167, 503447206, 205661431, 412525536, 184426541, 289741688, 235463941, 139390891, 868340406, 948338950, 707575339, 262280236, 741897997, 471808312, 765708194, 206539632, 520216240, 137541733, 261540925, 751280085, 665381534, 623127259, 891727510, 701803606, 556662634, 826706802, 701421792, 313336009, 44331830, 412221254, 828030244, 431994240, 941630134, 888015786, 330254746, 229601510, 225829172, 92997639, 488564973, 201717849, 452173096, 402308773, 30009619, 105552366, 141390442, 706610699, 930675183, 221205021, 34050912, 136118723, 261295341, 152512502, 400950269, 993203699, 332629271, 263475628, 862089369, 525233355, 748943695, 165883760, 276959665, 523903431, 517932212, 709837110, 660697788, 957065008, 395883628, 144179743, 459702309, 411618157, 318363091, 691494267, 228773652, 608607853, 773445606, 36413219, 970014104, 687079237, 723403719, 316044861, 116871689, 305754730, 96684463, 578544417, 141645100, 318407982, 73612738, 163008804, 83777049, 465614399, 194812213, 234048715, 865513724, 345174128, 684672020, 420055644, 357213998, 770852911, 811396186, 79592726, 767654534, 332494980, 859464391, 990116091, 679928664, 23867775, 824900694, 876167622, 348140434, 659894363, 346778458, 679682619, 470628990, 932891434, 747420184, 896521460, 608653345, 259692041, 882190056, 35398574, 577860198, 912663859, 500233840, 381017561, 541604570, 998186397, 568059856, 969331498, 382208354, 502658388, 490587344, 834809749, 240717153, 193235679, 681168697, 152133127, 23619523, 804000823, 784185183, 237674340, 572651447, 643309555, 66156465, 43120675, 539738878, 76533743, 274231282, 582262441, 981519685, 861526410, 108958981, 482897251, 720252609, 866044175, 730115558, 306084457, 437790711, 988678375, 677820391, 96166936, 606311003, 573112476, 39824121, 310744320, 6825451, 590569153, 883208119, 387402757, 231549386, 520056860, 698705083, 275576692, 937590697, 645055951, 179427903, 799872123, 92198816, 231449082, 81421354, 343618253, 988290207, 476660031, 679174967, 857622680, 555371374, 49799100, 398125886, 894503266, 67143738, 198242235, 893643755, 711178599, 926163994, 362123279, 194142651, 673328231, 21142858, 900003507, 516769304, 12105130, 120606242, 622740907, 454871108, 122708090, 904985215, 369506867, 253603120, 39506220, 860612533, 403314075, 449707204, 966521947, 43656425, 116787102, 317341577, 250148787, 160185706, 5577605, 208244514, 485164700, 542759122, 339845317, 230822460, 425103627, 477594395, 277189612, 297710697, 463674504, 950375681, 543119377, 587871813, 987655331, 858262751, 987392635, 505407212, 80056818, 514235628, 956302443, 870690920, 705403313, 77396801, 840126734, 152621931, 25569848, 963271969, 906947624, 856817837, 998760974, 427107714, 144453887, 701698163, 809407446, 749130892, 346311636, 178011290, 761055367, 690261751, 820953782, 407609631, 429700708, 542104620, 697947748, 278043059, 536213347, 985844185, 210112846, 923324249, 280862053, 592285869, 854427201, 770298513, 90981567, 927270924, 161834295, 489726800, 266435711, 838059705, 665816144, 721199797, 927555890, 427529949, 153006583, 694058651, 620292125, 89385427, 745074824, 521647293, 630043754, 460888348, 528757406, 705100560, 301188106, 676262164, 776433757, 351025168, 279871878, 32168618, 609571830, 445642560, 521490359, 720558606, 727127135, 81434971, 111973260, 301360798, 361001972, 580874332, 379666845, 782850122, 571758616, 812326040, 276096666, 109351049, 543630861, 766340715, 585448431, 88253914, 971965245, 224747240, 52453806, 931432364, 718690032, 546854056, 752685447, 14708993, 860893809, 634499110, 763958416, 297784199, 944599584, 441098028, 565917604, 973251369, 183183012, 325489185, 450186762, 558477914, 57301958, 951584226, 861082832, 74814691, 472003368, 232192303, 402486885, 337296793, 602152065, 983600130, 441735073, 539099571, 225919140, 510543774, 858766982, 322838658, 829499171, 142314313, 783695648, 807506862, 182832762, 667010015, 607725253, 776845789, 439576647, 566393362, 760266678, 185558418, 97684995, 112444565, 998799388, 589029333, 434229099, 941079404, 304870891, 96307937, 809674367, 300645203, 328668450, 525364949, 391954009, 174018026, 981763375, 539281303, 74387873, 451655423, 890630432, 977251706, 640661529, 981095170, 550863567, 29881200, 307029786, 531720936, 775961672, 765712376, 762875802, 474388727, 681766100, 745405236, 31457230, 578252737, 66803783, 639834633, 42364683, 481244583, 79591976, 953052833, 80821018, 759475753, 311136220, 146177710, 397134799, 82050342, 103543144, 676683221, 665991141, 191755225, 201591870, 634161922, 270674038, 524282156, 877575749, 247252691, 601496902, 463650372, 551500888, 397901807, 690858846, 419600769, 287662964, 760186450, 795478700, 601368587, 872297372, 479813069, 812552614, 412194372, 483828610, 402938088, 546775125, 437241531, 99515833, 23579912, 39299258, 164278971, 926122156, 283501511, 977783845, 57213285, 752013538, 396979565, 487934105, 798452656, 987729495, 571940194, 281510300, 166383398, 419295566, 990012349, 460968843, 732033195, 146925901, 737054473, 662638542, 30879289, 11149172, 656264372, 842920750, 548999453, 934513460, 863350376, 72738217, 923903539, 297006502, 180680438, 790892028, 620514307, 531000454, 172693305, 891037062, 831313754, 472743206, 161251534, 105306156, 954625712, 758516569, 551426792, 404543486, 537346374, 427923422, 554563714, 111098107, 853614705, 905268685, 774903022, 687856263, 397471883, 533400130, 922859413, 38796560, 109553361, 745023189, 35863640, 536994562, 555870094, 104945158, 54299364, 807045880, 492929001, 90092206, 266823622, 340219349, 573023462, 870213345, 739181806, 289862460, 794087898, 494857644, 890139854, 91482352, 163988388, 795966801, 847877728, 606555561, 919438942, 459305820, 926520002, 826183230, 195474877, 335274005, 113394277, 412429925, 193763098, 423644173, 258604574, 520387773, 473377938, 16632599, 20409692, 405884263, 808283046, 165844829, 151888465, 535888295, 677420079, 548040473, 835396454, 593645229, 158868238, 657379647, 77596424, 226070253, 264412358, 956935243, 837302152, 143400311, 227106260, 662987916, 836136447, 712194087, 880140652, 960823918, 972476939, 547786464, 472642984, 534190588, 603134508, 502663935, 369743477, 366238125, 290125289, 162196143, 931439116, 363264140, 47673612, 662727477, 94720638, 50769446, 680613744, 784412139, 801080395, 808485146, 72643518, 796043227, 619113195, 420701645, 706255203, 14167226, 366553280, 21471, 371142764, 441179112, 43613171, 822789097, 2901184, 125447271, 12160545, 196232037, 199158466, 779967538, 450774481, 469602032, 695067779, 435342934, 209451706, 617694005, 306238532, 789628899, 164383565, 451236797, 275323277, 755542417, 946942159, 676882826, 151974987, 721997974, 259263847, 769100475, 94069279, 605458729, 359196479, 128935538, 510164955, 504377946, 699281638, 864085885, 66122248, 655232732, 263556321, 113692374, 60663745, 940367951, 84744618, 965895930, 471919198, 172675013, 227783446, 6925220, 402046895, 356604689, 563344106, 771246994, 109505807, 213455545, 947861652, 94593303, 89800865, 981807783, 980473789, 97765330, 752731443, 947983296, 158418888, 150054085, 193780929, 470333961, 387746725, 620660318, 955812192, 477409889, 391854752, 95552795, 338735574, 625014995, 244640072, 157656307, 270136164, 876499930, 108460631, 369074224, 376957519, 614994474, 992788463, 356087740, 804430681, 811542767, 667192258, 302594863, 91548474, 293111539, 615226952, 389336129, 852154387, 613790268, 340268929, 93405221, 274167579, 214706054, 243740976, 354627470, 802540272, 360981071, 674127480, 663658941, 804537469, 588121883, 463834996, 388015904, 307000706, 965910716, 490988057, 895524541, 408080992, 360437355, 329019531, 361530336, 890319806, 382288922, 874416389, 104244721, 113940304, 489509418, 731814882, 731874531, 760490321, 491364150, 279151031, 271281256, 190056223, 739234500, 761302796, 161164339, 30837541, 323847873, 521708209, 154393985, 286578347, 584953966, 679344718, 373961569, 265194926, 26619720, 172736333, 796182386, 275741316, 536756348, 11178160, 628163510, 513130562, 782184287, 856537126, 464894045, 416541262, 776395832, 84362385, 893950786, 838296955, 809144331, 427735934, 543307317, 196016162, 440568828, 99852751, 866560266, 742494076, 918704671, 281600613, 27013936, 604728696, 512802458, 980137467, 973020868, 289811743, 293484278, 35437246, 130014929, 754583485, 458486822, 449405998, 548571665, 920697175, 148175630, 412050556, 220437882, 599489221, 83237425, 437558260, 855278726, 862004597, 609087590, 828619332, 59437961, 975314332, 891647252, 816049801, 58413890, 961698610, 595625491, 768016391, 425134002, 382606280, 442961009, 155173441, 64156935, 854777561, 619376629, 124254923, 32925051, 114797586, 85749596, 529564476, 615640786, 942550939, 674735147, 620968902, 860516544, 672109919, 213521650, 730273858, 867388964, 357653027, 484645212, 843781634, 334875135, 755620788, 227172279, 492048327, 557902982, 315802303, 129666469, 674606945, 196681544, 268828394, 96742297, 248416989, 645667779, 169601180, 923413530, 16171435, 886603193, 552635574, 754702093, 899774212, 13643621, 487815692, 71489691, 168140252, 22300602, 557389498, 295805987, 415119292, 79070229, 497263770, 673680177, 98501246, 346649361, 642042302, 654326356, 175215036, 264559563, 911614764, 802571634, 523584477, 245052059, 723664454, 834151172, 10154632, 872030482, 102718699, 143663897, 389241054, 651908454, 827668388, 539199954, 406721629, 322461843, 792343477, 266063964, 860305247, 439994614, 160597461, 559081860, 967073245, 349603546, 122046941, 419860441, 518523383, 396618258, 85294773, 913618942, 971507643, 175504336, 77505776, 421969461, 371528583, 75956008, 35352890, 213773553, 453473428, 794215392, 618314025, 930512274, 614541277, 308337321, 810685019, 709266077, 680972538, 339527817, 127634906, 741008248, 824024220, 584251893, 611270879, 200588894, 970554832, 335451238, 760001341, 914338723, 18275644, 10450621, 799412902, 77923465, 682073960, 140969391, 104809677, 525921411, 704269526, 83546510, 919396976, 657958536, 56822425, 221694429, 456271353, 439750018, 908757180, 534154014, 781574702, 747392806, 886950559, 350839873, 353304422, 464845781, 208376113, 470930081, 508983941, 947068795, 635444383, 897046357, 139186777, 988567346, 594016924, 103867814, 881742295, 825479123, 483352530, 766360439, 5750555, 370052579, 788172506, 568198202, 689111960, 459008730, 865413586, 211844204, 7068636, 113723537, 430126439, 361685158, 22069741, 17912430, 158627454, 761341964, 594627520, 291170551, 658388353, 989111549, 346871381, 633960141, 832918129, 641782848, 863540922, 722085229, 9180767, 546185178, 609180050, 256660888, 134801191, 825021093, 457045977, 26189957, 182116270, 772668823, 175372645, 587748063, 860372578, 167929120, 666918919, 849814005, 954138674, 907925680, 719087384, 17608562, 327037959, 1525885, 455575807, 653680957, 797617378, 589744196, 901657632, 965510097, 824039978, 743787456, 870479055, 796624365, 485566835, 2718719, 332796513, 812556590, 464909445, 494192987, 976609037, 9676253, 307392434, 471940605, 627671772, 849044954, 430282508, 743141497, 738859871, 443694074, 196191041, 587911707, 684650129, 419051338, 74575569, 456032653, 472860714, 168653513, 60971139, 352137363, 880758011, 638959656, 785114847, 313604378, 534596906, 187014484, 111494641, 570900780, 357161891, 103971163, 537343001, 510930111, 128498559, 13887722, 685254227, 998218976, 941020447, 977350814, 334759732, 726758756, 179872998, 255925300, 189770835, 885176777, 24911148, 197489583, 979319591, 960036975, 500997407, 729307649, 553842368, 580175065, 550446464, 120890590, 604106557, 464175100, 776834335, 1766448, 444815255, 685000806, 452631666, 830770221, 568537237, 305686368, 85678461, 528856809, 37920123, 673912067, 851696715, 446750637, 80952771, 45931771, 538692397, 657788602, 67978754, 451922399, 143702701, 729819272, 960742116, 906188632, 215120038, 666209226, 604827785, 755117421, 748479277, 725529585, 553254492, 124599641, 538231044, 595705751, 255449595, 758162481, 752801999, 990501910, 58182555, 560729741, 124702257, 867926226, 361710861, 740508379, 457953619, 442194006, 599565301, 516379806, 991910555, 425316406, 621205216, 9404604, 940161624, 513055090, 638462903, 119257164, 577567844, 99799843, 342433676, 333469362, 183940694, 570362246, 831622295, 301172163, 443199284, 689041560, 646150170, 609719146, 407737336, 496922651, 707990399, 389057629, 604585041, 906689693, 44146891, 398298177, 138988753, 104831313, 656043069, 286744004, 396865762, 143836474, 637059928, 440188529, 791495609, 818771069, 672959519, 488139957, 333791250, 321498392, 333073287, 325749274, 640728711, 886964856, 296565285, 331448024, 91083650, 105583830, 831873221, 688353648, 330303029, 70037361, 638339566, 444076576, 297097448, 591971925, 897476951, 214960683, 505578115, 76184822, 2533998, 103306964, 97628079, 290540142, 18174328, 437689529, 619067973, 668606982, 289459354, 556729998, 203249188, 242553895, 82605236, 61291398, 556008859, 529290803, 227966433, 905981079, 803590773, 353757462, 471887836, 142296591, 481341539, 347909484, 892327329, 168665269, 577185159, 862437616, 463027347, 894527084, 246317082, 390492615, 227748793, 55160794, 464138217, 415296262, 721724148, 144811861, 599085346, 579763859, 954653603, 410148565, 301593897, 684960612, 777326408, 359205007, 398023063, 992377488, 82455710, 4055594, 789722011, 274267373, 143900902, 557707448, 963571785, 813593013, 65265069, 88412919, 629805835, 720733559, 24880692, 726119305, 926189964, 114291653, 310590762, 648070870, 972851687, 376527057, 388785796, 398549324, 294006353, 708248943, 394719274, 223183221, 324208810, 863023601, 800310431, 609018711, 695409989, 50895704, 215784025, 731707569, 537452411, 937323484, 646349816, 971122089, 932205139, 633439314, 259951227, 753501753, 928100896, 791626853, 315238003, 245036574, 153918070, 255846077, 87270048, 162373657, 47827761, 622668041, 111968083, 991433767, 495026241, 933811619, 281177184, 995290290, 259609163, 822519592, 489502005, 711468174, 576636030, 715145956, 386104396, 986432781, 252770360, 119551406, 809833535, 478880490, 776147291, 243607637, 177183672, 9596413, 267617267, 689398279, 918562502, 114580296, 455163476, 251270443, 183481244, 263847217, 503458496, 61561990, 317757080, 232804078, 607678366, 406833775, 645516768, 916778499, 139029400, 353110711, 15689111, 98238380, 917863581, 573667168, 574080006, 24578977, 891569314, 415776197, 209542313, 468853938, 706858275, 912086012, 997928606, 986352210, 349516742, 738889762, 299474839, 854128600, 130521135, 573145954, 762080157, 869818530, 775339663, 295674706, 661278097, 178717958, 678479283, 213590769, 528655349, 342659383, 393670151, 564085879, 681990845, 407568509, 564394511, 908629710, 162576488, 138125144, 9400292, 928645769, 623199239, 660559041, 265738784, 299431653, 220205467, 869809622, 814953457, 728162896, 847899073, 530159704, 371460590, 428813700, 242606599, 838524408, 455419897, 620145931, 9938418, 114656177, 306050369, 598739103, 679455238, 472057814, 496838448, 696298100, 740345446, 815528263, 167847720, 66467047, 281124139, 907319378, 123821507, 450646242, 304095703, 211249687, 987843711, 51901096, 509212758, 133965803, 262540287, 203710660, 897771674, 858445893, 44412729, 836948139, 444899159, 929610983, 834339600, 555876691, 967316575, 408319209, 847363338, 926286306, 9003585, 320587054, 907499042, 950627509, 703378722, 402214788, 624932562, 572326890, 825013962, 143768733, 974492463, 854230537, 909361659, 543667437, 916558088, 584569304, 36610585, 684828155, 193080381, 504654503, 991807824, 958530893, 323713537, 536410121, 753483488, 242395595, 775731683, 784963807, 189180770, 631542264, 259759561, 429670295, 492777189, 469108260, 896517917, 606468409, 222407296, 957732535, 715224383, 439305148, 256890293, 586661373, 358373525, 706060648, 424570401, 790769870, 302209004, 158282912, 576759505, 561312435, 159649914, 382092752, 935885274, 916080282, 126665837, 788250965, 746904846, 923634093, 250526179, 729288594, 415249009, 440599034, 571769270, 469707300, 877166710, 120784275, 349745118, 235166206, 529717408, 166216982, 26375413, 636650316, 738338818, 561824947, 434154221, 128302069, 522829268, 931942530, 519595746, 209771329, 888624059, 199584073, 818657411, 42436709, 953405393, 593753609, 988707639, 741258706, 629417278, 431526047, 679205861, 702276406, 124391866, 799194035, 591394261, 325414089, 301195944, 356384486, 890582572, 616593675, 228233988, 431713736, 159175153, 343959261, 640029491, 944982417, 226181744, 314315633, 669771116, 540005166, 67883290, 485013079, 790925969, 780869570, 310915033, 778185737, 696539471, 351468145, 485915385, 623763504, 793211724, 215426386, 386734313, 200223107, 22266748, 791436194, 30205690, 90524794, 929251106, 434391753, 545544590, 432445264, 914710556, 842594701, 777929528, 998190538, 224977049, 489994142, 98740345, 856734951, 191500205, 91482047, 497992169, 307653060, 801858786, 356150103, 203850744, 591374290, 229446505, 994782981, 53660469, 317443997, 816871016, 817444696, 210544468, 687261035, 917308243, 128468485, 370770690, 579310556, 535529647, 236048201, 537370328, 710536416, 663825011, 655690863, 433547448, 461394289, 292706798, 740942597, 187886522, 671378012, 501517945, 522946176, 158345135, 965501346, 713437080, 851604800, 890936283, 436328207, 843306556, 361389586, 733411078, 423442189, 133551480, 367663958, 420654024, 860608259, 665255568, 804124382, 781260811, 920680143, 454896004, 476937654, 641445029, 572989399, 286971373, 660746201, 600620963, 366517541, 429857144, 135832236, 170735301, 827859307, 165952270, 138327329, 997617901, 536392737, 959509307, 245612378, 994709368, 700684931, 760881781, 839927398, 731244087, 176419355, 130051165, 98957060, 73866700, 824646372, 937727089, 566347898, 240566571, 913164194, 465595921, 937856452, 231779388, 603948766, 2254670, 408121920, 667263296, 86199731, 217408184, 957693468, 760940771, 839811618, 684644124, 978160988, 880812078, 911364759, 730958046, 506774537, 561779944, 769519757, 271283225, 487279768, 436980378, 69243181, 495110383, 83483363, 707479912, 969722620, 619434702, 920440187, 47466740, 982418072, 307627106, 270246951, 134768205, 372248823, 164355181, 553903659, 902644622, 219258112, 690365957, 135900390, 870714768, 31024703, 60986839, 988136058, 696674229, 216338238, 676131493, 178717395, 881409673, 145184035, 653564149, 857470397, 25163623, 727257333, 109262861, 686402113, 211736454, 836478771, 764381513, 317841855, 158192396, 450325582, 979180231, 222311972, 565415749, 946203589, 100244451, 999551716, 628632769, 879396499, 894331276, 585386516, 190054714, 30822295, 189548667, 747563077, 316603217, 624938344, 822394838, 229221504, 141359346, 94911604, 901061162, 479636627, 349159604, 531752035, 356716887, 336336526, 869277150, 906433802, 206318315, 624059521, 959888450, 929547439, 588740366, 622689817, 210088275, 990485137, 391185331, 283421200, 912225933, 596448971, 834335299, 340216278, 549721992, 238614792, 63986858, 927678837, 993691392, 597662974, 403351397, 826468863, 891331379, 915201471, 500047966, 692171253, 129728089, 204083351, 857487789, 67404521, 598243583, 332577418, 439326811, 602046610, 484542105, 146038482, 812361697, 872615884, 209424967, 601967268, 71847392, 89610144, 706173278, 814041018, 947765075, 724395697, 963063783, 339969200, 971728811, 761189296, 323209448, 819325478, 103803332, 545088673, 367001125, 478160461, 686165587, 887543550, 340893723, 921566031, 904139946, 419281171, 137055220, 808016306, 140731804, 717827615, 342366732, 423885166, 307258775, 684508675, 510568146, 885491021, 409057818, 3333125, 825654750, 827597191, 548307640, 996727331, 588426488, 586642826, 358008415, 997103702, 16919336, 975483303, 324282401, 987779584, 322796927, 48744399, 450765033, 331860582, 328219235, 124755810, 751583781, 537952289, 302035337, 330379462, 925259644, 449700771, 820121912, 427856554, 444087604, 359936816, 662223997, 918091815, 616841372, 229277868, 734975381, 970910456, 80139704, 147405353, 709267299, 212775820, 123330245, 31167604, 94650875, 685908499, 665686777, 585745861, 672628788, 651300431, 266718840, 223080858, 38118894, 525758701, 59937162, 125739125, 861109075, 487735322, 864315301, 676846183, 928045107, 844342158, 471785982, 834077856, 98238865, 994391380, 427373488, 629655369, 757137738, 311285386, 670800753, 607583554, 694184561, 540841357, 547450109, 781880095, 150949265, 677654380, 569859886, 714685920, 400751519, 27476764, 455621626, 650855302, 226415306, 162735071, 823673876, 572518168, 592391567, 830165940, 84388707, 971204127, 822442160, 375294636, 608876507, 590481632, 455343900, 826097129, 72411013, 600803101, 946992402, 10402723, 872631638, 72465147, 863292118, 243174927, 744724118, 909812121, 332724855, 597522765, 812571076, 551287523, 696707112, 608051889, 671832703, 408884514, 890958602, 273666311, 63963317, 279875843, 239514077, 499672959, 210385213, 104179231, 93274673, 622944280, 898823646, 435475151, 656302222, 829053214, 872583045, 453133472, 839791626, 746385314, 371371004, 901118409, 590976635, 826077524, 533905770, 347461819, 172125403, 860915108, 505052602, 974486924, 469274251, 370475949, 60620165, 512015625, 183031125, 606600535, 7108464, 984011970, 112575759, 109382926, 607049303, 739930111, 956242879, 436212429, 682997372, 116906369, 916551808, 114774601, 362562221, 988243844, 959384763, 465895239, 964854630, 24989736, 815137643, 823355324, 456318453, 964830426, 337073488, 506125986, 632765733, 608577878, 338413508, 712856557, 957849605, 823456829, 679516825, 793537591, 76282128, 355169000, 494347651, 949200082, 980404036, 18974939, 482978721, 178418904, 880971315, 98887828, 263337275, 468144203, 115480573, 361642329, 30332506, 702143976, 204005724, 780874519, 161502881, 128056362, 856232403, 190369368, 924849868, 498743137, 986157610, 230445484, 305425370, 647102985, 283768866, 771522252, 206821187, 804756252, 96322464, 657279334, 519240351, 884671365, 331220178, 276435150, 400217794, 587979299, 72848087, 326771806, 193734950, 510628103, 891251410, 241066958, 661632130, 58948608, 979353360, 752257275, 351255205, 311101696, 639361799, 691017874, 776778213, 454242621, 247372304, 910696850, 722884440, 278362468, 156779086, 169954033, 688270707, 742522485, 709619008, 782765944, 550837536, 483354261, 49808720, 213656729, 381836423, 296469392, 14827293, 676721206, 140000564, 65907598, 249784711, 860264540, 377633389, 108171065, 337322506, 596323004, 32844030, 296132728, 791787345, 184044874, 217518875, 983140395, 973688456, 371257391, 521063667, 888693256, 845223428, 586898752, 966738479, 272099599, 117677796, 154719477, 175174475, 207392510, 315467207, 616851711, 864270205, 882735939, 44884950, 767462207, 384557446, 447512848, 790103529, 649228275, 373311303, 319176786, 751494282, 234147584, 812961455, 60575185, 660111958, 767650499, 750617583, 322010417, 46966995, 442549999, 143992125, 431117681, 315706244, 633003848, 436943444, 655166866, 598708605, 451191434, 575082645, 200583384, 377922588, 749248092, 801909812, 432187493, 929367162, 77873446, 909930218, 294376530, 141371163, 904191924, 193350850, 924575685, 2584888, 452341367, 777228591, 589514024, 425386479, 894725675, 160402311, 303224684, 489036257, 442887209, 440360924, 667638841, 831048571, 214239515, 260701589, 32942435, 750334601, 334131231, 941299039, 269342143, 562963452, 865207202, 224128078, 347829566, 585133670, 42654756, 448342920, 786445363, 198938298, 584307582, 827805927, 980487818, 543614156, 50132502, 260382264, 403176201, 857117437, 629643832, 799203025, 27544940, 160877708, 678684627, 291061163, 9261748, 772571438, 623078165, 400086223, 744784061, 225672388, 231201752, 371912839, 66840848, 946549915, 114898893, 625443166, 505785706, 317770935, 259346807, 597567082, 323235289, 389035816, 941692988, 942795027, 462353966, 441530179, 753424337, 706660903, 575201926, 253501423, 10543892, 303122189, 625881651, 798591841, 146358047, 822680632, 446016574, 281035203, 880405944, 90349561, 683507770, 705395995, 580452948, 427635239, 102334712, 269340862, 939140876, 413705922, 379046661, 250281743, 367630046, 201540431, 845174668, 251837283, 642568999, 352310045, 283973672, 676464251, 193350993, 323510506, 306069825, 740864557, 510314636, 309356211, 961857685, 979721026, 400966602, 505097920, 910394001, 14783400, 650248189, 336040687, 659298999, 968411574, 956001163, 790209268, 720293805, 712072796, 111147175, 209176117, 85373918, 987726964, 495835208, 666269135, 538029208, 1413743, 394377323, 964471562, 75849790, 13803956, 304132566, 458575252, 684899665, 174772098, 924720774, 797161274, 792271302, 175601298, 12442041, 279155539, 375873793, 696960646, 303670635, 762033022, 965697885, 84737990, 722029556, 376536994, 655448030, 856255953, 668883952, 533255657, 630201004, 741355554, 643173610, 869940696, 411913736, 966008713, 518038137, 844523403, 190233019, 982283849, 723077298, 529786186, 402652902, 877985258, 552838538, 403174648, 19900299, 702356130, 278776535, 563372906, 33248471, 290334632, 734509679, 249392083, 926007372, 821454850, 792535031, 993963002, 852436459, 947846663, 910668501, 300003499, 614022452, 814146520, 639353836, 754612900, 578814590, 792774978, 272675645, 960232205, 417867977, 977981692, 969862186, 664344033, 56498583, 184819626, 117383935, 384422574, 916806424, 368970761, 994316042, 677933898, 928657172, 474719975, 909512044, 537573107, 681360529, 976265402, 70133287, 232772877, 795418026, 655060606, 769380062, 909956071, 219620809, 527177075, 93065117, 768023286, 693142081, 160396402, 607806519, 416778483, 611413648, 207526810, 666286235, 151701912, 869983955, 950064867, 526553647, 8704219, 667344915, 824413889, 378395694, 79792419, 566295153, 229089567, 851991747, 601545354, 24364787, 63889693, 99127470, 271353523, 75387637, 530720495, 376572043, 368171117, 742197859, 826506377, 116405494, 470042746, 829169289, 912410336, 655386298, 378026705, 305691364, 266421557, 291023363, 199108895, 916678464, 538291130, 300128769, 579751865, 491296804, 182467555, 458104091, 917361743, 643416150, 686211600, 349168850, 408127433, 978221070, 303737088, 228505849, 825778929, 777490862, 514116742, 647854449, 996096335, 573029106, 497890908, 64748053, 1223740, 766154800, 371296035, 830147134, 673728694, 681789363, 475155509, 480415766, 837968377, 718930011, 25406282, 885413852, 42864399, 623042353, 815766032, 937643267, 901706933, 849159165, 736525733, 897870293, 544289274, 257204718, 720204829, 805554878, 545228484, 868712042, 33938409, 365342672, 353842260, 951444503, 705757257, 565345888, 22839052, 892393618, 577118069, 667193500, 541396625, 755099699, 795824793, 350265018, 895611593, 930901949, 293075098, 486140254, 930075767, 66764312, 120339301, 810634901, 789242961, 466739640, 804975228, 126696638, 160051976, 492846071, 590248546, 845758534, 578356878, 599977065, 774811848, 288469199, 762451904, 939448029, 417937257, 456582908, 142256633, 833147981, 40666715, 337513433, 451801110, 166195438, 753670862, 496560768, 87415969, 682217798, 802190418, 550427406, 902486658, 19050620, 373813916, 317987292, 569507002, 210028501, 404314140, 423065951, 249889895, 977764995, 213783263, 492145233, 981090533, 139280316, 344750490, 995903144, 182624711, 653108045, 520567409, 974150971, 972756625, 760956653, 426906748, 790974881, 174623521, 840685583, 636909897, 213167566, 686299211, 817275173, 966837926, 661649964, 902151070, 851081926, 237669428, 20283656, 713462761, 952808265, 467622277, 46290503, 338455485, 451163614, 621095574, 952380673, 695017517, 544832600, 65583568, 689470880, 228127548, 531116375, 89226890, 787443335, 549184465, 342566021, 252863312, 954440046, 107423972, 493272995, 857345430, 248801276, 751501864, 290898221, 44784132, 669109586, 447487669, 337892221, 484381407, 123653966, 799985044, 556843126, 230115108, 324270758, 715314775, 110584900, 853626660, 951715251, 937570670, 932664747, 874616803, 717865634, 228360837, 94267457, 647681039, 795670967, 80267273, 34856355, 758335339, 118786269, 525214670, 357399282, 789195385, 861563444, 503866245, 572630837, 74537675, 785797112, 505265608, 997903533, 667604178, 98581321, 138563303, 528038409, 540319576, 483933119, 943357789, 747510775, 496633338, 978123268, 553728553, 627164861, 150444124, 534410759, 731399881, 100397194, 574967577, 45591480, 673060121, 913062355, 922277144, 365639167, 345091477, 210579202, 288378750, 111922676, 998106891, 610131572, 473209956, 931477170, 662938186, 223251346, 547036078, 574612622, 263416328, 534527199, 38863500, 883689386, 503225455, 125592437, 354330901, 548664514, 755593141, 386935977, 322116125, 583508538, 557465085, 157654117, 899096508, 964720059, 720020359, 891818777, 513721061, 819015156, 962877103, 99415629, 591354485, 483667764, 488143634, 833994663, 199924182, 940787161, 567525316, 746436031, 3013388, 223360603, 247620415, 908665860, 205761037, 388864881, 759569920, 601001598, 479002584, 57089715, 569075984, 184955485, 389845866, 864554047, 565653755, 287175300, 297142611, 183843193, 38292240, 886549328, 903210545, 60341693, 931225168, 740909573, 323006184, 940770382, 864810229, 172069044, 683192331, 223952798, 506482340, 955415474, 242986342, 690056103, 968638529, 691009636, 533487397, 555536533, 674970265, 911456960, 869701332, 575294498, 247699244, 432473561, 170162534, 346805991, 176422461, 473685707, 487515427, 993037544, 829599382, 209011856, 958552241, 970684908, 552539210, 838407664, 435932268, 569892025, 987908072, 545720996, 948925997, 775854730, 722568881, 620438390, 826624403, 925905641, 282390437, 82662065, 216006747, 949162323, 418090978, 692095438, 64070351, 683324819, 244924407, 531527223, 702175087, 570727237, 817390879, 903303063, 709987759, 74283285, 181978030, 15659108, 748091386, 128636918, 13893404, 558041676, 658891095, 719707403, 148762504, 864571760, 522914022, 22198859, 877094777, 340661367, 49578257, 424429633, 295540474, 258400769, 950160751, 828753398, 838526033, 81501039, 925361078, 317787254, 748053572, 765461540, 168796114, 617572333, 453405232, 914912049, 733498016, 711760554, 437862285, 991944848, 65479683, 295995429, 905055118, 24649898, 600117760, 710892385, 484191095, 451137647, 189240467, 536473825, 50077575, 603751636, 631165831, 202756937, 857642207, 12695790, 754908897, 595772774, 39964606, 612286977, 364970549, 691408345, 17514639, 470519433, 30185291, 650930859, 175996741, 546819803, 538658626, 457215672, 684906701, 816993626, 288598231, 362722137, 480215934, 279463822, 497227326, 529231023, 129817041, 209882281, 904740232, 780159248, 314825940, 592163795, 144952254, 67720083, 489961654, 327700055, 472302421, 618838616, 70049625, 982548248, 982917100, 937004368, 798787321, 194842694, 399324852, 404118647, 302883924, 952780552, 888940386, 673366651, 663523645, 489630604, 488822986, 19834413, 25575747, 151378761, 132828470, 302713259, 457197752, 604586073, 527384878, 304593174, 287600557, 774017241, 241813988, 826164898, 731999432, 970698704, 491203402, 419110672, 682134747, 749680955, 378720643, 76656731, 382347213, 902185590, 330008251, 705748536, 884522858, 253396563, 136586815, 7790689, 59974762, 900838528, 182270952, 214714571, 129996011, 213303051, 503949385, 840672193, 693683221, 940766824, 882213523, 617118026, 586376468, 578889188, 165357800, 527294694, 796223853, 331295817, 51619058, 987250360, 992080210, 906705896, 353239521, 726392346, 210733094, 52123068, 728214943, 159394534, 129442237, 953082269, 318218457, 768533521, 756459865, 386708437, 104305309, 60106035, 129662852, 387142470, 415362184, 297796170, 803608301, 648308406, 261146516, 947749388, 726047522, 904810049, 300423443, 374504066, 280981360, 309412401, 368907130, 985396815, 528336713, 769963849, 1889792, 388149189, 288583674, 966061556, 209799180, 194681515, 247095599, 171349583, 425729794, 268157545, 427121424, 764023687, 455001002, 107224300, 745376551, 339130608, 485427180, 287252550, 959203967, 446226762, 178966154, 225413511, 801516269, 984828257, 395296675, 900437592, 640581264, 885262944, 347715570, 250981652, 705721085, 665817571, 128810753, 245132845, 76429826, 363551093, 684748892, 523314678, 448384283, 237728698, 282263753, 684585752, 493286708, 309886888, 930566653, 723709987, 936015284, 922920218, 894458337, 936067697, 180646114, 498230573, 242855103, 235074171, 70200112, 954834964, 412626911, 659326020, 784282120, 970882777, 310507912, 611164222, 129039661, 680352343, 327098487, 968966119, 147559063, 784233213, 864063679, 142054022, 778151129, 57720734, 984234675, 581689526, 581351447, 394174649, 795745152, 982890790, 852113603, 950535874, 218736125, 379611745, 160394461, 762476986, 179141795, 528316610, 868160292, 388599080, 671359792, 331630815, 418133497, 800667109, 97782867, 94640594, 338210861, 921448941, 767932380, 887265684, 193226120, 790016502, 845788239, 239535258, 834966658, 726877965, 559054172, 744971171, 894933508, 470975821, 89003417, 723412867, 719785861, 499823769, 219313013, 915708252, 683800914, 848403897, 970849160, 186942807, 270820782, 162277503, 847804998, 619864426, 485895161, 109254514, 512995982, 434839305, 325800693, 753722559, 575842739, 412118137, 659371028, 408204599, 649645800, 149842943, 987030809, 480745767, 14607997, 991242505, 635558662, 212710700, 451750424, 260922242, 361176973, 32634752, 554051484, 896444700, 819099861, 85486541, 358121960, 480741050, 930988722, 465895022, 852387885, 677159640, 390591008, 705727772, 231378284, 928406732, 799590073, 363540883, 280312388, 964878498, 628953028, 51688682, 544849227, 160623230, 840820874, 773025301, 28982777, 342018375, 551139271, 622986625, 768413300, 965377006, 427069368, 54532454, 1072344, 2575440, 311835011, 630239992, 297985714, 245384706, 714057083, 948813410, 522543383, 915826641, 456157807, 75346102, 435174736, 228116709, 917643461, 211329673, 978686771, 968695860, 523788033, 169338473, 836717, 52457837, 168731921, 522909455, 353673325, 749401141, 408168472, 443160593, 50698959, 918641385, 229495718, 26695661, 758691074, 695871722, 276558540, 730089540, 513811925, 781483091, 662047720, 690014413, 952787314, 317712636, 868643834, 176552713, 36124892, 92583139, 788139852, 667148043, 221339138, 586344283, 557744158, 305547873, 753387155, 547910174, 340281548, 877368863, 719469459, 276478193, 293774152, 900356711, 795859079, 518462262, 130795248, 540218443, 933067454, 388061158, 281016099, 250377001, 762102032, 853405907, 5086128, 549318386, 663798756, 789541496, 932824936, 960974714, 38212017, 221580431, 417508859, 974244360, 819231266, 118322969, 121810177, 476179252, 26749611, 734263731, 20643908, 425654626, 698441248, 897637713, 510051426, 608946593, 174488901, 740016716, 806676823, 774436481, 438613812, 743882380, 836443751, 725776231, 698126108, 711321816, 590552600, 454604063, 579616316, 896449629, 714883812, 975830957, 567717431, 570801235, 504749377, 653738297, 625549982, 844859103, 146400303, 715364147, 338854099, 882234907, 402185612, 36835575, 672490691, 994801833, 178824511, 485962913, 861399484, 889345002, 329420618, 682784922, 656093446, 177659288, 956322818, 477621272, 216943913, 152798106, 805264516, 836396634, 975657353, 168051630, 743330401, 998090610, 740765967, 552625221, 700659871, 876800297, 843984987, 700768665, 791558332, 376322601, 373319716, 301380803, 689916433, 883806066, 615960761, 496484671, 967549141, 627271154, 518824759, 121751596, 641903857, 300335207, 713635771, 850215868, 179364998, 239908457, 184111661, 932284863, 549840777, 590353360, 843207235, 106385803, 200358933, 244239497, 547020575, 701669198, 277682056, 275847848, 766653512, 771041892, 973810886, 708966871, 149080443, 537655311, 252457839, 880551611, 894128199, 907199090, 515645104, 5812715, 750822850, 941355217, 21810937, 583417950, 875904851, 595834302, 406710844, 907409763, 309828601, 974544028, 842996257, 333250502, 229281621, 225923541, 337042983, 899947275, 104426338, 525204675, 902770423, 263184174, 855277932, 538942608, 330516146, 729359234, 347981651, 844224944, 836501625, 526807650, 866510422, 549857258, 27815630, 944139269, 129586386, 176463849, 490124339, 979248692, 774308429, 732997883, 877954175, 164924110, 211113453, 486583911, 357805004, 295178242, 50159859, 670249435, 105063181, 398149683, 128298513, 897449145, 445567187, 570467733, 106077892, 378797394, 438166542, 615788145, 402420739, 926451388, 638065306, 436493227, 917898351, 464688307, 246522809, 468154232, 815353412, 776722512, 857303622, 628565718, 124249831, 258816156, 28719324, 461841786, 212403635, 517701346, 146352503, 114527647, 520161401, 155166485, 161996364, 232261847, 211236876, 511120145, 688671113, 627598483, 90936798, 660124928, 273790719, 751105515, 477723680, 445502579, 694073012, 65376621, 581223706, 550476704, 404451802, 383265159, 221165951, 981799181, 659522930, 666693723, 67979205, 801004422, 79202889, 603291965, 182888632, 951105886, 364266595, 544998268, 696504507, 134506863, 846481266, 833425357, 804068833, 932006272, 777196129, 850497936, 450519141, 615227902, 658749705, 590275391, 420428087, 238195276, 329256016, 176391029, 511288478, 211736346, 869403551, 176220791, 278178498, 834045500, 754350614, 248731635, 772795329, 100560718, 66709315, 672144565, 459477885, 710983747, 452135068, 123520676, 294465935, 352568761, 602081553, 882813748, 198941296, 157743955, 262570978, 690626514, 970166876, 228547503, 605015719, 543939538, 460363600, 111683612, 715939061, 394652710, 371837101, 230340134, 147683473, 812863680, 948955887, 926354056, 682733806, 944025462, 815706698, 870978658, 188510020, 712234386, 125464247, 202173195, 280001864, 392489319, 46344575, 75437156, 144129537, 883777499, 398300371, 647821512, 239502992, 305250543, 523117695, 374653789, 372149274, 816042345, 930923888, 785408945, 358610660, 572580396, 237744708, 839344936, 358985532, 987253307, 824294983, 305858699, 793389150, 183697564, 724569683, 218889250, 283835744, 904847148, 939676472, 419937778, 54145284, 123398303, 729752344, 241963641, 696753834, 344505720, 491701880, 148264600, 601585438, 286172157, 463508250, 307975185, 739595689, 627973565, 110487416, 794410500, 499346388, 397785103, 689771026, 798734256, 811318003, 196457250, 790004461, 266858490, 110463233, 712219883, 181276479, 748075726, 188691456, 651725035, 132502185, 987100490, 76575728, 14046041, 276823818, 958871602, 232044590, 290522247, 782492278, 773286534, 215995922, 725156271, 864202882, 952007849, 623339426, 226971552, 708881944, 537550411, 911440148, 138099129, 969394981, 725708437, 316633516, 182198663, 755385801, 506456889, 569846163, 768783648, 571290468, 725883584, 824081128, 785099674, 413019323, 57255077, 625936447, 31033440, 346006855, 637731918, 226145399, 348928205, 268417812, 520889696, 998147086, 719410982, 122199209, 900999714, 535523650, 959525596, 966082310, 520299995, 75770794, 761400009, 195293591, 968056025, 749296886, 988398825, 835209290, 965621176, 808809638, 104194143, 646476103, 363602088, 529919642, 306191095, 719526393, 992174414, 930578766, 847940607, 464677234, 139929489, 863787528, 66509227, 994632471, 150652092, 252283947, 651268, 711125366, 677388269, 361558342, 758043910, 451427982, 201992459, 965703498, 202450630, 664571143, 865681819, 544552802, 72633259, 121254566, 127569631, 372867139, 720815357, 937077626, 807763080, 216411243, 960021223, 295944490, 574234880, 717275507, 218530439, 242011120, 850634246, 139128933, 644297596, 60843315, 369251853, 189625030, 245177286, 657947311, 30111566, 212142953, 462356829, 367864784, 706796363, 89110962, 527792766, 688620028, 890808342, 390658408, 947958321, 154107378, 622041673, 921025301, 415868706, 421759941, 392953501, 840330290, 69529913, 790230815, 791074736, 135394929, 878112272, 934914100, 596815839, 539512575, 699719951, 566789902, 103815316, 100976747, 708219317, 119760185, 381696135, 67257079, 419502589, 523851546, 279473599, 920923134, 482423068, 171273826, 384180776, 971658766, 364422140, 828265323, 923756054, 659145387, 420725516, 79990998, 331188334, 770374236, 926689289, 473351411, 665390129, 280125292, 921629777, 239472950, 402800455, 419116526, 201655941, 931306899, 936006916, 917173181, 429166285, 287739814, 873635482, 860076896, 810489537, 654115037, 397110665, 190807784, 857725153, 762340344, 760592065, 578113749, 444162962, 593496154, 502151315, 938003746, 631193357, 605103788, 936649529, 673145053, 910237785, 308970457, 573367187, 494489696, 185101370, 677750126, 931109247, 636753607, 262640545, 839699632, 720547189, 847322944, 123124062, 26494448, 230924253, 900742686, 16085421, 746734587, 836773732, 346789005, 544031484, 363081514, 816387217, 21397170, 356999508, 510064198, 234669071, 788591401, 413943941, 817317476, 968130313, 503035349, 567110737, 786704089, 902474587, 981395587, 228420114, 369558683, 377593241, 519249798, 288597799, 28372240, 249995139, 622261130, 145378571, 566317724, 98164397, 106426660, 592241207, 6452370, 429274917, 645013920, 922111403, 740682491, 941832696, 500724909, 148540989, 58936862, 881431411, 179171257, 895820494, 236499616, 92406084, 77990663, 685753000, 584507414, 105127733, 675992069, 38538466, 540050220, 494099270, 188393040, 125747472, 343952731, 765310178, 877663325, 576022658, 808336145, 667551626, 609954914, 419483005, 780058436, 820203000, 804079637, 927153396, 611043719, 968277730, 84834868, 900076099, 628266615, 247941598, 655189783, 536402523, 459904020, 596720187, 536558720, 707279200, 903748443, 920228934, 992043383, 489760078, 313301477, 250741246, 177095264, 987960586, 66146878, 923183901, 581592518, 199029353, 872569189, 823705104, 861387496, 607664110, 525394656, 350113415, 441284639, 920325446, 110259734, 786417104, 164177539, 843931048, 769462634, 522940032, 885013590, 501693967, 365460510, 303548355, 620553221, 203082850, 750535021, 783620824, 154872723, 350463836, 616706062, 231912650, 38124112, 641159128, 361109700, 296803071, 233884586, 347344955, 125136052, 995656084, 468120195, 261619619, 100070497, 963816484, 177657887, 430035513, 645338273, 652638629, 847449313, 93797080, 863556912, 603863764, 508364419, 341833172, 100161753, 222244267, 969096772, 917694062, 105831863, 194810391, 728709131, 253133974, 653092801, 693240230, 191371694, 210178810, 162856384, 190024050, 808981527, 940672492, 549147931, 61702822, 506027517, 7519508, 10592098, 266658596, 290060728, 946142521, 718553005, 210027221, 30264767, 91923366, 724090284, 560657332, 7297637, 142854426, 203545877, 758044959, 312111759, 102330821, 574516459, 436762395, 685709239, 499303846, 567871453, 169464139, 723577029, 288289750, 484155493, 607745881, 1446981, 201471004, 73084194, 581155970, 986253835, 742709575, 886818501, 483748727, 584429544, 502619032, 190179543, 592574676, 731204230, 133972289, 564735820, 957498543, 185961420, 622610405, 532344352, 135994248, 208808474, 853798897, 372232260, 254187743, 630121007, 209672111, 526081409, 194213579, 716535771, 314951983, 951038576, 198288659, 38174487, 618382903, 987555298, 122267317, 323480561, 989391767, 849109869, 450671899, 223809958, 574248625, 314801127, 329790174, 452737472, 901758853, 486352876, 463512068, 467600175, 308077303, 244949580, 633105477, 940211998, 399497483, 614854434, 244566910, 340308540, 647461552, 863847243, 929602719, 881998295, 131430083, 882593518, 141443536, 63054675, 678658576, 506576493, 963407381, 429993337, 524354218, 427872388, 327594198, 190879092, 639573457, 22113520, 619018406, 196767000, 639343984, 354953410, 722044685, 373836571, 553217993, 465275592, 758700672, 721804007, 307091411, 390627476, 829336078, 885451298, 169001770, 889218663, 957257821, 589492832, 44971403, 758761418, 631131845, 642699025, 655818539, 499878569, 95934401, 774414255, 547679067, 68485239, 274466861, 665554222, 113804169, 467069899, 866708781, 666800198, 998966866, 556404371, 309979561, 512169230, 583581618, 14116701, 2389896, 994575355, 572926461, 238639095, 375984815, 767744373, 529863341, 721354223, 865485614, 98154219, 186822126, 433317099, 520453112, 423795811, 887393425, 6838401, 791199049, 831758510, 122728394, 753549320, 402297466, 231166405, 971768216, 548412934, 990807601, 488733074, 365600124, 989284225, 74651953, 480586028, 198237991, 596203481, 466907922, 786273317, 682711442, 825176958, 481175365, 578725616, 171735201, 262576402, 468508629, 462568489, 853641662, 794779773, 413428836, 998020281, 19356122, 225979391, 229682915, 688044102, 435164223, 656962253, 105757804, 401857125, 200825866, 700748827, 330753237, 455667468, 520226643, 817065129, 277513410, 148238503, 973316505, 721665948, 568131606, 924352893, 463514303, 242667203, 81018134, 965782297, 707966398, 898144186, 126839653, 4518973, 813869828, 247351922, 109988901, 378239907, 392977081, 832480838, 327776625, 267086144, 75257126, 174877737, 572097570, 375293710, 630189282, 30797781, 883052176, 838021618, 408332368, 338558149, 746697914, 496645017, 233813049, 949449155, 482608045, 675786351, 569163499, 86644875, 495206871, 140547786, 295388498, 510536619, 285423502, 47265978, 223622750, 637115129, 888062961, 302033874, 267608563, 653239412, 129959652, 128331631, 727806054, 234327609, 596599593, 21504511, 853181916, 616038643, 995409587, 252367169, 522049622, 859785474, 458373872, 102870824, 872237603, 710751007, 449934574, 429070167, 13811439, 36292833, 869915893, 908214914, 357106047, 531772068, 898735809, 857192739, 177212063, 512820206, 198062060, 189169065, 663112727, 197449068, 677091541, 772081775, 783015014, 564274308, 225660899, 505228759, 542652767, 506560658, 276688804, 226685043, 726892708, 844467854, 589058308, 331456237, 980382565, 920533734, 904688250, 696981494, 85542007, 335998765, 830155926, 661287145, 871310918, 607866410, 196738082, 933768164, 303078454, 721192931, 387688336, 192156706, 129168049, 616390974, 191376345, 523112036, 322734139, 663471816, 356153086, 370625974, 688960771, 845287736, 612088221, 999027559, 860291297, 693516841, 374911847, 602569022, 460169987, 472470462, 801381013, 621781146, 816351287, 823998681, 863497386, 231128082, 609297666, 475793038, 610341588, 658120433, 76695781, 703174577, 255705448, 853417637, 940654836, 813557422, 794743876, 448444403, 408302329, 848012593, 116913715, 691686880, 202671476, 673001233, 692208890, 188744146, 690798702, 729011824, 42934284, 47233522, 899320705, 475253496, 418764048, 923272854, 664193113, 938681142, 752732280, 965854739, 487459720, 208373262, 357015436, 52009145, 21683890, 745773896, 192504581, 452538228, 202480901, 735715684, 23080984, 477877256, 873495971, 477171456, 311454940, 99629024, 204471224, 23356407, 46096118, 801582504, 456332115, 779481710, 277243955, 410869299, 883313012, 621843809, 332392253, 45868102, 701230321, 214160757, 511516565, 411353728, 132122066, 745075481, 78715238, 922679317, 993265610, 53322641, 13992632, 106277053, 94168739, 826687271, 353430756, 607328098, 451992394, 509402823, 831492146, 71957736, 155662252, 941646972, 323772480, 249712769, 431444379, 536777130, 269364785, 660916811, 493743533, 488819530, 133312882, 520788721, 839464359, 156406738, 21762364, 205888591, 76870439, 103885581, 322597910, 853299864, 516174117, 22350591, 1796467, 825410286, 933261326, 584090254, 311667538, 470461271, 367588553, 3230262, 854922685, 235957586, 146653208, 46898299, 249228980, 343059564, 200510628, 143104832, 595116692, 471822386, 684849131, 584834032, 993254171, 274419747, 754543155, 778933919, 912924265, 664450967, 51211714, 542252976, 260053277, 328918145, 402121547, 166147806, 543242983, 823997608, 523648604, 769262945, 220270183, 55922877, 72132248, 217924822, 932095174, 295597106, 589873175, 243064659, 687065839, 653516962, 852214110, 444911470, 388600697, 267827646, 221308582, 404991402, 518005520, 998980835, 902351368, 823727088, 156582758, 719476479, 138601133, 907003768, 339744891, 620738893, 735018404, 337444365, 854595106, 416856147, 545417959, 738387771, 94380959, 904202313, 563851988, 748620379, 1428578, 710328804, 912561140, 855576200, 917993468, 757185283, 786233745, 90009245, 636901384, 637277832, 845258259, 936238737, 347454929, 754030192, 739985916, 433944932, 436764229, 91198897, 94695029, 82703895, 617186138, 186242728, 973928518, 831879360, 59816636, 444114713, 177841210, 197274570, 361490820, 591023320, 601150978, 335349288, 577593536, 74189639, 636699278, 743802372, 611996374, 131557132, 746083987, 367864816, 919905544, 381496428, 726019164, 864622475, 126963808, 805706890, 195620739, 173059391, 486325229, 54617605, 685091528, 21595435, 879351597, 556781847, 532780846, 556586173, 511686249, 35361913, 177911942, 749528996, 836581641, 480291738, 372316262, 798124454, 884436976, 298716423, 769953847, 876759422, 709278806, 142234669, 881195626, 297532224, 474629262, 186964907, 156444617, 301829508, 438963899, 418123175, 374118355, 404196901, 803833246, 913154035, 172933360, 612810184, 733349576, 32444083, 680248520, 264397381, 354095228, 284092494, 372322336, 636779305, 335306236, 673849225, 932880980, 832574000, 836720750, 873492811, 390295239, 931746643, 305179553, 609432361, 439543946, 736590969, 101337009, 107214180, 902922534, 391048463, 203965564, 341114177, 219866777, 798385060, 661097235, 858369523, 713786924, 730509204, 939087160, 307874212, 958447925, 510275649, 132648397, 313304304, 487983607, 68924542, 385843275, 974302471, 720326335, 643713298, 239282121, 639648203, 836617640, 73749533, 524742686, 841005409, 176010943, 120195804, 22737563, 424400457, 691503018, 722270951, 413372126, 849650844, 336766359, 365609017, 550494128, 771552902, 138861208, 717108816, 603409098, 583288374, 579824473, 773177701, 74120515, 606334510, 423413004, 469178990, 541405659, 905166823, 218431422, 28406145, 106844143, 481243787, 539278985, 46666462, 904715178, 547308018, 797054639, 122969027, 942093016, 519223416, 822328235, 316711399, 945381995, 42717338, 337954117, 846755324, 472030630, 302565037, 314867940, 150902665, 773181240, 338682051, 156186937, 960730508, 242189829, 930221574, 932208943, 285189405, 245495427, 305455034, 130669668, 257235271, 784127609, 562201562, 520194039, 56404102, 11540944, 323248989, 702045535, 231163124, 797977801, 893670776, 912779451, 968006000, 473781497, 102529032, 615932888, 632041188, 331956388, 874466059, 475547803, 344924172, 913420583, 331602335, 487355800, 796430025, 52733004, 6282481, 293337242, 940410299, 655465404, 388096337, 420990487, 671223524, 1929277, 653681030, 161634707, 714268128, 517844446, 336114933, 126759850, 476991070, 670408418, 751183065, 862712955, 491050742, 594135121, 90826521, 467045433, 324219270, 101385844, 62321716, 314999904, 423545054, 787175913, 817531507, 231688916, 138120064, 354242302, 124093361, 596438476, 994367158, 551914686, 137386994, 738370500, 858006864, 950818436, 835220835, 219841112, 667719670, 708001427, 915235762, 948638367, 370056393, 971572886, 517671051, 112612173, 624097455, 961197300, 543053889, 810420441, 776066379, 290141282, 546506907, 628172154, 624257136, 168361818, 41314163, 934974992, 696205901, 596964359, 535595101, 648573900, 760076648, 991033273, 985093647, 927559009, 676176918, 31675316, 67678364, 243855676, 499161689, 610960114, 712184614, 839356069, 754842538, 520019000, 29593936, 690798261, 847438212, 865322454, 394215762, 118175056, 647159688, 375902418, 537957648, 214892012, 593304375, 715891225, 202033741, 573576018, 168162323, 820217462, 154799055, 152098787, 240129350, 812190545, 550337420, 641501720, 17711147, 440540307, 251666279, 957318484, 840714362, 731336349, 293069016, 161241842, 107571495, 418194151, 366199467, 337034042, 813864103, 477541418, 504892014, 477037258, 405474927, 98196480, 851647797, 667581672, 990422402, 322376414, 563689288, 233492531, 420812360, 869703730, 192856197, 971597608, 937229889, 666453442, 531919055, 437103200, 850273206, 632502688, 162661434, 821453264, 451895709, 843702759, 148799884, 158618789, 850775457, 4204825, 569832534, 607804399, 376873357, 978680020, 32975803, 763754306, 163818166, 811691846, 780162668, 178037023, 902807153, 986046349, 646036550, 923696801, 231226159, 383775833, 920647995, 6857100, 372760364, 867292068, 466117257, 267082510, 204290574, 489182930, 608490236, 509250141, 285060396, 655912074, 704563572, 423824510, 896465892, 103182466, 174130427, 876927314, 103596979, 711176361, 764759443, 572804159, 841171090, 495044793, 893455647, 8400431, 44518800, 881828154, 744471679, 273274029, 679829583, 669056809, 908447415, 611323350, 842241774, 388484387, 383669235, 229461190, 902337507, 955012973, 563781237, 97754973, 909528095, 682633230, 399626057, 949911237, 948263294, 249454465, 336495123, 752212106, 933308471, 259564362, 887016403, 378745326, 771748386, 762103271, 491775149, 38018355, 723426013, 305313399, 532893807, 332932798, 364497130, 771854149, 753823464, 520553590, 926609199, 238222576, 452771408, 857543262, 336028623, 845586247, 629931686, 76102343, 575519604, 796864694, 697403467, 149820958, 466482261, 591995159, 835426160, 336184429, 594974377, 566241589, 228979507, 562288256, 753378931, 430718922, 947530691, 455836960, 756196157, 890341100, 135447125, 681703353, 439840116, 76162088, 716169076, 79247682, 369738678, 125092700, 39290974, 510877141, 125777844, 290110845, 198761018, 132667290, 491104001, 84143993, 849422382, 525129177, 160693017, 371703722, 409512184, 496839170, 209257854, 188417897, 22500067, 669259912, 203133286, 261666800, 347165521, 596412027, 70854298, 739375440, 36127832, 170210577, 556151809, 455854430, 241234860, 350168664, 843646675, 468810794, 406667515, 940564958, 665536557, 239226572, 374174717, 542328326, 901320033, 41353764, 876882470, 415663355, 837360049, 367549184, 182717371, 34097436, 121237417, 65583893, 44011172, 528907249, 300660830, 993309133, 531046371, 510164568, 259166408, 661958957, 749334195, 191710446, 842887072, 509867912, 903018766, 320325021, 692470079, 394007087, 896823900, 157244175, 488181117, 383019691, 662868680, 342369216, 902024491, 59193405, 397189450, 759628335, 979043341, 974230917, 531903906, 906849217, 322619145, 170663995, 728396796, 535427979, 928980970, 727545931, 504218183, 224972751, 487697554, 277950578, 666902902, 96405266, 530793243, 376069925, 658857367, 883340653, 724433243, 892458991, 244253799, 168414915, 868602438, 570317040, 192304744, 620648239, 483895348, 943917151, 987205212, 458076044, 603459605, 970667305, 696160226, 628441485, 457437249, 438548825, 89147253, 916886526, 888828640, 589852308, 99415711, 48020136, 281278544, 578098679, 826931425, 252948553, 60003357, 30839439, 574424551, 519956640, 909136954, 459002326, 681726666, 826085660, 133496278, 698126843, 304608986, 402037077, 425014091, 539922314, 723240954, 691131624, 109704834, 639263095, 566707028, 417469547, 728476405, 901704748, 308617532, 130347551, 147193077, 94024116, 796375832, 403795529, 260149415, 457568473, 118675809, 689056188, 828052861, 410825851, 698485771, 379684748, 311703698, 23261998, 178787530, 853722637, 630816808, 292347581, 263318439, 604179993, 171998530, 616386918, 365324971, 731829527, 959394138, 469444851, 523271099, 424251927, 242798411, 351668538, 484908580, 870076312, 942403797, 209607555, 213044148, 840685637, 323709819, 36537686, 821595286, 508759630, 618374083, 340310728, 197106132, 57392359, 918540578, 101267196, 667763517, 384349533, 205401612, 129648492, 874074662, 885511804, 468614394, 740721526, 574753194, 37094922, 364182323, 938611687, 190514956, 850042498, 539253141, 312084579, 334391595, 8198478, 846669502, 371727552, 251373655, 273880804, 909337364, 510216337, 464369966, 358780401, 131506595, 890504943, 359535614, 972152701, 668814540, 699691877, 175429104, 599672658, 80402097, 514163947, 977420840, 255837825, 812760823, 72066897, 94613756, 762792834, 753237622, 944780344, 311837545, 73361026, 468427540, 232000423, 215538598, 888345379, 631397817, 544323274, 112470801, 606975741, 190717801, 65323078, 203811467, 698801605, 563385845, 556885938, 547935245, 708226125, 333365072, 95902280, 914070106, 450796251, 633240101, 686287296, 777073187, 848474440, 699585651, 801955515, 136242067, 708702018, 630161859, 265467662, 472895913, 459656309, 562578512, 115731458, 385816974, 764530095, 682533198, 961464761, 570885509, 488483441, 632277018, 454054856, 314918855, 959137831, 287124464, 338622337, 275838907, 921305781, 161785944, 119354819, 695042792, 429899085, 828638247, 518935280, 120743278, 271183538, 918067098, 934060005, 981764925, 305962178, 676485596, 407528466, 678380669, 788378920, 130858392, 113832585, 507741509, 488559335, 485565645, 563920228, 692433075, 857124571, 33055807, 244058423, 84328366, 526201126, 712374940, 712513397, 218362781, 398585588, 446856850, 606659970, 607735112, 367662474, 627508521, 185714402, 205551438, 293503244, 756287725, 152885482, 794800820, 439110114, 678753681, 821810778, 456337883, 420524363, 504145257, 660483606, 277748674, 166663733, 963548024, 310986763, 34930064, 865360714, 658214261, 130967025, 458092863, 447018351, 311828990, 252335809, 34238509, 295038286, 806268041, 938054359, 914114160, 378158421, 134140201, 85132823, 153266733, 568034972, 148258739, 450091062, 489521355, 292707369, 772565072, 352015867, 539215185, 285362684, 59250725, 602957275, 312440375, 483467156, 358502484, 502283207, 249891277, 97744871, 249954212, 814450401, 530732015, 524513718, 829665253, 124376816, 889269249, 901968018, 621966214, 595660386, 950759354, 476712671, 577454917, 902687023, 493667635, 722978583, 530505996, 381862998, 585817850, 953695942, 250599515, 324266818, 112320277, 476245613, 762588341, 904267185, 644996645, 796010582, 667817954, 171261319, 587904887, 241213812, 432754137, 230096797, 92902883, 306285121, 72798785, 609068332, 355970838, 368311165, 219917699, 547023432, 98679713, 196007808, 32446646, 382235620, 802409836, 807960462, 483782614, 847660403, 735366345, 62203335, 208557835, 763950531, 729365928, 834879928, 138527521, 336041994, 991164692, 114954760, 144867178, 288725858, 265518725, 848297000, 604636767, 36306710, 574095048, 626404290, 509992424, 225530642, 566908349, 786545957, 656854235, 151862646, 905709729, 494718743, 192800657, 108209221, 891402124, 373779056, 21822884, 585956879, 628752626, 540171183, 324610249, 12615338, 532480875, 697092329, 680130391, 421847308, 450197409, 966650350, 13786106, 810606873, 655311950, 260119922, 984405733, 119050680, 763413190, 793807780, 917917263, 698067993, 263807901, 763459843, 982685685, 796847531, 968470030, 918674351, 634565398, 951809907, 769742807, 188938025, 783085959, 631995236, 419808740, 90161870, 741817771, 197856037, 793153821, 645408294, 482495722, 444722128, 996061992, 823004020, 799775601, 557898279, 426177699, 740090133, 55870436, 698693655, 141454367, 605749271, 734198187, 334486408, 147016276, 800570817, 753552089, 39652548, 450253545, 58757288, 686878317, 7204450, 468202028, 805822113, 593230484, 857303385, 289261697, 625306839, 240030696, 990829286, 324231897, 977250162, 989503114, 102421905, 537159365, 662998061, 200933161, 449317441, 380629985, 702031764, 881860521, 22027533, 548940080, 512708907, 22655037, 536075024, 666993340, 60713843, 754178386, 129611386, 738230005, 894497057, 360486816, 915448758, 87148495, 386025634, 655532210, 547658825, 526704133, 187143231, 794808912, 771375106, 843968722, 388457143, 353609224, 789400447, 357274875, 334191598, 550790303, 76099067, 518209261, 982086370, 333205675, 305361366, 330560391, 955634202, 374483850, 714969501, 774804263, 67625640, 791462202, 443258029, 772474331, 781043750, 959348791, 791488858, 663130077, 565894224, 16665002, 840915718, 346400437, 816270495, 729764075, 194638028, 390520662, 259131372, 28606235, 861532140, 229715102, 250704970, 848188967, 969421598, 304712925, 365156503, 855029328, 719194233, 807853497, 372109255, 159038386, 178950113, 857093496, 588422770, 510180179, 547503241, 631037824, 49529672, 218662937, 42054852, 660659860, 511972387, 993797427, 680498619, 726799684, 28412148, 394310990, 779404355, 903172381, 548290686, 940266977, 343268714, 485640650, 361440826, 20197439, 447563551, 617158805, 598835181, 368213929, 721265413, 616024576, 597479575, 676375242, 29502890, 343869391, 694155488, 61544677, 855125867, 825034060, 538430408, 594122857, 295139865, 226231093, 904955604, 66705458, 586418395, 385552711, 290688108, 122389073, 916371543, 111899772, 797621971, 119828296, 660720689, 960312889, 703324857, 276024269, 400575607, 509078280, 657016729, 734683760, 105580728, 226650843, 455908919, 731028460, 412408646, 156726968, 211067213, 136373100, 688440, 439604415, 311938892, 540230385, 659050303, 687573912, 433191524, 343519507, 784017732, 946939307, 869422881, 318538997, 951940917, 524061867, 966882982, 49359186, 790751432, 321049556, 139160215, 135521832, 661211063, 507241033, 172587288, 18865665, 352181882, 697753713, 388994663, 309960131, 571927135, 465399159, 447200755, 447110803, 770890878, 417938903, 439368255, 928008714, 836104728, 630763269, 686683368, 395269616, 605453133, 279215690, 646376962, 7582307, 310328872, 922691979, 398932025, 410317114, 251553390, 585619184, 592406357, 278727325, 8519621, 210811010, 708100838, 3358434, 627307705, 891029371, 859395656, 567656484, 131506422, 263107232, 870994236, 72867308, 941937487, 224231081, 726293583, 116855826, 969106225, 722712063, 522008950, 732358812, 907611685, 427069770, 306398951, 435817917, 657376930, 580283051, 488640040, 32406206, 774208881, 348792435, 693975388, 221010838, 454925820, 697216006, 529903217, 79760675, 598053932, 276190973, 513091841, 873698551, 872692135, 322941444, 425084263, 852408294, 639306984, 576395884, 289830761, 311937664, 433753362, 167439519, 937373216, 385824918, 941337187, 7301010, 60337306, 254311660, 475609045, 91184325, 920815206, 63675748, 691646259, 826645956, 939696222, 472146199, 436572348, 610809250, 227378098, 827020607, 444038905, 527400397, 923330701, 472777177, 384389845, 312029455, 868985160, 883138835, 43868707, 499758260, 719410078, 91719970, 50836301, 712527529, 359666532, 103346206, 184070853, 508646056, 745989687, 815029263, 683490938, 133472644, 819907866, 165097954, 615271060, 445528621, 528806903, 354387000, 774606982, 219535030, 526538181, 123384991, 817196596, 976753538, 413855260, 78241445, 651837658, 809533437, 751281319, 172968968, 955004958, 428951943, 683458992, 239184395, 773530341, 854614782, 829545638, 860829024, 209612983, 110971161, 706267665, 552531774, 309158895, 943365907, 713388741, 394000439, 784174235, 549019519, 805435587, 968550161, 893692230, 501203525, 527318258, 611815199, 204270667, 912876149, 896314329, 429498748, 140137109, 752406844, 577216196, 380252065, 491605970, 454063192, 253205119, 432982615, 193630900, 624187232, 992999735, 942903605, 312683297, 517243834, 8797122, 49522699, 42287355, 336485349, 509333613, 837258693, 778563478, 389790578, 158918907, 883153680, 334002381, 123463502, 112908340, 972052954, 966302457, 778068112, 716789453, 244104190, 555198087, 16525944, 63689472, 667140160, 157010304, 989728428, 828756506, 915557051, 203012904, 488622598, 848359187, 194925928, 239718876, 600319029, 715598164, 602763754, 378562137, 134533392, 307581046, 178564789, 970589198, 561557307, 140062116, 904420193, 404711189, 665389507, 185771377, 432978947, 956648930, 548149299, 925700762, 753649768, 782898154, 403888675, 21980864, 957560293, 723628079, 150425853, 478451963, 795613719, 619708943, 816592685, 207680328, 558160603, 463930993, 238375426, 861450519, 808800442, 628439595, 750323866, 653747264, 892466811, 452816715, 889899887, 70150437, 966847492, 195619354, 211190534, 747790187, 687455185, 237517855, 663671268, 526984593, 492950310, 271271248, 112713827, 72414983, 239214971, 332149789, 331636811, 804509847, 902142288, 166319990, 83959390, 56270036, 375572035, 442633845, 767935865, 724023687, 620194751, 103406219, 179671611, 714788748, 518824542, 210517607, 197999367, 180419229, 137290533, 226514814, 265955159, 686460873, 570196310, 142597116, 889070371, 907818213, 620009632, 882306693, 707859418, 36093936, 490319398, 309958878, 740182283, 303361874, 755251510, 733269323, 48408030, 293090171, 525568226, 349516495, 360322964, 511108583, 186423566, 172811507, 970693418, 536790310, 857464744, 683795980, 141188928, 277277058, 424376355, 742185855, 363677918, 211327557, 790716910, 144232055, 6167960, 990615666, 981748010, 156086984, 563897881, 790588165, 920590987, 220810905, 848086853, 332033974, 741187631, 321043368, 546840760, 229243961, 916247562, 336793196, 861966273, 81119295, 269799585, 430630596, 331110343, 584401471, 476606144, 29808219, 20320673, 132091207, 840051534, 696588742, 980918599, 460274939, 32370127, 629289114, 760868310, 584301191, 344622404, 280127113, 151744884, 713215840, 3120738, 706782636, 868874794, 475418948, 262327804, 28610290, 434247167, 71466522, 746346653, 626946499, 826467757, 888343295, 210738671, 887671266, 602236961, 423189168, 510088482, 252183523, 528899252, 517318663, 423193148, 107867611, 229954968, 99949777, 276714287, 912269122, 865903391, 560546219, 100834179, 586388948, 441602893, 776796291, 588548689, 678037729, 536230848, 677139245, 75648061, 896580307, 147570455, 569096457, 996034394, 765715529, 65425928, 140833213, 730624645, 82815172, 594655367, 557985874, 880213606, 405438584, 501726069, 306582554, 998667540, 318169078, 806843922, 803108013, 339018765, 11098691, 630055277, 845758200, 957611831, 73669426, 184108353, 134725382, 193775617, 832318457, 399316127, 20189303, 680709833, 659087206, 903922446, 516233224, 628513831, 301444432, 308467366, 964485830, 132315557, 427946684, 456042201, 999285010, 768612721, 91761118, 686969895, 58443481, 958696419, 18792933, 451148582, 447205323, 247226588, 703321795, 499220283, 614441459, 303590439, 621038203, 258882132, 833430086, 152407469, 58449217, 265765884, 474082046, 490828226, 156891253, 94993586, 227409367, 853924327, 598743873, 540109295, 605860817, 678212719, 637727040, 576828238, 4460211, 221327651, 370780245, 655165615, 835275175, 164690190, 15525364, 323891506, 708434350, 582447914, 862745557, 859601866, 78805456, 690012423, 11839288, 169468245, 431740044, 856588372, 832435236, 288982915, 485696702, 584491095, 183823511, 866582375, 989292858, 222795609, 520036501, 235408331, 321495226, 771155077, 304091830, 580106478, 55379631, 151499747, 334069814, 564153303, 969713339, 642331213, 10971255, 618581104, 641254936, 543845066, 821650872, 690382646, 839577313, 815296200, 693393912, 51753983, 790817187, 654839475, 408382771, 865387939, 171603695, 538628557, 992862613, 348291883, 981526779, 951159670, 242686654, 652343322, 32990085, 564221075, 372444083, 137378871, 345773126, 108817892, 147746638, 973029245, 707427693, 857413275, 135456377, 164404116, 278065581, 584949392, 286109409, 969352525, 781512423, 401131161, 293025842, 367681170, 822910813, 87398933, 706622830, 433582219, 642471985, 959269914, 610432658, 466881656, 938949532, 422474795, 250455022, 438965, 928863621, 908647239, 942821819, 784299042, 795487314, 924425940, 812192019, 559601617, 349762919, 556661365, 943762909, 342887035, 353348053, 861796474, 219809920, 757938869, 318667341, 484267608, 451583650, 663526805, 563529448, 732587570, 678860546, 830798902, 364610895, 56948505, 774529348, 834771934, 829735429, 104392339, 839587568, 424509340, 987917947, 568777012, 114226189, 143718842, 894187884, 799295797, 804342154, 91263052, 755775158, 442345652, 39344305, 914113755, 763762974, 607910273, 967392475, 189924597, 756213882, 281982208, 347223081, 251684699, 595069699, 119082049, 452119123, 921408284, 447369534, 767650567, 690071071, 396487140, 182995617, 975901852, 846783308, 854953588, 794166738, 139324672, 451232820, 319228859, 402608351, 695498058, 920862357, 50813442, 273544640, 943678239, 247322834, 883063276, 246341675, 937826165, 950638174, 426035479, 523307445, 536222668, 854771243, 864148900, 498148833, 143676852, 31414169, 8872957, 990283783, 183881087, 195966247, 153154079, 165527050, 126235744, 806681355, 589479065, 649952823, 711937214, 156299447, 736522131, 917156521, 233739821, 517550482, 603180332, 561290765, 79965080, 261949969, 867985936, 750759540, 136078068, 524030170, 682998276, 264426529, 525606980, 752736462, 428957276, 265284750, 396265960, 256401980, 854940989, 560193501, 441688095, 876988728, 474049036, 822387985, 368507863, 785640279, 444605152, 517754913, 342774020, 993671766, 183375396, 174822453, 708970755, 531112495, 774636237, 343500272, 443169233, 384576716, 80578074, 955207778, 614283038, 475131897, 270992768, 999970937, 905065466, 525337768, 771279845, 20805841, 909632061, 690518306, 351092571, 794136572, 186677251, 829550562, 825135720, 950579836, 655404315, 289269753, 915559647, 440923677, 135578044, 181066583, 103128724, 750038738, 297694895, 329797375, 124826638, 457778803, 499516822, 330623453, 333379854, 185572527, 944384458, 225269008, 691769287, 725166716, 691544997, 549470208, 867766919, 733084225, 857660696, 459093547, 549715094, 796564182, 707227025, 78188580, 886957015, 595608285, 312355277, 127344713, 79642606, 280472062, 34702513, 35781470, 441301550, 694032800, 228991868, 521802935, 371964678, 550391444, 218322128, 577267586, 789048123, 533018440, 213752547, 986804089, 500535935, 83447524, 250294342, 586730735, 97970733, 541343944, 434886926, 326037570, 543219754, 647605423, 67120050, 18474052, 328220674, 512078102, 73469914, 449052742, 308998613, 827706630, 402195408, 435205613, 327642803, 931926930, 788628150, 370348606, 594104257, 961217139, 975424460, 973406733, 849677966, 354296941, 436932736, 112476821, 654430210, 679684739, 199809817, 713706639, 470738075, 614746856, 334823588, 420952931, 423642365, 118534559, 309799584, 200402510, 117576031, 51413424, 391839462, 956268887, 466466682, 812274172, 985627344, 197988597, 809585784, 855641478, 539458951, 886450749, 598928625, 604515803, 765206468, 342819996, 343360835, 784658424, 967562071, 599098113, 667384921, 924421652, 455897715, 723106189, 666430371, 67364894, 579991799, 215539043, 392481929, 960711026, 965881602, 402668196, 947702506, 146577808, 665614971, 263790483, 184414743, 165346808, 727403489, 555664896, 640912280, 466780019, 336284304, 921957642, 818484328, 127412496, 516991725, 994174298, 313338971, 365031976, 371466183, 975220844, 42682671, 906040595, 609925865, 86046186, 44383187, 151480576, 760341998, 558148522, 819196497, 44444075, 430169656, 43446157, 771554313, 821300542, 739004920, 42193052, 333788300, 116424329, 647849581, 698452875, 658065126, 748710616, 781522182, 512290250, 928022382, 960884110, 76416099, 720789923, 719540143, 705224932, 322546544, 631901627, 209106794, 392823214, 395424285, 373980648, 637185808, 478162238, 907616134, 279494751, 573405274, 976862830, 238576893, 955838180, 126809117, 413089823, 201597286, 940333489, 202837925, 592633924, 977447216, 148127253, 265758590, 992326351, 890767704, 289341355, 973900384, 357729138, 257340697, 616113289, 115135019, 564130225, 426969290, 824907825, 205686342, 964449507, 171114246, 412688542, 940185078, 660328559, 126061467, 261109447, 963851301, 406712608, 707785594, 829063323, 707391653, 48871886, 619033071, 273651086, 881779962, 228667885, 42385791, 3392603, 959446728, 518822577, 452762321, 33036849, 604016180, 845252164, 257882557, 997505421, 403575741, 911556243, 250353416, 799726325, 21940686, 421643727, 985455269, 559206948, 822487151, 754491093, 157521155, 597808249, 360662479, 843367554, 748986776, 132008810, 159726873, 882307387, 667402188, 186915990, 136240146, 539686726, 33185475, 454482586, 341889520, 441747583, 275085933, 388177631, 588807306, 235355088, 422913689, 721138177, 831371043, 674396625, 973138349, 707344845, 101007002, 772505848, 556014762, 711005555, 135804579, 580103003, 287393679, 494314559, 21257644, 632997170, 86573102, 676512131, 491830546, 733899160, 228111762, 747506653, 141383630, 844546802, 476897917, 544363715, 650986016, 688291727, 358083543, 40105833, 353709395, 902332687, 662847725, 702902388, 302780993, 502081633, 356439723, 999473861, 565140506, 3694059, 826201325, 770762082, 411248461, 173852486, 728787790, 8864862, 544213157, 486742579, 530016239, 895142817, 929230270, 298601305, 729315011, 78013110, 403081155, 68965528, 556555597, 71481544, 263403241, 490730303, 572708065, 253478374, 736979662, 401070060, 520812331, 980688857, 839529111, 149687771, 890534767, 517182957, 240321971, 971934282, 23644326, 414960230, 115673840, 315162376, 537559230, 716762277, 735342759, 594121467, 36069560, 507928317, 667922093, 321355463, 892596661, 14477232, 905416906, 145311691, 517222201, 422848428, 907917715, 685551598, 33845866, 571305783, 494753022, 359688594, 510523422, 665297088, 801303736, 585347261, 818776018, 902489184, 445116412, 222265076, 460389797, 396084647, 298035113, 765423840, 682584810, 674107780, 634244972, 386371372, 349777934, 746354502, 793864223, 248426908, 559598011, 249786381, 513754216, 883243432, 225368422, 72827786, 154625828, 36097328, 360495529, 745200463, 956495719, 218790681, 457557232, 623365800, 749744178, 161277853, 257467350, 398268384, 562268255, 743428487, 680741724, 420506149, 965440083, 830274089, 317996009, 23596344, 957535575, 362288225, 766126532, 394801973, 517167266, 529632785, 597876483, 413608501, 465520023, 507752280, 507716461, 262761963, 743454665, 436444208, 328589511, 984054699, 122652877, 81973653, 301365816, 498600816, 652845958, 346230111, 415123182, 90619229, 182320484, 669210722, 33645756, 965868452, 420262926, 933902412, 109204447, 157480830, 961451425, 613545726, 622339210, 987551052, 473736021, 42224850, 412349990, 749908723, 558166195, 832279756, 118881081, 107611414, 981486954, 70229193, 368495843, 765222303, 274657319, 330298941, 272275402, 390545098, 763482450, 237510473, 394881538, 599990986, 979507244, 437393126, 112995234, 343352576, 724813539, 636689754, 589577716, 284119532, 862414028, 996728872, 355626942, 887703433, 569070431, 585172583, 127501762, 192533435, 868153227, 528248366, 820931531, 666570422, 494261772, 28985448, 350244159, 37072514, 331326672, 897138788, 96926828, 753763606, 962707249, 830572437, 69556621, 666260366, 824723449, 322203532, 5803891, 292583472, 24519246, 114479947, 892881925, 827241932, 409258855, 287703366, 613739803, 868198472, 257661107, 786310262, 801721724, 569122357, 45712194, 342630607, 86190688, 405911935, 476255715, 94842341, 151711480, 271903396, 23897461, 44644839, 822985807, 232676131, 968770830, 908503933, 979063918, 555160640, 390957034, 997388933, 631958342, 953135189, 375224897, 173190833, 690874237, 343461937, 343245755, 656168539, 767691851, 952313098, 649958754, 71148937, 744781534, 743851672, 409623286, 576034517, 581052670, 551122180, 945029437, 670580659, 783256801, 483542142, 708222295, 484172742, 939300234, 179697910, 932623880, 673116676, 46405660, 144888027, 319910621, 506077028, 915646756, 298314428, 201646566, 607087114, 292427766, 650541955, 898417147, 295542662, 460651450, 155078101, 146486437, 394805993, 251695870, 863710748, 98133634, 510184483, 441791200, 872062205, 990026766, 302626511, 212387256, 515365388, 692826646, 168597969, 176781659, 453431463, 992313779, 723233278, 682394602, 19772410, 501204952, 559083421, 165040767, 872565635, 172884357, 423819108, 374620188, 559250980, 858183715, 700352581, 787968984, 59588148, 972176178, 261559472, 656783024, 342262517, 863587967, 755432202, 853536201, 45265420, 325195085, 452997637, 143691132, 650765502, 183799001, 169390911, 337158234, 211250871, 839911407, 448979639, 669168161, 659943847, 925006196, 88758036, 444493169, 964811996, 544653279, 344506026, 45551720, 360171250, 816764003, 205823025, 207642955, 943334837, 996014812, 771641195, 207746659, 134305841, 939149296, 657250503, 930328211, 822743985, 928722826, 528978323, 541041935, 520117876, 569883347, 154898571, 135570368, 114204461, 93297214, 35981969, 111627935, 384435689, 555832725, 550834773, 134480371, 928004308, 929689330, 375040364, 17399588, 71350832, 135818155, 892935156, 961817643, 262369409, 467914047, 212443399, 162998090, 433536997, 791115501, 223425319, 690268340, 64839804, 771985321, 50597000, 622436591, 24723349, 689486057, 100579147, 570654186, 468147977, 231196612, 299363918, 70403964, 159503724, 414113140, 988742666, 625905159, 699501124, 601131178, 723352465, 725551187, 692768655, 25938214, 160563688, 495078219, 809836512, 199034344, 242204030, 568120048, 357418838, 720571417, 794219437, 421225979, 710874350, 553436793, 944008932, 517178772, 889922805, 875934681, 398916958, 663067962, 893232393, 3065669, 609859163, 422066796, 841940989, 535965192, 128795181, 528549859, 243350500, 250984098, 178366061, 993251829, 686746826, 421921291, 651092444, 239810056, 661781125, 368325284, 418156961, 762398617, 436358422, 159567342, 674170947, 450586537, 306539318, 677505339, 249990342, 313891601, 956707, 795982345, 663159685, 253599456, 903677574, 734603695, 495776815, 876645103, 352856166, 309861400, 506406832, 103137753, 101705956, 249223554, 270431361, 981271234, 858419707, 103456085, 307541457, 346647179, 688622012, 53475043, 582268910, 934895182, 865389842, 721893577, 625567426, 537559971, 330302352, 347329359, 174696971, 822293854, 574151563, 457270827, 169746620, 921434570, 229318990, 93556516, 578566663, 999930495, 975196039, 202437048, 706426598, 664561668, 72115766, 647861804, 977414875, 461148503, 801982350, 223789695, 589647429, 464915866, 298488367, 529723212, 265671109, 553510140, 393489023, 698590244, 393784812, 146157351, 8485081, 388510766, 24528039, 509768068, 276676775, 571391272, 274432872, 88488358, 820000177, 45350900, 483272275, 527168173, 470721501, 455910565, 235669213, 440780445, 596224444, 776248021, 402360191, 890445229, 394255509, 109410794, 814913949, 533880282, 836155527, 749987146, 846405256, 190421622, 666387773, 436078437, 72454772, 904230536, 362408913, 609580164, 511628155, 808553969, 123063289, 618227761, 579774649, 708954420, 151604099, 975963999, 721998531, 369065731, 367488786, 142960174, 526593640, 655816968, 106830738, 824693736, 388792167, 901137877, 968732927, 826168952, 423004124, 850193375, 405298437, 489152661, 735655971, 398364390, 642000195, 513427412, 882023208, 943216404, 554323469, 614204006, 492460951, 187278712, 860770418, 579567489, 599831273, 662086151, 686435239, 860309847, 520442033, 856517482, 843609211, 71102045, 317854559, 935444763, 396699151, 800408950, 477310796, 967568079, 776620701, 423919342, 69153364, 356907817, 235308503, 332376561, 99328548, 883023912, 177557500, 236058094, 150456787, 23709333, 634532096, 206607259, 509153142, 677837213, 719515870, 339836365, 742365729, 950496686, 724877231, 242688864, 21234707, 49777449, 413713771, 566731730, 739302043, 383520740, 91094683, 974752212, 83395920, 60040561, 662709430, 51868376, 603025590, 687195587, 569844453, 452113423, 612492712, 985145893, 872387480, 993217288, 40914542, 678091586, 913459179, 988078289, 687134219, 369916157, 667436383, 693610532, 91213194, 382215420, 332805964, 449999183, 957293746, 44209344, 611587334, 847763457, 268802920, 812589634, 929822527, 907145439, 737168939, 419997708, 701427737, 662687933, 296026963, 789126304, 506059409, 733532705, 495506718, 524542716, 778896101, 876420845, 183229443, 786058226, 514797469, 968794834, 209364695, 660419331, 462362747, 587646938, 677628350, 201357298, 30255042, 297856524, 159078434, 810286197, 236443829, 434443607, 929502355, 182621298, 185811450, 734630235, 635203897, 438077565, 223493472, 755570556, 929637636, 932390960, 596100457, 462194024, 390350025, 706490922, 520811153, 780987683, 441561889, 5238295, 713879935, 778496079, 861325174, 151680499, 711701432, 332683810, 609128970, 131491117, 321690321, 378845907, 382332055, 756231293, 712835651, 749148675, 496340466, 519066836, 623707109, 597078079, 358221631, 813094900, 426152250, 862419795, 675923158, 228586497, 610917497, 716548217, 848263376, 966526108, 474058441, 110432343, 847146498, 723267315, 211410318, 976255920, 762990343, 6704122, 683453857, 58134330, 232019898, 528185459, 722218068, 549582145, 403577739, 238781867, 942306656, 112678494, 905998647, 421900909, 895636195, 482959628, 317709935, 82867637, 871723694, 600158334, 419301735, 499595598, 686199704, 247584561, 195941549, 199314088, 828541170, 760688076, 73088744, 656981434, 860824898, 754196673, 589122135, 783712282, 500008516, 229571409, 909445731, 815735437, 321677601, 209561907, 120660858, 145739691, 669525004, 334953068, 105117230, 946830510, 361224945, 22382630, 98539425, 301610250, 325927353, 745916297, 282264121, 88173153, 449600440, 321146549, 719939799, 546156127, 443786371, 150420601, 298536654, 365728351, 336834014, 801151460, 802722908, 911807611, 942859140, 353288093, 378913112, 649224879, 901769992, 957086407, 280196208, 249446058, 118624483, 389286038, 461809542, 425091820, 717651380, 758515511, 984217865, 976164225, 339644310, 842624062, 535514220, 5775116, 408206821, 679158208, 848996835, 275990330, 709606995, 419000233, 491914137, 814077044, 33524443, 168386913, 668040802, 59262361, 761951605, 335685162, 772217061, 211419449, 130244188, 384648239, 996808453, 260960008, 116834514, 348642250, 786224498, 742313797, 363558542, 332032109, 957818668, 324773064, 275387736, 73542760, 591999231, 420912239, 793455040, 281837926, 441048825, 27413554, 409500146, 518350583, 338390233, 357591321, 332943885, 250812694, 264845094, 928021251, 301494221, 975980162, 541391828, 683983079, 944588590, 851348018, 857096566, 813624593, 400493235, 255901502, 461246604, 144697068, 493583369, 591237583, 414192943, 261451905, 262179339, 594149320, 496256902, 610917375, 53500261, 606118566, 376849992, 102451730, 385399644, 4272736, 845906616, 137902873, 718168500, 12651794, 43259208, 198261193, 232937044, 310911365, 81059432, 782544072, 698681261, 394033785, 188180313, 167540323, 293278096, 502223977, 508221552, 347527630, 100529517, 865630341, 118823704, 116872634, 31110369, 805359552, 877214556, 130271922, 571978574, 25358549, 717440242, 957511033, 245642623, 976831417, 609280162, 436485197, 627457065, 795724654, 4934867, 390048366, 842633239, 921691943, 460141756, 188274427, 833404914, 599371063, 727476652, 864696751, 304637168, 794361203, 570303346, 489762124, 380821384, 413573071, 473849445, 129356197, 691949143, 405922289, 192117075, 357937292, 706485349, 885834905, 51738526, 971967781, 696219354, 902654898, 893239423, 191855422, 523437507, 756167111, 718175891, 480362438, 397291450, 324968641, 399450902, 798626074, 105462373, 127697763, 700141697, 573515912, 458452863, 786727375, 99364541, 44719300, 63913976, 770143143, 113181188, 751834780, 503354542, 802409675, 175227662, 125749170, 926415394, 436110338, 724142088, 989648577, 181040163, 652267270, 968202473, 202509242, 854477938, 517663168, 31998887, 849313312, 17088315, 312086969, 333535623, 318113980, 582279610, 684291609, 950285382, 644199015, 653297107, 610399559, 718508075, 165150518, 25039492, 250720786, 274544206, 406693152, 442059910, 996201559, 515276493, 93009004, 845535825, 467287007, 586313296, 522053431, 804804982, 163605957, 498977291, 107322449, 878049498, 447460276, 191948575, 489818783, 199540850, 260519487, 748733668, 72249923, 271828922, 644380365, 152767856, 304550763, 941042887, 183543973, 525397203, 315642381, 47112513, 972679529, 208057937, 277305103, 898264647, 464198990, 769139135, 723950045, 818602244, 731904185, 95009629, 673570439, 492413254, 658659210, 613190149, 282264183, 555296949, 66188115, 727170477, 497788023, 856975001, 962788197, 981488301, 937822773, 342679084, 193412743, 663754703, 345620700, 560567836, 249171860, 547977549, 415249788, 485583148, 678386927, 867585574, 712556960, 816362743, 189273050, 280604420, 439497311, 774427304, 12995490, 486106562, 273915841, 317039527, 341905082, 893018095, 255357290, 929894575, 702127193, 608244274, 328530260, 787360797, 872989454, 609267416, 189001931, 163218324, 394961794, 864545442, 377274548, 656909418, 360533365, 508587138, 174060707, 355414572, 600444041, 979148589, 859731096, 568386965, 977541715, 832692609, 93223712, 612381502, 238747551, 790003944, 76834794, 422818311, 546307742, 86353359, 541598411, 459863799, 203498208, 854943192, 458386103, 997313248, 123655964, 394591915, 606511137, 735219873, 314535912, 237116212, 599426837, 904712312, 38376172, 776213595, 446697909, 165437135, 517891478, 795389452, 3598672, 252139202, 794249025, 890296338, 290037925, 955185344, 331918494, 346012149, 293829628, 471563753, 874046794, 118851716, 983473396, 258470193, 683812989, 94992343, 892358722, 797949817, 506488209, 709491607, 656448434, 170210077, 476352548, 154457633, 836393383, 735329447, 37879040, 39835614, 951907278, 70204290, 719280214, 174835602, 518761513, 294264698, 453434552, 116035601, 615941759, 420762409, 841379850, 75844271, 536474442, 833453935, 368005285, 496860834, 858217661, 508922573, 558032762, 72443334, 293553298, 517293608, 304000630, 481882289, 438667161, 660885622, 407259246, 315669834, 651087027, 600093019, 241481407, 212483337, 578468836, 525705817, 588740436, 547917366, 480871078, 531830404, 575739387, 538847019, 29578833, 430639962, 926749098, 423900964, 753955885, 430634241, 525307711, 370150391, 664282572, 746100260, 535257106, 47456956, 530009907, 480490924, 658720134, 148321792, 375858881, 88041703, 2394907, 203140894, 117765205, 891177255, 123766411, 701853684, 644677975, 892912734, 650687185, 510368824, 412201368, 35715539, 422273252, 757703262, 72842306, 558579624, 490815294, 901205979, 808957199, 198930658, 377513090, 914500295, 625012757, 618429694, 225168586, 889999262, 525947263, 401240934, 480158166, 49853128, 920710839, 956147655, 231391761, 355594554, 344215224, 640515077, 467301352, 258096049, 146445681, 892136278, 146762932, 344757084, 660573252, 559954520, 221060065, 916278322, 960631651, 189175337, 297852743, 697201723, 729765261, 616416126, 500667373, 903327261, 677190102, 756460685, 191821509, 985749639, 398532770, 360963776, 478328151, 617778126, 680818678, 570411764, 547705808, 954706194, 600861656, 856401224, 1507988, 603727628, 577581801, 690438789, 384084798, 903828300, 777267488, 943345349, 169579039, 503860330, 971791231, 89178247, 941342845, 899318552, 301765077, 685700233, 106770354, 865557208, 83364961, 576294242, 663226024, 126730694, 454139550, 45236035, 739011751, 571520809, 350831937, 449902019, 465363433, 990935152, 863347067, 577908823, 822440203, 784725235, 813247971, 310755194, 226057082, 918297368, 613928580, 572664903, 426595052, 752534113, 550595227, 34360444, 542333414, 736275250, 396451001, 126066837, 436595115, 795934485, 908666638, 181713827, 587014223, 914827082, 284722634, 687200054, 739930195, 517928234, 926162032, 473726393, 938972107, 692063579, 156919630, 967451521, 102077323, 828377174, 157317865, 180679491, 962874643, 455414611, 939993721, 863843514, 759961944, 162939640, 904571766, 295097653, 457334, 303206770, 525062244, 154399533, 900554965, 689328220, 190484618, 305197540, 951340024, 923307879, 343565252, 33754580, 103579021, 911785527, 420828913, 526592143, 487344245, 718909034, 519660703, 436686962, 849152732, 264286517, 832120439, 869305902, 841311321, 415731319, 368039246, 976032771, 876175624, 195083841, 388396130, 286066435, 261054199, 424715077, 502304978, 500384636, 611504241, 448802030, 765656996, 578276552, 931927715, 246817361, 222426557, 37108313, 642450654, 115815870, 966453436, 618809048, 105031973, 317803390, 926410891, 746184020, 120750976, 385715045, 101766158, 592670964, 201611944, 939741403, 429560004, 507497993, 470728634, 444367235, 892408083, 64796228, 704347595, 728030046, 533265430, 517625403, 502063153, 294467117, 888272366, 768220101, 978753893, 334705851, 449852570, 776208444, 47727788, 837702285, 689074703, 990648730, 604666116, 868071955, 628809799, 730973655, 951252691, 575103958, 744224841, 479495178, 69031222, 194544151, 618949415, 585019167, 983744302, 619637873, 662670741, 723978916, 608997353, 625462476, 909468363, 506751280, 732926040, 632498485, 915776518, 156135773, 859864887, 498205330, 363093750, 35839354, 231962756, 50797886, 972413523, 693470136, 95888122, 742687832, 529991330, 250271817, 130451450, 245568789, 344249107, 698930076, 431526941, 831757017, 132040120, 505193392, 647757666, 35118768, 982319145, 34948034, 91094738, 548666502, 164678110, 351528322, 711673878, 441385610, 526896836, 597160606, 925584905, 336128613, 385584460, 342019550, 411162581, 122180011, 53831081, 754351951, 179665918, 675437727, 398262509, 418625139, 815171286, 524641065, 591903679, 50644065, 49885065, 780257227, 713347107, 29901231, 294082327, 154170208, 184010172, 852950794, 736321878, 194862475, 722452783, 568871289, 950502771, 51965922, 716334255, 862056910, 925259490, 575394133, 877460514, 436608709, 905846634, 993513031, 559323210, 478187054, 987542950, 617019135, 685687278, 31803095, 265760027, 637196568, 217194848, 988152716, 423688396, 808564193, 79735268, 361252688, 643412089, 764130132, 99726524, 715553042, 250345961, 685860579, 624006558, 435242178, 411180176, 220875312, 517562531, 53389439, 474444517, 853108962, 963398230, 174368391, 362012355, 456824272, 693330767, 28514411, 774897673, 97359162, 379624672, 622112910, 65558306, 407416093, 836845094, 399121154, 635737142, 936739105, 543624357, 183020224, 669994708, 10000679, 444880614, 385904011, 225904625, 647413665, 85700735, 521526117, 673817049, 80689052, 862534500, 666834087, 280637273, 674432411, 919649914, 881335003, 678586699, 44855270, 286750828, 759692030, 881777617, 251723963, 364975391, 339002581, 576319294, 418675429, 891127016, 128424051, 698235041, 958473068, 62970076, 462833224, 523936810, 520058324, 320949832, 738664347, 393372151, 162282878, 819251220, 752855912, 98095395, 698832797, 66556420, 789974547, 448721357, 904271707, 868394971, 253823574, 102042395, 650579995, 921397828, 432424710, 395727645, 362915477, 799466436, 847995931, 441669597, 622845831, 63796364, 111282012, 828902453, 3634650, 761898579, 200376096, 83392523, 186817326, 431095059, 515821521, 434712621, 551673240, 227133517, 130108439, 121951281, 651621383, 872984320, 553570796, 954185720, 367591984, 471936477, 2241046, 892676118, 31097845, 189982548, 944172604, 101556585, 701288916, 895337356, 182222752, 463215228, 325406123, 230541543, 171024758, 738011393, 602650609, 1836316, 470606488, 680565550, 379223522, 164704112, 821736642, 275394979, 901851054, 125344786, 778251954, 768845327, 511155806, 29326559, 811888342, 76062695, 656093255, 469917258, 322495965, 641416091, 362828770, 979059660, 570737385, 12615914, 781627050, 655803110, 300673420, 59822464, 118268538, 570964846, 526013342, 945827691, 646126205, 728451054, 569337655, 945523959, 494246101, 297925536, 845686047, 315687374, 749220667, 648771155, 666186707, 450450552, 71214874, 781994992, 953331079, 342407494, 873600780, 247511147, 803362164, 301472530, 4589736, 844524953, 128945847, 379672464, 359558772, 624624525, 646547983, 887576245, 499426947, 858099810, 169652484, 456775872, 384606244, 70474766, 401773120, 568916489, 586079919, 806588713, 813578425, 519483408, 647868204, 644220173, 985621130, 684699712, 535461686, 292796775, 864458450, 521971733, 504821529, 930801004, 127904223, 50152474, 915160461, 226361797, 874424212, 366902337, 458551136, 183470968, 373656263, 254443571, 669890438, 878520825, 572241096, 181877499, 547332774, 697202357, 914043451, 221119795, 657394025, 916164098, 103077036, 174479545, 695880329, 24779933, 28536992, 762106938, 891599380, 14460620, 254857302, 890132018, 559932820, 410643511, 235690939, 737770055, 437140444, 386076160, 641496381, 327995853, 55861487, 530365425, 12586329, 421003998, 7284332, 560846637, 648992451, 952982917, 114690471, 730828985, 924648555, 953465457, 515203943, 175259070, 448357642, 548115212, 858545743, 959356123, 26365651, 166241912, 241365062, 411479532, 167407909, 525600584, 619580730, 612587110, 497481726, 872545939, 632556275, 362450886, 319914648, 687831740, 521396582, 13792917, 848774222, 450474546, 395837358, 576781751, 359427619, 777029082, 967314032, 178177068, 451498416, 796340751, 103407114, 221128825, 307278139, 769426439, 189790674, 61537382, 806521812, 323599096, 649789657, 987550645, 420893849, 1472442, 343664495, 186221357, 760004235, 323129284, 745258484, 240148075, 548430975, 768547991, 587637172, 366549353, 201288968, 658224586, 319535588, 506397458, 302307573, 640380006, 279121322, 818965383, 141170791, 494074085, 757159763, 199090361, 916801624, 795352663, 487748708, 455829340, 222900183, 618314909, 376977078, 998558695, 468913252, 389277830, 174525899, 911855686, 948819438, 885191910, 323746502, 432468690, 832372985, 732297594, 487858997, 59205022, 786853716, 994920716, 933275368, 643465714, 136796522, 247669707, 373217661, 514010832, 507214110, 778254572, 180943444, 290664627, 321780966, 594363693, 247770984, 75380218, 376262883, 761828662, 210260122, 133425094, 897234317, 536548343, 766886375, 815772423, 595491370, 821204779, 590823407, 219349701, 297860483, 910303614, 752288808, 151827399, 191495358, 167887129, 413556368, 739109972, 708473519, 936674031, 809026644, 260513626, 203528688, 694447432, 29970211, 332852926, 98068362, 382927264, 487646087, 121810979, 333517769, 432829553, 508169043, 316553996, 399292557, 151162170, 84380794, 372544806, 425971755, 884091307, 544746109, 413812746, 621339497, 707865441, 70880188, 465420152, 791244987, 237465376, 94575060, 503797432, 732454061, 374544150, 42903344, 48134832, 944649348, 696117932, 845110869, 360492113, 716762927, 203098606, 217995349, 369902846, 543937240, 682990286, 793376763, 857380773, 600997077, 242356087, 233408116, 877185377, 985304223, 88093210, 157965737, 612026190, 296365165, 20256969, 629176429, 655929169, 566879373, 663904935, 914740898, 206969172, 464833021, 936557062, 44633798, 44347017, 360891720, 146332028, 27570804, 47970829, 226848457, 130264769, 395081997, 891805894, 221447532, 98418439, 485918145, 761657756, 93825183, 675663935, 112692777, 636523613, 95321627, 494360962, 169896018, 962332125, 961313680, 570123902, 11146839, 210456958, 239120672, 960362582, 965939304, 71655323, 286003501, 169071354, 156288295, 878498393, 737489659, 410667649, 611537622, 96314488, 269412693, 448738573, 98101345, 288172639, 985503078, 598928649, 236656873, 374172857, 636712029, 206095092, 115482682, 816003007, 602235023, 196027866, 988784371, 817380074, 584551177, 143284636, 866250957, 541538224, 111780280, 282822561, 756613607, 673273391, 836328885, 645043791, 63238374, 839205475, 174672273, 65080785, 690701089, 160897709, 877100968, 534920235, 605121543, 892589235, 117218918, 884337436, 191367591, 177089161, 336320837, 718125779, 892069445, 824801860, 358149796, 370910831, 536269265, 48218271, 388314896, 983043890, 377331656, 78452066, 180077968, 678344111, 153492131, 164672069, 445167196, 749323139, 858343158, 671107887, 611314766, 170618264, 543457087, 482794935, 703558100, 523785127, 68992874, 358129153, 41221415, 67204693, 467248703, 628065345, 278907170, 497025945, 380795694, 223990112, 648872977, 192746011, 261172280, 696668577, 905732487, 752186894, 802577198, 118391442, 310427728, 228838048, 869370334, 549890539, 456308983, 184141440, 164917941, 967338312, 568057095, 608277975, 733025577, 681776726, 570521509, 618863930, 841755767, 52528509, 900898138, 399705771, 955562638, 631456375, 637431031, 630945957, 421291536, 692854971, 78854525, 759054456, 29584989, 682359889, 802069594, 521444072, 743301706, 424415109, 685773197, 811212594, 433183704, 837353966, 530788633, 599115715, 107445902, 518079816, 223866697, 939040762, 237320149, 228973713, 798714333, 542191218, 477848103, 273661232, 346843788, 717548152, 539102320, 793545927, 688883562, 871030078, 694421371, 499936600, 993184389, 767477537, 509203980, 190994038, 357866867, 310392529, 972869869, 848796291, 424980213, 890872900, 178446845, 743902315, 786733654, 610596251, 471041413, 290091757, 910840214, 975803071, 989354253, 721324319, 11616622, 717434330, 4609568, 157281877, 599127837, 649597122, 851393867, 710735244, 780251395, 173679143, 451680335, 12464361, 401201279, 803149200, 607835367, 151577361, 449891723, 37946138, 786535107, 511215204, 926456553, 242047897, 761766920, 49672996, 677513580, 685130445, 342805872, 821116046, 135152246, 563046363, 65369851, 199905863, 531395759, 638221977, 542671999, 800272862, 676437801, 924328134, 8781147, 442874371, 758960815, 39742630, 197944417, 861777265, 558756131, 762899876, 185885721, 535249694, 331057498, 266000177, 467851053, 808027382, 614259619, 963400268, 890836138, 983561170, 381129712, 713206366, 145522294, 910279163, 959313197, 547932531, 474491371, 320047906, 208053967, 550492007, 452055022, 584314491, 267145447, 771150567, 80428436, 61555034, 747978704, 89529955, 342062233, 825714801, 203076935, 955838833, 231283334, 971992642, 488072160, 127781644, 701928264, 878011306, 274915071, 628725155, 342793972, 757891742, 694306971, 615127701, 987158293, 906362486, 798553376, 600472101, 144389678, 106301386, 640345815, 449557381, 829015295, 109465661, 201432549, 683015005, 330439929, 19223459, 341625288, 932955505, 373434364, 581539524, 555268001, 341353324, 744779043, 250704916, 172080291, 278694767, 735433582, 604768609, 65752675, 605847372, 482253116, 77673748, 42857928, 423790585, 287750949, 939496073, 51582873, 925768485, 911131912, 39036632, 583539858, 558017606, 518918497, 302708325, 970830695, 160434271, 907122086, 653460061, 651145782, 636362598, 445066925, 805461800, 521017644, 436006484, 878730173, 81764684, 253778112, 702652833, 261806171, 900429322, 767631974, 4436501, 311550805, 455010090, 479558319, 684954625, 692561655, 288213237, 732275639, 589931604, 458357236, 713626876, 148440850, 67365273, 691322330, 398108080, 164239082, 890475345, 504101191, 321834778, 285413517, 314426863, 638518034, 861620943, 70127899, 682260480, 314388230, 370058961, 817077241, 257550077, 142936437, 983898505, 919035913, 919739498, 734135344, 308228147, 808886173, 332776931, 257689342, 456648178, 550219974, 500233386, 304903673, 67755537, 960097544, 26389210, 101740983, 2667068, 886691125, 669426989, 653724412, 428964194, 515257387, 192600963, 656781443, 370805615, 868719773, 417289125, 84513461, 47237702, 496803847, 222044345, 305648484, 610504331, 818020887, 109674774, 904249670, 465438510, 726720265, 373971026, 119321416, 684311400, 189684735, 713119768, 455279141, 981225934, 201075080, 387322540, 599864995, 453490699, 584756721, 737266702, 293326742, 626903023, 830170341, 501392562, 254562853, 440145589, 125986632, 962617998, 437793066, 97831332, 400871935, 521009409, 556020557, 750921094, 427194861, 861345817, 719877855, 865530130, 189999389, 399327987, 266070954, 182542146, 65715641, 879742345, 932207825, 133756222, 364558407, 4007318, 927857491, 832214304, 34111900, 788668839, 657695061, 552896145, 581130346, 404704161, 925994707, 671129126, 728300328, 80702656, 4158735, 523028470, 15871615, 153094646, 940443756, 564992208, 639844562, 649528903, 497445712, 289850946, 492877415, 952825049, 737893520, 125029123, 26142325, 616669906, 668796633, 959713557, 698622253, 9505665, 267575602, 785346429, 830699070, 912985140, 994451005, 336583949, 825380019, 489066630, 681927201, 701500180, 463519120, 916758404, 71462466, 278998543, 932121976, 626876217, 257715794, 548483855, 265254760, 169030874, 147506330, 333267376, 918478230, 82278214, 243136383, 870167083, 857304329, 551252025, 932383458, 319542529, 374664328, 616889111, 489203592, 151034026, 881625458, 215929604, 935972226, 708108661, 936510227, 747082703, 877401725, 482015940, 847683747, 183254659, 977154353, 454176522, 558044020, 378837254, 764207863, 240173767, 333177278, 605910132, 449527901, 443035933, 850291344, 869111290, 481511726, 243967232, 561965722, 172394330, 11541814, 167953698, 941340135, 298867628, 141190799, 220418222, 312810699, 357818404, 421159992, 707469329, 704928313, 219373941, 299206674, 348991697, 886371259, 166808085, 438228889, 624742943, 129091392, 967726379, 412811194, 327634146, 731110254, 583970050, 984360485, 921158283, 528443789, 761362949, 824224841, 791126708, 651608070, 622114914, 167559340, 682732505, 564618860, 24409108, 86109891, 2188153, 966570198, 640127674, 845147761, 775215414, 925624862, 525508390, 696737718, 735777755, 724373738, 621148076, 282352892, 889039731, 192858445, 22243162, 506928955, 169004068, 388356150, 314383810, 650669856, 779248243, 899175692, 947645867, 740724793, 644469275, 340165065, 832236361, 356687242, 810835982, 549573318, 989389176, 316436699, 440683471, 100167533, 713938042, 900035781, 613384489, 202239812, 664921132, 456093882, 251626578, 832716075, 414810963, 888388967, 506050680, 993943221, 829799983, 452440542, 985699845, 910226097, 550652345, 433585287, 760176430, 873068291, 927903222, 25656188, 194444930, 855686996, 396694083, 346125335, 925181377, 815901367, 136032950, 553799887, 427012139, 860913300, 364666657, 51376204, 681017264, 120719616, 680281843, 158520299, 197462083, 725573814, 123997386, 299456809, 410807860, 317331104, 6930292, 213409445, 947125990, 332070098, 52421104, 89774394, 340394825, 256230542, 168680902, 769291561, 536449654, 551276523, 944005138, 392937814, 648752403, 83558227, 37500019, 964276714, 213578533, 629679927, 222573957, 302890648, 759489494, 739993134, 661279315, 945613559, 347182603, 687676938, 94342551, 94710418, 301666727, 281056402, 45504007, 914976126, 274541508, 479144318, 860788254, 135627126, 987318685, 616983380, 906843058, 541216492, 151490527, 330160465, 553927526, 824263912, 415993276, 618582303, 681805790, 238200485, 234149441, 972758737, 634188256, 828722362, 664859937, 474628108, 695317641, 94033188, 184622730, 219805628, 117389758, 855721643, 795567941, 76578349, 81451820, 777359671, 853826104, 940679775, 174334825, 781606708, 617441878, 767792834, 135159797, 996600952, 670349234, 972053724, 479953316, 262851361, 858924944, 769735276, 968517635, 601323151, 591084153, 424308290, 680774314, 168042994, 246707770, 865771256, 907568664, 17605587, 352819134, 257653916, 861636451, 460825249, 508367727, 724878487, 328998449, 945032902, 419903202, 664120854, 643072444, 771246332, 867381214, 815633091, 961924302, 534336431, 898945963, 804864736, 432668686, 537266622, 563053578, 331337459, 961740430, 84241704, 498245024, 492373576, 396826809, 652312081, 599286099, 191111689, 179275959, 818284986, 878914510, 636350904, 942318388, 407197083, 613318190, 697753606, 549995008, 198612072, 177219502, 262304188, 642842554, 87221428, 106021865, 485511931, 780558399, 852192334, 260596595, 57528672, 225986049, 386166988, 725823946, 209339074, 929102724, 206881885, 251479041, 184265316, 906284195, 143641812, 37043600, 334256274, 822290650, 67035352, 425347473, 648857663, 184912600, 473669183, 593752741, 697318098, 646283836, 37006955, 823677915, 307295758, 188696944, 527207366, 912565081, 346734670, 785164861, 236307796, 871941918, 649048593, 856441946, 120685655, 987508476, 726832564, 7710576, 113309560, 659017793, 167948888, 837847916, 248222750, 709463287, 173459604, 712026347, 125645502, 9529619, 693557902, 128650403, 336105601, 728320224, 599152311, 708999786, 494577214, 436287290, 961510654, 217880093, 799498488, 225150627, 445273385, 803779062, 453943294, 463713033, 421481635, 767032331, 615504333, 831588253, 501788218, 973141914, 474119838, 612733522, 621987123, 846184885, 390367741, 778043211, 611430231, 234782813, 845992617, 606809313, 732586830, 499178594, 434598561, 226215642, 238769605, 425644276, 918779918, 576706995, 718011928, 312644987, 479041, 715937591, 131659261, 808864884, 176547198, 753497076, 166761020, 116695689, 378904095, 258870035, 543466896, 897720013, 828842945, 281775216, 609448468, 595070781, 688515570, 127882706, 851553130, 254413215, 969158518, 345513166, 212217418, 874979571, 852292227, 736848830, 80329963, 512252830, 76089723, 11489181, 578246815, 252014041, 596918771, 147278258, 838541575, 6638534, 907314606, 117087769, 591696227, 43121448, 915198508, 684816112, 486709651, 769021910, 851042020, 331820862, 913960057, 923548298, 30301391, 269898761, 822736451, 390651378, 628924564, 468204571, 326629114, 298875154, 468719282, 998583437, 793459218, 636865690, 452885780, 543137562, 438554666, 680642408, 526796539, 233170273, 507709915, 223765599, 695369879, 920529070, 30503598, 840971791, 282644078, 185360055, 381954912, 699799253, 271571490, 85090161, 693777940, 131949593, 3507368, 44997550, 817128251, 1879531, 212931341, 371437335, 291780102, 199965325, 664015936, 511397292, 926584755, 763380610, 964313543, 671462658, 737929388, 117236486, 324199660, 398327888, 209733230, 489812776, 389480767, 389692954, 922642386, 222936287, 606560388, 573825887, 74043678, 750459366, 78440531, 597902353, 911659189, 616700690, 964643754, 653740424, 128238907, 541822322, 461232270, 827268172, 984482880, 171861250, 345177053, 647936084, 584146218, 659818385, 964775946, 781144765, 545534383, 455185350, 345696912, 827583558, 370194836, 705786736, 140897337, 324293822, 389530218, 118295445, 221110111, 744859025, 822322760, 19251209, 345570730, 762298936, 315939775, 862058282, 772869134, 886274480, 561446791, 346923321, 252346619, 293980741, 23039607, 563775029, 850212249, 569452939, 601635343, 402410204, 94651764, 671755601, 278341184, 935948888, 61331191, 221387645, 435205705, 613184405, 516327693, 338351380, 665054982, 490503720, 594972954, 651321578, 752100052, 94676348, 387563108, 162987569, 606902486, 404800822, 987693257, 583064699, 274611828, 324185592, 530273001, 866210885, 332261136, 853470265, 788037642, 305328089, 220813032, 827556490, 934180289, 894580477, 904762390, 974051324, 616002680, 739742302, 283915435, 863673919, 867202043, 389162240, 36558487, 938290698, 19052911, 166928813, 689109863, 800620091, 428233486, 104087582, 661072462, 213535316, 252134158, 829805920, 703804837, 133636865, 268147541, 549386643, 104520778, 709958486, 368892694, 414367418, 403783528, 690543462, 259016168, 212929021, 781590627, 717796513, 925814297, 287733002, 973988008, 572693655, 970104355, 905748646, 381485382, 470684999, 38637646, 340296570, 829800365, 194419502, 751205570, 800184868, 399888845, 564258853, 339390566, 888112414, 352985722, 577604434, 577567474, 473201427, 560120086, 107863372, 588860361, 81447009, 868587508, 709409827, 773152936, 561145700, 145388616, 393120900, 939748974, 828540511, 206753043, 418665364, 786596796, 801988755, 379497214, 199199705, 200155663, 404364155, 451445048, 199355045, 43425857, 223684770, 192803966, 410461235, 193222837, 803359498, 74645494, 517039644, 657260531, 632556308, 843592231, 537296880, 962623370, 932383548, 125463943, 410231688, 25409818, 41028612, 519453559, 348114171, 417838069, 243604181, 982651581, 765360432, 938176265, 379171432, 792125108, 5990353, 57841445, 565685264, 482645607, 957347712, 279906889, 336966243, 420335551, 99309659, 204651163, 20694510, 318064904, 62066126, 76571798, 869385153, 174838289, 173116793, 15087240, 671143565, 141442942, 243976474, 497302700, 151410200, 260913676, 909212909, 670382902, 770997527, 747449356, 398305736, 180471399, 54157620, 933508824, 805395180, 412349876, 745875425, 712050722, 333756712, 916323750, 209233684, 351080884, 208834313, 693506067, 903050304, 595823915, 689897996, 409969056, 710403645, 322561306, 934217756, 847343623, 755565762, 153221801, 9303541, 92220340, 148013959, 257666600, 480407583, 731550231, 449172754, 516138022, 957776680, 792746261, 692534116, 206919707, 523797756, 441523640, 934451993, 982325752, 125366263, 871666585, 565591652, 460596582, 409446585, 877797264, 761777768, 49184730, 364343814, 188721366, 843223009, 434342610, 431502447, 910685479, 675810013, 180677495, 485068982, 311043345, 897604079, 267382039, 928538842, 574191206, 879612321, 597719694, 664279722, 976432663, 182139514, 761206290, 73462395, 684827156, 638936591, 448724573, 536918538, 406535877, 728136189, 693623127, 36930672, 99980317, 861526880, 883635096, 725622464, 369110679, 142135579, 510764707, 467257299, 807118983, 568740052, 441433043, 304705300, 572665052, 134926772, 750981730, 684057085, 589479235, 170020904, 680823449, 280743735, 337551451, 453855404, 681802657, 910153683, 194632167, 626278601, 777458156, 772100067, 999399966, 436711948, 119690604, 681416430, 877688937, 491245343, 854851432, 51600516, 20232191, 283667985, 554666137, 147402117, 513143624, 907264365, 345961449, 189654738, 220810771, 65528077, 401922365, 545520480, 450185572, 136256525, 136312351, 569226230, 842057994, 784086373, 457953068, 130187973, 778169148, 312382084, 279165214, 945996973, 303254250, 119893061, 489418555, 508961258, 331706041, 102045696, 182928070, 142274288, 477295928, 949530050, 774743855, 894746294, 52332061, 702173638, 248040893, 967887381, 800367558, 526172655, 861309139, 278415059, 213828365, 589351955, 349552833, 215782576, 220679054, 267589439, 720957280, 437976496, 847154196, 569369830, 743091161, 547410525, 96381387, 832969402, 507777392, 881914734, 534399166, 366102707, 349852918, 14189621, 316722590, 842733810, 177545746, 377973297, 44683671, 942453979, 640505552, 491667086, 60610806, 282709027, 316993960, 365285729, 394172341, 631693439, 728139592, 429216038, 924202748, 540946721, 157658155, 571166013, 814596134, 266837897, 254797288, 362046546, 282033630, 765080719, 985582864, 758022176, 621497728, 924751279, 935685315, 430969536, 34598321, 552990190, 383976770, 45382243, 257988115, 71462681, 58218884, 804735389, 260870007, 351086915, 808727109, 674521647, 177877652, 286013190, 148536818, 540792316, 25585491, 580218522, 552705970, 178996794, 413702181, 976331345, 187418831, 286571015, 358867085, 852316008, 342731104, 536432934, 950026204, 412900420, 663626453, 102541953, 701514135, 426896753, 85061747, 752032533, 786237634, 623113506, 409466711, 976735961, 963454464, 328663663, 686111549, 112603115, 527067348, 851629915, 319754040, 832900859, 370344895, 198425134, 150396530, 575854243, 282111406, 180525896, 660272167, 449307926, 655896204, 814133327, 430906239, 268621861, 172944248, 108161243, 342943607, 460792964, 461044954, 994484137, 29673889, 46001451, 59971473, 474695785, 47101128, 678373150, 337356244, 556008622, 509042465, 234171596, 776233659, 597478876, 908456347, 800931959, 160567041, 620696438, 46219712, 134746425, 452824814, 96841605, 11818860, 766849779, 104440357, 268310376, 125261986, 84972508, 363082151, 841979307, 499294735, 103767288, 227327269, 583550332, 306911880, 903294289, 32050619, 509308367, 600364151, 867712312, 388558920, 409198946, 641605191, 731840048, 795167509, 567508321, 629344940, 469937795, 194999112, 1333039, 789511406, 702147377, 454509694, 286208685, 771351111, 534903638, 141049501, 442069276, 715948279, 496864028, 497280909, 179297391, 85011572, 810248340, 80113985, 954724365, 31418251, 212905689, 550550360, 809117422, 526103512, 283079901, 544868737, 652794091, 808126423, 731085596, 711531214, 562830936, 979233278, 19575203, 803327167, 481262172, 588218586, 790690715, 185539755, 14371555, 938403670, 220018367, 571469992, 584356878, 619491183, 607532618, 773181514, 538916527, 793713605, 975307356, 570161940, 836920310, 770622716, 601413258, 630103362, 757830806, 613421920, 550973410, 539387422, 585834571, 456870259, 607960978, 841662859, 567469916, 704929877, 851124809, 228610407, 221337392, 748861316, 863609495, 158935670, 665964178, 922921962, 600245910, 967771056, 190807639, 762094429, 283391991, 866941070, 797710574, 331313513, 62701612, 861014835, 952995451, 765039963, 133753333, 293987605, 362206012, 15271997, 595866944, 234987190, 776652555, 980589175, 955744759, 553716859, 963393089, 455679992, 875054764, 46860942, 721373611, 47320451, 341043431, 955685130, 570406334, 109632126, 465194336, 275111365, 686458235, 51679302, 136584212, 585122512, 801681398, 632167953, 586713427, 715240023, 166812398, 968564530, 196524513, 467657623, 263318365, 769776656, 517845437, 865639237, 851393723, 577470200, 660302908, 981086782, 787346684, 549351207, 580989933, 52128017, 159538534, 621869558, 181864011, 549497472, 604923985, 519721281, 114657577, 751812061, 2776877, 217839677, 226528276, 782072066, 520411921, 555388580, 755345362, 184544533, 907377194, 410330261, 244544873, 827884459, 433933601, 221201181, 958199049, 591615969, 658586389, 953779680, 967273481, 122839889, 754645899, 49201752, 743473884, 824437718, 902555625, 688069995, 13868086, 542208559, 568385426, 955180429, 185252629, 10624872, 654654086, 310790821, 249853870, 73192820, 308134139, 452893858, 704626746, 520710124, 741344161, 397820405, 45497616, 804667612, 882135405, 804776915, 705715547, 77944215, 792850052, 788661951, 738362280, 143354357, 498437623, 198483454, 17743263, 261004135, 343117962, 560537107, 221766648, 575858780, 821659195, 952403448, 214123349, 820907835, 927104858, 353924817, 288911411, 424548069, 747839933, 556409203, 753068065, 533626347, 459017315, 200068186, 674743608, 976567956, 362223409, 278078769, 819189424, 496874307, 376503201, 383968309, 367837633, 189392627, 942373870, 974545510, 176649178, 978989464, 895227685, 996507942, 599619326, 975091323, 877445501, 273555534, 140978547, 368771965, 985060600, 13172533, 72639178, 877330533, 676609575, 517305072, 935786506, 216008953, 739070000, 513956655, 389735260, 383753087, 688403114, 551459186, 162394751, 580621664, 780105772, 110646216, 244778910, 410303858, 191850234, 757048497, 684367830, 83509475, 113555672, 270454988, 527416937, 138582717, 770533427, 600022750, 662472515, 490264243, 115818119, 753996051, 784740034, 970800530, 909038462, 778457091, 644654770, 713169813, 270590255, 823003401, 678082148, 771369062, 319122442, 358149425, 434289880, 34592922, 193012106, 914611888, 22627625, 370267140, 732860608, 873290937, 278386644, 401758085, 614388028, 102979493, 151501509, 321795666, 924890892, 655889304, 838964776, 685193755, 34778605, 926844352, 28519509, 96553083, 552227307, 820479618, 938360819, 906803008, 786011882, 775220548, 882710002, 691804346, 404883772, 556195590, 151915738, 268758418, 897670685, 883002919, 18242532, 870436726, 542652119, 417974378, 17519473, 288254883, 624464948, 752332370, 144571124, 614701891, 212743999, 46175736, 738872371, 540597614, 965882348, 717019881, 638670957, 317653578, 171902042, 331574276, 67992314, 718098919, 687532848, 127828890, 509319474, 952850948, 935799276, 526347029, 337020793, 541190143, 226286083, 698383563, 112175800, 239872198, 731979192, 897500239, 232352102, 555252554, 156104969, 903175628, 326697393, 450572534, 4534491, 147192174, 266427664, 150373830, 688789042, 35073740, 580810132, 825713112, 774137332, 668780230, 261071833, 163590119, 899253478, 1933778, 613708362, 627604580, 738043977, 272709603, 849108888, 734501393, 448446782, 480673353, 993711392, 702079468, 360604372, 811250462, 309254670, 796924787, 991652013, 623679049, 721787114, 664081717, 602801002, 890360960, 7111861, 123487281, 651772461, 372210120, 659844366, 262034489, 607991178, 10733037, 998920821, 67178578, 221874559, 499069879, 560240697, 503482643, 285939162, 480543576, 276035980, 659137394, 770747233, 225103548, 932130919, 238709456, 238896517, 438689811, 251290378, 573311338, 729242714, 876902942, 260421880, 758220645, 375932456, 64338819, 723551565, 524035349, 585130381, 522866465, 263528108, 873014477, 764106027, 399865691, 741056238, 889629445, 563252666, 785869174, 728589970, 846879110, 837255766, 172171273, 761363918, 401848579, 729258481, 673053165, 871358343, 596292225, 337935574, 661620106, 194409450, 720434528, 644521084, 293201573, 43132424, 866582056, 789220209, 717510898, 309952761, 171136297, 934373207, 199505302, 657027336, 546635660, 907542061, 822776339, 763604891, 291436806, 471483366, 360542585, 901474667, 840585359, 991572285, 866075070, 239783208, 433772503, 188970534, 861230149, 685557903, 595759705, 330129076, 930831185, 219620984, 546031021, 32589098, 693277092, 86532901, 577607837, 58503300, 378034041, 270439559, 886086150, 238403413, 707139372, 555133346, 643426522, 996599023, 271825682, 971556182, 945662106, 609400533, 521459218, 932287132, 180490633, 770569951, 139925074, 232555565, 576188686, 229290353, 95001356, 660023056, 812241403, 377506137, 707249117, 537853434, 664828900, 320888239, 755862349, 748354692, 361038009, 937946651, 404659438, 816029885, 970557746, 974376610, 189030275, 500364377, 948913397, 361568728, 384031663, 33947305, 552144260, 390441655, 438251640, 335133671, 396524465, 17063497, 626970473, 360896044, 360764124, 453157680, 362283143, 795656243, 174654601, 420248858, 308471609, 199388908, 257787964, 871992878, 14444470, 331722766, 941267411, 189665362, 794088026, 891733911, 965817837, 913735260, 628451560, 383741413, 204735050, 953454544, 541320398, 966653615, 133085188, 285329678, 201861102, 565704046, 552683267, 524213138, 206456433, 674477805, 478497396, 75544590, 197150389, 73238163, 332535245, 992555413, 729265812, 796642613, 565027126, 497108175, 330624794, 346411615, 160440727, 933835732, 999871622, 964502003, 879216881, 21673539, 132498077, 612257503, 183847027, 81624018, 337476537, 675532419, 180907212, 945681350, 415931750, 282999748, 91629566, 121061695, 853581050, 602076857, 791052724, 853051788, 227623693, 117222440, 474004477, 590968529, 97320182, 963087678, 723044765, 819341903, 363978882, 151378126, 21852328, 77119955, 496743535, 912734065, 799360887, 373589314, 582605189, 62664785, 347647129, 893151728, 584938831, 639758004, 407516154, 386571712, 399557894, 742341317, 505676581, 112042276, 463125541, 162554293, 93980631, 803514156, 673423809, 457682811, 282861575, 590273478, 865059906, 494978987, 723059206, 420332522, 336577356, 379102593, 323035931, 97882597, 829129080, 368973153, 380889649, 761919416, 179420566, 826741292, 698198188, 761466776, 535298594, 134429021, 944933764, 883253239, 616171468, 492927110, 664506200, 211677042, 318636827, 303738483, 674475993, 171223244, 804681537, 153212204, 258379377, 760010526, 92707611, 631399457, 923565633, 260024860, 309374017, 153997764, 691659980, 496067487, 588233434, 700541389, 982362542, 641689200, 14547229, 578562450, 797739692, 635386240, 296171089, 223773781, 667252347, 489939372, 838030110, 284574193, 608762334, 930834149, 210013468, 324764252, 499470211, 469300606, 385294098, 314538256, 632328208, 773620292, 906079251, 730897926, 765692895, 88978532, 595935998, 454538623, 587676463, 717853989, 174015180, 239695145, 812639346, 749633977, 842838024, 16343591, 738581043, 792865305, 962950915, 695721693, 925937615, 35736047, 278021535, 681769155, 43337016, 941586970, 327523985, 820587749, 652716893, 571416847, 9008487, 174488528, 473158450, 179046145, 529534658, 407500169, 149087149, 103026391, 932919190, 480819341, 914276878, 212193250, 508015256, 471541224, 807302239, 126880079, 678673938, 251991070, 355858615, 882902714, 972203220, 276418866, 428331145, 458101505, 585469771, 70159036, 287083451, 593253047, 712328843, 927950643, 236413105, 172656169, 268900301, 964067949, 135540042, 753416302, 168191096, 425166822, 325612915, 682455087, 933860132, 141411689, 329547896, 492569361, 460280505, 903356389, 833799268, 351619082, 552716372, 40312076, 919505516, 759518556, 731064520, 671019326, 351496704, 499152775, 352685235, 91247086, 310895524, 708576905, 579543143, 87603869, 968798806, 934995973, 376565636, 584234922, 370889187, 727092445, 432687400, 852041493, 341105974, 942159170, 805684549, 913924989, 720748608, 608929166, 129354659, 33363968, 80724455, 413129080, 299612971, 29452155, 879104177, 942321830, 641707146, 255657411, 183515762, 494371138, 912083889, 520266154, 243459297, 723786271, 550107546, 89383309, 187199203, 468903211, 564400328, 920779203, 930390873, 376258418, 789394707, 52915437, 342053392, 513767411, 921012556, 401287624, 908701962, 675582020, 455748906, 785761440, 406375928, 733738583, 362942302, 797826622, 670873721, 765288264, 950552002, 392442824, 995275841, 828248804, 593955255, 152348555, 304393099, 16124359, 213132707, 780192796, 245571808, 837826879, 426554289, 28519797, 453750409, 866581711, 960415225, 768895538, 169116396, 390234394, 653910589, 474353343, 21283263, 314317789, 383426763, 704455389, 552237463, 819619629, 17674635, 262086405, 439508298, 509703917, 207721441, 761159981, 53140846, 508529120, 464290600, 538841404, 303429375, 624603727, 135544069, 990643958, 645848250, 742221634, 547100358, 109052253, 754829991, 430724151, 884802187, 254789069, 791850966, 849279065, 148657959, 404032232, 621023192, 981628463, 73652153, 10594392, 382954548, 735220623, 482873056, 968107610, 260798511, 866358029, 768951883, 292597238, 29597895, 681489060, 262825354, 994755916, 760827138, 660900239, 120431706, 767607921, 862234289, 692672006, 115043353, 549689431, 626243364, 957001005, 763912308, 690524082, 526116214, 666208489, 582914416, 869148214, 562953199, 436245562, 193798407, 696232744, 204731858, 43752539, 764790485, 377680080, 360357492, 99406363, 173375217, 13154684, 851764534, 246669349, 375516961, 997128405, 850529630, 376773184, 12717331, 842281456, 887444561, 221422895, 81778894, 33705546, 126572574, 136240421, 313343293, 313588663, 312618806, 696353605, 836718868, 171397887, 656172821, 204272496, 896254564, 823952686, 55415537, 610947846, 598786716, 322540555, 309979567, 992947915, 884879801, 671551466, 639927353, 691484702, 606535595, 97932081, 39201525, 96227001, 168084512, 459213841, 232554814, 372061844, 117737671, 14715185, 399384767, 317796118, 116307373, 307098325, 340424280, 908831319, 63809491, 61921090, 357636435, 659284293, 616536546, 129997815, 123870527, 933564240, 74512155, 891690123, 56502538, 169346600, 735836052, 785235046, 33331946, 635680031, 220954038, 856959239, 428689905, 422034150, 156433926, 392686687, 73224215, 657919745, 652878634, 95406826, 459366921, 325107542, 548668934, 694128484, 980195403, 595951354, 568814593, 229240161, 522827561, 327776919, 398357803, 464834247, 795224217, 706040976, 530486534, 512920687, 967609041, 553501617, 579542672, 683285921, 16676488, 522117670, 849562224, 79182882, 138466706, 217538861, 684072329, 632265175, 323611485, 772843032, 985005093, 983613360, 179506693, 944163610, 970253033, 712043342, 25340909, 70669492, 907349612, 488254567, 494876687, 759209380, 644838334, 610901593, 288308267, 908441174, 254378442, 627160410, 207228034, 59239159, 973864630, 453623776, 581364178, 66745140, 520014501, 927576262, 365081765, 963696510, 162278549, 487656656, 781815297, 387729130, 457368915, 706199869, 679854391, 168600035, 678117264, 721059050, 363790463, 314466635, 316083728, 665031413, 386419769, 795677611, 939758292, 40012757, 896828311, 552561889, 243652753, 258101814, 925601872, 190391699, 226353077, 822774477, 675096462, 958850663, 17583068, 803886712, 789305689, 213387273, 531072007, 783811849, 876627146, 203467232, 216948430, 940509470, 353296254, 911945687, 990629241, 186100399, 965992518, 544478469, 300523261, 688577324, 68417736, 506951042, 427883790, 515296320, 667800052, 174978409, 249988733, 606415535, 149261379, 272860375, 35395494, 51519372, 601795850, 971083930, 775538640, 148890786, 111544213, 762737909, 552137237, 921874862, 569909605, 687045609, 622922392, 349814453, 571648731, 780793925, 84050716, 873747977, 517405692, 338764277, 492958678, 641341108, 476138272, 203069889, 681474549, 888419342, 37320893, 567572799, 383147904, 158952086, 557992460, 573475571, 570150077, 682851603, 590881306, 357213826, 741807066, 238428905, 446869919, 201296888, 335104768, 411423694, 289963935, 958589189, 104698021, 641727744, 454376631, 677581389, 31378557, 698370295, 276091249, 480278591, 628606962, 600422935, 410824448, 999417060, 2634042, 787030137, 425764138, 475961670, 266729349, 10498023, 425498989, 78695339, 424614767, 152628183, 345817985, 310535247, 873064979, 272485981, 261545821, 599304446, 136737996, 147347826, 409327723, 865972742, 115221974, 233054874, 671054512, 339639205, 174080215, 552661023, 98496551, 279452503, 665741538, 47856759, 263142942, 581789751, 15473808, 902208963, 913911491, 53453432, 683004970, 444904570, 186523284, 637470960, 544574362, 621683026, 974291354, 585920415, 688008288, 398344715, 403720507, 132549973, 739176636, 763488300, 317635111, 877766997, 978225705, 909526246, 163595938, 723193492, 647702251, 367238827, 322419943, 772139752, 199375129, 599346227, 363611103, 589658160, 530915521, 141220798, 455608514, 300867032, 896528856, 657920603, 383857806, 370928695, 220058990, 20549362, 570819274, 496288672, 827782102, 998208436, 967987418, 632613246, 604380529, 319883093, 991998638, 70250959, 337265599, 499217755, 100858211, 236846901, 591112524, 862783294, 598910218, 36793721, 628426616, 807396055, 126654187, 588666884, 757870726, 778017470, 755253810, 878917537, 803776431, 487729913, 835040030, 513478098, 826078101, 516218128, 973343089, 757168387, 102541582, 933411480, 372245656, 449563997, 546770140, 276614008, 584436613, 725444671, 43049745, 835968888, 572486543, 75745862, 589760039, 411313447, 63988217, 586038950, 490905710, 258907679, 891970384, 972233401, 58459287, 756424393, 758546821, 194325123, 763166405, 848753619, 413977260, 287184776, 867464815, 586030626, 618448978, 860434086, 580209430, 241665671, 466981595, 818250622, 683481626, 355753646, 476337810, 369314685, 634856293, 682632148, 479588507, 968641107, 144227200, 207081603, 200187330, 76355315, 466476935, 127620967, 50111303, 609047646, 916375233, 362739592, 247781097, 325512721, 639526537, 593825415, 973286882, 69967806, 163056692, 416891930, 581178338, 248531947, 314947497, 555090391, 343448665, 658675688, 520446798, 582644363, 147731989, 111694470, 504551721, 114118775, 477777220, 342559328, 947073371, 538848957, 262815160, 683642831, 132593803, 77795879, 833937776, 403369330, 597537186, 161756241, 784215192, 624326376, 357303067, 38753174, 815415141, 390014581, 910129442, 151717759, 562898561, 940078136, 162635853, 960923221, 315040877, 766552632, 473722572, 253923408, 48176172, 505174848, 877227189, 424872089, 471122996, 18627307, 363016252, 781838576, 911266047, 370605049, 457261918, 706547206, 589577984, 940559264, 422993612, 401866332, 8629600, 635138218, 531180304, 741630821, 559383385, 181225540, 79724562, 4669767, 877019183, 244385645, 714994622, 198979915, 122196060, 429389809, 12686323, 949963751, 896515191, 330601905, 151686702, 481125728, 298719831, 800419514, 215958934, 455319316, 124744, 657595296, 23672221, 641314412, 863412094, 784051008, 602587201, 255285104, 594741353, 242249357, 289841062, 166753957, 462633445, 682822976, 283864534, 899193001, 571297890, 515452608, 452497819, 661630568, 666951525, 42693625, 237319392, 134235352, 599777537, 740466014, 466509966, 859878957, 636557834, 965048606, 649744201, 912463102, 291926858, 873473260, 632480934, 293193630, 489213245, 413552844, 82341291, 311568801, 201410946, 181060182, 667282064, 349296847, 660859194, 226969006, 500149800, 125674657, 852633574, 529161487, 231494007, 920609034, 30420478, 668491094, 704135339, 806310204, 620638196, 885229806, 468329308, 161982014, 166370974, 847176079, 896593810, 823367430, 740591823, 66831295, 949251292, 236348339, 171812546, 899226553, 761499005, 886292602, 458062717, 358629281, 148202532, 999593397, 631710831, 234709546, 581117330, 758008550, 385387038, 787968893, 586881197, 436904036, 7211223, 722975485, 84558489, 725710160, 442944325, 713730831, 801138930, 622876943, 671420763, 950663032, 956112224, 817288296, 150933170, 354027889, 632934886, 505243304, 808159867, 791695471, 421890228, 502985454, 89374890, 628366470, 773060897, 203742574, 70361284, 923023510, 994000933, 84523358, 187184962, 969202077, 844976270, 530086765, 31319709, 14845041, 802705328, 76286295, 152614450, 178981091, 525045654, 272786249, 464769137, 557626001, 189406493, 671153712, 751965047, 112269747, 269756926, 252007151, 82849750, 144528381, 807980355, 7781626, 69065286, 553932799, 221096352, 607365057, 675540206, 682591372, 139958107, 325031510, 342203677, 668022145, 169760490, 938768019, 106691738, 241675055, 558229154, 676136464, 953685643, 313620303, 387088434, 257045425, 992492164, 987920877, 508732225, 143628639, 336926559, 304391305, 758726763, 23981147, 636087021, 784546705, 581522377, 850931450, 558347608, 497285326, 298269019, 230275486, 805088459, 93401342, 585003053, 731070918, 224195829, 884479486, 793398053, 662809256, 236603744, 377520623, 181249410, 860401456, 246809486, 572242527, 410685398, 628696469, 602902776, 480921940, 575479635, 171478599, 399508110, 972937578, 994272032, 392730164, 73588046, 930028357, 404905304, 725389602, 28682173, 642457571, 385107733, 821514529, 523487582, 174025139, 707884972, 330849908, 761492866, 604690963, 238246305, 812153062, 816495660, 703574279, 103056602, 436505522, 993052264, 948689366, 142913349, 594009767, 674050489, 572641654, 357319784, 593226155, 552963926, 206417600, 112577956, 557981900, 458803793, 131791152, 424371600, 246411504, 473532811, 652493179, 525661327, 952062207, 489212038, 151712763, 197708695, 517217363, 512033645, 748066528, 470950555, 864360646, 169473571, 746089109, 693514546, 622789291, 702832317, 255677434, 19839886, 180645410, 140525765, 108893192, 489447363, 760433717, 895952649, 90387562, 201496285, 775491912, 408153866, 938410877, 587567712, 602699749, 727168271, 474580038, 576605451, 225997722, 320800535, 219432058, 934179478, 595961608, 929776956, 856208124, 899555504, 762689540, 46159197, 28611032, 434389022, 967287133, 546111469, 732705014, 176198306, 281513273, 546652096, 332251232, 365267862, 355211557, 384545109, 786689769, 727614905, 978006744, 240646474, 399990453, 7269517, 111757158, 760826199, 468958004, 644678265, 320123076, 795641645, 31024986, 584051209, 784333029, 717245768, 762670447, 227820761, 396360647, 329408514, 889092179, 623195977, 15584194, 784145248, 636236471, 314296381, 483454762, 935013969, 241194625, 773894443, 301321437, 413759980, 939238852, 420473926, 538784133, 770765043, 345675371, 128354098, 135603472, 427595935, 238230546, 577695374, 701621514, 627412461, 84339726, 520698264, 739478451, 979971617, 209106598, 326365497, 778515144, 282689590, 897627619, 387870999, 329133618, 879582950, 290746402, 901112701, 673934682, 772693406, 569080656, 825578003, 330662401, 478121424, 342095953, 55579221, 700840608, 957531245, 376661117, 368497191, 107448682, 653392577, 871249620, 458308056, 335511427, 349461038, 286014467, 345598024, 941368931, 522761458, 119453166, 951059947, 35847297, 573740727, 894647013, 422711453, 324057508, 11325663, 863366199, 398983732, 957562322, 758408970, 575140633, 129007673, 176453429, 321684833, 541143772, 867536883, 653846004, 942291769, 346795633, 923857209, 678978303, 460710356, 862799128, 979305482, 879776969, 425312171, 253968581, 522543780, 259392816, 625688124, 281112577, 176263615, 965269884, 409066578, 165867679, 762255758, 823579315, 707937512, 781666227, 733762037, 304202031, 791652851, 837555530, 429714893, 458838773, 115763781, 181315554, 314840536, 783752812, 924981218, 39964508, 341790890, 153607533, 442398503, 768250664, 691359106, 519877565, 579535686, 942998580, 749736210, 45465237, 59976242, 424772496, 572405191, 431816336, 201084587, 833868844, 824214303, 218098725, 95582083, 447368916, 454471906, 91414805, 637101926, 242186428, 632710215, 836278822, 901077557, 713298414, 185306303, 939984598, 538464247, 502998531, 382754459, 98389397, 458460687, 840689569, 354458257, 494841706, 414668181, 281930787, 677851210, 818972644, 771773358, 574430683, 379664164, 232462386, 314980507, 664122277, 311602089, 239976704, 686862304, 114560562, 938190379, 615528636, 65899412, 959796428, 889982538, 411231598, 781061584, 127465916, 141403483, 961970355, 735946029, 262861356, 40189764, 731857115, 106205960, 12708966, 678959995, 232539344, 751515545, 85201912, 526104985, 53751506, 455096568, 370892824, 989017291, 695331179, 267675518, 477592937, 902698409, 383355853, 196507884, 296193528, 540760580, 14637160, 908925679, 147173319, 35331371, 548754841, 489073571, 148697175, 569921079, 413045450, 194038964, 937545888, 967925205, 168052652, 144550078, 333893577, 529250077, 470028607, 734243301, 195080158, 387770207, 409737081, 487810809, 422052207, 682072257, 51326232, 555941340, 205598194, 399005168, 622254352, 960051473, 869410795, 161082588, 914885157, 765522269, 667494097, 228133022, 23920517, 236466942, 12208755, 826359739, 887798425, 81581230, 924503259, 187968617, 301098916, 530720315, 236036853, 380468425, 192870370, 239220848, 374026650, 620273123, 309060569, 61859869, 272718396, 133671490, 342392455, 118153786, 949712492, 426367199, 876746037, 147241480, 733047928, 929732267, 17150367, 993881220, 314449911, 37688990, 8386895, 902374648, 601977986, 564898471, 1307945, 865154109, 740539777, 172375510, 596863221, 135136055, 936548406, 466918752, 837061527, 479576979, 918349965, 616267793, 628326366, 568290956, 693063100, 50570383, 848802739, 398383259, 885182882, 553656309, 949762125, 694859418, 47820448, 815329949, 948258097, 739212788, 388518847, 841052611, 20369464, 932615322, 527109677, 526920968, 34679523, 219398839, 448708221, 699949388, 845321619, 730718915, 389474458, 667585399, 665525085, 129442106, 644106258, 889058853, 771225230, 161702396, 658792575, 741286249, 31727440, 365137632, 503703247, 194097781, 697531828, 566124399, 97135081, 663141929, 968685507, 73709443, 314737639, 950071238, 587171397, 608739572, 453513533, 750023874, 22753966, 460945191, 44827978, 873333816, 698871495, 390332118, 380550666, 28479456, 808230191, 931220774, 504682037, 368941563, 580958234, 23772814, 315263892, 123392695, 719821510, 817878390, 357394074, 926550146, 210916040, 856339403, 259949553, 732418518, 347412444, 886331021, 347012801, 160234037, 279967163, 99463293, 44697131, 609376771, 769672571, 105543372, 987777736, 501443569, 392947431, 817129691, 655979829, 290108750, 620396281, 194141959, 177715366, 163806193, 510797856, 849843437, 669732689, 70535862, 514219978, 442001633, 30060433, 857666329, 685996744, 259910695, 641453134, 97277051, 497007597, 477908690, 136807010, 718158439, 107850183, 284241866, 205607950, 517887959, 601533640, 76926176, 320405470, 107245528, 82228394, 402235803, 111024263, 226400694, 469194333, 989447299, 27285105, 763179220, 488752275, 17131170, 509893054, 732026688, 50553653, 971072219, 125353617, 877780041, 301922273, 49019930, 333948278, 526862497, 528800217, 361996951, 404365167, 957869212, 21786105, 296617646, 918591989, 980352196, 255127861, 545750923, 379960790, 886391060, 638393044, 168380949, 416044424, 926810278, 874846946, 796358946, 678882534, 771562919, 667670152, 486833975, 394843385, 53900679, 10111717, 270682385, 750999989, 771343084, 938839945, 80725865, 514147112, 376275207, 3596093, 527988019, 712434420, 160436808, 694625212, 445847035, 458595394, 130971833, 670236744, 727923406, 384778166, 943830279, 589247997, 786053911, 380749854, 315792048, 866147727, 640494713, 342702410, 928701680, 88686566, 308765289, 901999684, 284456216, 464999479, 34964280, 151337489, 731944283, 48447058, 930868698, 451919022, 64197635, 474178130, 800224724, 29929115, 369113115, 88928574, 297554931, 779803864, 704856702, 150556169, 436535661, 123597120, 492392079, 214184354, 939500471, 69629226, 17765936, 50776818, 232887500, 770754173, 355044311, 970078408, 627360148, 18326995, 765799035, 719774419, 683311254, 495051677, 132641092, 571204194, 455342093, 712617799, 107168872, 149609195, 175801821, 994392393, 882657240, 189420323, 411964300, 597407298, 533828003, 650980877, 128199375, 216853702, 380634905, 453166150, 606083321, 521336594, 167073875, 503473340, 268682719, 575826641, 388086122, 638182967, 680399666, 570085389, 547737677, 895503999, 853284004, 33823623, 896758174, 189998278, 799603656, 662651869, 462765405, 385813642, 124435236, 558552348, 516048651, 888415293, 543773697, 206384184, 14746403, 133646681, 337072753, 944271929, 17738999, 991171331, 225052379, 791816194, 702434801, 327510542, 26337825, 134501356, 413952299, 250778524, 769012992, 805519975, 513235437, 699974875, 481633346, 432447500, 560833312, 192077927, 460405375, 437961338, 979465836, 396342655, 590481629, 249668426, 464487255, 338764819, 190118757, 23403870, 183703986, 651426030, 579125564, 411797463, 706438174, 874977781, 684221313, 21278039, 872442421, 86470939, 258817280, 587514036, 933729323, 699071429, 869976797, 912556599, 609496827, 57430200, 439668804, 237620045, 423938240, 629505169, 70954450, 83571622, 65204098, 401501362, 562081430, 846516343, 676253156, 725916034, 298894048, 980432902, 515911687, 197470657, 219155992, 875238569, 19870135, 715486050, 837229432, 162403975, 145379329, 964522762, 338762264, 311636873, 564126402, 53156386, 534340643, 326414061, 953993036, 850363096, 912371880, 194509027, 461417899, 660619642, 686394829, 591809210, 588279233, 132785733, 987619179, 666263188, 236048217, 534523190, 14165406, 905301368, 863585934, 776797173, 842907391, 253892613, 776676132, 224840564, 744244363, 764076946, 575719407, 455518667, 982439506, 765330517, 250944317, 505214183, 966324592, 159473129, 182327984, 79422749, 461922217, 567958444, 985684717, 936553097, 482901193, 743895914, 2915216, 466448110, 86244238, 235044329, 99989795, 572102527, 90125603, 881211236, 554818879, 553611344, 449938842, 921667931, 996808423, 455157580, 135277994, 79681557, 63510484, 597317823, 531636384, 540773802, 289720347, 98221992, 392724161, 634793576, 774524487, 292589479, 928139047, 452755688, 29942706, 178238054, 23341151, 130119057, 604095290, 847183496, 880756387, 239960499, 223759966, 30671323, 720710727, 373079091, 219681199, 287520426, 346073109, 525589040, 654574318, 293241514, 925597885, 128680190, 597274173, 33820629, 499273791, 950983309, 479474672, 715155272, 816657162, 497715015, 911622439, 644818419, 159308036, 779365659, 40745752, 390232107, 861676796, 362452215, 144330518, 706108248, 554917644, 529616188, 631852865, 52050566, 987977111, 526738186, 398738296, 604415924, 258807626, 930574526, 386400508, 482480305, 331817838, 442639224, 163825834, 299551223, 248732228, 220255176, 4675376, 778613938, 911096843, 903288162, 18330882, 190721767, 103587787, 989946039, 644833260, 372664376, 720919434, 207573275, 187176743, 613582190, 492183273, 593294423, 14475488, 775080240, 150380825, 812031517, 673582959, 660416969, 293114949, 943899614, 107095910, 857398411, 595055351, 818807594, 499326257, 619531252, 189099813, 147242677, 328912479, 373295851, 678831586, 782994399, 307131811, 993427933, 703113042, 84267819, 644536041, 286239137, 232006760, 995935566, 297848649, 920280056, 123649, 741324057, 602870120, 477869191, 464683407, 83299027, 993671466, 512536105, 788899550, 736909296, 832911445, 513696175, 451581322, 369485363, 171626147, 117751820, 652215344, 77241864, 556066010, 141381525, 117430240, 909660743, 238277797, 371047396, 6485266, 199167202, 996977589, 465668482, 328462408, 83273976, 418196766, 513319543, 906953383, 621409494, 803836411, 621596176, 630962892, 781465633, 24562447, 533141225, 317820044, 432477410, 553027913, 823520449, 471455170, 53887980, 279706528, 553984079, 910081618, 450923825, 467433392, 198097504, 877989389, 397054925, 544569964, 766345724, 776991049, 278627787, 576356020, 660628134, 906571707, 133294155, 728966496, 344556552, 47170121, 763010646, 686629859, 435616270, 309595826, 997156201, 975670076, 28550171, 767737806, 995663098, 40157872, 579365795, 313154200, 33523549, 434372158, 639862511, 92940250, 405059023, 422974368, 107311541, 376062424, 679997382, 70390490, 902261436, 230624620, 449488267, 732812980, 203916472, 717894794, 495860145, 295187896, 73559113, 603576025, 876662552, 841399656, 836681305, 521600431, 310844110, 688825281, 761693220, 22011519, 325135975, 26235369, 390262445, 593219443, 107776308, 99842627, 519487864, 444158762, 666394143, 213372301, 115274937, 687267301, 280978505, 629513372, 844571261, 415115561, 283433380, 538968340, 242289340, 947550953, 646228731, 474028152, 366891990, 641805936, 409139818, 610651079, 829029962, 69870180, 230659502, 160437249, 525599480, 113731174, 378292134, 215862954, 147795457, 388662008, 651591836, 881903643, 372236318, 755180178, 590205038, 25589596, 150508223, 561014180, 427966385, 710544819, 405264604, 321009465, 675690487, 79159202, 477545287, 984857713, 211953180, 215380325, 708263184, 660595363, 378587606, 116189214, 741394440, 815821207, 813961983, 270445692, 904513043, 67408089, 126745469, 123200178, 721797036, 743480916, 98631491, 779436218, 162052180, 102801800, 627890174, 927789162, 846572561, 29752075, 979795769, 760377807, 368636756, 867223431, 520522950, 391508657, 920229594, 348516096, 505807472, 127116588, 346757160, 397880156, 819749749, 773211556, 122245815, 733693519, 521191546, 250124670, 138734416, 28124296, 460632456, 834835138, 686358970, 288897283, 478387925, 541307582, 173826715, 398832801, 781737328, 661303566, 63313812, 216230533, 699047165, 483992216, 53058400, 667050812, 79731266, 610066430, 746862067, 868167951, 258638471, 638537479, 103370666, 283337677, 150407335, 201854770, 108436563, 775389973, 165503189, 108213500, 827028120, 911146256, 58699581, 503823237, 496854344, 84225187, 204915164, 377498559, 945897475, 52092685, 110896602, 430457491, 307856681, 927277421, 905984807, 372032472, 116452568, 322001786, 675963400, 61791359, 760492380, 483196662, 939237001, 9555419, 806999775, 362563564, 753565502, 962290888, 857148371, 145075624, 284558892, 267825026, 985904399, 806295133, 716011955, 621217834, 573310431, 476628806, 525062257, 742563511, 597079457, 504557171, 101675715, 197439215, 287623942, 848038958, 282775887, 618129025, 374174293, 663176132, 789489950, 844333051, 329240893, 128461387, 430993968, 351106725, 525504148, 251187570, 532391008, 566294284, 621170302, 730184289, 403705222, 222873724, 848075127, 152744425, 670096098, 773629540, 480988404, 584459304, 668094085, 929385341, 499874929, 383591260, 521693094, 873421554, 935961704, 427591496, 356588751, 754667520, 85624883, 920055199, 423912726, 887003874, 896024813, 155649872, 144129182, 845477094, 604768907, 606486616, 193152239, 547034103, 377352926, 136514550, 378058464, 498666747, 72596365, 920644913, 639434945, 580581244, 360382445, 401719894, 69803944, 433243862, 259488618, 658757291, 348337136, 427166893, 666198747, 29593438, 512046053, 507436912, 350703882, 219636434, 599389219, 631539231, 791426955, 893740152, 181918189, 738115086, 518875713, 570892725, 447608363, 272427085, 242908107, 857976989, 572691955, 782581894, 739647066, 222324898, 165398217, 776650893, 12717859, 445477035, 131792713, 302385081, 194848996, 373397733, 543760425, 503620560, 519811015, 413264089, 520571781, 11269945, 144967484, 78560400, 603249823, 882636076, 985429557, 580001371, 839997584, 845075510, 174365280, 381460542, 904116899, 344644590, 554235075, 226420906, 870387239, 859931686, 856526371, 931909687, 528504834, 245093789, 728367556, 280735670, 121894999, 992597577, 876873634, 990104714, 545931482, 87186004, 594286748, 166004723, 985311514, 782026145, 712699632, 681541836, 846451029, 994292468, 892416760, 584284198, 146466788, 314278148, 734596386, 333599137, 863270888, 940878916, 615722847, 474206340, 418102410, 418249056, 127537817, 382090471, 140382657, 55738531, 851738708, 304881418, 436319379, 215426518, 728194975, 22736320, 6716, 636661592, 740189486, 435392518, 419130903, 431059479, 548623915, 363639969, 352727905, 929200154, 580473752, 895710210, 430003958, 528238020, 245194531, 295447113, 785642573, 638116659, 371278879, 809606333, 451152909, 827479227, 714375949, 845169700, 168729908, 999040211, 922408763, 408643549, 280135108, 822424746, 735273235, 718508781, 218701374, 936510379, 479473875, 390972718, 112646387, 627387950, 26333490, 503860841, 458356480, 990425440, 196357419, 532432562, 511054575, 109150132, 817322459, 32499838, 445102102, 295787638, 238464477, 874732969, 562430400, 820377078, 918864442, 924428601, 201311784, 436887774, 316408609, 944379589, 58545642, 554170768, 22976502, 949079743, 372694383, 408227069, 697068676, 789708849, 426268087, 958041091, 769066688, 210090502, 759734161, 777144226, 284686989, 551360946, 516850637, 604932826, 548009750, 700980138, 672405521, 695594908, 915679321, 290686165, 884938832, 777183052, 575761123, 721328565, 442652924, 620630145, 712685103, 428172755, 692548094, 290711138, 452326151, 642020516, 257062613, 755961243, 610784898, 441674773, 967807019, 936973473, 477587073, 795721999, 371302446, 828525340, 990651177, 265089891, 804662670, 138464789, 281760696, 862875018, 448578946, 267613854, 616679604, 684841307, 178234913, 58611790, 472711417, 508756774, 149477618, 347851845, 147997054, 815906334, 203536394, 763733192, 177185602, 874339209, 72824553, 946987456, 451927184, 638745723, 856880223, 347902228, 120724765, 686636990, 19135636, 388521295, 64370643, 167596001, 788622874, 202633618, 136471264, 99681443, 149044070, 39917059, 46762543, 834785499, 722104604, 513819294, 481927752, 771935060, 733602844, 952156120, 439156229, 467216404, 547991040, 128195378, 150323226, 923969724, 523186702, 287456310, 160027175, 332276092, 789096336, 780236811, 628816462, 303136825, 750437246, 252384710, 330340155, 463145045, 2072720, 723917353, 350572329, 562613332, 990361548, 153777044, 388232889, 351542035, 42401181, 326190256, 134812840, 953198287, 448156191, 13033267, 472289, 257023547, 496688939, 573390307, 265976972, 851753317, 51880383, 629415302, 534494018, 529505261, 374236064, 438325787, 229308431, 111230549, 705904329, 103437080, 205340186, 274247973, 305186995, 653607879, 587668724, 66276679, 727657791, 750167929, 270364618, 894937074, 221759487, 249152235, 445093307, 818299253, 28504439, 101933343, 790609318, 332706821, 117426661, 765775767, 162676027, 292077393, 28833730, 169612082, 530960450, 283892840, 603876046, 268941277, 702185207, 923511800, 526007985, 799427532, 295908249, 624728522, 496205098, 162217420, 298913637, 327657552, 650121849, 803760397, 899254529, 54265435, 346381658, 21197366, 280305155, 41465551, 805705677, 672919068, 583294704, 579047627, 310446989, 391665716, 669234834, 15436543, 772535123, 674010620, 593275522, 790019327, 37047290, 708258052, 700801767, 693860467, 659768442, 481485404, 257591759, 688498103, 906756914, 749712180, 773883016, 686519306, 941427816, 55274458, 376867710, 95569723, 167037653, 956798359, 434811529, 846092849, 463591597, 665611013, 993286256, 555393811, 150342970, 8223868, 504045343, 144693772, 347065750, 428660185, 424631245, 975084073, 346026893, 271524864, 565830822, 721496059, 847498280, 990402815, 776761746, 716671553, 566417616, 653777307, 502532129, 286332765, 484072143, 590676518, 541772274, 703316800, 513498475, 572047856, 768549361, 188069805, 86263555, 383611084, 562316585, 309869707, 534131568, 749228241, 383729768, 781736949, 227173701, 720359434, 883913862, 881214810, 43878366, 534456261, 624511123, 519783980, 70897955, 921629986, 301895831, 184767313, 256753591, 879437264, 152017163, 528945028, 819891555, 579776654, 92493739, 970931910, 787841919, 884366117, 368987139, 24968500, 202793835, 361550719, 890472168, 443778391, 396686249, 944321322, 212409532, 456269762, 230855031, 964604894, 532243754, 697216913, 424465656, 236093900, 677625817, 333779439, 35524543, 875986408, 917851757, 521399099, 428481875, 770800852, 400151935, 876980780, 124802422, 521246009, 431821784, 166759970, 393182085, 452439279, 819407635, 246568668, 487719168, 74695882, 599455279, 514594798, 97064424, 411600190, 713752909, 74737978, 36430593, 409072693, 217723333, 531960804, 666535354, 638673630, 839743844, 937964930, 616173958, 859939261, 547015186, 313477930, 912564576, 64134772, 92301567, 521339345, 313197860, 327584225, 665170577, 496593251, 99234377, 438561339, 37160950, 418368017, 652060921, 751793309, 870950104, 188962334, 561258974, 925618332, 613597130, 883025696, 891565168, 680861511, 447855922, 667848779, 701228103, 229930637, 504826191, 175493356, 53246477, 930844636, 559963820, 461560628, 467115670, 315583002, 259513782, 200093944, 821670031, 852426702, 238713577, 231904508, 79501442, 444813927, 543935251, 373327007, 818812274, 890334606, 861682530, 318045259, 326087694, 312781443, 198788955, 38411273, 895104571, 34608542, 690173609, 241765915, 505960007, 777663059, 459917416, 152866133, 531982150, 728354608, 386250173, 190321715, 92813095, 9081224, 13503498, 452396006, 613036253, 218896423, 579822156, 615782326, 60163891, 679437956, 221818253, 678428387, 583045931, 588229356, 357623481, 49578705, 680916515, 161220203, 847777285, 8687495, 722650055, 491775307, 156454808, 603849968, 332605708, 922225811, 508624965, 256762108, 384753684, 146004487, 365463313, 993808055, 952582505, 548787259, 817520895, 446844069, 384058793, 660800033, 951571214, 768199732, 244298596, 748451096, 709593795, 665824097, 686135175, 40511662, 41939623, 156188782, 312629315, 780213061, 966419101, 837686881, 202401538, 182590369, 720838909, 437712775, 55666077, 21986881, 34547795, 872260796, 729038186, 618715177, 711795007, 992803614, 691033502, 570913840, 67337424, 445784895, 937579906, 221203815, 415363389, 805814851, 405179298, 511199906, 528052413, 64770768, 223090601, 556918976, 823499716, 528637306, 474173851, 969490088, 771707060, 504383996, 788178368, 784704669, 122201037, 419124624, 530066379, 146169215, 878074175, 909110391, 734796824, 683161229, 243868931, 463269308, 471370669, 841132284, 707915221, 816818881, 980094232, 968979633, 357508093, 911633597, 629094052, 772208660, 927619720, 896195117, 683360749, 645084300, 375243095, 204812844, 969675423, 479792289, 134371911, 524014717, 878048191, 232543147, 34765376, 656215290, 55476674, 816617433, 234394160, 749468214, 617138472, 368018540, 936207237, 571683850, 868767154, 161368745, 322250365, 797359495, 754661256, 41969201, 6454526, 203305684, 987437143, 129890692, 959108491, 135565194, 536477977, 675419785, 698597600, 334204220, 684959087, 876360372, 602048978, 298724147, 149722802, 563851078, 284437490, 540550169, 65316219, 574846134, 234717746, 687080741, 739233415, 143562962, 827842116, 437096120, 539448584, 397476700, 65774498, 319946879, 335761826, 332212194, 713587809, 325491839, 370707261, 906203722, 672131224, 465170258, 324953948, 299770314, 66011310, 128794047, 292304854, 830954867, 880620722, 416583280, 178019620, 887653688, 982493800, 154219233, 856391191, 667706910, 255179893, 436170621, 703450309, 562088807, 706874391, 191959545, 597751169, 289972076, 500093040, 830086689, 414269118, 191675131, 972713409, 521849944, 364221348, 966532149, 680831460, 349529235, 979333552, 277823621, 982296356, 807501121, 888244201, 306896261, 697917759, 951714582, 191708066, 672274445, 156653427, 350937570, 36679484, 896957734, 337170558, 753048019, 349599461, 711986023, 826814891, 411843621, 270571937, 305011325, 897537170, 807788143, 389156271, 876847716, 596850663, 780367058, 446003261, 137935116, 201534729, 247722329, 614472355, 927577770, 266856017, 296883052, 843630453, 727023696, 614016614, 216922868, 652929622, 374803080, 226447671, 145321844, 881489968, 258675900, 736190716, 575955545, 154311635, 205152494, 397409632, 564412612, 21425150, 547422681, 349330564, 801132875, 234192513, 125961478, 183041080, 846946353, 162914632, 938073812, 338662058, 138041442, 128072154, 646011834, 593415822, 877835036, 528632721, 833415135, 427271708, 170572819, 531782750, 711485169, 915376201, 469897584, 400810089, 919113410, 500905282, 597718140, 240361594, 590559397, 743922890, 826998946, 214290738, 26716619, 895530158, 707934240, 731657362, 338624868, 531708110, 296132229, 510289837, 305830863, 34951138, 609491013, 727445415, 479473149, 492421970, 284341186, 417041868, 524316610, 333731912, 484469938, 473900110, 319869065, 432418684, 539061642, 157706484, 651019162, 47278764, 358934247, 546154770, 213297895, 704235620, 111034928, 895739319, 5096702, 67599789, 804115557, 348147673, 871589990, 458270464, 931073284, 615654204, 522974861, 875400675, 854585549, 384651932, 257160144, 722306083, 687523860, 457692676, 706912194, 316821499, 484569635, 923466524, 952350707, 385827285, 509782233, 977879975, 104789508, 803152135, 141264334, 256650537, 935884714, 374930257, 155776907, 910422128, 456391950, 45827325, 597226651, 440228677, 770158505, 178069941, 446321975, 734978089, 777133418, 968723798, 900513681, 105144505, 602578719, 688756833, 105693209, 86405757, 539085172, 840710647, 756710034, 148104439, 106010577, 619752601, 770669530, 348584240, 48829192, 823991666, 56466118, 259162269, 87214143, 224016948, 325394378, 365912934, 678117413, 442807886, 1255510, 915760201, 412104120, 862073285, 628727832, 963362872, 328681631, 662993703, 241881831, 768113379, 173400331, 77818942, 602315908, 131018344, 880625788, 57369948, 148735010, 354004208, 367441959, 3483192, 787443632, 569542029, 165148232, 50324443, 546687460, 74334089, 958143791, 656017491, 753712577, 700004488, 798511355, 157436280, 118221432, 695333102, 156455524, 652209220, 146242372, 457013292, 638890926, 156814373, 720743431, 465017689, 350849411, 231354173, 871655215, 796020597, 725952434, 249596598, 379477024, 786082346, 893750914, 718190641, 685826814, 798262753, 497517463, 561818780, 256099846, 971334650, 249087163, 549851054, 558585388, 851419021, 750363178, 87498452, 676612150, 355170572, 998914812, 974589559, 444357267, 454957181, 494061736, 838621139, 643442287, 194130399, 52856053, 28635565, 980547497, 142676990, 759759914, 407832985, 806341535, 292488237, 526311899, 645677380, 414703969, 528082929, 563497162, 922133196, 418355382, 701390933, 904531491, 601073909, 951263786, 961018252, 418867339, 463740805, 767244708, 396320139, 749822242, 727241272, 742912096, 845938055, 698035330, 691496381, 286066128, 270853926, 335268547, 453650579, 650239399, 293801192, 775429771, 72032228, 284635741, 999658755, 722681295, 520738501, 76611363, 89423593, 849363360, 377285982, 807529738, 211234734, 976701567, 114840522, 159608493, 186254184, 865345364, 915510522, 72435413, 851253107, 806740427, 632890987, 835971067, 734030258, 833293569, 756353442, 65465454, 729307875, 641054155, 305423094, 207950972, 219793692, 183926038, 951661511, 469801504, 151807765, 743321614, 711424011, 622169406, 579893887, 570064578, 952450729, 843254297, 896399273, 163028139, 412612931, 171406304, 67136499, 163921245, 533519739, 488997484, 541185145, 924334889, 282509524, 430026072, 65961412, 143632809, 470063508, 674428973, 553974356, 884627777, 386843900, 122262657, 257105897, 726992526, 457987544, 847287158, 1409432, 444428070, 173687219, 263846313, 940320537, 353429175, 483855018, 916913039, 427944202, 102502564, 453816103, 749244876, 239594021, 624940508, 869042, 867401388, 694563175, 931502384, 262148079, 903665572, 746942978, 516556516, 803699099, 730664987, 236080485, 557032569, 143507296, 570484591, 270014707, 81928236, 900545076, 856193124, 745225424, 540348133, 859535525, 638834141, 30818738, 521041093, 740919165, 337781519, 864373133, 781655759, 448430386, 257364314, 398174205, 414144537, 94617049, 949492494, 292422004, 241118849, 631183204, 896794944, 6933049, 389091607, 147394751, 393215341, 292815658, 516419907, 875911215, 914105698, 551835830, 761704512, 609091079, 360706237, 632918333, 897899154, 961384675, 50038199, 76274378, 732956881, 440955643, 38011548, 616298382, 303904400, 165726748, 514262283, 889577768, 904375193, 590098412, 832745699, 968064440, 714011340, 381321365, 969408951, 636357658, 890347421, 570100656, 840381441, 638984342, 9743362, 284088089, 589041145, 349092618, 17549959, 556852035, 993841059, 619215408, 787612629, 260812870, 253425256, 537487902, 266005465, 269553904, 417252673, 324949496, 974751582, 497538149, 78888838, 113504376, 131856150, 668542939, 14320289, 31878288, 807710674, 177175631, 517283488, 983374429, 773444568, 61649292, 647763106, 335402222, 915613935, 337094911, 305282193, 818407913, 165964156, 695702916, 547290534, 318524937, 133130585, 722597179, 19706084, 349112150, 595374583, 606486312, 525675362, 652697272, 496521005, 852201530, 235500209, 952629603, 429436191, 79943467, 785409732, 502984875, 319911192, 719126926, 543548902, 965972475, 852046275, 585853611, 895269188, 17682093, 986859152, 228852308, 146652724, 530861861, 655227458, 779450967, 814452767, 585245035, 107830153, 379370547, 421499751, 454382815, 939258128, 9979139, 268750861, 520684719, 213603759, 32953721, 781284351, 568611677, 504555822, 559024305, 396152711, 887316875, 12787670, 266056952, 918255336, 440922277, 752933144, 825784206, 177401309, 741645542, 292649845, 556824227, 645819400, 99718937, 285841323, 389870343, 552259271, 755269651, 287078969, 695025109, 963958346, 325920298, 606758537, 740276238, 5840489, 521418565, 170238897, 245892696, 77855217, 467690063, 747518530, 819817844, 210210392, 635214299, 620201444, 382317151, 318491136, 276050132, 76040184, 439871558, 529757079, 255523763, 855952410, 429843966, 295652882, 648267521, 440735566, 952651515, 491762929, 87246896, 499545086, 988326395, 438037443, 589631668, 862081068, 863950619, 839475324, 250559102, 743543804, 36242577, 18231737, 207189417, 84608360, 341737824, 272536481, 890305161, 595947204, 267127014, 181262297, 448394441, 85646231, 486436196, 259383506, 917958156, 974734476, 568239087, 922280374, 663831514, 496724929, 744907975, 545127750, 477249691, 162244434, 819362347, 493486865, 32410314, 620734673, 197061721, 529906915, 584671809, 470284258, 336944819, 296956070, 460589568, 378829239, 264984439, 919108467, 189182453, 571761541, 14306394, 426227992, 748223826, 369291385, 873940493, 255278594, 969042631, 198412830, 664552112, 784416750, 147820255, 5513217, 919699728, 846346905, 591638362, 242513350, 625715165, 361448264, 58429021, 171127984, 454703006, 500045948, 319722804, 868099855, 840145252, 320554602, 919668176, 149838374, 783187665, 361419600, 30878867, 784829627, 122912355, 631509381, 846235267, 401712709, 385842945, 651567543, 165922487, 645304699, 938790241, 54756235, 409413626, 447158911, 133077788, 573822384, 752733153, 948080328, 474635655, 14121561, 497993356, 29560781, 701190124, 479746923, 675837311, 290296110, 875958132, 801317154, 784005338, 481790077, 964514113, 453287189, 482509601, 436547625, 749417952, 403912206, 542784947, 493322209, 866317680, 487280018, 995736489, 431540414, 455341143, 452655301, 811377992, 933497941, 183386485, 442948856, 35207015, 994353426, 743852604, 756105807, 809859182, 863264898, 878567944, 300206108, 757203390, 605569511, 172904909, 512311238, 152523432, 221320403, 454881943, 483780087, 589266407, 949943782, 782740744, 52716262, 261663871, 653502646, 828494656, 781009744, 364300211, 364394693, 708773919, 186799397, 390947260, 561635279, 923304233, 185891798, 67818871, 186324933, 52590953, 544468750, 559629118, 269650078, 394719659, 416447121, 460789437, 350627235, 328579028, 854501276, 882206663, 486463967, 629758633, 995559587, 880431430, 314892142, 383938311, 126898550, 131390724, 326471500, 299059072, 263352168, 120187853, 711669315, 917659225, 517301431, 269279777, 70862952, 359547986, 499312134, 257047234, 937608112, 548419683, 285031589, 22402704, 62708282, 209222889, 466204537, 424227302, 16831611, 987117434, 261427065, 474173027, 206209370, 125229412, 810207356, 17878438, 907123046, 563086217, 627567927, 584321393, 268081574, 602499683, 891561032, 277346561, 452507032, 118980822, 254000178, 705948775, 289763256, 194178738, 664225505, 324514312, 950341420, 235903777, 682117268, 510686961, 427137788, 189777960, 188591442, 443985951, 858211256, 275749944, 123500415, 95572954, 855380279, 108242486, 863849941, 884460495, 900075668, 920738484, 751630249, 919906923, 140131071, 419996425, 607612384, 782693931, 15545534, 174631153, 296650982, 646347660, 349757006, 202891298, 787141058, 605858332, 794688453, 578813842, 835169681, 698438165, 577526968, 29289112, 736651820, 786129300, 429090675, 850510214, 882879092, 465997917, 504314907, 656784236, 129677007, 757318471, 158208299, 921933343, 476425937, 702997296, 822791735, 896203836, 969706214, 443696858, 294519081, 850903107, 610599709, 316091833, 511714984, 565542547, 77308847, 930748588, 345163465, 605375278, 558658680, 539672222, 413940248, 728058017, 866676721, 323237940, 428096685, 246062754, 877417224, 414192710, 538941736, 307762237, 164297093, 834548440, 699126442, 652928765, 261158211, 512185792, 282772745, 639888350, 867248214, 520082757, 975925269, 455373393, 571815129, 667543877, 645678819, 173861385, 258318584, 290480848, 424204457, 737479992, 533381808, 505382839, 922504836, 438774143, 94740552, 376143744, 499112044, 82185481, 933517495, 314123902, 638652306, 311873541, 971542362, 64349507, 570812627, 388244836, 174246385, 299291783, 386740424, 953091489, 570542120, 450375355, 388900692, 426143288, 186256078, 125569518, 356709700, 980359522, 984135679, 607231043, 598175983, 583785303, 11322493, 933728095, 336536088, 105866189, 398295184, 835621244, 145592796, 116262043, 116883485, 622596890, 623546828, 441277136, 35685737, 641587322, 909610400, 829473879, 51184777, 923888631, 8709340, 246785647, 803609756, 944516001, 690157725, 682231969, 477518642, 108709124, 789487393, 978746120, 400869889, 75386098, 399625587, 660158370, 801549608, 404430115, 142411663, 665990244, 705152918, 980922342, 155753388, 765111510, 444600401, 315255818, 687836188, 979093094, 203627947, 342838425, 946913668, 852718086, 823281834, 829314216, 853409225, 181782725, 739506568, 608027524, 324680485, 952987584, 214687262, 576033859, 44651082, 604234745, 256733329, 290638938, 309639963, 330512082, 73114179, 732413386, 331583889, 942285853, 622607603, 545525568, 900753364, 337024433, 897472953, 765657436, 488471556, 415824370, 850860015, 125398800, 502980184, 534265905, 374425625, 865923013, 863295983, 321627256, 267401695, 941829386, 273776370, 90768492, 740827184, 264111544, 825098432, 13888137, 833065124, 826453501, 159237427, 41505724, 607989748, 96235277, 376184631, 716998684, 888138121, 596634401, 747218749, 965548983, 822675630, 971567195, 565607318, 875853939, 506520474, 445696164, 575043450, 100559806, 740834065, 424569375, 800323910, 630512109, 965398950, 143549575, 964634448, 576333688, 679154735, 943643595, 186640812, 64528470, 997637204, 526281333, 115907929, 279413443, 151019433, 238583638, 797535921, 619058522, 171645009, 929721485, 412279947, 223503271, 255182290, 208946168, 24491762, 796784746, 171120357, 453067483, 260579015, 815480933, 440994365, 726968624, 937480889, 431688842, 838662868, 314674976, 540762889, 621704974, 271511567, 771738707, 489942176, 674835801, 564076886, 509371440, 744313965, 844694508, 776193067, 215722454, 694921466, 234829637, 522152562, 243230519, 381225163, 26864331, 730120691, 571679147, 64435707, 868459597, 192828821, 797781551, 993155935, 801791454, 737695490, 538188131, 684518780, 110198016, 958119769, 628439246, 371236833, 496986840, 904286860, 804389038, 723097197, 140956860, 626628823, 810892537, 114357132, 740591437, 296478710, 940307562, 328447231, 574790815, 504137451, 282470887, 80382186, 940996658, 610130271, 106912309, 14898804, 471836134, 289443333, 955937151, 95875672, 197261891, 4221680, 743923728, 38296713, 558314792, 617767969, 782530341, 153075062, 663145864, 53484529, 65858464, 843606192, 644496529, 51047480, 953841349, 281980631, 874135788, 438796217, 594550063, 62868334, 865086301, 169057507, 385751429, 503292518, 156318127, 130886100, 669485485, 352016835, 640204001, 132170368, 361457519, 820220082, 942773113, 491982559, 624460912, 155298119, 943039081, 851572011, 875272683, 497291130, 481254595, 766400442, 375756981, 307467577, 283655334, 935896146, 217350970, 183798084, 754242233, 395158688, 390457149, 767143819, 740888013, 380112367, 359461822, 566310870, 539892665, 133224271, 706553134, 332932635, 495931451, 394221862, 378234947, 393614866, 254412586, 730720627, 369244270, 653735440, 24737525, 343748850, 973133133, 517666099, 83537631, 237896022, 316793715, 54086935, 297401536, 331943280, 961966362, 977932951, 108403369, 420661633, 406032679, 823023980, 917303795, 819280240, 565557159, 785049188, 405325895, 917919113, 717616078, 821255671, 123311433, 127175351, 366136352, 421199366, 918543833, 399195005, 222912722, 825597133, 230894171, 523993122, 158244192, 938839829, 68209142, 544855320, 733844479, 576401535, 613838924, 531412176, 912476431, 433121624, 91434941, 835532745, 735079667, 528524663, 888553918, 276995557, 552762129, 182941653, 604391647, 36290546, 891835731, 338461179, 996825807, 19435488, 813387777, 833199046, 408201077, 156565734, 453877397, 794084360, 350426646, 606993511, 543238443, 232380411, 468213401, 548573770, 951008769, 239973884, 388725943, 640167114, 362693337, 911546820, 195901138, 12370600, 853707606, 294289315, 5447239, 320731360, 608121537, 466631947, 535706371, 683222322, 810293118, 659418547, 845758288, 581663184, 445374221, 535398766, 200108561, 496696880, 618009777, 351922702, 948276278, 740462378, 997438319, 684637658, 442429719, 531283023, 143171115, 374578577, 493212251, 404940166, 478813712, 864064505, 445569580, 658856979, 103495849, 37146808, 155275834, 824372060, 442133390, 369147675, 814239438, 190694759, 557859172, 465327347, 11894151, 129294385, 109425796, 771547907, 523802379, 877705141, 25898720, 575004843, 583254436, 400887005, 678490349, 796771245, 321127197, 392074126, 244295413, 79005858, 862877362, 385015315, 180275125, 607904875, 514621239, 649547663, 711707311, 336573693, 482151823, 589324811, 696213888, 34228308, 68547549, 696604019, 610431356, 392421081, 427580659, 894376466, 738950400, 294196163, 620546143, 714794509, 426498972, 857243452, 526683718, 458962634, 2498704, 836204265, 143682471, 148096273, 732316073, 790714925, 36473456, 57725781, 193360718, 164225248, 451668849, 27587346, 168344641, 918602602, 690923387, 480309844, 154466709, 891435565, 968634889, 534993983, 727645156, 154777006, 996010394, 791172370, 888963479, 242841800, 476639687, 633845792, 852815173, 971816361, 378840526, 229680197, 89348915, 133437695, 529486399, 394605317, 537224581, 888275183, 731536403, 167942726, 977510813, 583199925, 308778966, 599242529, 749049542, 572524630, 787554332, 689656317, 85263278, 807041330, 923184171, 559376466, 233933997, 827723116, 751720605, 451528595, 138363642, 828759091, 591334470, 962825878, 831318861, 715913584, 993505407, 504521086, 128373161, 19934231, 940204029, 755007088, 782304628, 785237239, 261603196, 663551336, 618175590, 931532624, 57656256, 865766127, 416399612, 463134114, 622650931, 7710857, 546861740, 883564438, 674914812, 603880500, 893823266, 928416730, 459762707, 239925437, 286180253, 670133548, 248480036, 902376907, 582048655, 767281950, 691530520, 350074878, 637313082, 602817160, 732924164, 600613715, 52003196, 96279014, 279490457, 646989493, 514885547, 273696872, 326795419, 424475071, 773990182, 365470828, 186089808, 108179718, 879734619, 706140927, 274767911, 197906495, 907340979, 192317569, 407215583, 639134461, 952936273, 233709073, 522052989, 857049031, 858691764, 532119121, 888510406, 538384018, 111475449, 32689139, 421399989, 204152678, 726223074, 383720444, 55925029, 638838848, 404542202, 868205902, 440920230, 396430172, 396666883, 968944691, 880116028, 741280501, 917894121, 567957495, 512167858, 871232135, 755075629, 196565578, 325307518, 598543068, 350799651, 282421660, 176928039, 667472279, 469486651, 170709118, 477465960, 631618391, 761601435, 962936824, 29444522, 930327094, 672740509, 547520842, 217108402, 698903988, 508030271, 568915, 618622452, 681194324, 785700800, 934862829, 679277943, 572168959, 309746211, 508735927, 762727348, 657662838, 943777650, 27183434, 752100521, 400135563, 241565658, 62576533, 815036860, 917124579, 768775586, 809906970, 889199085, 497044100, 46203686, 103890586, 81921793, 820983763, 738172904, 118426984, 863310167, 522583263, 291461962, 636803377, 47847053, 511684015, 150523566, 799243612, 497459841, 982288289, 336815946, 656300677, 719220415, 385558004, 21540397, 702701375, 723026105, 388324524, 173401993, 35272078, 646334459, 921096717, 287426518, 164757533, 156816492, 994488766, 443315484, 668082459, 61374597, 358803401, 811553947, 30952047, 886301132, 667460252, 772656485, 918660437, 2565803, 805014008, 485695130, 902076417, 229803999, 597714372, 291982093, 995782818, 356361770, 488618593, 617956844, 408119454, 2290312, 854665843, 325770716, 696470800, 929281499, 894915914, 963648694, 188408878, 691458870, 104188504, 515906845, 48004629, 94135549, 868081967, 175209267, 953304878, 255422890, 241515211, 707308815, 846427431, 82457527, 474074972, 80749936, 776972690, 712493497, 106722016, 200368054, 840092073, 103276890, 921676136, 905957916, 224199541, 647151895, 205893930, 465457267, 797358160, 703978422, 130001925, 262169692, 31309001, 913422046, 35765264, 767769104, 487360552, 111471577, 527999453, 382618558, 691453158, 171159386, 606625025, 372736085, 597720334, 881787444, 486782690, 193716205, 279679772, 624821318, 216234444, 188466726, 852265933, 313753349, 533470910, 366880816, 922866401, 655944260, 136519288, 305954522, 816489404, 657790401, 587590048, 908885600, 248010800, 673143650, 367922627, 993811892, 322486776, 272349321, 70472986, 662842786, 75854965, 630023137, 507771351, 77735019, 779051672, 623423256, 209785869, 13437467, 713436104, 465786853, 954027123, 736311907, 905454504, 472009635, 469229535, 692476169, 108634917, 939146937, 511944176, 481524646, 244560094, 54580962, 712605571, 512954874, 381404698, 999377169, 195285800, 823502959, 519061282, 784641347, 837518351, 840345938, 574356194, 29568793, 762326860, 312146164, 89398241, 165602150, 534493028, 748368049, 920299589, 965722414, 285331204, 864159414, 693954724, 255979469, 224635045, 797383601, 683624508, 744801683, 792223069, 233833369, 514286520, 567308000, 299085526, 168773824, 19249098, 379115861, 41966129, 628429944, 18438519, 327849443, 647545759, 848394756, 315742141, 960711353, 805625963, 893598562, 334752798, 275225202, 499621889, 861999395, 935766505, 158394881, 337127323, 587603543, 884396140, 429960065, 884595087, 228819862, 403928485, 35809504, 933477345, 358284457, 220253241, 520451680, 899872121, 705728115, 676938014, 213052228, 301686615, 295950045, 629943462, 992552212, 570008353, 138144622, 160092056, 915361859, 574173758, 371256268, 524491756, 918905483, 326240695, 237772157, 500611151, 152340232, 138756996, 618972188, 335564969, 480981173, 210510450, 902674317, 730645653, 797614560, 234773897, 467027360, 290361382, 564072925, 245427499, 225715214, 487607079, 376949047, 816810006, 127874820, 866185872, 47603387, 476596634, 240744452, 126180892, 325538377, 846093025, 659402694, 218455093, 838708276, 940008607, 6349364, 722330943, 189117212, 736962221, 536114725, 782335024, 158828231, 210347813, 105953086, 711608284, 48172619, 482238925, 956612096, 39757551, 315664993, 683675668, 874750922, 415299664, 234438063, 591426377, 601927068, 859000972, 472716339, 949612597, 109361377, 283063395, 390224535, 38134741, 578393344, 985865288, 502401299, 391054755, 183045784, 780190598, 394673938, 694350279, 359750280, 578628425, 982379159, 454021592, 888828519, 241608560, 244657993, 40484052, 15074304, 84345114, 951333363, 935515948, 891239449, 211674582, 206086199, 890952276, 896434478, 241882375, 44613770, 296088396, 60438242, 294157707, 462402128, 603195935, 628615915, 457793272, 188102435, 804110540, 150104224, 580010763, 518610003, 626378790, 863540992, 871117306, 450425999, 873217981, 626764371, 743788024, 798810124, 77355598, 818191494, 187486183, 604662480, 629686029, 405117873, 684557297, 413405392, 12988639, 280352825, 481916731, 933069204, 46065591, 194671029, 19084473, 629058718, 734435050, 783588749, 922517162, 194455477, 761662092, 221513272, 829922868, 579562053, 374971828, 204498113, 349857862, 706303763, 434087082, 721638561, 743696928, 831417146, 359567544, 927491012, 409796168, 983729265, 322540921, 395819951, 248561490, 131657416, 598933993, 728461845, 690242671, 651758321, 248653650, 904888824, 695980754, 377106486, 235536126, 322098479, 494741450, 857460849, 731652296, 893431755, 841182034, 968651076, 719407014, 564233510, 858980945, 561452999, 331150545, 786889382, 103259666, 310778595, 54175038, 266519138, 208005244, 676800513, 782286391, 18315905, 361551629, 101113766, 305903231, 564844481, 563044270, 7239079, 992290773, 167877008, 215110721, 241609343, 424595958, 557597213, 736061189, 272511184, 88795023, 682547328, 48765936, 791645049, 721308175, 110210283, 606525252, 16189898, 112154812, 307763348, 941339339, 868436118, 184109811, 550391839, 310191069, 293366775, 463732319, 982225852, 23525072, 514315707, 312584169, 966633220, 527249103, 476912920, 388012933, 38643380, 973696074, 777676992, 194246567, 929410351, 364965956, 197745256, 342498235, 651032887, 947418461, 631558591, 324686150, 328149862, 39774883, 451606044, 197911221, 724385612, 997078660, 260750664, 614360787, 343524834, 995988748, 881341607, 107733303, 79967974, 268704394, 755647542, 768879763, 280641297, 144044757, 250166323, 869780236, 312491709, 452904313, 98918681, 454639473, 882979904, 613891956, 720657035, 370223701, 435343260, 911536383, 455537098, 826572276, 237892135, 443225821, 660610266, 258094201, 109228296, 864027119, 728179913, 633481107, 834887693, 192303178, 675519945, 720874617, 281888498, 731439283, 785078769, 742783199, 597598949, 296565575, 906849258, 814476314, 292850224, 835981224, 899896132, 391529211, 360736319, 43275468, 1797941, 564052338, 355735321, 36734893, 649624905, 845206215, 259008241, 440128014, 366375423, 359529517, 667232840, 508210245, 872410275, 889181402, 807051124, 256958271, 547829369, 338561777, 753338259, 280289792, 74029894, 152521014, 456923183, 965977400, 250040649, 328701593, 331974797, 143420465, 165451499, 472696601, 971067803, 940921259, 976439024, 832193563, 626229001, 509508256, 759891243, 485535722, 171483059, 812372058, 57938026, 39780209, 730765257, 801507561, 546148409, 478171254, 596555818, 805680514, 396548341, 590420221, 956119337, 142036652, 707873684, 831745073, 620024290, 938949073, 114227120, 259591067, 476115051, 491034131, 413063821, 957221150, 332650069, 825213689, 254190967, 691164361, 753050013, 498479785, 306751174, 703637661, 516409750, 787241813, 659737821, 412190044, 381386887, 905987943, 5988663, 348903447, 874445312, 802887728, 783513419, 256642524, 202232082, 188256992, 256283280, 587957732, 161794128, 894352860, 145682436, 121616588, 923992881, 905031220, 281201357, 763278424, 28834642, 137945326, 384036852, 181031075, 181979508, 513054259, 424909205, 337488049, 335831788, 484278485, 892064090, 125858253, 804950674, 287938653, 830908065, 767442440, 25310626, 427666440, 904670988, 146857251, 612364206, 255681917, 808421656, 100905174, 132433479, 477596470, 426694569, 240867330, 927198785, 506648671, 718186293, 41906816, 786845931, 651716911, 301529037, 489019580, 606520358, 424798687, 352825403, 916080590, 490145795, 351553007, 740452389, 198772166, 422158689, 769455350, 549836273, 737707015, 23758621, 843742756, 280997864, 777301491, 704582521, 291533563, 299330804, 969305690, 300611250, 199422071, 279914106, 359828683, 40675740, 229594148, 888045384, 470903790, 364033514, 167980180, 313312147, 836583217, 324902241, 453240829, 913062053, 494779854, 238396077, 328922297, 8048481, 940471856, 412426517, 443097067, 156320183, 577064520, 560317484, 375497338, 382388872, 256517118, 454505670, 463100739, 122308031, 623469974, 304700264, 998179006, 462240962, 255588132, 176501390, 508920452, 118113256, 955729812, 893889870, 898182077, 716438961, 750345328, 862835858, 699087519, 356794688, 179128970, 24695136, 71162614, 304077390, 449333696, 679803638, 161895877, 513785148, 806067427, 891971174, 139676033, 343653559, 801140640, 993393380, 735903444, 973421648, 211654509, 504735712, 427058820, 224890998, 494034422, 376233718, 782130155, 453120823, 101097227, 757512958, 529321444, 438086895, 564287910, 180648046, 609855154, 957742565, 30303185, 21044604, 501890506, 827687174, 740457441, 398458149, 765356338, 616850162, 510889272, 325816240, 897740817, 742118050, 298405032, 299048240, 324275041, 740293570, 988127979, 916992956, 26734188, 749991026, 665433120, 463647211, 626230984, 464429576, 977895023, 262029237, 175539474, 357121490, 569448330, 153944552, 469803215, 464364021, 625905542, 948341107, 520580915, 311216328, 702446334, 159630552, 163680740, 909119877, 619025750, 1115946, 237622159, 431388289, 511863975, 320473945, 294797452, 17353193, 699212038, 364433058, 745443977, 84328682, 866014624, 435784440, 830547112, 663121649, 444457510, 364270161, 557652429, 246041871, 253868695, 271715926, 718492402, 748013583, 723690019, 867463695, 39101231, 33460964, 955393879, 134899574, 902990036, 153842942, 468409866, 917318695, 923624653, 190585111, 608015507, 975275702, 2553398, 201321534, 402434227, 573798707, 305226056, 16653870, 167757789, 129743315, 818229076, 732736918, 431765101, 273389247, 66469880, 482503137, 899855894, 286401322, 705245573, 282454747, 147998589, 695330034, 595950682, 10884161, 186626480, 719176158, 767658745, 452288362, 739733148, 304316805, 311055522, 700525515, 230269205, 120222937, 831976954, 532520498, 786831956, 737310787, 500749370, 961792580, 265827266, 597262568, 64098107, 42894594, 44995030, 150623039, 638040254, 767939698, 434143220, 591738154, 22672525, 861951635, 331586192, 595352106, 391030466, 564136925, 23054631, 890923947, 765530399, 614049267, 545202248, 856970257, 906102386, 743956022, 781519979, 465418478, 655586106, 729713294, 743634278, 470094547, 102469338, 374729420, 312226567, 578248137, 734898766, 526152559, 43431869, 672640410, 374039342, 138788307, 372471823, 345695448, 759436595, 351375730, 65183456, 556003570, 693170770, 79866877, 387862561, 526584367, 962526017, 88587294, 292397005, 479246894, 32546766, 601094219, 979966758, 699393780, 919598013, 269393583, 232227754, 433756829, 344893816, 961633539, 207309182, 780392191, 630907923, 444733814, 205284010, 371224327, 635340205, 98187923, 757543928, 553975968, 355267792, 476506135, 224900799, 803916869, 108406715, 811173057, 99616356, 878986645, 278925911, 934410116, 451168877, 198308196, 933602099, 144681917, 545324548, 578064963, 411366831, 197830760, 92204528, 266308175, 411290905, 569075389, 693072787, 308259413, 618087255, 980233389, 537684955, 594896777, 424785326, 179919069, 209400460, 977837015, 479517894, 455201368, 727268436, 95041903, 149063225, 316759860, 283343320, 130240249, 660579658, 822546512, 320505685, 934956566, 749447796, 293807781, 953909708, 449047538, 99895007, 776095822, 862336972, 750459327, 437786603, 169966558, 163808019, 743980283, 393008968, 932850233, 897780146, 534535814, 845555440, 835112146, 90038136, 720655548, 872443015, 395163428, 577898855, 691837316, 679471215, 973693407, 482172931, 22157362, 26560219, 376692011, 221782361, 380429277, 760288975, 333949290, 259626770, 878212235, 387336635, 245641555, 541109209, 208890902, 448141583, 881982647, 482988331, 366234862, 826253743, 812725853, 203480685, 723353374, 988121180, 253961639, 283281893, 985619171, 18641127, 797476616, 885498341, 517038110, 148798748, 26341425, 914438168, 450625920, 539156312, 363384311, 891639396, 62234992, 167868972, 453046594, 651410959, 735917927, 394238626, 638528403, 495416559, 203381680, 477848547, 774364069, 983354209, 96172054, 89044339, 530913795, 799996330, 249860741, 17123827, 713424395, 613619390, 680408123, 83575667, 746158965, 504498950, 773049246, 103575025, 51069657, 240853986, 909744764, 127675977, 385019708, 83438812, 729816579, 349275080, 993278403, 889008924, 691988452, 28852189, 69314872, 142026233, 335338351, 537085900, 620453067, 188680590, 156289528, 196891164, 148727095, 874137653, 651943344, 515854451, 712504239, 880246601, 533528562, 658442403, 869277487, 699609079, 337557645, 406821368, 783198221, 427765600, 133017791, 202231516, 950891108, 841525552, 301898159, 688301678, 869536693, 899883872, 300486269, 257895967, 761124390, 112437871, 11309615, 811189720, 738279697, 541321561, 50030713, 805325684, 719179114, 716810117, 199692102, 89245946, 153193159, 698262316, 327842829, 546905630, 17329186, 95773060, 479509758, 457850080, 564949332, 546039210, 379568311, 924403240, 533810943, 759198693, 487674281, 355199137, 14880846, 443173292, 800621938, 201465812, 196830207, 794992193, 759143444, 461973002, 707680482, 340018390, 523653593, 775531540, 510330731, 719393382, 899791241, 661455849, 877097466, 589983654, 820290350, 499643565, 19868113, 558981301, 759260249, 359958528, 807822870, 463195930, 962629922, 197948437, 480073032, 853931034, 984152465, 958729886, 415627702, 720449962, 474457856, 779033691, 438445153, 43964259, 550065258, 773076364, 522425492, 41956024, 936748612, 98848190, 324324203, 233596113, 773785960, 775897430, 316979334, 403210829, 588711554, 345736308, 486883751, 390693998, 173844384, 962729035, 116346364, 173709091, 575017751, 704349679, 823139152, 211242410, 263789635, 801579879, 360701009, 913213485, 321317518, 232549485, 22652721, 999018199, 119760939, 200286199, 653794071, 658304156, 677608345, 660440257, 136353585, 39889159, 391178387, 456579847, 324547266, 54424775, 837804666, 569758372, 344493394, 877207577, 138833208, 600073935, 621580575, 469121214, 346069181, 159218505, 181214620, 475691040, 434222535, 548784435, 268969263, 556057933, 576289880, 773915244, 153173533, 396794125, 664871108, 616604535, 177739018, 227189424, 663248789, 124482334, 45149086, 298508697, 604406365, 15649863, 795166463, 526516332, 516546521, 142752488, 88665794, 772408259, 804634529, 85437881, 288172233, 251611309, 858966252, 674596289, 765734918, 805885202, 102470389, 409433754, 209067989, 392877765, 598498701, 288827009, 6727060, 70252029, 307528102, 517026339, 657070393, 816563426, 459402863, 235741327, 749003723, 894823071, 240122441, 213217330, 983299587, 499536817, 528448106, 671625373, 203311255, 552517369, 919223182, 602474761, 188033994, 751638097, 995606989, 905607566, 945251644, 420166296, 352378232, 521933062, 503546195, 973676700, 700873847, 407034888, 454742396, 960069658, 727333242, 624940383, 113537138, 4662684, 402594712, 3946596, 488750808, 311866716, 417524467, 787851854, 161498752, 642348779, 268099930, 285526014, 199182423, 668522125, 992604931, 515068397, 988718102, 733040891, 72756244, 966213183, 1498952, 78607036, 982772512, 884249874, 868124538, 437906724, 21269154, 82978533, 45725138, 168136796, 838279417, 832702709, 534345758, 67178434, 47007353, 890358302, 988432296, 739774180, 824797508, 88305299, 655405452, 372531287, 140590902, 842423512, 688073285, 160034013, 875560511, 107535626, 43343408, 609244577, 331894124, 795556719, 77715064, 756913068, 463779135, 408145913, 847885941, 150913888, 1476241, 720425975, 920089829, 360946554, 694777929, 870793889, 601671791, 896602551, 44626423, 151880714, 704251924, 833757032, 485861384, 491809753, 254919565, 16754613, 184509882, 14563540, 756972230, 608030411, 887043257, 861884773, 335151090, 465495191, 570847511, 728014094, 619583772, 782930114, 714335765, 595925105, 243246832, 266644029, 941752926, 189452930, 880681224, 185677218, 477199228, 134930369, 684201511, 77246503, 923839674, 950217407, 806065535, 456016888, 780010537, 413461819, 258161560, 1886361, 143893566, 7432668, 722766020, 593134833, 99228195, 675752139, 4734809, 124000652, 703485931, 554486490, 415406533, 924901287, 725747318, 199907166, 799194732, 522954453, 838080912, 244299394, 59610797, 57654284, 608092099, 625235594, 437997345, 613170320, 327685389, 997520601, 564588700, 125903859, 26148329, 796958985, 978449948, 237505236, 68850177, 2585727, 127680659, 34610657, 884980592, 490248696, 997566445, 216922083, 606502082, 90803208, 151330924, 242146562, 308047696, 707898347, 518066032, 707214752, 167056314, 695782308, 412238862, 768544745, 325854097, 664477979, 617271450, 232291401, 519881433, 63600024, 13416718, 85295108, 298782818, 597646253, 408578929, 562827226, 326525948, 988651137, 993034894, 464878220, 737280579, 132603399, 333508955, 953737089, 960076312, 801449838, 201504748, 232920124, 907644639, 876164195, 607642230, 277625778, 964527489, 222480961, 53031007, 72915842, 663288454, 438349790, 860516537, 445591592, 288025647, 813847535, 999810298, 458094856, 526810661, 88694284, 48740987, 868218565, 202064278, 601147823, 477369744, 989917921, 227925440, 829468764, 859949806, 262375861, 266515581, 860193066, 881144944, 460127226, 955403708, 511609497, 521487948, 826214664, 53594100, 691538524, 475886725, 758879747, 935954516, 478064095, 12687797, 706867111, 242097417, 143128309, 515951438, 615378327, 893627109, 601415800, 568114540, 186534117, 959882962, 11127779, 803176300, 637109706, 732290147, 237685711, 549003994, 381183419, 911664476, 444017370, 829019506, 462686375, 910891829, 278960468, 563192122, 110090181, 755733617, 39815226, 714454418, 654515327, 703533022, 48473936, 623685508, 850249665, 594414474, 226995191, 196853951, 526624717, 668613050, 922831154, 819974744, 585091905, 988134295, 828323655, 293830050, 479676967, 856318013, 172553068, 119085889, 586027789, 826361721, 773530039, 411063973, 73385464, 657575951, 918747933, 954836040, 597917645, 222605427, 491126743, 82940518, 928328324, 214387646, 533835272, 372852691, 384416545, 940437682, 981702856, 55086618, 509138701, 633829758, 209915051, 338936467, 585162754, 387193144, 519305630, 981553713, 668182798, 522408602, 560125239, 272547385, 457019593, 852277405, 189963723, 340867283, 262413569, 730567411, 361464935, 214459592, 15950638, 662984238, 707243243, 676783424, 761623954, 139749526, 668753420, 107896582, 689067178, 3442492, 567503431, 700051852, 181899284, 523121498, 654958624, 977149334, 936034136, 524743319, 719681315, 731512326, 449887321, 950306222, 413728702, 400685722, 175796601, 441876600, 731206972, 722034364, 534945608, 736361142, 133190724, 16261936, 179418863, 632150018, 162675142, 688614583, 655122368, 832976009, 661085402, 531290591, 325856639, 906272756, 839379495, 929054534, 1935782, 990531760, 251191229, 381703589, 7471729, 127966863, 380378813, 909412603, 853908236, 113198362, 378052971, 495082955, 294514172, 394941708, 363257284, 313362443, 149736929, 494361932, 680487628, 60205948, 975211564, 411098952, 104488779, 190295379, 752244954, 193018871, 209706323, 725296661, 191016503, 977798858, 608553481, 283220135, 905470980, 488304262, 974341594, 235230412, 34341768, 587110302, 222864321, 860441922, 394493585, 200003232, 558929320, 681010022, 300496913, 900478290, 842677397, 936575256, 734092911, 631082969, 819066122, 703021040, 122342955, 595140391, 21603270, 455598280, 519274588, 555037592, 38333337, 855720734, 347055963, 701544738, 190017714, 842166242, 1157223, 259223455, 185999093, 705609975, 732246052, 309184722, 553887299, 265575631, 579172797, 273567547, 259962852, 91479866, 130046105, 183628355, 331523890, 556864616, 967019096, 134188991, 842160241, 330623357, 676964855, 707261862, 287988042, 237075410, 258818252, 396388576, 879454210, 868317210, 339067863, 135524887, 563041996, 262677007, 117490039, 917059568, 167072609, 642557419, 575729295, 628570475, 941297083, 57959908, 244261670, 655545826, 850370389, 351042067, 883037120, 153978850, 921736282, 950305005, 597608439, 740257540, 937585789, 153142469, 784692256, 951979580, 561491259, 944828554, 586226232, 370333252, 911987787, 228041472, 114168982, 430872528, 147551614, 856004063, 539192227, 134392688, 48381614, 947745996, 600775816, 6895366, 636081524, 314896052, 38582961, 670781801, 805929203, 977743455, 377453200, 931472782, 673482690, 213100348, 308178167, 809765485, 631583322, 955088475, 444934235, 949978703, 626964392, 310604445, 385785086, 789635920, 569461936, 206823019, 220256117, 618388099, 809914643, 625118536, 131442828, 70412236, 74951026, 293659264, 844934495, 244979077, 619684075, 820143825, 893772464, 160479949, 339712678, 47281514, 604818278, 139636306, 902530725, 239997571, 997728433, 104124035, 678460301, 582238871, 378880684, 75475048, 158101918, 518338597, 350313565, 325062944, 857917909, 365521727, 514385027, 940559297, 233212307, 959169318, 62225203, 846758945, 619264809, 286603205, 231515071, 302996883, 254736657, 900746874, 789209710, 172771146, 830455509, 476315781, 719993911, 474800404, 818906558, 615926883, 956148230, 695911827, 544907715, 880466886, 21183540, 205617965, 285622998, 829620594, 981639267, 595415840, 722644402, 105056461, 656299576, 537411017, 661821641, 860407040, 871085367, 59596128, 76648050, 539107103, 37600321, 179516, 567041410, 435323029, 256103196, 209274463, 942940042, 727629589, 149020593, 727795131, 44656976, 145060561, 81879204, 114363025, 249377023, 571645814, 533990766, 254478442, 816828779, 730538114, 838083926, 723486811, 600540865, 514818404, 858303575, 136104537, 658026578, 412675474, 484206849, 440689313, 726228912, 879464857, 558600905, 62993773, 628419573, 790626429, 103129720, 42300572, 140988378, 889939294, 95160515, 108639770, 172827058, 674791123, 126367724, 147891850, 650292621, 112883695, 760905330, 985348449, 201196888, 888574375, 79489335, 469888689, 383779909, 770066183, 999079935, 567026882, 834756205, 596352899, 603062430, 431332923, 199107231, 705215306, 345110556, 677696964, 347902058, 832093347, 505889699, 695490593, 41459579, 473275409, 548234873, 68734089, 972688821, 227392762, 95438835, 124852451, 744481482, 609922, 289044648, 652846551, 205392198, 656120647, 432913607, 904592919, 832152655, 305884578, 755342168, 374099093, 360600806, 988619966, 846754244, 839213718, 316246467, 398448181, 851768680, 352756167, 814729817, 539669066, 338679926, 737455351, 499586426, 221554507, 429733193, 236794591, 379015318, 280507550, 691237552, 414290458, 865734108, 726916190, 1973214, 871789145, 437489058, 256859153, 519661065, 74859172, 488010937, 618228274, 411217972, 127781584, 483245717, 62533144, 465779805, 573612943, 885662235, 107430967, 657504666, 272448648, 553272601, 120939477, 764674301, 7774464, 610344301, 592950142, 676302979, 418800615, 232718193, 427827273, 356131357, 114314609, 341277777, 235184422, 125274992, 947131451, 917995910, 691627393, 625855646, 67282236, 650625020, 727111078, 223843852, 455173879, 905218570, 596236934, 501689879, 240332189, 606915855, 233615158, 625916031, 527969597, 258642520, 370656838, 50552338, 12550338, 112918100, 523874024, 184360929, 267934908, 584453069, 669076613, 796276547, 76316857, 84628753, 171730119, 626735504, 50491374, 699074328, 229855470, 528084953, 920188691, 682075203, 445987619, 737848757, 270223066, 245342864, 145859318, 338465030, 267458027, 220451052, 496080089, 107389075, 399766878, 354992302, 980739772, 785122213, 790770525, 558084578, 180683449, 183116887, 852788138, 468074967, 673375646, 455093831, 170112184, 672201808, 551034872, 243732343, 476104619, 327383495, 838992161, 21844505, 571422114, 530701199, 737103552, 73786091, 14540896, 248620574, 312687678, 435632413, 823343985, 747138518, 67466130, 138653333, 937298291, 174039075, 832466489, 304457403, 21936702, 57257950, 221908455, 85204145, 635304979, 666376474, 192792849, 204716829, 260356760, 28861997, 81048040, 212441622, 533047553, 917951631, 534904946, 716853200, 143578015, 421057814, 65664804, 383862500, 536061592, 759832941, 303451087, 576129346, 708897204, 284888415, 436712555, 507254286, 864576197, 307237599, 572032911, 292080909, 220215575, 941293276, 496536451, 95461318, 910372907, 426336506, 621518740, 171254703, 832427647, 867322327, 808647720, 405132174, 100443788, 698996254, 371915939, 816333244, 914986190, 679949915, 346396690, 899831094, 437688951, 337409429, 377902347, 562114218, 67928835, 442717281, 362694162, 602140061, 53059211, 175905453, 147876686, 538064702, 570833360, 152895528, 353836821, 768763275, 842253679, 425119621, 923151781, 451633793, 153770388, 855246394, 455540775, 207015850, 638442497, 677918964, 406745000, 418335977, 315533920, 777755733, 805938702, 347900655, 422287181, 66213033, 741867605, 185224969, 451829752, 316324866, 779502411, 368109419, 28600665, 140700816, 134110332, 137641161, 377063495, 469910894, 315728731, 913400126, 376410656, 32792171, 964555135, 860464863, 198584019, 33805643, 906617027, 739804210, 334389510, 942639682, 833234230, 617970416, 724315285, 991428945, 346631930, 10498610, 397899336, 447940998, 439644251, 369973147, 864395223, 152750644, 365294309, 635524409, 510265137, 480646261, 6541667, 649298560, 438420996, 141438431, 720618970, 16851588, 508848373, 540837398, 165422066, 423904563, 71418684, 625197856, 304650198, 771910149, 164655881, 526333036, 260470030, 142907084, 36021173, 320450627, 114378090, 420423671, 232783597, 210701030, 785062568, 24889657, 998042777, 561271678, 188900468, 250714453, 373707640, 101282709, 266301278, 768932180, 183204524, 542002161, 753505600, 700843516, 669299857, 441469367, 718792384, 640624449, 919344569, 189854638, 684143342, 224677621, 156594735, 883183856, 874499280, 433889486, 322737055, 505678625, 8398201, 226782107, 572273764, 497087435, 426958598, 868350835, 10794781, 640117495, 473938562, 895132878, 765447264, 679326672, 583039250, 116241687, 164182232, 545620227, 850114349, 795460907, 634578285, 667035908, 414439649, 725202299, 740247361, 29623816, 609764880, 668469191, 969436067, 837970117, 68797050, 972165228, 649862983, 694320005, 539763143, 102152621, 120184761, 87462418, 63044635, 907998549, 252050724, 87273480, 41574879, 452813120, 565042643, 252719965, 437971974, 2047707, 588989929, 310902054, 663673951, 238498954, 252456090, 610431556, 11018442, 719136800, 863337712, 855362960, 781319478, 190875235, 699767764, 909090394, 555344904, 218016176, 399615827, 103232215, 124610182, 729418302, 644366079, 18250572, 985474658, 986609385, 178624501, 367938936, 926734894, 270471884, 624939457, 859212396, 12410239, 739444010, 461558876, 829735406, 470259487, 536438776, 419902992, 954872723, 240213038, 479160814, 447749102, 507445195, 89327433, 467216314, 291016035, 886460204, 414977957, 843149516, 531074192, 70626840, 918996122, 300210005, 491601181, 484838829, 680247433, 62205014, 24507436, 460785498, 423296016, 19040079, 560131984, 765884574, 319658686, 717015902, 424749073, 501965361, 940372255, 576844996, 653014782, 473665237, 65688064, 918423944, 120318394, 459084660, 725928708, 611063882, 225650929, 802119900, 255806078, 763941420, 81327815, 908620720, 759111767, 380772944, 849905491, 214012934, 892543301, 286388664, 233510345, 15373749, 169403350, 804928225, 140396573, 309145398, 343539189, 152359726, 290748452, 113905470, 830467216, 157947386, 881160100, 96611570, 980876132, 192675574, 978854081, 777745606, 178068289, 498979896, 471661650, 362697451, 807577734, 280258810, 152423871, 907813691, 772365331, 601943528, 173114518, 875833870, 711557222, 809497833, 693938929, 807742462, 128397990, 24590568, 518275206, 706159974, 135442323, 75983300, 612881025, 574276451, 869547708, 484609576, 713061039, 133718065, 53456048, 155691169, 105130956, 221182579, 215923832, 28217047, 351449685, 975675744, 928376886, 5319655, 917269520, 862874976, 762244071, 776592787, 465682519, 615366739, 642178468, 44650743, 805708432, 152568550, 870791835, 355186599, 922607109, 613356748, 749382975, 226324457, 999130396, 295320660, 86130637, 943788698, 444494232, 852646210, 415443624, 524404316, 881909909, 849119719, 418555825, 231902320, 316194929, 495358364, 403192393, 543186141, 175112192, 497988370, 933981062, 585379866, 36709832, 721448169, 297766307, 172288680, 241540390, 436361516, 691645475, 255470009, 972790832, 495498346, 505419901, 295781229, 265399433, 472905558, 932820693, 812425008, 813949775, 533303263, 485916994, 121511605, 310541489, 218030652, 522823494, 823626149, 553884604, 782264846, 327302917, 489431334, 542187541, 666533493, 755548464, 530123123, 664966797, 251422829, 329063475, 925481386, 681310843, 296619466, 192461675, 193377964, 253153069, 365709341, 750453809, 730613770, 668267629, 484349906, 986706868, 235516482, 15271226, 452064064, 902771192, 878991844, 476304494, 560512724, 366955430, 221502395, 554256730, 129095023, 167404292, 969173798, 757454435, 656024661, 969632357, 224282836, 390286057, 113963117, 232028255, 416003003, 721771098, 292627762, 108157824, 123468109, 665044601, 992903619, 341419904, 684845304, 697813761, 302523637, 563127146, 868643251, 261121776, 551789895, 896621017, 555748726, 478603335, 443421796, 260206906, 226839325, 964429902, 607822205, 513007526, 305991466, 365008444, 787197273, 449868683, 556187339, 826243731, 701690555, 902060105, 652069904, 477172514, 444131289, 781662779, 525971576, 212958984, 624683708, 233072414, 963002866, 54343593, 323586001, 476275224, 780194154, 82848648, 926986957, 31076173, 765142771, 439590727, 469527652, 446016207, 603314212, 120510613, 85295926, 374902858, 243666220, 576832997, 207272203, 741275447, 738690710, 826350750, 914884572, 400056047, 704105852, 957552102, 127395962, 100465793, 976316939, 266074148, 624210517, 579779175, 648071290, 13815156, 315872147, 500257886, 764876016, 37426761, 582923625, 422854140, 116632462, 631205480, 715890559, 878812436, 667570014, 595278444, 244790209, 289740468, 26167770, 756123126, 280891810, 976789258, 287608927, 770620817, 306583205, 87003692, 659709027, 781886346, 144192042, 550908425, 114709507, 241338435, 338768349, 453549595, 572583740, 93147193, 706038787, 859466981, 609218008, 266997619, 369477693, 685274828, 410689934, 805703438, 990797224, 72520745, 993027176, 995332062, 398827113, 115736336, 909984904, 538075141, 847775606, 522560256, 946529673, 247102506, 575319474, 382530716, 684974286, 847810512, 916272275, 986318408, 605017604, 206221417, 794134497, 913949843, 333195723, 362041605, 800162282, 252698853, 835904190, 273657928, 304561629, 860300345, 423011075, 146632206, 456821250, 121059209, 555567415, 923101716, 647274955, 772147239, 954072268, 960498717, 903394906, 857486441, 273778997, 356451205, 612542757, 994880377, 421405212, 400741377, 457730407, 156359620, 319464154, 622646248, 658376656, 842425739, 796418237, 658302649, 355642749, 207170282, 428689853, 509926796, 35098900, 760900962, 588035934, 215371810, 639568746, 473871954, 828482180, 195337247, 621629653, 847114676, 810422260, 812858624, 337058277, 52633759, 250364371, 231676384, 330446087, 526895957, 774472706, 898018177, 73445005, 340105107, 537198302, 519618794, 211229144, 205092708, 124822360, 150757009, 232636666, 888721784, 481996054, 304966163, 438120302, 673209373, 366804451, 519109942, 958439008, 798256290, 359059515, 645331254, 103225917, 668749117, 502337921, 10024592, 611604058, 956624154, 774224785, 553417300, 914248146, 260050955, 136260546, 298594474, 69848272, 710689124, 795778369, 446699497, 965089302, 246642422, 803659929, 52448108, 629861614, 615856550, 136057974, 979184050, 850252276, 561879292, 809679740, 107009700, 786199431, 269268445, 512706617, 759362216, 602142837, 197401191, 675877113, 951876284, 69670560, 138653638, 358460820, 864904438, 722936685, 310041225, 244035100, 978613573, 952433385, 670835513, 395156069, 243156651, 347253871, 786391547, 606337091, 83983391, 406378787, 562873578, 826227607, 849169725, 404554243, 674434118, 281214285, 39523465, 946667347, 772677677, 807520235, 112311693, 720626296, 327567722, 422629838, 616682554, 842777020, 487861573, 479731883, 996540736, 347744509, 750546954, 536840126, 706959435, 374817213, 660429271, 550430656, 899539699, 793334856, 465580943, 267082456, 754100421, 224642126, 285190779, 140962053, 844702851, 173992849, 486864691, 713812060, 160425977, 667809237, 832551088, 220312958, 647187334, 877060590, 403632544, 976985591, 325088563, 440859953, 469630435, 420096340, 64527836, 937864398, 473486598, 740634793, 134682297, 308667565, 445443770, 6299750, 204359834, 821332724, 369449428, 84148460, 65503705, 193749852, 954619386, 825404184, 881083146, 226402479, 665468516, 12477550, 469739299, 384635553, 845324924, 598966, 736327411, 75874495, 178888188, 107119056, 408782803, 811624274, 584596381, 607498782, 523181552, 296807538, 676229818, 100459248, 567560393, 910940525, 742572008, 320600881, 610663806, 365372010, 27170000, 846881709, 3417416, 491502303, 734430987, 335783133, 497050896, 112196107, 814799521, 424328796, 567425759, 185743120, 274184059, 874502450, 925010128, 335412052, 305448846, 871035451, 159190771, 864336499, 272033931, 178374934, 21940905, 398470483, 388125244, 746063002, 671442725, 888509462, 94704354, 278719660, 76699594, 992096866, 591916933, 391587007, 329424665, 38299876, 340953123, 560561603, 651279780, 596760073, 601844003, 286081898, 593968949, 675685664, 208344358, 652079885, 136975899, 350657032, 607897198, 885848749, 431017999, 170770384, 686284658, 622586524, 985205869, 888053765, 346618730, 137771342, 275096704, 123447984, 35177677, 589938244, 75275716, 136399712, 490464993, 153142576, 706680532, 870115276, 454510455, 859567266, 924307273, 694256550, 563918365, 272479258, 701395623, 102617982, 571545620, 557279800, 969038633, 741730605, 46194461, 606496545, 424969899, 627485076, 445420111, 707810535, 547616868, 128784193, 425855759, 843812375, 401133954, 269414323, 420978952, 697426891, 895854228, 441971097, 767162709, 835484636, 257378532, 671384600, 79777150, 186906175, 991395540, 947491055, 200319347, 485153508, 304573302, 635918688, 127939124, 909700102, 260922315, 214725829, 263839697, 670127992, 550351779, 106927642, 519119932, 428015740, 473599226, 338206590, 236950240, 258885740, 233904298, 499357485, 181297422, 813728916, 882373460, 913427195, 632169798, 573176916, 308814505, 323064378, 930300257, 16958371, 675913285, 441322032, 818370519, 693497082, 872504761, 570613564, 462884604, 870860284, 804103815, 877777449, 371756654, 832059957, 862676160, 380895507, 417046382, 214860356, 298915078, 919578528, 99102363, 806652779, 967671302, 950470654, 62542703, 448529545, 32905164, 826739933, 177741045, 311678360, 454377525, 681626167, 745721785, 991867004, 168362856, 849621341, 234195332, 954113984, 516797674, 40512763, 615277883, 634660006, 126125242, 300289360, 233504467, 698739781, 108717554, 254650951, 216179857, 601145429, 948354258, 547047539, 401654782, 266459673, 263047011, 905868725, 708536202, 410107235, 126788231, 234621870, 520008795, 483365272, 891517046, 9431334, 656532364, 176495432, 998927999, 638144140, 646948321, 502061221, 159782801, 669742230, 398813972, 46712768, 13904661, 249526027, 944369595, 813739680, 363252023, 759787623, 112145004, 578528273, 106024394, 429257734, 20878888, 463398899, 327034142, 73476812, 939920244, 181785757, 740865312, 777652540, 548616562, 638486779, 538492370, 959759340, 370636779, 960118013, 291617341, 832386390, 603871112, 193140497, 413490863, 838812136, 395683976, 717557710, 715629036, 487072150, 376302819, 494510365, 961142204, 20984116, 270954687, 164141406, 56820477, 960030014, 660929310, 490656010, 46574954, 563071685, 660113720, 168414851, 290291120, 896611915, 974033043, 523096919, 494698892, 961873073, 808816885, 709552673, 455215248, 475798845, 954457621, 377351746, 737855264, 999481658, 624947403, 212070116, 335067863, 278762684, 438849391, 838931508, 753352972, 668394544, 732939964, 864455007, 886650516, 65018228, 273329106, 540531385, 494587754, 530109313, 314427622, 395518384, 907046999, 524385854, 22913708, 383302331, 641810076, 240714206, 398987961, 429448474, 720851517, 198703189, 554093526, 368742539, 751633363, 419777689, 750686302, 947517122, 521794468, 476443453, 632683169, 848463838, 971045946, 549757599, 500270804, 559154639, 921171821, 154597193, 357790670, 684802774, 951666828, 959179227, 546079034, 21185296, 614509722, 858431233, 537430572, 403007254, 490040222, 190840565, 257283187, 185587238, 248857155, 623679595, 213472993, 829625114, 163000838, 639089927, 340141053, 274983352, 690347935, 944437547, 428789715, 679601742, 763581240, 844683997, 378944956, 818453085, 521311025, 145960948, 180352760, 601488627, 199318130, 269120977, 436436477, 915837585, 264169564, 568018326, 803195185, 990914035, 72226972, 601742319, 968724102, 255770630, 249734884, 385278703, 860874227, 760930607, 182282439, 744820655, 478624468, 412292621, 666494913, 38468839, 90948614, 272727765, 935892400, 654373140, 268324868, 828864479, 535483880, 715427102, 743587815, 415936432, 806190186, 567429959, 363611625, 443221158, 148189027, 321434416, 260340683, 350863057, 134668855, 230375313, 92217749, 32583671, 781048504, 368420199, 5617872, 835406376, 334052016, 596094355, 104067659, 981758014, 423924257, 491964035, 206524212, 769659341, 327379829, 125191898, 115915489, 270258421, 498516399, 415999241, 209479482, 996779953, 751876193, 937478053, 20102632, 965050855, 909847408, 99617647, 413889128, 772462221, 828170944, 595932342, 320099336, 871473238, 747083873, 24404262, 610838463, 141630209, 358845841, 104316323, 668849943, 284364617, 845236611, 848490040, 116982862, 139453354, 243167292, 96653222, 949274169, 607657143, 913746088, 638658909, 565796215, 255641046, 123134038, 219281589, 445042120, 711995137, 273206599, 870006807, 328129090, 621053307, 54306801, 586320718, 154160323, 196705553, 989121223, 454973907, 295359324, 313513956, 187745904, 164378364, 368565801, 27475366, 946335457, 981342033, 176343070, 639533592, 956136994, 569840369, 171436993, 698571214, 589218526, 300505860, 254124198, 326657664, 312214474, 56027665, 635275280, 161230823, 806377756, 53453925, 244262156, 746941304, 54718146, 239001783, 778922574, 241269726, 725008814, 659269271, 433199220, 885880673, 150792882, 340686747, 498412346, 135277938, 389975858, 408957246, 635709575, 267633485, 261274893, 253437438, 215928159, 635906231, 943265024, 750635280, 455057850, 281776908, 696698593, 280320148, 208524575, 953154613, 118141532, 675700967, 737517452, 740305720, 926790964, 969073370, 800514916, 217465583, 189195347, 461725751, 775331815, 507348425, 71559968, 857705666, 393803500, 888721505, 759519636, 387203949, 49951147, 721945623, 657117105, 694466879, 512517600, 49731848, 675445085, 534080095, 36667607, 185504596, 202102089, 611882684, 894629555, 884345983, 232021304, 63749387, 91902242, 552915924, 170663018, 999386424, 27598276, 878531661, 676218033, 442138608, 817446384, 343789704, 804702393, 766614425, 665732085, 10971827, 879915187, 914674232, 78341968, 861658141, 665352813, 619234168, 703942230, 609676755, 11018619, 466277209, 959335375, 43231140, 886287071, 287237803, 199093136, 671808424, 209582372, 778721312, 919065932, 2488584, 147054593, 814109244, 850643904, 320116320, 873983920, 536498505, 453344934, 540958667, 815899348, 936274920, 986701106, 153504473, 648165165, 291026542, 833447368, 914754398, 427486531, 669986392, 34959844, 482838745, 695826209, 525657143, 47858463, 902441214, 964963552, 289770142, 976358401, 106457977, 517968888, 845076425, 138246114, 734981679, 660761958, 458422605, 408257213, 255399632, 709819240, 182224053, 156161275, 837709907, 995641031, 85748329, 156236110, 548183249, 427562966, 550843199, 722294953, 649819513, 550815632, 908750351, 960444738, 263017419, 416088765, 892922914, 701822498, 473338321, 658056335, 966463483, 797413754, 553611251, 961656470, 243227923, 573699228, 662938677, 551645615, 264972961, 874194673, 819698315, 10979514, 489551585, 166393079, 234623278, 166647310, 251620008, 344637709, 719282074, 642264534, 748529891, 391715395, 774078634, 386763323, 529947991, 620766279, 782330238, 7643022, 228527688, 451988768, 101289508, 149502271, 991267104, 795307604, 286790315, 453688685, 570946432, 457146995, 648232002, 687012077, 190796610, 704682870, 524878181, 443304166, 503013311, 303806249, 55243113, 289300192, 702586411, 638856668, 305086476, 585349034, 114300739, 287090246, 568141039, 206357015, 28763502, 889796967, 579027730, 509168671, 539709412, 810661800, 883930470, 511156439, 952531887, 443787762, 241989528, 154138586, 745207444, 439801897, 34976745, 429537320, 531859583, 953931289, 905057000, 689784996, 353770399, 758340037, 700822655, 327841316, 623987555, 710065898, 524826927, 574514875, 220246854, 582534464, 196951937, 25994254, 507187436, 260963654, 740029229, 940567586, 223691484, 569538166, 706559404, 425949719, 192364885, 149344769, 441403889, 391160641, 798356662, 922287185, 311480528, 560262677, 161174923, 335195785, 712261457, 831529408, 771132303, 743514349, 915540012, 17641585, 765393332, 85799168, 203064700, 163766665, 310368270, 124871313, 782397897, 97597522, 396129011, 640885748, 921666577, 36894579, 228448478, 724183362, 912414050, 518580542, 184360404, 859554557, 70295068, 542393251, 400818642, 285925719, 678560370, 918710152, 386698703, 281742264, 902106038, 488104130, 631771961, 496323434, 715193920, 462142638, 133902348, 926954947, 635996485, 453416581, 239281498, 172928262, 913957110, 115221699, 120490755, 82392831, 236235955, 29820413, 519718895, 663519154, 485982212, 960623802, 416571709, 13260388, 302037502, 99659071, 485638082, 954638215, 602887284, 931006755, 464168406, 578079937, 264101416, 124977720, 707902874, 238340968, 56234488, 598513815, 751746383, 581207441, 297945364, 697866284, 903630241, 216441690, 464376423, 734244133, 985308433, 871958076, 852385853, 23044933, 430809075, 672261383, 60142046, 215101222, 202373292, 71718188, 551049239, 602441206, 102607894, 467241607, 782918683, 698653805, 895579196, 295185555, 631527152, 265546937, 763383078, 824809289, 210060875, 413415824, 842516413, 946629516, 180574924, 257654483, 453617223, 326129364, 787252754, 326340139, 865428814, 251164307, 126506236, 866899133, 392077123, 117613992, 315344310, 98107607, 258449971, 825848757, 539230164, 889858568, 361565871, 884700883, 27688812, 112701844, 543690138, 736622794, 749160441, 887481520, 793438429, 511043522, 487076663, 843951621, 59798447, 392733251, 770526020, 16146031, 390462319, 569137304, 33526136, 291181255, 472149801, 652558458, 74208986, 756597960, 182904734, 448088231, 310744968, 392860555, 976011274, 478022326, 12012672, 614989658, 119318308, 205191266, 948293584, 826065911, 746845725, 722110072, 875932353, 579304495, 49303525, 647269361, 274097416, 862174228, 862931916, 334083978, 96597420, 586812534, 652331431, 671659577, 640502207, 115164054, 350301730, 444110204, 496525572, 74938341, 596406174, 707928301, 834796951, 376662542, 444969571, 929191884, 924295632, 823352422, 372304636, 398346597, 758500585, 85212223, 559860618, 347171844, 227768777, 762131245, 944455996, 300771837, 411382766, 436951878, 725174014, 729186998, 922578578, 683835306, 456477371, 714300636, 266890451, 537474277, 996938051, 41741411, 105985826, 857383965, 466775681, 824012557, 414657170, 397045478, 805489997, 583385619, 996170288, 281448931, 670154052, 18643293, 160915940, 53137564, 113750059, 446120017, 757858169, 111635492, 881701316, 972847327, 227536815, 874638585, 673030409, 113489092, 470780604, 215753573, 811187295, 31448379, 285488254, 479226864, 102934913, 923539984, 123809750, 938639908, 365739320, 885467581, 715305214, 922269515, 814410225, 773979181, 60622686, 139442667, 405972866, 845622541, 328614565, 376380162, 567058362, 808757330, 948277485, 362372870, 997209767, 571205740, 595051432, 417709401, 930813653, 598926294, 222934950, 455635884, 164151796, 388898830, 310246710, 555652750, 163572571, 832179157, 226849302, 912068295, 986121974, 827773505, 300880752, 38706425, 344011861, 177688378, 766221885, 963954317, 841283341, 397588873, 792835663, 455779310, 919857523, 542473467, 463532291, 255653131, 945682225, 520475839, 266295302, 308315240, 695894595, 781420750, 19023885, 243616551, 437060963, 625297544, 794348133, 981344385, 525132862, 592156317, 520463057, 754124208, 780935580, 376892463, 350486153, 960145417, 961167401, 388069646, 276992145, 168086110, 774385615, 571176635, 528741918, 193337303, 130357761, 479210082, 702814587, 964140166, 6206545, 571195720, 593672873, 800758053, 655693639, 209942223, 174446281, 923307286, 971159375, 847290862, 895980280, 232472923, 613976244, 996418977, 899958377, 222538507, 913504848, 753667559, 98964276, 26665843, 402857088, 607370857, 340777173, 741733410, 987967288, 993330437, 716189887, 377127408, 199218930, 155467946, 876970738, 17468125, 295475908, 43863316, 844731660, 832111679, 353040480, 228164932, 683791602, 228602038, 756911623, 436096198, 186788050, 383307689, 575197874, 810707827, 696288907, 915789818, 328654453, 669197438, 567268851, 35217476, 103078735, 267253090, 397228784, 105474559, 940210442, 80812669, 325883933, 735442061, 291287469, 985349076, 977663816, 112851891, 511930210, 420070164, 838770502, 433476663, 762881540, 558685925, 21891129, 439243267, 182892975, 807282460, 100214461, 394155726, 206853025, 188362883, 637762190, 34810560, 674617494, 879416908, 891280938, 723251844, 719441943, 517792660, 736921854, 990673643, 192281885, 43862477, 701339078, 316497436, 879427568, 406956790, 684631554, 164074239, 208650152, 672025030, 492162114, 332267626, 936389418, 598789876, 167326038, 785260784, 221092892, 931893239, 189966727, 550551946, 469760061, 704323981, 244960604, 618649259, 270904677, 146610220, 319232385, 107489694, 926003367, 535197783, 169539072, 520696024, 981719102, 628098686, 693270223, 802823877, 691147690, 191320862, 210460754, 250817507, 141771228, 966655932, 125264310, 537801058, 746522539, 707610138, 420950893, 178453368, 55571843, 513450652, 464532227, 206961794, 322421942, 804243785, 42359692, 598702789, 917258680, 198287453, 148082371, 403742727, 433489905, 563392718, 49230853, 942333684, 250762908, 530460405, 844824742, 754099388, 968648113, 232276429, 384221852, 618868282, 947100355, 46532553, 46480780, 4223254, 729072338, 836081032, 268957730, 446384378, 906299332, 518489598, 294079094, 694624559, 488649306, 428865325, 923778168, 642273523, 275728438, 967376974, 322691450, 443431578, 622758993, 638407974, 157153266, 324641043, 233801194, 589915660, 608909577, 757668625, 236366714, 979367405, 125250438, 367889317, 532713123, 862726192, 928486655, 996196368, 689183379, 205772804, 708320240, 822695991, 65841485, 832483839, 536191589, 442257581, 247337688, 310012804, 668204344, 913529612, 152590593, 380971249, 867660157, 629870631, 446558565, 450793795, 338398844, 790231968, 596622658, 915686542, 360231881, 739483881, 185409484, 738869833, 293699092, 613842551, 29526885, 138013835, 375328952, 119514365, 361616007, 103566623, 158068751, 590047408, 578625149, 775892822, 267261136, 133259926, 394006697, 153965356, 11007831, 375930690, 668232062, 386181545, 280278319, 927301526, 479024983, 720102294, 163679671, 546544157, 320878412, 764926008, 84326033, 475237888, 393925612, 586016023, 248299174, 371325795, 608314408, 288126520, 894245380, 443256115, 408982286, 509591950, 266889041, 114781682, 926442312, 553914042, 368196082, 976402612, 660374620, 189811806, 880284761, 783341298, 929352632, 398020676, 116605607, 927417541, 307627047, 69667808, 139807888, 899167320, 650405609, 337780756, 377598682, 877819479, 722437472, 807484739, 568644270, 257869962, 286271336, 468918240, 31141492, 223093752, 53469226, 16955366, 18366665, 415622182, 723422699, 185134930, 955723386, 637592087, 904391958, 778999323, 835259479, 72600071, 781493624, 729766348, 780412592, 613364218, 346294349, 13222751, 142503820, 691840761, 243328360, 985527461, 905321504, 341773612, 971366397, 302369617, 979275504, 327651810, 756180698, 279456347, 737213617, 716201455, 988163326, 734620393, 408423463, 260704761, 413224174, 608791908, 375542157, 718414990, 788763392, 50473004, 294309834, 502145009, 830503745, 997819562, 170673009, 361774191, 9360858, 263704713, 839671874, 364637330, 867217010, 358175633, 322966349, 524480510, 649648202, 959989532, 555096824, 806474370, 788510837, 775498946, 437575595, 756874666, 400974675, 949769553, 832980764, 370459197, 690732069, 339075605, 865693942, 686999440, 248798875, 546011905, 540228541, 474898553, 473857577, 639748829, 864226895, 202451790, 830898704, 581411656, 262283425, 581506143, 839382490, 607152280, 32983797, 985416659, 797624606, 55391746, 83618966, 550316224, 405681151, 987523839, 949053395, 175325846, 942665743, 862302661, 518215950, 556444539, 740952584, 435355601, 305828618, 40346897, 439193216, 735360307, 232193504, 976457270, 383362571, 618775647, 729013411, 798581167, 257362597, 13017964, 812991333, 676580069, 863594138, 388578114, 447921146, 571374866, 457924625, 559821677, 823675426, 296508524, 861992507, 674706895, 521170656, 906408479, 839094363, 545562669, 787765735, 329314984, 782979147, 592172762, 549395607, 903861705, 520256039, 249317049, 941522382, 47537346, 25497749, 842373810, 983081566, 919601944, 6358329, 831494507, 97443263, 988158987, 687775276, 171408456, 136100761, 163979883, 175751675, 934072213, 696742421, 562728558, 117545082, 850262992, 460012059, 616860946, 797866018, 528461950, 427215434, 807955992, 642423742, 75880452, 195098382, 487416640, 541232364, 584474180, 443441953, 740051969, 296015355, 530949892, 494350049, 491119588, 709577952, 220692941, 441674614, 614336859, 35138313, 66101867, 760070221, 353203271, 347452896, 757266828, 897910773, 140311097, 88100444, 596471472, 297006828, 475354934, 288589878, 787915838, 407309823, 909875498, 740240339, 506906065, 156631438, 100450157, 911634478, 34815960, 903559788, 5423592, 887532680, 637113723, 783134726, 478951813, 284686180, 349935479, 997730253, 800092087, 513445860, 614257271, 916370261, 314737953, 82276693, 100457128, 737344019, 744408424, 495002298, 181027904, 825333001, 164764344, 769157162, 426712522, 563800989, 991908726, 439069058, 309625592, 915574999, 954195898, 3567658, 715667577, 552589090, 913511402, 452745588, 661615535, 753250429, 127362949, 916550514, 472427319, 490561894, 981728694, 794313825, 247869017, 651598529, 276401873, 502002243, 18260032, 300681436, 902751401, 969871100, 45343222, 583382509, 348327699, 17232883, 481580663, 619329801, 399878928, 342201348, 486190487, 127542426, 466603935, 22444339, 159636338, 909785497, 175851628, 971532155, 180966243, 34750798, 216638171, 20183974, 741011408, 247444976, 932420553, 343301417, 341357507, 495055683, 780998555, 941767829, 82103463, 864879801, 897995237, 330152668, 953907897, 347753026, 72728862, 486557631, 572177920, 229937910, 452525282, 142299433, 216143869, 794965767, 306540175, 960459372, 638260714, 820454755, 967914114, 548365446, 200278145, 511545830, 657095699, 977210190, 855148796, 181744263, 571877436, 809810564, 717283214, 58134049, 839088706, 912768733, 537039968, 579754854, 340861095, 58390799, 992273098, 803721587, 879425664, 133545399, 70189175, 344098906, 669750041, 506808539, 169470181, 195567309, 636164564, 919665242, 40458750, 104371456, 871313937, 387246668, 189833403, 689491582, 197817222, 127164954, 665425083, 96640511, 735033525, 132686121, 526122969, 596247999, 240972656, 935023271, 752233180, 360023374, 39913778, 161432861, 152843211, 738213816, 508704743, 174234243, 553848433, 420144995, 342520289, 743160011, 817878691, 917310519, 740468382, 938321130, 365429609, 605420198, 670429276, 589604885, 800234816, 900333956, 207799621, 328627567, 857025778, 798359765, 754163275, 819500223, 73219639, 576642173, 546104250, 748604354, 827150324, 7549293, 16186719, 859857963, 214076531, 742930271, 150609361, 764225192, 254651972, 9322305, 197566893, 105617303, 574014042, 5649679, 396966344, 864100655, 706210916, 48028069, 773495036, 910701293, 701053027, 782058479, 584850475, 866867343, 77364335, 58370922, 498205790, 715042147, 16046373, 359106331, 850230394, 732719337, 627291474, 886003523, 123613931, 877493001, 723296143, 813805401, 855533200, 828506097, 50579687, 816643388, 64305002, 998009870, 218036825, 841833832, 27828824, 91018163, 607140037, 148754163, 851330886, 584826905, 604570964, 859872068, 520320557, 2227304, 465306534, 671175293, 81458204, 828098233, 974911194, 325229363, 567907405, 326965562, 901087397, 157289159, 768803372, 492157706, 36994822, 592535242, 129167103, 862205850, 421818950, 604097147, 75352766, 117293251, 476980664, 711427784, 686032794, 375822800, 677249351, 231961518, 928995409, 424844478, 534252162, 665846293, 348452382, 30762778, 633764307, 58094608, 940418724, 442589807, 965284828, 351779959, 606233358, 204947925, 649812376, 501153228, 44634129, 21917548, 441135792, 701502446, 51603267, 296014630, 892107736, 926648063, 934791721, 246973098, 761998628, 550581973, 120315439, 994757758, 492947569, 501830979, 52253659, 268550822, 315841484, 702233208, 134630457, 467867070, 232824376, 559202053, 813908239, 875720230, 148108588, 680352095, 506435836, 913264505, 287808275, 441439493, 581106705, 75539461, 683045764, 525949723, 24283419, 342093606, 778437231, 540381364, 98452995, 456271367, 109116206, 798168097, 44357540, 127103583, 479943356, 933763404, 57429029, 972048430, 584079321, 24980017, 943712673, 829448588, 658433655, 604153414, 958367599, 259787577, 483569372, 122060444, 291277748, 77820219, 906214696, 215456674, 220216427, 205998463, 592156245, 370629156, 681664043, 261100781, 668819285, 617462316, 548909261, 809531781, 991290910, 251968147, 370149761, 684925161, 156629439, 251277384, 102054710, 518758982, 859840181, 626982580, 190147237, 323565870, 453899930, 799089217, 622520681, 891333782, 329506781, 599165429, 558572708, 18667749, 725114473, 683477355, 431815580, 786474414, 935026653, 441094183, 753472253, 317420833, 932186445, 272963254, 327114449, 153486194, 557150903, 253049016, 554323062, 106934317, 540439711, 957996254, 973167303, 924462523, 378688548, 918471526, 107622362, 511390517, 793612186, 675668353, 781202495, 881179832, 613074665, 326558998, 551322317, 995807677, 686365525, 788748869, 417647161, 461306614, 649799286, 431865072, 62948212, 477972391, 622685087, 89242286, 320934653, 33590979, 279619603, 813376466, 479871819, 663283754, 326642684, 347737943, 960215432, 959481446, 153792748, 580491133, 779107475, 395574533, 913122329, 142285944, 756269363, 481025036, 715710432, 373858786, 285523239, 957275063, 222244699, 289121554, 195069164, 968772816, 109192792, 99977666, 679704745, 707612147, 77603515, 824908580, 408808701, 667462754, 259464939, 870035253, 549168639, 543227179, 663895984, 985319222, 398186795, 332364984, 408634679, 793299610, 568111344, 672248346, 199259782, 219867030, 73823260, 864960679, 705714966, 815919172, 27637616, 705146598, 44549411, 413352886, 42786354, 382478277, 263436131, 80305925, 680731891, 82314958, 499434526, 392242858, 266927932, 179823991, 594967961, 131385521, 698218350, 268766589, 348074625, 433083600, 178838250, 145132759, 876613474, 434826617, 113687517, 701578233, 787776202, 554039298, 472575632, 301310785, 132705513, 112173319, 82175746, 694660418, 963659579, 251101184, 589209763, 160328302, 365154390, 964322480, 302256978, 151478919, 764204241, 276284323, 884356626, 85288050, 233066139, 138184871, 564907293, 670609951, 568497205, 397443989, 377928992, 476632057, 806814667, 332045949, 502231589, 396568883, 196807556, 282867774, 26495664, 930048074, 790897073, 557174196, 577672698, 87437847, 704511537, 288225676, 394677761, 872998810, 189141723, 578419077, 28890424, 444084026, 573758173, 78645962, 908551870, 112676191, 398752244, 454651050, 344577675, 84540148, 709087425, 524168896, 44269474, 660496799, 639702097, 62193994, 386713239, 623664468, 655277523, 258269771, 644594334, 183861344, 533050872, 128302598, 170463226, 978371289, 593338273, 884066654, 224819280, 847958742, 793351231, 99701719, 249688130, 925248995, 265774652, 972963176, 464534914, 67932305, 389282891, 3559783, 172334690, 417606691, 630474062, 989527453, 615730517, 77099174, 171540937, 710104935, 951815596, 939626606, 927066509, 548604245, 805991408, 7647775, 699745320, 101423703, 901143451, 548976104, 75600328, 885772839, 872229197, 283889209, 376453267, 857414124, 779531069, 319329036, 711731222, 989236314, 827294870, 30919880, 827093214, 955775650, 488023407, 879986248, 2029479, 124146085, 481874337, 603543054, 653510353, 101619557, 457321129, 520116685, 554130315, 69277131, 947756371, 903375957, 615832838, 631192106, 919772862, 160291640, 792850122, 922926312, 49310681, 329179649, 237035685, 216744620, 20770120, 191551877, 845457246, 243224699, 460116981, 865361074, 310233226, 59272049, 110365472, 989669545, 523309144, 456173494, 523492235, 840570945, 421484751, 984192371, 651211496, 614378732, 313855500, 940533558, 291539841, 667662004, 592668138, 327577314, 186723997, 750181450, 443822928, 154082213, 448074103, 100409009, 213659724, 941422692, 802903718, 774668316, 662129602, 844713414, 963871156, 385175857, 583571099, 167100845, 381186110, 850864284, 214042927, 291540423, 203445275, 298735289, 610457801, 531450620, 816911559, 594637064, 914892543, 341199958, 184361429, 169363160, 473928557, 660810109, 176367453, 766394754, 350161253, 829995378, 286615125, 636445690, 617314150, 984697887, 771727091, 1909408, 915280014, 147964686, 285840354, 784373585, 183494880, 968754080, 805242488, 481497315, 531154848, 92171302, 927297727, 893620887, 160827185, 549883282, 595424714, 315082971, 79320536, 315329282, 289248970, 775233083, 961256490, 297680851, 968064385, 265358115, 717130116, 596767448, 263809298, 12768652, 399163923, 119775323, 302182778, 458567463, 949568929, 7180481, 983078710, 608288924, 510668898, 129656564, 651945132, 352485870, 74619882, 203843345, 197297893, 779284684, 403344195, 952407264, 738698855, 833368647, 634372774, 907070328, 253167498, 466770362, 41721465, 582991377, 93855504, 552979221, 969744838, 304836845, 247314824, 690873044, 466112102, 539970236, 56403514, 950840622, 531367373, 857021229, 915360456, 640125188, 150286997, 229142339, 420718166, 376355516, 214376475, 111446841, 935043115, 569149954, 40372926, 749387804, 860978779, 497578357, 181158140, 517685922, 799890304, 397689726, 533869206, 573020717, 80657804, 826205735, 211813999, 113985089, 926316880, 575568180, 896232447, 946641836, 412096465, 748759561, 271080940, 753276153, 358422305, 210420979, 577536477, 497444977, 873987742, 125501368, 548746644, 520258646, 182331625, 870166001, 679920334, 608288488, 975410969, 988760085, 890669362, 129402369, 763070819, 251616278, 750017756, 394116381, 498085487, 736767868, 805184155, 738446497, 704630190, 80206080, 241620704, 756115015, 364820849, 435435865, 588301512, 332641423, 312480941, 317004308, 747358694, 868412316, 529862969, 308584960, 384389966, 460893492, 784410440, 39007395, 637189786, 874921287, 442577336, 382183348, 334067447, 325613886, 946222610, 880716909, 749994951, 548479098, 429845545, 105726724, 973364755, 952507849, 834756701, 81764735, 161043567, 163450264, 874514329, 91499772, 516564471, 922851008, 31778570, 670380441, 222075600, 848087624, 398817434, 838363313, 902770248, 629713141, 752839089, 460160894, 372490302, 505895428, 462432209, 626971050, 973690179, 128494219, 276924228, 908079064, 559004765, 640541962, 688820600, 216237424, 882972146, 221151978, 972826908, 734733554, 437041368, 940819267, 451446248, 474625647, 677624851, 524858525, 854037140, 194647606, 360389708, 23074211, 941381916, 257283516, 440805689, 925240440, 427889906, 85611997, 93871291, 608337743, 2279742, 155455800, 304468346, 690727875, 841911254, 314859256, 707263987, 388211523, 270436188, 510898180, 359367781, 596733189, 111786515, 328779137, 281345975, 245155753, 878778465, 663293816, 355024432, 279059395, 198115658, 341246723, 118356069, 609924736, 115349460, 798166932, 912681324, 606931221, 232315087, 782171783, 858429852, 673373662, 52893135, 984555353, 900881491, 971036141, 523599317, 392459283, 772573323, 124331645, 510830214, 237174350, 923888984, 522291792, 318738127, 103195703, 627291155, 453353895, 672029941, 702932196, 828961165, 782726822, 549653766, 131630251, 191951751, 325671910, 123199702, 257189597, 535026283, 777264214, 671765251, 215005760, 500956236, 795239327, 378252124, 449986878, 882299749, 111366692, 294086711, 353474359, 590361155, 740329655, 543232352, 447289003, 680407189, 647950906, 242535908, 718189941, 29276388, 197385442, 293485208, 216324841, 528204810, 495497195, 96998535, 297576531, 602836156, 697337635, 479030502, 879728414, 234618533, 372372634, 672905767, 506686967, 764972866, 697370247, 52691679, 397509209, 160047025, 853593780, 264965862, 213513899, 188615213, 70973642, 749181314, 637780838, 48363683, 421229579, 785475951, 176937684, 690373963, 979764862, 937133770, 252406879, 705759543, 85493190, 808052807, 353510257, 448278093, 785995325, 63334695, 483236675, 161551456, 73961511, 133993299, 510021651, 504239654, 157744356, 311216404, 821336976, 130221309, 505446547, 125219064, 483785276, 603744156, 271252717, 826717969, 366596501, 511133375, 150844229, 735770226, 590434083, 978164965, 47562016, 750535652, 809015003, 673314697, 267493288, 359714372, 924883415, 625503615, 671272893, 554498022, 41021287, 731993829, 662219991, 519414022, 377644100, 636684353, 172557388, 405227908, 579360894, 27954061, 138062724, 565278046, 410210536, 245331820, 562139431, 983661237, 842319562, 629955325, 196997458, 994752893, 999949377, 142296229, 356539208, 235126330, 496747962, 823076462, 314773636, 287830880, 564637278, 11757025, 173675076, 984164889, 669649580, 818022796, 986860773, 450290384, 781375078, 701952849, 408736740, 499744411, 998266665, 919128961, 603104966, 279362302, 71763889, 171710394, 72855533, 905559352, 619337138, 417324605, 104399042, 204294217, 441069138, 567203805, 838669816, 881507100, 563843256, 571637694, 473876039, 304871557, 764043181, 190767435, 682449961, 17678212, 544760315, 488117323, 957431365, 758244903, 214803937, 504413948, 465225646, 795370040, 881302068, 123866753, 145126544, 682149986, 376117139, 232259162, 111948770, 882456569, 816310790, 820065645, 590352434, 821232593, 654050951, 946774435, 240014776, 282936357, 325555228, 627925511, 4201133, 963848597, 377861382, 981294537, 564464028, 266809699, 14367854, 519717593, 347223805, 443356106, 732708495, 228950890, 665747218, 187193274, 220038517, 762171554, 963952537, 653819321, 349949466, 177285865, 563734143, 140515067, 267164634, 718573885, 252332640, 460746471, 106075853, 936395085, 615739245, 724840106, 974814504, 690021897, 480584155, 916531213, 887556176, 345526866, 494970941, 384952170, 965325980, 449971766, 20580428, 142677391, 822454239, 816119608, 96480312, 913853740, 698090632, 796699559, 226865004, 174390520, 224288619, 513265931, 161106038, 389300055, 367726755, 142131058, 583805530, 746067264, 573071977, 121066171, 213648512, 385479364, 627998187, 771752736, 577827123, 633830121, 656484686, 419408127, 290585814, 480614744, 506095341, 340117704, 487900833, 673872495, 147119704, 147862412, 280788381, 426412069, 555971360, 212783423, 447887617, 391881925, 893099928, 163636332, 810911311, 728287120, 196666082, 634193200, 228959346, 328682261, 579899498, 868132841, 655419025, 680942424, 285657697, 795388142, 88534309, 728569292, 917168773, 803938187, 408045783, 55351288, 626980323, 982353955, 461578033, 843739848, 521397935, 139643085, 858989197, 596476698, 88340532, 449655678, 965852602, 515372829, 303964122, 412394608, 959513667, 206580375, 445310273, 990737913, 445941596, 4619675, 317863089, 144565897, 32095201, 145625793, 192580654, 398428791, 59232008, 25670809, 697695576, 538790789, 102272115, 518389695, 406883376, 50084604, 524477085, 407251952, 616027751, 587210460, 113549561, 626445308, 570451592, 985939972, 903879537, 920096913, 650390345, 664428342, 563105002, 108794863, 476321514, 373497597, 761502412, 407519163, 431811020, 399154477, 176737343, 351224226, 224409852, 770893762, 940407623, 804440925, 493519081, 497182803, 15322659, 177776869, 723352767, 158968895, 767008584, 647094372, 201990231, 119030538, 854286566, 782862857, 426386660, 599206494, 169448816, 73411426, 998842510, 291058622, 322906648, 11339971, 353703918, 224667067, 209947948, 720875618, 311451840, 633935544, 935952069, 889663825, 395990459, 751341561, 171859118, 174703284, 83105447, 461390891, 943017035, 744557932, 849004144, 147362047, 696896542, 588856072, 950694653, 872027961, 250668837, 482044456, 466693881, 641331548, 281792402, 358718809, 862285472, 764306237, 960509414, 134838757, 763071538, 431051156, 167797081, 912637860, 138769541, 210731794, 449631560, 164098119, 826730579, 850890522, 971554783, 894042478, 67856263, 793350613, 36018184, 656133389, 739460014, 853502798, 269716047, 698138965, 949761563, 59442790, 456574704, 48519669, 433473153, 508821010, 88272716, 19574940, 96688957, 522764316, 388305402, 373344897, 835586114, 904230028, 278590794, 350813190, 475970044, 116344621, 234173442, 988480224, 643048857, 391238270, 522317392, 335223569, 177354807, 729511621, 518284252, 301856986, 943592150, 575713423, 502144419, 396119922, 929381142, 41160810, 572556450, 260542329, 297553560, 731366763, 175739242, 999290874, 777821496, 337574706, 496855726, 104384194, 494315888, 129409945, 371841644, 150044322, 72516424, 720637723, 584767331, 407414069, 191305096, 622328543, 222206271, 437276191, 633926231, 904904904, 298771121, 690877348, 433566248, 44996656, 92152755, 690016888, 699062534, 820443672, 117571215, 671106809, 887595665, 89198553, 583452728, 715140090, 26644166, 811149272, 310426416, 334018320, 972553450, 773624299, 994342340, 21997478, 812706137, 444616319, 994166549, 759529000, 468657964, 442838905, 453251056, 821085960, 600153901, 927826263, 471402501, 69174408, 311776260, 928623536, 544087629, 286368436, 566885270, 838055582, 828936522, 2894925, 698827363, 664663190, 174333116, 881331939, 434320079, 270908197, 193276264, 403445070, 492399781, 854700536, 333798346, 846517608, 799094245, 61792785, 893366615, 319288174, 216594366, 568852368, 879335103, 48862599, 777374477, 199570937, 708552758, 343716206, 689654098, 418964406, 830934047, 364348106, 812445557, 85500164, 602134955, 170937251, 331627041, 623883181, 536604428, 905481900, 30616954, 20718433, 620170291, 318621505, 988022235, 760465820, 997965134, 216787614, 205042933, 68881428, 521650977, 173481324, 848948348, 261551327, 614860288, 86852352, 509275211, 262392842, 449548992, 599784286, 698294798, 490329030, 512223510, 11223449, 983014733, 920911290, 457666045, 493516078, 898772598, 830736381, 64815695, 106443508, 861497622, 15661991, 366202154, 882408883, 595965800, 835685476, 46882413, 974063378, 612850632, 934554659, 129724437, 224863660, 177750096, 843035451, 902483073, 590034535, 483852339, 506312282, 544937234, 8851590, 132500872, 212311759, 574190087, 257447422, 995525271, 830825941, 867444889, 105076591, 887561942, 469006491, 565496611, 46247377, 841220403, 14091316, 753065475, 172279792, 812230488, 574575272, 846178773, 887927478, 286966386, 977515406, 517176649, 557677781, 906072184, 353607977, 700933700, 676447648, 355960089, 84863030, 935273934, 642887541, 793539545, 112328867, 118087977, 455013561, 668062286, 600530672, 636851996, 781024825, 836393263, 658983833, 442486186, 162038850, 447015940, 983629397, 134001453, 94427254, 842134554, 962167702, 703892648, 885320264, 928598919, 277418810, 19897468, 152638240, 370022740, 128519966, 423235368, 104841739, 786395623, 565717754, 624872815, 192524674, 13478307, 770785831, 73359046, 618674177, 402305516, 947628473, 371498578, 254318836, 509780283, 282131043, 174295062, 281142639, 734395007, 980921157, 203288871, 106552768, 601084739, 452930040, 797871621, 120555491, 200896021, 329269295, 792480672, 432702764, 158769950, 883295682, 969778206, 638704360, 699537242, 903116461, 932153975, 984989492, 524207883, 52251545, 325551857, 479338579, 566660073, 402116986, 956122469, 480716877, 203723344, 218705591, 640994252, 794914041, 280146653, 680802703, 981382707, 538787346, 679245687, 666735552, 9605219, 279899567, 58395504, 944927675, 758931690, 140320132, 480685340, 929888471, 112214194, 29968632, 991376418, 625797719, 834390956, 788671199, 346777949, 488031420, 767842560, 792333679, 16690340, 299673885, 800992425, 884503858, 135199140, 945971241, 690506943, 471288711, 996054632, 594634839, 774419813, 686176088, 167650737, 678470199, 50804543, 181946722, 491056811, 404929827, 907840055, 65274511, 8809517, 652124379, 609497485, 794644801, 782743384, 695642364, 516858688, 220550240, 994923150, 169344374, 325743033, 225208117, 2872348, 661369584, 654766183, 570470916, 56779695, 876675073, 989360534, 825118318, 47064383, 120056048, 818681609, 448119568, 837036129, 226345059, 617638895, 492133511, 11412098, 249332049, 610818234, 71420556, 134999569, 990141529, 818280991, 264579949, 856599175, 883362675, 114403732, 494719176, 810457391, 781756723, 95975031, 337551678, 917459018, 853560635, 302848792, 574433688, 15046207, 856611983, 857803235, 893198979, 896378508, 276875667, 664545192, 816601583, 478650784, 888063314, 979515346, 397027550, 419610057, 655945603, 630545050, 939914326, 176629909, 814523369, 242487352, 402097598, 76209078, 399474645, 205466474, 817823149, 143892077, 502108699, 322801186, 557621645, 71867888, 687643796, 235256502, 159049981, 226423897, 772037224, 343410001, 337908920, 659700991, 845111291, 998536280, 421344137, 163039234, 295509979, 241497491, 57283226, 70070122, 526407903, 928987015, 820901707, 179519683, 369110633, 706600530, 442499751, 2612763, 627005148, 938419188, 605097490, 320208873, 70873211, 357506466, 669866477, 406159246, 958715659, 326921886, 152865783, 222494905, 782570154, 533725364, 12502187, 946046318, 946546121, 518148523, 493498552, 225704314, 536136098, 755073312, 529817105, 362031277, 414754441, 303436703, 885201016, 128727152, 910043851, 110301575, 374996501, 289131191, 192695583, 936159098, 139577735, 57865042, 383015470, 417616260, 953245430, 717418199, 176692825, 68728389, 355999759, 525223501, 7847586, 803631045, 14677850, 629062677, 85863544, 22853180, 442825813, 96402507, 162693517, 116866642, 703714680, 28615279, 950810038, 669143542, 99250580, 955469512, 178615972, 113836930, 634600576, 638192774, 705145554, 275817094, 585596878, 352024536, 691936795, 57320138, 363398435, 63490652, 737873600, 539972460, 84471927, 312712458, 154270872, 7014157, 430176957, 220538048, 743675190, 203531176, 763680068, 464006836, 867731293, 78044218, 170244348, 178562351, 477209269, 354207991, 200957558, 487120968, 833247057, 751609375, 748636068, 936455229, 154950498, 144697813, 236249128, 328595805, 203177132, 838173277, 66684855, 35348863, 639118510, 73045203, 754448335, 72432314, 229144958, 594420200, 281041083, 552378561, 266445912, 876561701, 567705460, 325284871, 111834750, 299025336, 803565880, 976980802, 442635470, 516748061, 582140704, 704350579, 425379483, 992787953, 173123804, 51094924, 842220007, 904787702, 3965187, 376066226, 860237241, 701918523, 11755527, 100397159, 452566034, 671268840, 302056392, 674618832, 494258833, 279277180, 973346316, 840134649, 816995160, 190522572, 150450645, 73374207, 834838488, 901332106, 217512462, 830193343, 151148972, 530912225, 956485474, 58822039, 469150518, 323229947, 203461980, 49405630, 426936237, 462711652, 152569219, 478537544, 438680817, 271275306, 889848437, 946782115, 494144519, 71631057, 732963717, 791154005, 70153500, 338049639, 995200757, 958192867, 778218335, 775195400, 22945332, 834140840, 652395624, 501473181, 319266917, 926407943, 905356849, 173535803, 136738367, 3795358, 174248426, 58741217, 355500351, 874675823, 405942128, 382572941, 541982729, 146223680, 776071157, 14884670, 34401619, 297546572, 494051378, 25349145, 756712455, 879019528, 901879120, 30173163, 669946136, 242783573, 341404631, 17989620, 610072908, 221152736, 239460896, 970376269, 417243737, 526220165, 507860625, 949523407, 571684354, 997576160, 548610197, 471126709, 991839051, 185467398, 641658946, 796122547, 547989970, 976287007, 173122586, 453062985, 328080549, 90034009, 493971291, 959780727, 110315630, 409915403, 430453644, 475079987, 91090470, 650233024, 29993616, 564036622, 965897976, 742508817, 344044022, 202247395, 341368844, 553533506, 677234237, 577670437, 978710802, 653477731, 945195955, 712078579, 528949024, 598218825, 515981807, 444391861, 267846821, 587013, 734456369, 213750343, 553412865, 654725128, 220111228, 310016544, 753043044, 809609018, 836677111, 280943839, 6629799, 584621172, 481132802, 682446713, 84513633, 383342851, 457206031, 308399883, 95187185, 732668421, 594108104, 541126334, 649641174, 469179081, 429145796, 815888827, 722227421, 930261381, 476548010, 209612364, 30438314, 188003205, 346045908, 293788978, 952455139, 672076379, 594386671, 174485096, 478013004, 841443655, 950904895, 843947974, 791734685, 827904768, 102517173, 159529970, 530314616, 851705659, 121654154, 881600365, 343309226, 857500441, 829490060, 954937118, 117895806, 313205680, 163867023, 300586042, 769168806, 493983539, 979810206, 42669382, 299977667, 605722549, 52287862, 742751512, 972342505, 50865897, 220652849, 520019726, 562902431, 638094121, 919079935, 913767980, 769033983, 941609603, 295008039, 226783705, 7043606, 753489623, 462798981, 689289861, 892842486, 825135272, 182131779, 223130055, 973722071, 458326680, 636029782, 898229276, 992171697, 836389227, 996766839, 871903511, 126897728, 733808466, 127898434, 304086137, 587501246, 488037049, 41121339, 166218287, 409433115, 478266759, 87518478, 627329447, 185757184, 729290144, 21805241, 924461035, 624031433, 527655350, 515417413, 571153885, 652730908, 468013911, 500751224, 322753569, 566978437, 394727679, 724793698, 396606120, 874387325, 293955118, 784323392, 970155207, 589412654, 927410408, 138804423, 322980447, 204312674, 576892356, 817197395, 501378401, 512371216, 937179483, 225628960, 883788884, 412602609, 639481415, 881542226, 839480977, 410746475, 51091822, 782039792, 42582144, 927246630, 436990594, 42015062, 867445530, 896175265, 614787211, 54334480, 688709780, 870358360, 227926081, 217913962, 507611651, 468978957, 367036106, 754500441, 837657907, 479226333, 115617923, 147106624, 920350366, 670413523, 948905905, 691459909, 714950348, 676166601, 160109054, 576078237, 430036230, 283602590, 895509559, 254758043, 794236935, 239059107, 727121213, 126874490, 752149811, 84470138, 902495306, 597889338, 47215194, 112904518, 598426784, 475185559, 642451129, 6828974, 784694696, 909976371, 552493884, 430589607, 540704542, 387367747, 306713896, 558234550, 745682127, 946161987, 189584119, 380559491, 163121375, 234564024, 887437902, 877206484, 798209665, 829191195, 509006064, 620987734, 821243418, 288910046, 380095492, 829153415, 173803050, 763678403, 480163652, 480000003, 563095296, 442188632, 750532317, 488752895, 551932754, 894058827, 36880402, 595332924, 890475524, 994176009, 93577583, 87732672, 580335843, 407875677, 961233919, 650358955, 638201847, 176292278, 892994870, 395185825, 11804306, 671034710, 147319830, 884942424, 42444399, 278801418, 903104623, 615322342, 860442042, 759893645, 198489199, 424122570, 272027478, 118676674, 690946743, 812214679, 561232207, 89141086, 350662905, 39760965, 543519999, 908874003, 593132263, 307207281, 345816932, 788745741, 190911302, 185209922, 458176830, 937236191, 90237880, 668153510, 280450264, 377247874, 599044454, 949249499, 76975635, 13549595, 211047971, 514236498, 291602144, 471094793, 878948355, 404091895, 127920229, 30595561, 780893501, 660753691, 93878969, 584313374, 465214298, 548863822, 200968102, 434535617, 865345023, 183463371, 642727075, 106589882, 256132614, 982088332, 669603664, 690611016, 485462871, 135826138, 138926462, 791798437, 909096000, 121306967, 56220146, 261404607, 701519998, 334460997, 34819552, 598189266, 761166372, 516750533, 185380445, 128301843, 768005810, 673975872, 922447393, 398837397, 148357470, 991601845, 655751694, 423664657, 380600230, 377688050, 858965242, 998479246, 346816363, 292671990, 716129605, 990493890, 341375057, 225832394, 634937361, 182176822, 386761898, 28573338, 711238683, 556845372, 880919488, 360704981, 306696327, 986416238, 364556292, 828489087, 960199944, 955222743, 589222753, 289285616, 429086555, 483725249, 624940243, 146362369, 936328252, 223045880, 422994845, 152383166, 430073743, 91971344, 585294216, 801823266, 526285688, 246892744, 429340199, 820046173, 2177664, 101712235, 997818951, 595069869, 897979096, 352725, 60259690, 212235083, 633859426, 731088255, 999643029, 328369968, 373828258, 967254091, 578750391, 283922261, 76749331, 710338072, 999133049, 358540107, 594761731, 190376361, 996692463, 450948895, 975384636, 205486856, 857009392, 236006372, 740298585, 379254877, 289834004, 23072627, 563395379, 441835150, 308783513, 258891003, 265883323, 916237525, 601171274, 226043597, 340698538, 431566504, 939013766, 784675490, 808401778, 448389505, 324975310, 213491771, 763187075, 246710295, 726092400, 170062543, 491999936, 164001311, 934857410, 257998402, 196586536, 820618621, 174430825, 657881784, 475381958, 690719373, 381777562, 150387917, 662760422, 384601852, 176450033, 51731254, 443254591, 318662056, 745375756, 192210818, 356528703, 314027664, 110034243, 208411289, 163994685, 958175419, 245515726, 963401434, 860685627, 773479344, 691926019, 943596454, 237171705, 645920518, 399070275, 222848528, 396401909, 392839078, 436799470, 653286485, 570820130, 387664487, 973489263, 538876878, 655103650, 460952613, 541922470, 200702617, 91368881, 543626007, 782724338, 304100540, 846455075, 340466970, 505433418, 328983163, 630485851, 488601947, 927598385, 535771978, 284494520, 29115551, 997879435, 661771620, 582842452, 39537353, 764931302, 295679353, 771706043, 44824018, 82312221, 46140074, 551144029, 312226701, 221040380, 878106987, 34063582, 318836770, 229788147, 741396392, 213990519, 48148963, 617658673, 872220033, 825116701, 328139698, 308624348, 206415857, 563655414, 697998381, 452539457, 925432206, 4259191, 690875378, 558467109, 535336294, 782603832, 379440744, 983838144, 569407011, 254847688, 125526566, 225724074, 291824093, 377306826, 799844110, 880000027, 444258986, 251811285, 268510344, 906355578, 174637673, 108971971, 325989287, 597671343, 744689713, 362231476, 446226377, 509307975, 304961251, 52542782, 295320306, 625626128, 432711101, 223226822, 288193641, 42035354, 123694107, 905653946, 20344210, 697455793, 294286309, 78939180, 485068104, 226307882, 284939264, 832446945, 240845114, 913970761, 943468294, 118894431, 396263224, 881503738, 797389808, 106658572, 177836053, 258803981, 905590765, 282695947, 967942421, 916085808, 386837860, 397163922, 641187412, 275090875, 95652732, 630819009, 657081377, 736736845, 995831321, 818877024, 804424244, 921817740, 181028908, 374831740, 52781160, 904924123, 201545952, 241482812, 489406, 719297103, 58930173, 489463072, 213514959, 498200689, 336937004, 836285770, 209196575, 559321318, 956668409, 332297874, 783150218, 704922953, 923613102, 732712188, 404747135, 13473438, 855906189, 731439558, 751310575, 611797516, 466450413, 240520534, 375634806, 593253635, 872331005, 603558246, 95934585, 177930267, 678449599, 652321171, 427475726, 156313067, 28059394, 408524982, 705675024, 343494453, 924878310, 855763571, 836276843, 118210116, 520047220, 884602843, 221714309, 638186369, 548449665, 937049096, 152639568, 485604876, 368751706, 875499220, 705976235, 588545602, 590730634, 773563181, 340431423, 772988843, 754556358, 150952798, 363791316, 968986823, 409536348, 75385730, 423777355, 246109508, 369915645, 583065829, 949684764, 657001397, 622019936, 557046748, 4540797, 459270068, 206556703, 635138246, 745768511, 934665802, 610338287, 168395000, 35864423, 103264237, 899515345, 938263107, 900680125, 86448980, 63239550, 620523119, 270163193, 978567435, 164031679, 238688396, 407809957, 552283651, 723384854, 206205996, 188276417, 279486498, 686809425, 658287822, 100766663, 612913005, 501431813, 346303914, 279274896, 570144589, 668886586, 374506017, 342423746, 272733155, 558015391, 689802829, 236204989, 653379680, 61181749, 6158790, 442509999, 800399092, 337891964, 245760531, 346078952, 651540228, 614714533, 457715721, 127264557, 870226890, 146523336, 906321196, 174918020, 604678298, 14739516, 231093363, 936109117, 983798882, 932791704, 569807773, 689239265, 417836583, 482969746, 991491892, 555489256, 401549306, 981195596, 155179251, 465920884, 713881480, 937318210, 857398854, 45495708, 636846443, 932939602, 69611078, 427973732, 839421287, 587779083, 99098533, 983730485, 227520093, 714512751, 650678563, 880242120, 197931338, 123496731, 783014906, 150402713, 130134967, 320673531, 640198545, 596406476, 214357499, 848322783, 384544089, 300596586, 416527593, 165418083, 185391910, 870892014, 563579158, 125182622, 286914078, 900394548, 427487059, 859309188, 112828095, 712434178, 321373859, 244396234, 500600179, 360049153, 741402522, 415348693, 962109720, 137374991, 724251484, 653905094, 557894158, 212540603, 690563364, 298336726, 92184991, 635916009, 584102778, 744340216, 229574044, 361487957, 377178339, 114837452, 4830022, 620643178, 999558916, 620545170, 642187645, 543864097, 270247817, 675777969, 106319536, 776766720, 445955922, 650828862, 577501269, 972116649, 420714899, 997439073, 993783375, 564561915, 202908564, 240860816, 646138793, 642337372, 215298716, 822648741, 751991227, 380490668, 772135057, 474467537, 781595464, 245054198, 816092703, 36187339, 805376396, 711966855, 341132939, 855098954, 636992301, 913881050, 268116292, 779374014, 608265417, 835562003, 468603312, 225096862, 896341684, 21280081, 364400284, 262018577, 495224551, 811748115, 841692456, 913961038, 668574234, 235173177, 449612264, 315294622, 124130067, 695404173, 1150486, 709694644, 840642008, 352317615, 261866474, 750039265, 686715659, 273473293, 435352995, 299080581, 747114356, 493610160, 566373035, 152507085, 743259115, 612521671, 233390296, 736680030, 271442916, 179730850, 62325639, 308184030, 767345687, 392365905, 537119913, 978344579, 687179763, 899905337, 441450177, 968864477, 963218233, 623463201, 48561807, 918598420, 903591007, 974779328, 720057656, 977100405, 116294225, 941492203, 426154533, 745132890, 864464214, 327140091, 370788229, 369648567, 569859869, 668152758, 387125055, 112930341, 487804974, 151353572, 607053828, 578768387, 241079689, 528977662, 309221405, 847642136, 564766012, 920507963, 588033041, 387845104, 146008752, 439831849, 204891258, 219871655, 766062033, 196712019, 573395511, 808388363, 20602648, 104818734, 741653755, 479399371, 755856252, 985690166, 341232300, 202454383, 260199234, 353879162, 1104602, 79361518, 303205080, 549219102, 74075521, 666326085, 924584956, 533587068, 773768557, 733343295, 822539153, 235386502, 315157928, 771187787, 63390086, 197151593, 924688869, 262184942, 516593863, 833415617, 195036161, 765496408, 713654793, 944777772, 367498620, 545543549, 434943312, 607028778, 188855218, 520730130, 343922037, 286287586, 387523490, 192301233, 843238288, 439140038, 239692865, 607601518, 598325644, 609730848, 933666672, 844668396, 319187502, 534834570, 127697613, 843938202, 34459154, 555573175, 324398442, 110183927, 36406432, 180452673, 562139535, 437170474, 911199454, 857966177, 503166374, 378072565, 147748337, 103632065, 363492824, 295445260, 652208458, 464311302, 782932352, 518814827, 189049444, 860418697, 473271484, 950066263, 951737608, 879146880, 876620285, 893075139, 379965518, 460994830, 659987328, 752980207, 414284659, 749114680, 362072364, 256624572, 55635195, 749011972, 139606560, 621995203, 323537491, 526727594, 940124036, 472557086, 46024088, 622783599, 962376521, 358491371, 561019438, 785836146, 629057043, 665679411, 293251666, 801146335, 34473710, 833308091, 222961607, 150826375, 867557691, 309301326, 398573571, 155601472, 472129093, 879291274, 975556027, 54680275, 319314231, 490514227, 635552748, 918984379, 444183107, 707497905, 206801532, 109036803, 121402641, 538204582, 545654487, 559212307, 740857421, 402648884, 841186913, 318588611, 987782232, 509071257, 596174349, 345067996, 749906302, 272966692, 329201289, 994992962, 780724408, 602818762, 451695717, 689901538, 809720731, 319053839, 414348997, 972700866, 757894039, 467290248, 785884303, 487499445, 571087180, 10235302, 832112992, 999770189, 447925172, 439201540, 394949118, 229036154, 586865583, 83660755, 899114823, 816237048, 698189795, 549748107, 892644956, 754650761, 138109555, 524457171, 617851572, 83028734, 182092753, 202969272, 148727721, 649192713, 236195773, 569974399, 556231664, 225179180, 928853752, 721041713, 651701313, 350961202, 96890297, 564293854, 827008867, 3530281, 507008906, 978088012, 452764846, 217397921, 553389238, 521555268, 655712704, 776724903, 883725905, 917840764, 281153821, 681818073, 242997015, 528733059, 108417984, 764747332, 365342971, 165453568, 166388789, 985354109, 485811405, 784293124, 878269230, 597731356, 360369850, 273355166, 62925787, 450886893, 122581398, 38608023, 853579123, 854113139, 202295238, 917055323, 347039098, 672991456, 314934565, 958839350, 101687664, 62016027, 608862265, 997407475, 237090312, 971175527, 559673956, 308349493, 138828688, 875576080, 822564010, 954772545, 594500971, 214905613, 149078445, 458685153, 464705876, 950218228, 974251481, 246768534, 469481640, 402143351, 694884773, 228003634, 204857524, 536468956, 117994548, 929843101, 704024662, 943361662, 943682673, 609943311, 935270631, 599129831, 630318743, 632676575, 132862923, 380352962, 962166294, 679332163, 234532211, 353996986, 216635480, 122645407, 13090813, 245184842, 245799367, 296001268, 557220090, 887558084, 184563365, 524799219, 355649352, 761064578, 696477122, 144822155, 728316933, 899747149, 17886622, 216733257, 396994125, 508987443, 414700553, 190418871, 825217039, 400480791, 188683847, 709867953, 178531734, 49389483, 90988716, 308096201, 112090866, 923396382, 777013759, 631350318, 943930097, 909461365, 790970021, 420561705, 700216774, 985736166, 883570664, 389354558, 878723600, 993098072, 554302781, 453922073, 745751383, 413900473, 198512990, 926870805, 57421491, 941118670, 243902112, 646639100, 159307729, 848234234, 500488539, 55919565, 944659322, 977390587, 863775564, 751157232, 867704770, 904864439, 202581787, 319653132, 18415384, 864197680, 416160933, 322217772, 905983534, 436816010, 987871899, 620462777, 540088886, 750348943, 526214830, 293365581, 376417959, 42008028, 633713567, 424920768, 468592544, 789963721, 249681781, 759623821, 557064552, 56866485, 773396311, 642799705, 698026261, 31175056, 633753749, 315641517, 269492621, 577238763, 14017260, 149312421, 931382758, 999933837, 718683595, 812534885, 996332154, 191910090, 681660923, 375945183, 950905249, 52247264, 306567206, 269536634, 914060358, 794091552, 378199370, 278487058, 924299989, 561716646, 164003499, 556976268, 212760967, 760804214, 793312779, 456333844, 302613031, 871335793, 757881568, 114753321, 407093997, 507221188, 269838637, 312570097, 136069884, 529328551, 306767953, 461912908, 52253353, 259053707, 105109677, 359014020, 916287193, 226554159, 735287370, 239678296, 545885919, 600299528, 633192030, 218731311, 344272740, 696162128, 31819677, 421024276, 947513374, 923633348, 417177205, 680828503, 641615241, 224951351, 758034608, 211537215, 269097984, 54419417, 252860900, 873437188, 643406261, 929300394, 635114615, 793664950, 692691147, 879563882, 631523988, 171326349, 282580139, 67644987, 507205717, 243752907, 692803677, 674390209, 124614856, 134472065, 896495982, 250881448, 759921565, 545870751, 206172850, 779634693, 240183318, 572822139, 581802829, 632102872, 638818701, 328071995, 395812336, 226511539, 966153734, 774571721, 906032313, 918115656, 229131398, 594544632, 651895045, 67710997, 109579468, 731195795, 556125093, 194131580, 117034432, 1867021, 704529762, 106063000, 169349035, 683383316, 735587140, 719009737, 286446653, 85556364, 866346745, 422762820, 582325597, 93656513, 934702464, 459283148, 230791630, 152813564, 456687322, 81323230, 317678470, 362817565, 111995715, 881535467, 822993952, 59758962, 993111854, 592105, 204111249, 522963847, 290174546, 136845828, 993398092, 238156660, 19927972, 647291887, 726440870, 785471929, 213593075, 793639912, 745756169, 251661054, 119589108, 253880324, 58741646, 454393441, 722371011, 573697867, 25800498, 625629683, 986998397, 65443705, 39525880, 266859537, 896151826, 962909624, 842895550, 796474183, 856063849, 266753917, 721456090, 1703010, 329204062, 980873073, 767706965, 843281852, 858751992, 616669069, 862290838, 371026227, 276620765, 804975063, 920404677, 558992343, 206113889, 780283073, 549455565, 136593063, 595469746, 820054994, 504485428, 38473266, 83760159, 199490150, 405228477, 581982427, 320607922, 53723718, 732198420, 979220020, 647639083, 500490742, 240116414, 215951880, 612915235, 352036538, 819000971, 267645879, 679043234, 723716031, 898114459, 583897553, 610596459, 568109139, 207411362, 202928918, 173760729, 364610110, 240894699, 278615149, 98928517, 214591617, 837300224, 743787226, 266496618, 881666548, 365272952, 758328430, 785450889, 406331725, 548577805, 255054418, 500590571, 133330709, 110268288, 112989139, 269110795, 711300749, 165533934, 307569165, 749357185, 301673509, 107140830, 601620186, 333736282, 798168065, 917145194, 974599659, 873460734, 650582007, 563455717, 905496242, 556064977, 628391637, 875207474, 982269569, 12561171, 982747465, 622694045, 624122755, 961423721, 167564696, 187096862, 698018127, 819913469, 98704522, 341188737, 538305690, 370683516, 520480639, 878888292, 170597764, 198527037, 499225777, 282962607, 287245379, 43250709, 641234330, 134548075, 790677655, 60235625, 386312964, 411183166, 604118183, 2130488, 205389388, 635855252, 970666345, 634699544, 347032593, 3711722, 814481117, 475908106, 969291051, 822340970, 329853621, 606686231, 55141400, 532129381, 307220503, 483542284, 413943649, 611889010, 645181714, 565704919, 830823017, 975743357, 975057615, 127074523, 935532556, 544371571, 914110400, 531611744, 497697216, 702104093, 730470913, 897027522, 935643623, 54317928, 859820020, 73551104, 354190522, 363332426, 558409708, 902980899, 186733337, 531033929, 647801832, 839206933, 579577829, 901685960, 155874587, 744770496, 618787535, 346675757, 137276318, 5443764, 22341447, 400047937, 237044143, 31439341, 542175452, 287130850, 406577171, 39397123, 277645231, 66864310, 256847490, 81501618, 11495856, 895751955, 702132536, 602736237, 511370020, 419007932, 405516877, 818468731, 473060675, 679003668, 462963396, 924662274, 441509763, 257825107, 320894770, 39040046, 816259852, 656116478, 327499443, 413858861, 499494134, 950391115, 37709886, 413347091, 578501548, 445335022, 551493532, 232326894, 63956977, 486518611, 533615647, 816607964, 603631852, 235799291, 40097235, 160475829, 99316423, 602283840, 532994800, 359769242, 158469485, 164744540, 215235732, 442460928, 150777932, 129385919, 345357909, 563784189, 87832464, 444821498, 286078744, 525565264, 372874018, 247966477, 778575010, 733153236, 232183211, 922231129, 853343678, 670774244, 621811828, 557810083, 851906679, 433316559, 708425307, 523924116, 946224944, 187079218, 990958385, 415210952, 858017563, 411892703, 669363697, 337187177, 553296476, 307015924, 943769856, 554970592, 545149637, 528652490, 757956203, 574405237, 471436895, 143346903, 663530089, 171541740, 438282618, 337271957, 684689970, 139035179, 262661210, 47000892, 604518158, 135188269, 452162121, 723375982, 117761744, 207559019, 496196064, 333664289, 906046462, 165283813, 908660611, 602150732, 234367378, 603823609, 711850369, 722247329, 262850491, 801011078, 80887006, 52686730, 581968508, 312882256, 26233839, 942346869, 175789758, 973841766, 408989365, 484040324, 784447091, 828702030, 224558549, 518894443, 377410407, 907076119, 14287366, 782725712, 444603168, 658566827, 649993016, 624921146, 406686640, 368427567, 725011522, 695564749, 359751754, 168414083, 50667640, 34597132, 358226892, 951672421, 501029965, 449397691, 695393448, 562479909, 957541470, 962686353, 998185945, 473475327, 603837833, 346945621, 470467909, 253387758, 924079397, 925670698, 834745681, 46907847, 226941194, 724301358, 248315323, 257615708, 321485907, 73457747, 246493306, 613816603, 941353926, 219231304, 672443972, 292761942, 292963582, 273622672, 491428441, 776599715, 704509245, 704773936, 553657867, 524860475, 934857216, 306857826, 507619289, 774671531, 478658328, 950626811, 901017344, 515930238, 542387649, 285628677, 219230078, 442928564, 23236200, 962290180, 69463530, 343022391, 17482514, 704829538, 426427493, 658450758, 305452092, 908098441, 255171797, 646031334, 172238198, 409699976, 134358272, 185136097, 814444332, 98735500, 485370291, 396743838, 274510018, 980076099, 552269402, 282044284, 504055986, 183279237, 232018106, 698317117, 18726181, 206935662, 128910123, 235924881, 228402599, 177086072, 397241884, 472424326, 276148214, 518356320, 813499576, 346276512, 886029243, 380782810, 294475993, 979709895, 771471013, 447864304, 723875902, 603012286, 714100388, 645404276, 371046349, 447013837, 40095455, 259833096, 601874711, 745724487, 501430524, 495045227, 667038399, 676018984, 328742035, 432201597, 73972176, 409890984, 352488968, 35828430, 737835165, 379794877, 253040985, 136043632, 624937165, 194828549, 322741375, 952335244, 598270578, 378154890, 31883444, 324047036, 946701360, 268293783, 235169058, 131997127, 390508522, 697953511, 159077800, 30243517, 875436474, 357199319, 147687619, 124100699, 741036649, 556876684, 234975972, 591573378, 692247188, 972382040, 899626487, 90318835, 648779436, 503823904, 619635546, 486264472, 132072257, 659765861, 356813918, 970417341, 799475630, 26978199, 711720470, 296350743, 468866897, 984634775, 646554078, 945246005, 500007792, 406275881, 358614385, 578450591, 805340909, 6921103, 355410741, 780410954, 865844215, 505327545, 861331067, 436583170, 440352397, 184637287, 401046781, 103382361, 663812848, 639913817, 542428484, 172694774, 5912964, 165055922, 36118561, 212368637, 358692883, 949958919, 48385758, 749505483, 98221133, 51865754, 89060693, 726496993, 932391133, 229801557, 316374632, 199378085, 456573265, 456215737, 515665748, 93387619, 93308154, 852312609, 187028140, 831311441, 425681655, 828636395, 704802151, 906831449, 42770462, 523919437, 196951819, 443681455, 101044349, 124397701, 609021099, 69656129, 199267164, 316824605, 100723572, 836196127, 876466076, 307019224, 226876538, 686241945, 544506121, 202246602, 871415531, 68021739, 510029393, 139677785, 160975891, 171950218, 836869183, 642642015, 629880187, 720483564, 892842216, 403077734, 811610015, 932323676, 75616727, 757723474, 619327265, 674839575, 241512854, 2306691, 230149426, 84736145, 333474367, 670584731, 13578181, 652770787, 485679313, 342937094, 79748798, 151052873, 435254254, 148190290, 259146689, 553401732, 265493192, 557261898, 711163227, 652635470, 781351623, 583563499, 728218994, 717531744, 825071405, 865310689, 750148353, 917988562, 918176564, 633510573, 547276129, 625967682, 835490327, 658112489, 191263024, 881923537, 241813731, 679331871, 890477618, 929741225, 924552025, 248246364, 281652904, 704024840, 338424909, 775950825, 61495008, 896466553, 77204850, 199267144, 317292065, 180037164, 865714723, 668233621, 496153806, 3593992, 758179297, 187448007, 289691178, 208711342, 418240722, 928167534, 120957974, 708879590, 156589770, 974114558, 112036186, 941080694, 54620026, 533884928, 618371128, 76003448, 955730833, 720432778, 406940857, 994516801, 647360021, 152131438, 158408494, 898973169, 185561908, 412774402, 432509286, 178511845, 451908329, 648450432, 135445566, 684212427, 54185668, 262778306, 534955461, 252681976, 630429641, 563061166, 69788864, 826990166, 898216836, 144131891, 455004557, 929296774, 816161705, 335434740, 273981745, 873279404, 77379941, 392637662, 146792919, 561632180, 405717118, 346876421, 559345265, 477622404, 401958532, 309334492, 40113590, 655953867, 825429176, 15119607, 67387883, 292398705, 180579205, 600356211, 530367302, 841387590, 637799312, 691374381, 127383516, 118586556, 725334559, 145388873, 301211811, 735310730, 623956821, 264201065, 741493172, 484654865, 533948702, 619350764, 444877248, 902276130, 363542466, 20284579, 400907831, 938877871, 258028662, 254374055, 185647703, 296945386, 531738728, 707184708, 846319185, 148627000, 509459007, 752299103, 422366467, 15161795, 116568548, 64896516, 106977698, 777628853, 41823922, 792697913, 33865334, 321397189, 990477998, 786716057, 682697897, 409773990, 890751778, 650573012, 587861317, 434333184, 872789410, 4376211, 774042104, 455625635, 115405038, 465360254, 943382086, 618048668, 431948399, 945926203, 473499976, 95660789, 595887034, 818211261, 902251296, 830509384, 305372496, 528014877, 98649312, 369553551, 925315721, 510933490, 782614816, 396119570, 436657194, 121856752, 517861373, 900895533, 847172846, 374157333, 344397247, 330641667, 667669111, 92364314, 685994386, 783315105, 212439951, 267200319, 484567986, 101806760, 123873386, 968400237, 109463657, 497637492, 416319172, 608545201, 29656736, 314948968, 614781803, 231574035, 976546659, 654505017, 303093324, 183066282, 119893003, 490540895, 261289903, 553076783, 291378869, 875680065, 18605846, 890939478, 928764738, 148925942, 714158656, 922015441, 330207068, 789888161, 455470617, 316553366, 696053538, 888297093, 318585703, 933937716, 973857864, 408699545, 723358377, 541121695, 470428903, 257861417, 293997526, 51221583, 332465939, 100405489, 49102992, 302588238, 370125157, 682428040, 503431058, 811853543, 848249972, 641121866, 105262577, 202311870, 406925478, 353046724, 581230714, 477939155, 550687273, 739081862, 699965434, 540535998, 177856457, 900812725, 774694162, 205226506, 197308749, 928203039, 803081721, 979219148, 689193922, 657397704, 82861319, 954143382, 206622385, 624966413, 189156644, 790946445, 55028925, 112528191, 444069045, 985940980, 152704642, 963634411, 126193620, 708961359, 811278123, 387298601, 58156502, 559479571, 430597012, 185009915, 83295713, 744379145, 774486362, 113824430, 773592285, 267023727, 45984287, 383613219, 542970817, 482812760, 976546791, 85732677, 107576497, 880833702, 177427857, 397636850, 705289228, 184983489, 369183309, 757518150, 66016365, 579534244, 711040863, 736949038, 149297953, 961991348, 108640146, 714563745, 296493577, 150533204, 343625919, 771893705, 45105870, 204521950, 476448332, 842881573, 757625439, 362066389, 967382048, 924075876, 426805450, 114448367, 884034275, 361478750, 710086734, 101898805, 198794797, 649146706, 548724356, 705841088, 246938688, 749673119, 85944379, 364597351, 207602068, 243434574, 545300533, 166063636, 323194154, 637118749, 28970140, 953771694, 164546085, 803107162, 368257344, 434149831, 415923236, 502190712, 975138386, 516994093, 307739931, 706524329, 421737398, 835756715, 450646706, 674003955, 249833598, 917060347, 704256281, 587444583, 403766505, 406288023, 119698552, 398976532, 861321745, 68372131, 382859725, 770184209, 204294861, 115061895, 706485274, 11726980, 237487288, 626395503, 742393703, 466628455, 540491459, 431722328, 81469028, 424033529, 922445904, 544078136, 894680833, 746699632, 406147791, 709990930, 410319646, 21868835, 583557859, 784573568, 439482146, 853651290, 548279379, 534007387, 98439106, 749465468, 645816565, 316849642, 294693752, 425758482, 545268227, 710674978, 462827129, 787363020, 394107563, 436709801, 516129246, 722679814, 952338213, 685849519, 313163754, 32522972, 625525409, 595898316, 271038139, 192153151, 479560418, 14719973, 756636207, 256485281, 592446295, 734364600, 787904602, 927062323, 689549870, 722106248, 732487565, 551462489, 79575248, 976441418, 814467823, 378511411, 276403582, 918439450, 155131292, 457380330, 155091917, 601158068, 454533617, 847743078, 341371129, 473514733, 548062190, 777945744, 415865479, 396271352, 589949448, 700627679, 769148104, 517827509, 491790712, 636739513, 805464296, 301404618, 37410141, 860465136, 751056739, 958550350, 351853782, 402154570, 713219284, 224276184, 90551935, 970514914, 922046165, 677935213, 839271162, 56095799, 690586867, 889531315, 899810169, 722022690, 758737974, 919742763, 604574818, 338773228, 367328609, 983934980, 33341672, 220525823, 672884874, 27600190, 971199262, 686980515, 540300545, 554623779, 7379554, 241904158, 714109440, 268715798, 592628291, 492482908, 932707372, 606261376, 566048850, 517783803, 865736649, 275882068, 767313307, 199154924, 851572628, 447317485, 789440651, 459131817, 363188519, 429972799, 271965723, 20977848, 666582441, 489403037, 669741990, 350766268, 719893788, 169074426, 753655897, 958921296, 169601703, 979381638, 973498181, 606660948, 368714138, 949163379, 377263499, 354034223, 516793936, 957541660, 110528961, 205097072, 649558174, 939248415, 72730512, 21580303, 572316445, 199753132, 233735536, 981852279, 181175590, 217343490, 985510262, 956853565, 126403015, 502502388, 69852799, 430975329, 367142626, 527978286, 780663099, 933666726, 836402393, 190786025, 777993923, 856933584, 190006265, 821762602, 683808016, 819758122, 784110617, 448155618, 61257115, 62685272, 217817745, 118401818, 528821975, 745059244, 254313886, 394265304, 60408638, 234200929, 448863725, 267448413, 482942329, 210853215, 641905666, 639078311, 778007595, 384420199, 169499904, 163805294, 294086412, 975359858, 243175537, 490902258, 368459216, 704796346, 176341505, 65453768, 554221722, 689813458, 152062113, 599365056, 939825781, 377106808, 945813040, 168416137, 333603751, 53679225, 268778715, 835315532, 409655899, 169663343, 749261362, 765336966, 342152993, 882461632, 936916833, 659510430, 881159626, 493608929, 209248533, 101687584, 461193610, 263393183, 34769683, 11324407, 609332673, 399536933, 282960411, 144207746, 197728333, 999000137, 874802419, 384578154, 176509664, 63148613, 426786486, 522166907, 557825721, 877099007, 353162462, 692923703, 258897388, 990557038, 269283228, 581930933, 370015341, 527360888, 261580609, 844202122, 263797671, 245134093, 779532905, 483173152, 517214313, 729748758, 54615488, 878431790, 988959559, 55683845, 198566770, 782966875, 150050905, 805348989, 669307282, 216368190, 268374368, 224430509, 330463863, 399009623, 480019952, 737964425, 921456076, 725075150, 309873046, 995216277, 299421426, 444987623, 399157154, 406335047, 772564887, 86967343, 899456544, 435134208, 688991170, 329990965, 721093402, 621651109, 151596471, 886803554, 911944993, 756669880, 774474935, 975796665, 618107525, 943882589, 967197762, 720595818, 36509380, 107784045, 232818110, 785652720, 553180255, 493742156, 458459077, 576634645, 274261804, 641084004, 272012103, 283283456, 755018140, 329693644, 784398495, 901461812, 674779566, 971048932, 394480328, 790343912, 353345441, 288623671, 436639631, 611080181, 211855266, 991730510, 132897795, 683808137, 607144547, 287712946, 808920564, 749478952, 969970452, 358412744, 77948213, 2214513, 401667213, 882271911, 117113535, 261393014, 405020143, 420641638, 383837276, 883829296, 999198821, 196883349, 177132889, 905467284, 852585021, 493467998, 351640075, 936483607, 981966635, 809964298, 351110509, 476241589, 338014876, 933345158, 539683103, 114749393, 136844232, 205807433, 816741334, 703001499, 157864230, 96883204, 455033265, 957767766, 537110408, 719554301, 701877039, 248795482, 20686379, 534189154, 802622706, 635573235, 925126998, 220906130, 814300371, 109731874, 768060137, 913657058, 531670556, 840116814, 784075481, 98760738, 897253659, 988048835, 32919758, 998784438, 670867874, 621598596, 890567707, 126796489, 976041185, 236605952, 84921338, 45978762, 932467874, 449571970, 114587503, 452637359, 14392459, 726639042, 179330563, 412187059, 947077821, 873316488, 83327694, 912511970, 162436703, 555143531, 325883443, 219543400, 539206084, 759752840, 311464006, 376499126, 72400290, 862207274, 583698794, 681501613, 646018765, 746372427, 802798425, 592158842, 810948553, 427450014, 552257414, 407556358, 978578704, 763966435, 432888299, 21404256, 852543747, 270062670, 775337880, 643151236, 54423569, 110866350, 702622355, 252604239, 438720303, 449173809, 189133410, 925093348, 473603117, 456274437, 812820982, 932816959, 33242281, 42389902, 11587835, 681482061, 248199275, 693233392, 574165944, 761483451, 272580853, 441532858, 997942072, 665510184, 469006605, 410035244, 561683639, 675804872, 36893878, 637701508, 101131419, 925174535, 952404294, 505613782, 114634577, 760307592, 271567962, 184143628, 640948970, 328469956, 871209934, 985067590, 34303668, 379129517, 18529106, 975729110, 464171702, 472724106, 419793040, 688555763, 481614260, 717042847, 240903492, 925507249, 442597214, 756530241, 938614868, 23701686, 152963868, 587896662, 168412756, 529494093, 64612082, 622815289, 760321659, 717951228, 979064370, 431710749, 178957117, 116056441, 957602909, 89052306, 982130184, 809529885, 511641054, 817071155, 796750995, 879202885, 545822976, 998854339, 954957370, 444805772, 629168990, 846807052, 954902855, 259142841, 408841329, 314557048, 857435428, 391336114, 299575811, 166038207, 27391936, 577943746, 603890161, 529856135, 587997713, 21174042, 266173746, 619549645, 298605934, 43907121, 340810657, 732517738, 246995276, 52171599, 993668332, 321801120, 988038632, 858097773, 271119563, 37882433, 693542849, 308522252, 132542353, 46077095, 935554927, 110762934, 35980338, 702015013, 623981067, 98332531, 946755202, 180343735, 994766331, 648991086, 878267150, 598550924, 496382083, 689227582, 794204383, 382177389, 769647950, 357041445, 279074158, 370790178, 496216080, 536212920, 54171205, 328027407, 651939664, 762165659, 256799434, 935413116, 228894260, 558672177, 248956369, 932582726, 627103606, 64562603, 174731797, 403577404, 986471462, 950909074, 325217388, 126261537, 186251315, 356756063, 199608196, 608896539, 880166691, 937581623, 727021315, 563710602, 483400134, 249303592, 430603624, 54715427, 126546752, 889272534, 606631763, 897397661, 713818662, 846861825, 836510470, 215873054, 909253861, 286113754, 573052847, 506372687, 274811273, 516094243, 119495243, 61864233, 862531513, 430223471, 17302200, 67970793, 277025622, 813083973, 458293910, 111188026, 728171514, 786501606, 230412884, 146282997, 776196791, 602919556, 499886218, 566208120, 38813194, 869431057, 668177846, 122604923, 226230492, 400435681, 209421260, 866324739, 312733546, 466960986, 61784340, 818277512, 386812879, 304624510, 438898076, 329687920, 111691713, 783341597, 691626176, 800029111, 106348452, 749837125, 968330554, 679767570, 643094218, 941254078, 998029618, 490771406, 853361903, 347768091, 686953064, 91744568, 868667591, 469170441, 375861055, 786627087, 891219948, 310417062, 310082032, 817229752, 870448583, 120869068, 835100517, 211660774, 359675593, 575889316, 553490019, 632669312, 390031576, 156475484, 157581099, 234532472, 148189815, 681735996, 792468778, 152656263, 478783962, 903229864, 715236162, 100013567, 148379059, 368669914, 946106445, 257186413, 426408070, 776489939, 550558825, 688159589, 395439061, 634161666, 438294336, 990758541, 809201569, 728245300, 472470281, 95548756, 114784105, 212220913, 481623731, 889042526, 830321894, 399698691, 840207647, 322283522, 184852198, 666362202, 416122973, 744487843, 477523186, 199537700, 577041384, 563436898, 959161514, 137489794, 292689895, 261355990, 20716717, 972526994, 263809642, 949652362, 367101620, 92027078, 979588129, 594679117, 853399051, 450411621, 518761860, 417363125, 323716019, 885945867, 582535835, 415335279, 840311125, 6575762, 834158981, 280626581, 528813986, 530770755, 564440478, 692691709, 534822702, 249967651, 156488706, 972673012, 50676928, 73511076, 619971694, 297870273, 955079433, 522215880, 770170942, 190388072, 93662487, 292269585, 817935201, 644687522, 114517873, 623583427, 211467346, 208973122, 402725491, 882641810, 349572282, 132867046, 937738305, 721459125, 24150279, 439400052, 44833272, 762572056, 399074625, 715423276, 622854322, 244594497, 571680868, 878170712, 712219825, 758582199, 707039564, 248965901, 802879750, 521687372, 29670198, 405916917, 762173673, 7546987, 537146021, 792020751, 360299872, 963852324, 706097058, 126451063, 274054948, 853056916, 232077695, 232541923, 324487183, 923995155, 236005598, 877368948, 842529840, 553128140, 813937947, 710951028, 564287117, 260478520, 360283956, 527938157, 316308870, 746339448, 929298425, 951552197, 293097671, 416627326, 250061769, 294515040, 306874456, 479411496, 681905805, 222387923, 602762131, 476061814, 930907850, 452381626, 769456816, 875845751, 397931837, 157350182, 467525461, 180027196, 476747837, 223969890, 160642338, 883076548, 381006968, 838956474, 521319754, 345682259, 185391831, 656822631, 452370971, 322021950, 920151869, 90625321, 990390079, 883368965, 474110995, 443021113, 753600704, 439393272, 536435000, 430966620, 404253683, 656456559, 841302688, 123748665, 442964089, 526950899, 316445380, 367990787, 775299481, 360320185, 88902465, 983580481, 389425712, 455211788, 249081398, 334511780, 205987570, 128749631, 61142461, 24155731, 331376665, 955482034, 663739968, 339257314, 322817743, 10385472, 147445731, 22153165, 680085550, 626872720, 245949646, 450354008, 979455077, 146643618, 53508346, 378650343, 861227646, 992187686, 753161302, 916898234, 694924061, 184442505, 576850650, 73135090, 430219276, 428539033, 320501313, 911055123, 571060035, 355976463, 382095429, 687028871, 678562723, 32083258, 629987598, 298267810, 416179051, 855213497, 935589659, 557703162, 247145526, 52449133, 964937969, 118192900, 823416558, 36282404, 931333030, 155873992, 725310676, 703885500, 575637934, 58305815, 527228941, 412234884, 831246956, 276169433, 965439046, 181766639, 485469269, 715548046, 227463035, 104470688, 96440339, 578463135, 926845152, 526138858, 291231760, 612751581, 1874370, 35944932, 311190987, 301495691, 63264903, 197185109, 594669043, 288954682, 221858314, 186592408, 197500854, 160402018, 349617721, 164508085, 362522374, 785599077, 974016019, 40185573, 404830814, 436635553, 428335532, 49035613, 141585695, 222840506, 387786247, 147927412, 640497831, 461578050, 672919128, 697017931, 163148061, 760257661, 552132867, 384687492, 946696953, 631081132, 674535961, 944809646, 619064661, 432467644, 202062029, 401513584, 267816927, 934003392, 225141054, 401174675, 976359800, 249581824, 321658933, 510916597, 800111698, 969194963, 403116137, 795522183, 404924031, 131638373, 76821242, 328167444, 55525898, 3817886, 725810009, 580113954, 385363369, 456344257, 610055691, 716400087, 70456948, 13173537, 828636685, 80912497, 161970311, 106132388, 871480593, 81572368, 602513504, 343169428, 143412935, 105000681, 232102235, 749295649, 721658740, 192825685, 451259631, 252782281, 669472259, 682729280, 533932183, 829376459, 625476631, 98293151, 555393836, 124196812, 472769501, 605859357, 589199674, 145535687, 598131276, 19825590, 984000353, 117909978, 248496280, 626457556, 392506684, 893045811, 342067919, 327218854, 752863113, 658237584, 199170961, 597477420, 276749778, 313621496, 132962824, 771733880, 588434216, 475433173, 241917990, 146522927, 23594355, 928937114, 558256253, 560996205, 69164996, 658940337, 828070389, 349850820, 489143276, 816644138, 276198684, 522025903, 751165771, 122538688, 188323432, 176510476, 637941764, 116569388, 540872337, 525985703, 488023414, 661580289, 88767127, 400708360, 340473916, 714255637, 799029079, 273145486, 631524469, 984137607, 890444465, 809998777, 28216222, 541555955, 213668513, 550872544, 722689032, 282591571, 179606815, 807347015, 874071420, 577825028, 90404993, 428990945, 783812216, 983585713, 767449990, 552256257, 971531962, 30215863, 716948058, 701695016, 382590923, 578431250, 359842799, 789363126, 442881026, 27393109, 61626237, 868699656, 262458574, 896465963, 464323735, 958931526, 104807593, 350058702, 682517878, 489120504, 242035813, 137737842, 971201336, 935951459, 893507346, 279723081, 408743187, 608957350, 667134489, 739547930, 518264090, 392325662, 839676665, 348841234, 709346041, 66772227, 298526612, 984056726, 615225200, 528453372, 282745677, 928202092, 691534818, 613507717, 105738551, 496801529, 368667560, 802898556, 708875363, 683858030, 467071485, 311280349, 425020363, 262153773, 872740397, 167956991, 420045542, 941842834, 172626579, 155600611, 202847386, 307243164, 808047331, 774907246, 970531305, 927968431, 364864259, 376219725, 215612074, 117553011, 967229005, 958098627, 64829548, 215577991, 971230066, 651815948, 712191765, 618950064, 596531420, 647817240, 243884342, 620755244, 15121423, 631762504, 409622794, 422540121, 647219216, 42206295, 983699338, 478432256, 605315916, 30733044, 451522238, 996654125, 39532939, 537926933, 947752226, 750812424, 868611809, 279970064, 970172638, 985758601, 732342331, 387342411, 661131450, 408924976, 128691805, 895673013, 175138608, 193630534, 163096397, 804265524, 864297276, 103593515, 507811942, 522540641, 999894045, 165416012, 444265429, 228650807, 345779638, 276784512, 625766039, 97523911, 513667858, 829435194, 585152028, 737388023, 431521434, 35202114, 299258442, 109483772, 985980287, 133294722, 261275862, 906640015, 737939813, 966808067, 883443089, 344703918, 315570294, 372510540, 21832950, 716188189, 170542843, 764206224, 579666596, 588153345, 219229052, 554051341, 79588135, 716317903, 815939264, 714008350, 88427312, 76816455, 905203690, 424378666, 969587504, 316828564, 430325718, 703278155, 400124768, 712984356, 953662928, 477001415, 926414841, 365385695, 682242694, 491701747, 727786727, 883236469, 305325040, 637633330, 948069914, 947825520, 957371577, 97367398, 263593496, 539027228, 945588875, 968810707, 467526952, 190775424, 455991534, 123310423, 653366094, 631694105, 276627252, 503496198, 651209839, 927685078, 956832102, 292788168, 975507219, 960003557, 81559612, 955604361, 922987768, 208365466, 245736328, 713022848, 601178340, 672966712, 737594998, 227794049, 690848771, 451160995, 961513695, 20965595, 613066056, 378526830, 143677706, 632938874, 489212206, 773249544, 931953401, 347485614, 717133101, 722135906, 127342418, 404386532, 891650502, 755482725, 15868673, 863096208, 109851901, 466941118, 836790049, 207321667, 191224899, 386221754, 835962141, 660882988, 791267485, 888095547, 654030638, 469864009, 439206739, 728635322, 263612707, 718125173, 516910441, 532376272, 912534139, 260809605, 810271907, 203092308, 335579320, 287388398, 973978192, 270264624, 85086364, 642196115, 975378248, 20516852, 317982256, 167822121, 671252526, 861985132, 587602408, 664114918, 771130950, 692033245, 420595045, 999396783, 976756018, 135847020, 134236392, 634795991, 590201415, 223036855, 638421102, 671278398, 136151845, 446252546, 16824647, 952558291, 220670897, 750524531, 865054769, 701901525, 260099109, 748382575, 4927373, 374996704, 961460302, 951237939, 655467941, 305162622, 854687741, 478084631, 565021827, 527884945, 667267396, 448657794, 591370501, 362919625, 58739889, 983784732, 115755643, 715605107, 995581701, 664927425, 993837485, 272239780, 57282733, 710045660, 753434118, 562083959, 626812173, 808913601, 339965056, 40030258, 683863298, 544482593, 119146585, 212192054, 764654243, 634672641, 282638142, 700008859, 827992538, 78478306, 39818081, 425150380, 62747881, 415888515, 379579147, 643401928, 410443944, 195449049, 916070341, 700661367, 71435796, 568052686, 487438567, 780249226, 464354122, 370559000, 905514462, 64444478, 727902589, 123383165, 140364811, 784857789, 729215664, 785531927, 944963179, 765672790, 840265410, 558137825, 768973844, 586438123, 589224625, 120382024, 222789719, 412590228, 45696816, 354374563, 724251716, 753636442, 883990703, 717314576, 263577267, 82913306, 47187398, 155012614, 634463103, 684147920, 810770933, 301388422, 670019859, 914898065, 728783389, 855417586, 384154688, 602757104, 771301807, 646112357, 13826949, 660210762, 248510366, 456711585, 202016427, 795102095, 750263704, 276127515, 694523044, 137267472, 607692774, 480323202, 429611571, 664962491, 663869322, 61681979, 72062936, 864023001, 427467245, 654621239, 370915720, 622652724, 48094988, 504508356, 84480912, 130088829, 251139021, 544218357, 844260571, 127656258, 561118392, 676837142, 288608452, 451217397, 998698799, 287446347, 515802484, 528884733, 831375029, 442436818, 137605131, 259175509, 867766466, 851082645, 356122310, 670772574, 93430477, 116802385, 841842054, 423273663, 244957189, 147885797, 101943504, 130398587, 705433983, 879544462, 666935177, 357998060, 561901814, 740170870, 448485990, 658214508, 226919512, 952497622, 474909156, 569835284, 901204828, 286847325, 38448366, 774385395, 917608630, 340510128, 283763995, 918594406, 617020852, 735104650, 453362520, 946700302, 341343535, 111212756, 667089791, 921530568, 75170611, 436255872, 961228271, 959256777, 16890145, 379405782, 49980003, 528928755, 596522956, 413168, 568953621, 544255020, 926176295, 737046047, 633656204, 340827086, 87514189, 608484068, 439192082, 45275476, 284494316, 651461474, 401255435, 422041315, 699700305, 811746554, 969415044, 902411136, 309129040, 835595691, 64620723, 148608181, 339913194, 472759407, 340144328, 689641003, 604634268, 912526932, 576171056, 972324811, 566319651, 974781599, 920840184, 4371594, 957093979, 512213472, 386503869, 398737453, 42549601, 388682624, 459883915, 121704410, 27492883, 819286289, 151523264, 836729962, 177458066, 897457819, 586241195, 249245642, 461472277, 397625902, 194050603, 467760177, 527022098, 572794337, 191143755, 995577601, 281665921, 685651088, 485003677, 755899242, 703505174, 655588712, 118237575, 883002596, 2952915, 16701672, 956736851, 170897945, 464604017, 686281564, 169690910, 880640810, 569160293, 513453084, 623822606, 448559995, 423234434, 857475777, 427507854, 288453437, 185540599, 682416692, 954864488, 975152970, 743033137, 124739491, 405036688, 82003233, 557794597, 503974124, 45554471, 636810350, 649941189, 40051612, 694161737, 993624663, 877989028, 827297863, 682482936, 828848087, 683037156, 712422735, 167613367, 778729552, 847358219, 758964304, 956779310, 727969366, 62280602, 557079903, 620015760, 765544346, 868945788, 780364785, 766776383, 617434125, 795850834, 684374781, 934615336, 906432683, 32911770, 13887435, 361238439, 516021319, 780723153, 673631076, 682101939, 844158384, 793173383, 63816553, 533949442, 113522167, 114055491, 560168345, 841135531, 170946019, 679120686, 369992542, 497725882, 459536338, 165796313, 357678898, 369252107, 104689806, 790209957, 80780674, 362090714, 305846607, 897818630, 566970946, 383850186, 261635984, 599989216, 620409762, 951501971, 531284370, 644733872, 473411564, 688370883, 398051405, 813673115, 643795189, 995495791, 235257831, 67096268, 212593256, 290657128, 245111201, 403603416, 152971770, 708743011, 722103044, 611217446, 74233910, 616503548, 626951064, 775028219, 634370198, 429447859, 794078672, 619774685, 277332964, 262520774, 764780938, 82655335, 100839791, 906917886, 148238591, 525596867, 569327819, 765511820, 629438582, 175983930, 631362298, 444056660, 904095661, 110189831, 108441179, 998716160, 903372196, 273576798, 455020580, 194576488, 119818411, 204436847, 117493719, 389010046, 281898367, 815068332, 390149594, 579808907, 970811336, 961799617, 412478547, 892166900, 422519208, 128844573, 349515880, 625791813, 152433263, 393278575, 192525692, 324710506, 28045757, 969296506, 517761903, 912745079, 907218117, 28664780, 673166750, 373597937, 968546865, 534660325, 834751667, 6831632, 148686330, 101877155, 584973320, 244126908, 42550373, 572104388, 931750909, 388852477, 836484231, 526219209, 797584528, 782996421, 997774183, 749309553, 969659509, 219587604, 106449376, 527087179, 218712263, 38102493, 497010105, 346452024, 557657898, 391175219, 794359622, 359593586, 567520771, 813238561, 746601091, 156994413, 401033904, 694490140, 671246321, 126339887, 374636835, 678156389, 358405711, 258334210, 871649363, 110226605, 689096849, 213777600, 681123847, 288367922, 753989788, 372655597, 752844560, 96209481, 501165674, 403705587, 131599660, 315339753, 254423947, 593432370, 71643629, 871100056, 912056861, 818641031, 285037097, 8441275, 878017065, 119137526, 752410422, 147489540, 749886169, 397712359, 307889674, 393610017, 442406967, 11957040, 635208508, 925672370, 247504419, 569757885, 530779852, 13346829, 291954625, 708705519, 153628220, 342858981, 338244264, 791998564, 375480278, 814281863, 259325931, 986338413, 989773913, 593057115, 243417349, 684960728, 631276865, 558212547, 417470210, 72427322, 370045808, 918908144, 890212104, 295413173, 46957019, 81071600, 722949888, 236225708, 15414328, 205061625, 170785448, 225206682, 858105350, 456231784, 128058702, 459592950, 748648465, 101171406, 500932854, 325225874, 145619187, 797093134, 622864869, 34051613, 880420975, 760645604, 485790901, 357787997, 841478868, 785603360, 500833620, 617831946, 467602210, 217867242, 115626599, 552775997, 232296448, 924072205, 318300329, 699558587, 658708190, 908712504, 168173761, 86521323, 374471861, 759973056, 252986203, 456899577, 370152626, 520667322, 617273618, 280219085, 947572533, 757901317, 922575170, 124608197, 799895754, 907362270, 709797078, 650886117, 270794556, 731935413, 975888600, 380899365, 951618976, 973859185, 796685602, 802277495, 148614315, 617794828, 223121700, 325674430, 779358232, 547158263, 494085934, 820017948, 573044816, 460851604, 13982789, 499442135, 269442909, 647114877, 744427842, 74302498, 301272979, 524884906, 551671279, 103806788, 685749725, 885339259, 131132853, 255339559, 357862053, 210993554, 807834373, 180670552, 445289457, 300791891, 167457892, 428351272, 647272483, 415300467, 434509724, 558122557, 873313464, 851390475, 107362572, 345955832, 519463756, 516780135, 282106966, 202465149, 71001180, 726582650, 775752512, 826121015, 176747655, 214339562, 131497250, 758603499, 235025623, 783550928, 173208777, 491467728, 618987826, 873195949, 896507909, 168830274, 730674541, 324250296, 212518746, 706882169, 74535900, 435165311, 336931416, 722156389, 810171500, 264100542, 654874192, 211385010, 782024717, 555828517, 617818061, 897976462, 310445256, 162230944, 963793157, 224699977, 804835490, 635189014, 790741258, 6748105, 830194314, 535342868, 963455142, 21375359, 729737387, 965616845, 26350528, 769580382, 969427150, 667877119, 795737928, 377069104, 796819809, 954167388, 500032354, 759992869, 751056415, 4420601, 363429507, 387362977, 931014112, 827953074, 536480552, 213666782, 833957544, 240370523, 547849764, 484899250, 730951470, 975185574, 516100044, 339908056, 219451445, 96153599, 26270739, 694226014, 233479440, 705475758, 931611143, 554729902, 102409521, 127434601, 291287846, 580345844, 755758326, 695088472, 271307913, 605617000, 598735773, 794152922, 370652699, 825976777, 180190086, 298288035, 158296168, 483570842, 582778670, 998919200, 557981978, 364131653, 790188723, 54125420, 920914802, 4252367, 523790420, 642287415, 105111926, 409200426, 863547768, 310441916, 630571363, 503217858, 171309545, 974656018, 172889463, 877532968, 822559590, 576564721, 816828634, 879157098, 678702079, 973315218, 334714931, 524013877, 255958428, 436018448, 194608032, 9858545, 854599153, 562780253, 818059109, 13009060, 496498917, 838613094, 357586062, 191939746, 155807080, 257061933, 935319580, 506754157, 144136704, 935579639, 606882595, 608968374, 369268470, 84862777, 265062383, 904381970, 55566024, 492365087, 223632675, 109562326, 784980417, 265943656, 709842387, 112810838, 928350147, 911854367, 985175764, 522285614, 217438556, 300245400, 97021111, 432385665, 134083591, 345972941, 294156958, 515826864, 874742144, 446999936, 302181363, 376724088, 24163092, 401730627, 832405241, 34370504, 645882513, 910214473, 189165956, 24019878, 51670703, 157018569, 610194332, 617316701, 553361807, 812316596, 703497732, 66763852, 993487269, 78420828, 414720786, 210893735, 562950195, 35710315, 273594443, 247205505, 81041208, 50413908, 429669362, 110263504, 43476453, 109919891, 237836397, 635567569, 757579183, 447774572, 723869085, 941286895, 205721695, 57345203, 85783746, 49064240, 909231109, 789905792, 529619474, 506489073, 649895304, 276589764, 504288973, 709473318, 544987123, 112059448, 162568733, 327718132, 910543471, 686848738, 89886220, 245278845, 541727487, 492040282, 689491843, 988410815, 148890136, 335647961, 375529854, 279492076, 434432566, 531568062, 778699814, 897299116, 777588846, 975019705, 143887458, 244158801, 779379345, 822376854, 789325085, 84184742, 559136366, 857842887, 391315623, 483798690, 673108015, 86128853, 207735929, 56443130, 608605309, 614670977, 283296435, 596114864, 762442755, 836691961, 464088026, 492495954, 346461119, 459150077, 783673662, 921711950, 671785782, 241117979, 133210078, 361759722, 481713271, 162078252, 858120349, 931488998, 788502601, 270384787, 157824693, 362636158, 782000653, 891520561, 326517110, 642533663, 830003215, 474601467, 147329784, 627083908, 248900401, 817639090, 577191092, 393032997, 909306862, 199957306, 226924781, 577221577, 854786946, 762524078, 476584875, 711305991, 417397531, 625667889, 476653328, 379068532, 666405699, 528799700, 600032622, 924360718, 575313708, 325761273, 22769191, 331140660, 660015172, 496517122, 740255227, 390122671, 346771490, 219576014, 392511721, 131953365, 601209478, 527452829, 246362324, 913917223, 930857390, 31508630, 643845368, 977497076, 826008469, 503513249, 55594528, 227201162, 768996822, 87213109, 692958800, 431490263, 385420327, 221028960, 95941061, 819105059, 269010321, 5213044, 818652953, 652718684, 750606060, 711230027, 314092071, 322919215, 266950462, 871756594, 729509921, 34459427, 964863210, 187502885, 320101604, 730968209, 331177059, 620541551, 209645374, 905727121, 255904513, 18214092, 21197820, 948800549, 97203094, 496166055, 535800428, 563720195, 135692719, 649323923, 90269281, 320237995, 127329304, 473161166, 760274521, 863910164, 421532465, 449212953, 474014440, 440005567, 46963237, 553663639, 777902868, 900614753, 251047903, 5961384, 171319033, 298849046, 939505097, 799939541, 804471241, 626935590, 35047086, 83345245, 924060046, 303956079, 346852264, 512675538, 557787406, 28240615, 514603638, 151138432, 849989217, 937493066, 385771117, 663370459, 842164440, 67299557, 100274756, 429989397, 666079290, 519841857, 51482533, 460956954, 916244221, 391845699, 834144433, 439039913, 307060356, 894259696, 608909400, 428618857, 491203265, 248491350, 122683452, 700391599, 303326704, 941126714, 662247328, 834168302, 226322743, 550875127, 680719002, 546576793, 969837080, 243028244, 394694229, 963603769, 431266245, 854408602, 434771857, 549091851, 420110308, 732547898, 200273977, 871846102, 228394254, 847140068, 658894140, 103008983, 565142706, 312130786, 218383709, 505820903, 62321908, 636563656, 308684514, 70582960, 459057193, 696011683, 185584476, 377947580, 469653150, 783833034, 578087538, 995981704, 276391515, 285991995, 177128740, 682788053, 154334558, 300555923, 320824293, 511619408, 598300701, 158349374, 271484310, 824002439, 73234353, 689820328, 666148609, 93880372, 171672971, 391556393, 53219084, 788859923, 528174567, 72030964, 395095089, 838451693, 454529798, 929681993, 985468500, 236059193, 738645972, 856242856, 352449452, 543933782, 352484458, 151850407, 816264159, 185441231, 962271586, 679171018, 202150920, 413355453, 157548701, 442379541, 279771019, 242746735, 846403962, 690854007, 445762745, 953920943, 56647795, 872480949, 984518070, 810861963, 244098053, 924853811, 176947368, 401378409, 13590864, 662584121, 994946230, 20717406, 659307728, 348134342, 418115730, 251994923, 88728702, 657395998, 377480372, 233200280, 827202456, 458083602, 348992266, 817116838, 269210375, 657572751, 585074099, 589037281, 54835695, 296423503, 403825306, 509922792, 540693412, 144027399, 540652379, 542062026, 273687412, 51002096, 690359534, 733612453, 601765978, 864892448, 463598281, 817726341, 98960658, 146859399, 684795527, 653393950, 177323838, 990044825, 556322453, 673029288, 349375018, 532997904, 427143512, 722266670, 702307834, 97807621, 543187616, 952727966, 955714153, 557248628, 666229885, 596872581, 403574934, 629211882, 218041424, 838891639, 197977744, 76921823, 773014549, 292103610, 519921565, 307757345, 741345183, 572203707, 888333144, 218284885, 405884818, 528773832, 705250395, 657581064, 13759976, 693851257, 989148568, 879215880, 937901438, 985974814, 271373536, 745373865, 111400331, 959101749, 337974426, 992870628, 601372280, 438169341, 20564300, 15240252, 835830375, 488150326, 974979630, 969825951, 136988905, 753347678, 779375774, 776081219, 462078763, 721039332, 98124079, 697363046, 712193021, 497929812, 712571296, 298900270, 703268688, 178232702, 892955458, 965737956, 476236774, 816492691, 34431501, 798993948, 479395037, 437840973, 980142028, 675565708, 788687042, 325857503, 466570008, 884548880, 246248172, 124739768, 723180863, 235833379, 905014726, 72386860, 948008666, 45148139, 494009635, 409628510, 301782211, 345010891, 691769243, 385088299, 821338317, 387950795, 276050791, 189769778, 455323140, 491400456, 133220456, 936034124, 930744662, 219522827, 133592530, 628215999, 836780855, 550206985, 429897790, 364353131, 140154268, 707228204, 38407173, 487748752, 851791938, 731075518, 807458781, 859039700, 201963790, 124141302, 678732522, 205007850, 968851246, 816005436, 880862170, 467855291, 994756153, 971845325, 683234708, 578755863, 558896419, 85606217, 829336775, 857898817, 91954316, 941674027, 219177874, 582685527, 507425703, 358361141, 687499220, 394893439, 317454046, 347895159, 317746763, 748080083, 489851741, 28536613, 777171725, 910759350, 232976082, 781689764, 462374528, 376726079, 93978779, 666042348, 651194548, 442562096, 615311196, 387033170, 586774226, 391319650, 253332615, 61991014, 274380721, 100115431, 606992638, 913492015, 826503470, 986750741, 639229927, 924837426, 437332654, 49379065, 930835167, 839450606, 592008220, 96048733, 429545750, 13378160, 14595547, 396455459, 31930055, 92507808, 690560760, 397482981, 204996999, 864967579, 209043519, 224129406, 591813593, 183820153, 361308517, 61410456, 211734465, 974480586, 534145009, 730014901, 783325642, 902064405, 25359909, 687770149, 542243274, 519727636, 210539876, 425923052, 626625078, 60968549, 169311728, 977097662, 665235831, 465769978, 396994216, 597616798, 666459398, 431554901, 682385543, 985257187, 373976046, 665907915, 137920652, 639656003, 905540618, 562909659, 166938421, 204931201, 222889952, 714309068, 743502219, 475272488, 321826992, 97929861, 628983603, 252331328, 516076064, 647630723, 873817992, 45495546, 85175753, 266932756, 412827139, 731231862, 83212232, 625969592, 760225963, 672403096, 239294229, 554002663, 867096400, 693707938, 783964655, 692440701, 826210216, 949128712, 914046879, 219900382, 902246045, 737478166, 84642531, 637412579, 741922090, 991201113, 221416757, 131991408, 513256900, 698364665, 934394778, 330230175, 365930549, 169831456, 53366553, 749053578, 942820374, 617119840, 78346786, 689662022, 144645882, 97434846, 405129422, 725564896, 49725785, 915807708, 345170520, 431569691, 727816206, 892988857, 727881732, 585788843, 690994191, 303234751, 253126064, 586778213, 923408895, 735390237, 176123957, 678894058, 34045891, 56740044, 436325512, 70053974, 542712375, 790028262, 945982331, 208645651, 31330519, 727282854, 98935284, 170315782, 60539617, 208513710, 738286429, 613847957, 450441046, 192690545, 325647137, 441982644, 172132255, 715371538, 593422509, 218673998, 301727686, 233867550, 48730436, 181076727, 784370494, 96890198, 140132582, 674977146, 754822409, 328498457, 186727033, 220724388, 515478801, 318444235, 910429493, 563259319, 507934184, 822077134, 98581688, 637573763, 972500609, 367628558, 17548315, 95372652, 785785333, 955801484, 708458065, 365209694, 234183413, 757779278, 212485992, 421268222, 138647682, 901410955, 523380372, 403181415, 407562224, 607761654, 613358375, 297601394, 579723917, 398181817, 708727407, 178893049, 590287226, 429424976, 915633802, 283607114, 624064269, 918296303, 839130182, 10002345, 506963816, 590206995, 197840820, 943237353, 487153254, 167645660, 245451069, 689577253, 321833229, 565705584, 104349990, 122157381, 109895026, 886401071, 284575583, 338470002, 716992277, 129927289, 983831864, 816142391, 116753500, 739944228, 986197041, 141267173, 310358723, 512439972, 246841772, 617234960, 997559085, 597237237, 262505088, 564087826, 664674528, 602709076, 590482854, 789766901, 621534174, 197454975, 695803354, 109353986, 761921144, 951998114, 919963675, 134798613, 56670478, 213950126, 52761269, 730077548, 708241086, 11553177, 194601024, 899172084, 566262611, 422617586, 694200120, 1170144, 280877998, 378312509, 445448708, 133832060, 583626895, 381490565, 780257654, 12980611, 852790256, 220525125, 176300686, 919608398, 24001903, 408589474, 450275905, 941860815, 610337058, 396111466, 718542972, 467375896, 955651806, 109503863, 151995793, 907868527, 746623927, 169189819, 197881812, 357082105, 913403940, 293712404, 304937446, 684345229, 167676457, 858215532, 219743378, 623817467, 39495451, 798467303, 72917650, 473342265, 925130450, 260709941, 715541312, 195171959, 787873635, 513966284, 867249929, 776907364, 678951078, 687380413, 869533956, 502902982, 304548387, 549580115, 846980145, 341368285, 205977509, 411798085, 942748195, 777587677, 536963903, 110284725, 490714509, 286651949, 173156444, 729647569, 601028628, 831756939, 203834916, 485900387, 988069028, 219062969, 484549752, 492812116, 472172436, 813845494, 784495167, 933490800, 841933850, 611610432, 176640636, 514559988, 635056405, 577619833, 134297027, 812118086, 130911475, 181448029, 137593516, 121898562, 240473604, 439439848, 631176312, 775282633, 663254583, 871648516, 498545194, 456426524, 685435621, 757064069, 429665787, 221381713, 202713007, 45600124, 257855264, 885153948, 95317770, 402481646, 456143797, 917197351, 45573677, 90269809, 15615478, 996684217, 367278202, 656800525, 417069530, 227807012, 451066294, 687991607, 504500345, 37211008, 622699592, 931969788, 320910101, 388458957, 370204948, 760892471, 279314, 544020326, 247400400, 203970523, 271656148, 82649932, 916953957, 770057512, 280036703, 265412304, 858261143, 369629003, 969072131, 920147663, 168721872, 441494268, 333074901, 481824924, 314056624, 91587601, 992200363, 147085727, 580353839, 614025781, 567213709, 425801912, 910587280, 788877755, 445078613, 312427801, 262636949, 321362225, 907451778, 579770811, 500791368, 6495729, 987536438, 219193056, 959502740, 400442149, 71467731, 937083248, 805490845, 795778266, 985755709, 76150257, 293532966, 591915038, 110460637, 865584634, 217747169, 757661302, 497144986, 773514787, 948414456, 126285365, 875917205, 255057625, 279984129, 89122994, 293210255, 315423425, 492463397, 421632366, 210855126, 722842888, 415129159, 312806201, 279850071, 838865582, 983650294, 63972457, 47190365, 391998637, 531387507, 872606321, 561624717, 499210382, 805050819, 810153788, 234540609, 375744279, 715414313, 771602911, 876834316, 271671907, 625290049, 724025788, 460033888, 287741055, 259045261, 257837969, 249215829, 63775229, 300640493, 271838983, 283404703, 164842899, 680539044, 618905806, 322742602, 63860823, 446830658, 344264557, 502509109, 993752582, 553722001, 964892626, 553553585, 93846279, 200962373, 818991943, 644491056, 367970377, 25132219, 23009086, 882287032, 874647556, 688819392, 692043064, 826332046, 30422702, 463112604, 642870821, 497757128, 283960110, 258943244, 360541983, 715435361, 861688053, 917668934, 555919546, 184026049, 627652867, 693656695, 953750408, 948174836, 216747594, 333771849, 270468403, 623910101, 833104714, 713439583, 765750123, 448085748, 350909480, 194184744, 452278385, 7524776, 96004052, 873242572, 681399950, 620600338, 622796709, 591214749, 492864046, 104485803, 93948775, 697104080, 392198074, 881446477, 736657665, 961516, 691677123, 821691707, 279580723, 599577810, 718385544, 457257047, 776086403, 166463235, 661877094, 122819507, 124170202, 796150720, 193173901, 407198598, 115563557, 709775815, 309545994, 133713550, 529966708, 116309511, 48584510, 574662255, 724310329, 615001667, 194003654, 240519428, 968040030, 346475626, 472325984, 431961910, 901899962, 955383256, 951170667, 861344688, 934124678, 596692115, 981572525, 885917525, 622342320, 7097960, 81268520, 147182124, 939252348, 989680752, 568973665, 668865328, 16337065, 776668553, 76628961, 198273452, 82728572, 48433116, 856783927, 74067020, 761316713, 482132287, 279570945, 382478386, 315544373, 15288139, 251071345, 243217042, 202109296, 881883042, 820217489, 571290682, 412773520, 850377553, 121188247, 506362660, 83692519, 981729820, 99132622, 127700605, 522935512, 117615227, 313691081, 932753603, 917996917, 15870927, 748188410, 234652206, 904047933, 18780629, 169486284, 41727332, 79260057, 709535696, 174385198, 415571157, 492561824, 59976512, 766693466, 517690660, 394079620, 310663744, 591309485, 560931296, 670728515, 44543401, 688750961, 588944989, 858148950, 835464346, 788230224, 364968615, 580324948, 509831060, 187614800, 91729118, 20164059, 339154075, 820864569, 32893380, 494006825, 145308534, 943567149, 150965919, 573815011, 679326675, 348968788, 319830371, 499193382, 461771100, 980356290, 976700248, 654608565, 1140889, 243217561, 717799800, 427052881, 234970022, 22811802, 560340823, 404337993, 622224019, 11256042, 638707650, 955491781, 308942580, 942502426, 149866826, 774061494, 379231296, 275507752, 62937901, 162256535, 282175423, 803237301, 608274086, 137239214, 194816432, 15726623, 219188164, 910791237, 197826712, 879586796, 634988520, 293866019, 704859067, 399564264, 209707177, 783790853, 22755361, 541414667, 23522765, 729247681, 772000618, 91117474, 362685134, 991865667, 453213668, 39139589, 250333368, 23843372, 786755064, 673102427, 401510497, 988512311, 402856986, 104986408, 505659796, 720928526, 47984522, 85701202, 154613917, 286985497, 78983238, 553428253, 946009716, 398743643, 231291905, 314630940, 468550743, 764614967, 630454982, 705947372, 852449325, 573690226, 146181655, 810548761, 530288803, 795665474, 886632678, 976300364, 27338163, 526048601, 442097158, 516616909, 978829374, 801218103, 833274092, 654137965, 376891864, 802119231, 806073452, 758001779, 169580896, 251031177, 983348191, 263655924, 769322650, 8994520, 636757924, 543570987, 975453981, 925796152, 507057940, 474771478, 409357512, 147315974, 473308331, 302936982, 511299962, 9649235, 591210496, 295578338, 288289247, 888660504, 784572057, 627473407, 719064207, 610038892, 892461578, 656081439, 351915287, 177651696, 275535359, 945174228, 286895231, 461982784, 448662599, 863242584, 35662894, 295132161, 691190149, 266947848, 673538089, 469374498, 719591858, 679959724, 419499420, 654209174, 752026337, 951424682, 450595270, 695584984, 875749021, 395539904, 435207827, 359412031, 111162087, 841017864, 595915712, 101502305, 210799461, 949743668, 784116778, 346563401, 145692180, 95935787, 963015004, 165997074, 656713990, 418693688, 2769461, 76858866, 974662779, 733171154, 837369502, 592651290, 662678158, 712431708, 903407176, 722722664, 176281918, 803513754, 175636907, 236839765, 235602546, 936106481, 687637708, 412406929, 495245186, 887062460, 117682884, 673097597, 241283974, 895312411, 174711341, 527762209, 590464193, 544369597, 650507059, 245103277, 743385524, 808469426, 688553095, 966474755, 64989094, 880651363, 229659842, 908019174, 213907914, 755847628, 678427359, 376200367, 784832776, 441985038, 229203758, 203643334, 535441045, 663204010, 793940431, 678493633, 479475029, 927661990, 675749815, 610866111, 22571017, 132674102, 661930007, 788005955, 691712677, 271622326, 570884206, 472954488, 98180309, 356514471, 190760692, 594032182, 163613229, 819573722, 543481122, 692204909, 329561653, 718873229, 143472830, 131541645, 318274374, 350733905, 218624546, 88523793, 357017525, 629463868, 887587636, 344002642, 835513143, 197113083, 144508059, 106942909, 914354983, 534206308, 98699165, 661431234, 870033599, 17772294, 44918376, 173878097, 986260427, 59462881, 29011704, 819045937, 254214584, 441779284, 202486096, 9599068, 535197555, 317726800, 773601353, 192200304, 561572492, 276183814, 23583011, 889229729, 439547794, 443747574, 686244566, 244291685, 50954364, 796931777, 685081957, 40151303, 446113627, 311896591, 698975165, 182768854, 308870373, 525137476, 245588253, 647616161, 927219326, 189811033, 379106800, 929479177, 122940484, 101678852, 184109931, 849425798, 482614769, 45976316, 582402210, 242782611, 670938035, 434262197, 380569142, 876392071, 515311284, 2350555, 234805998, 6121106, 880538012, 405993550, 666262814, 127287485, 374748728, 692258368, 936774159, 797772501, 141627671, 44243287, 975675161, 685848932, 594153254, 669038145, 199150741, 790895428, 292206132, 645224088, 994889707, 683860988, 596524182, 276632956, 379419237, 370369283, 253495945, 950006841, 664192670, 45382989, 766354884, 602338345, 528356871, 443444912, 45866047, 317298415, 739179250, 860010468, 602397180, 223680409, 597400003, 11483731, 193794912, 305720986, 338398043, 240151706, 261017857, 615512348, 612595160, 830772946, 51911717, 615544138, 510694072, 413231100, 538934975, 958953668, 463152355, 900303789, 83313672, 609573185, 960123773, 669830066, 823080815, 71723374, 880534016, 862652953, 54946494, 236784668, 937744062, 211981361, 350666867, 175330219, 433077673, 600584244, 556931725, 334329167, 295904194, 982991354, 523838754, 415804220, 743988869, 750741922, 504986114, 855948479, 8165226, 809138815, 391780950, 568208979, 395077373, 768899333, 624755394, 26764882, 676985116, 64653743, 45310035, 845725904, 701414203, 872333181, 463322860, 726599761, 195951218, 783116000, 393647148, 367668892, 576391392, 386471225, 417951884, 327679086, 106804878, 666607211, 117281309, 551440428, 745475525, 987101290, 930785673, 30482531, 304208001, 232779196, 386176109, 484649982, 113904272, 660866018, 129132583, 798701051, 33377355, 188357359, 941970903, 903059798, 758970942, 811624115, 363537174, 330664806, 528631522, 783197317, 926875175, 948175079, 159222126, 894463198, 160271917, 15402578, 956595770, 400376600, 897374685, 40337520, 750099245, 475420012, 102067968, 201953671, 925223956, 80640243, 723456397, 932457791, 290112697, 867052653, 706266052, 266029738, 202053558, 522600601, 662963208, 921096388, 488241546, 86182622, 606936163, 38862659, 376372651, 156695806, 954204671, 657187351, 913656864, 942025614, 574821864, 958461228, 328859479, 100165718, 721527019, 184802064, 909644038, 797098984, 354649796, 616678932, 155721481, 307735481, 774259180, 637647283, 130877162, 136336313, 800044794, 809499507, 818368442, 330779972, 136160220, 201117367, 121337245, 601915866, 324636528, 585424707, 487081900, 185620775, 871207597, 837373291, 341948505, 639712375, 793367941, 936654994, 701353260, 804239029, 175874996, 73883755, 682109249, 914703301, 38468439, 913926745, 992263449, 663982763, 472894526, 873684074, 151011894, 896991194, 665671305, 829290128, 723000443, 261067077, 163019086, 53589987, 904926664, 530012073, 53825384, 798131636, 578421148, 535626825, 949390911, 621549908, 71270894, 827565485, 183843144, 975006192, 23596046, 13980507, 464656371, 9749292, 11205419, 19885523, 158317389, 211804206, 281642400, 627435279, 972007620, 365584016, 564439737, 520355175, 519358848, 68625559, 515687639, 705514923, 167468931, 631967696, 675756554, 815535903, 465078365, 347274463, 291476389, 516315207, 189025314, 789205737, 93779952, 399633101, 83174789, 465804015, 34435861, 554482326, 237621417, 887484711, 525908814, 105421023, 196147679, 212964286, 207010421, 605688058, 852090372, 211280914, 866217203, 189845264, 552933691, 239708464, 39761703, 715334432, 439560698, 110901910, 562049569, 34210864, 36836140, 864319302, 875025807, 410222401, 967251755, 184653579, 895114602, 298263161, 706493054, 65657534, 746846039, 398487173, 310194231, 501662867, 514325112, 892310502, 954455618, 154921160, 502000735, 671733745, 683037723, 713472719, 573222392, 459294288, 273053698, 748555891, 374521326, 275972431, 580382938, 288742359, 813712961, 412573212, 253833404, 89988155, 629574221, 923302189, 138210176, 749858998, 637624850, 32645173, 926529512, 258296510, 960670948, 483387697, 501268631, 467111515, 803166074, 165102914, 290993375, 795408679, 545253351, 680710089, 99655858, 396570231, 790082592, 491515051, 250083911, 708502531, 474923716, 858608867, 111222929, 530312355, 360171164, 305298754, 507163662, 466472049, 947973499, 543393214, 971497187, 398529466, 692803717, 952408504, 144851993, 741718844, 919079829, 301853467, 652295503, 684618386, 171262233, 888639136, 540083883, 807463244, 584022237, 200337932, 927792139, 167171036, 691173544, 357347559, 770316147, 240057418, 520936843, 120537093, 555746266, 417291416, 708635485, 938677075, 200318285, 261937257, 728178450, 303802071, 643568923, 257988198, 361816386, 143776806, 210024817, 969588189, 301712905, 663583214, 169777528, 554766744, 675784622, 756418143, 173389663, 4813076, 945861899, 657718004, 679508251, 350586337, 876168696, 240992086, 6890439, 410316145, 979422511, 687989674, 78412163, 586877808, 205693169, 251102947, 528266524, 446495188, 518403194, 434459428, 13876360, 980017021, 896351262, 26074745, 772561084, 911819527, 99514160, 904697105, 750378620, 594241558, 671356043, 258749131, 697830138, 623647329, 929217804, 78504095, 475794297, 891650563, 395223037, 698468929, 200990713, 141215570, 738148330, 407517386, 254945327, 551134929, 330619620, 146847991, 143283484, 924010903, 380524222, 10105191, 711862077, 221800476, 319789118, 650589874, 110145479, 838414818, 613771784, 315671136, 517145212, 952311904, 877069979, 54695264, 779945678, 737551254, 133957419, 610990315, 802872237, 115497645, 797568762, 482123239, 695484276, 839679067, 23655855, 370487914, 932811616, 945413910, 209029429, 819939946, 329042331, 57965699, 475558688, 440354378, 415556162, 849023651, 14792288, 900538888, 37392991, 793758947, 577439762, 116560248, 237947715, 99203402, 661926963, 445040499, 927719212, 163287220, 956815826, 31905202, 219097634, 635363782, 474320589, 320465521, 913515726, 719631804, 708603723, 510058191, 347530399, 854857804, 316842095, 726321964, 25572536, 613629209, 295361075, 168151968, 825374526, 827154359, 200035211, 909077169, 866028536, 560198973, 609145815, 861711323, 948945763, 755547561, 386520485, 395693417, 303116501, 777228680, 470877303, 611162710, 956068245, 641374548, 310613974, 297684142, 128146845, 252415122, 131064499, 662886697, 779939460, 217124431, 324478589, 884964076, 484182536, 652202191, 111511580, 176688826, 428933329, 929703676, 590243482, 490371574, 41053838, 298852283, 286616536, 581081805, 313196611, 46248017, 421542553, 921433040, 650997495, 438665851, 902144625, 500732015, 692204652, 672038073, 446184521, 240003734, 617582146, 387624463, 108705743, 158327778, 404070776, 537984826, 386972825, 744035600, 893661589, 105229987, 900387398, 342418472, 624833453, 462050523, 783167193, 462199738, 856959077, 716242676, 946057949, 105593225, 763694452, 19606023, 100431714, 368661453, 900012419, 188161578, 273747837, 24720251, 597913984, 872276508, 69662821, 872449701, 971120473, 89122038, 717848082, 717764937, 138744976, 610218706, 232665261, 306905841, 623916414, 333608914, 590550112, 481958631, 785570846, 768994730, 961040669, 169033819, 480429230, 582143900, 66751576, 233539325, 797147468, 412555663, 337475489, 117565764, 259559549, 725731450, 749028347, 44884615, 623688539, 947863796, 529030863, 379999355, 970622436, 171532824, 964044061, 383480856, 740015748, 251274013, 599426421, 437702045, 447390515, 946531401, 390528330, 169280213, 446925990, 976102751, 936072138, 103600380, 796697100, 813828486, 113601165, 821974392, 258530837, 446588731, 68614656, 25051002, 87525747, 209829333, 515059250, 629555595, 674922207, 518721923, 503814935, 789910918, 62378934, 361137021, 918722474, 196818632, 221407915, 107232321, 654167396, 398299418, 247870741, 538586286, 62353318, 502744517, 437011169, 86847277, 843732144, 966232637, 273234035, 330501827, 797263270, 151268974, 252110047, 234669116, 884969378, 464356050, 397793608, 424341443, 877146839, 798799499, 958778204, 957032550, 723668039, 904485124, 685342192, 928203678, 304509940, 555326057, 297650685, 411063564, 179125248, 797859938, 267671531, 858423007, 974267024, 548356787, 470145964, 700483787, 564492456, 923822012, 351009307, 687161360, 8669471, 736397344, 205179086, 908212415, 222271342, 134528536, 659419013, 43759118, 739434772, 542848727, 485279399, 460971803, 695270085, 19040946, 533271108, 573413038, 439826815, 232477864, 3535216, 826930781, 421551805, 16960283, 647384582, 633008792, 779477810, 422224894, 178726218, 540293897, 352552280, 887781292, 490999260, 160435805, 487481397, 459578201, 283377900, 130209419, 890336058, 631159964, 907993237, 994782063, 773978671, 941555189, 98864805, 736865572, 723387380, 400609452, 967845745, 664315632, 406987986, 547108018, 902024042, 784289097, 374272700, 580807497, 93695605, 507137653, 425446421, 140658303, 954610603, 644431823, 970720426, 459599469, 743740290, 558615841, 28106308, 248211324, 7287158, 249298858, 798789182, 524358961, 945654613, 222651521, 230443277, 171484370, 590646318, 392769229, 245512224, 749039974, 346441395, 969962205, 770453816, 571863663, 437178731, 573928552, 833714313, 871155151, 254859773, 360372336, 714529529, 3145839, 536236625, 866977222, 94338402, 764909243, 866470087, 680537725, 824641333, 160074840, 534610264, 598516896, 375045638, 977679305, 924940376, 140260515, 978894950, 51215849, 233583616, 767081892, 694024562, 175360956, 42928633, 316721903, 572536478, 492987796, 950320384, 559809947, 122538618, 117129483, 371718042, 810083603, 334943884, 155371968, 477639675, 649400324, 375275251, 844111269, 429178995, 249517615, 107015444, 355523426, 34492521, 485008715, 617980718, 182841198, 649904534, 364597126, 893527537, 942243496, 532658232, 591782322, 955784263, 280302654, 762706678, 782222939, 270019449, 736639083, 15984319, 143698212, 367346181, 526042773, 949054607, 713833616, 932628220, 234449589, 647344916, 450224246, 421675536, 178723687, 489337296, 875089299, 74118848, 522468101, 10818559, 977503412, 130258395, 523196061, 132234232, 482476475, 645549707, 157931360, 713144559, 377981394, 227450833, 535774028, 95127335, 348734025, 902918222, 926580541, 84254599, 606549795, 396671844, 727331769, 251416774, 940733138, 809484652, 123670602, 833412986, 959150029, 602955422, 303218925, 796357737, 992698306, 396235448, 369217370, 81072163, 301061003, 145478015, 481072573, 358938235, 463749781, 833460536, 158475761, 448419365, 171611031, 972083168, 990445475, 451522407, 858141367, 494447546, 188416651, 869727553, 482414089, 125082999, 536338947, 153222390, 875701318, 793654359, 573918068, 164922738, 574086998, 688551414, 340902781, 591846558, 592269552, 888797676, 244063399, 937951394, 891074300, 461124848, 439971535, 210477083, 205619058, 779832056, 878406773, 845972812, 164026045, 195281910, 824601161, 500617042, 220405899, 844143239, 927376154, 134076604, 956457900, 223629515, 207259889, 946279746, 419438685, 271410922, 888672183, 362300239, 251406567, 760096899, 288840300, 687627492, 632895217, 767200729, 796149576, 272494127, 375168803, 75575353, 122857427, 321777043, 708063313, 79419828, 246016301, 575413414, 400266725, 281222892, 663839023, 68847915, 666218675, 365858617, 834658681, 877544479, 70646449, 377252875, 749747524, 509369752, 44628940, 496630160, 879235365, 596682392, 348076379, 659381524, 651093333, 199809698, 578430133, 589240132, 385655800, 469152980, 187455161, 98173261, 973052880, 381346380, 310814602, 691186362, 343791208, 334697444, 212828772, 87552885, 623721010, 470659228, 426331539, 714528522, 790419720, 946385435, 731835723, 897059339, 866044443, 93136855, 56275288, 691811204, 712824259, 271521320, 614141783, 44016814, 598783195, 256265175, 916847912, 654145681, 800052106, 921124308, 199152672, 935169508, 19318330, 517097649, 487301199, 488254471, 434266818, 753865722, 950018058, 731056430, 457768125, 312179750, 348767500, 986285251, 707220493, 48312907, 450245880, 925635223, 428674661, 201440043, 342477731, 384509182, 192854062, 364990946, 844132452, 822204816, 87767162, 245570858, 983507960, 81322129, 950659133, 767278000, 954595542, 162659263, 358945732, 982189517, 675329966, 276197258, 143134807, 104145145, 982944575, 659278564, 688056573, 41598845, 631565792, 111216820, 670069284, 85029045, 957706477, 71893187, 582342826, 229081809, 441636899, 266048428, 499301948, 681614687, 384371331, 831523777, 409196615, 799507581, 790289118, 299554227, 977134178, 228552947, 253191565, 565653240, 879787809, 716669867, 567401009, 888769070, 480930614, 272575698, 845856572, 148891046, 916146486, 809605315, 575970243, 578741703, 601466903, 292201221, 520754598, 615609580, 947528056, 767134200, 33817711, 55944694, 208665729, 407150176, 799926138, 939405398, 878852085, 716547148, 796410840, 451191936, 719762966, 394745866, 171519931, 746265176, 162898966, 114314056, 108734303, 67740231, 722626251, 239027079, 218625183, 267334762, 442492680, 742524614, 283686943, 141695133, 433525889, 941302015, 379256885, 632757315, 554483605, 72338708, 602233409, 916344444, 568706637, 184549176, 815708349, 782637347, 656769692, 16522769, 434570639, 963700860, 971487427, 56266041, 638930787, 121278384, 668769913, 171258263, 792290286, 135430280, 968744001, 399015831, 736441059, 84790981, 172202935, 358083667, 396349233, 182512269, 657670448, 148324833, 531596966, 3128053, 696728266, 313645194, 88856689, 620707608, 472750326, 330598625, 75723420, 21517821, 503879345, 619487330, 888217271, 76807636, 758453684, 604806838, 838013160, 58930333, 804836385, 804035523, 816651331, 18375158, 757128767, 855146310, 213066811, 564641697, 608518500, 466682486, 937028960, 601188965, 895209589, 662309343, 291002877, 8064898, 747579837, 304981454, 9145521, 412363463, 433562610, 919331147, 593760200, 477947492, 817485371, 958103740, 317599976, 476205854, 600382634, 237266119, 266838960, 83007820, 986852701, 178682695, 346513747, 531578958, 854942058, 602073997, 804302094, 25250646, 945077228, 349375373, 126661526, 276158057, 716484825, 825073255, 781253032, 257507525, 687989674, 427714965, 526089785, 306659205, 29103416, 115288690, 455245948, 390056921, 86573719, 729697457, 729286445, 189827045, 623098226, 155658132, 883730966, 938601018, 769704911, 359401130, 615334479, 678621263, 107916900, 768140316, 184602790, 611742269, 832677109, 723012326, 451893174, 807759681, 774647774, 959099793, 307945109, 151682017, 381699112, 134005208, 463348107, 444956114, 736898326, 164509237, 912548246, 499410838, 175590121, 158789499, 821276606, 15974130, 93326117, 372430270, 894374788, 78138242, 224892234, 654190238, 623039727, 547054385, 371263388, 537889743, 141541179, 220669156, 339746813, 982147373, 370658089, 566857300, 791439390, 229922602, 736869295, 107488861, 569329503, 776384809, 653782257, 717493983, 543891911, 425722971, 627294650, 113025097, 957321173, 408627229, 39978233, 928522190, 485039063, 958870028, 501686512, 33740134, 866400709, 228968160, 482400713, 278742604, 574635907, 770651009, 965927178, 639386511, 931945520, 830356409, 880233818, 609945394, 409347371, 831455632, 409204650, 323440427, 661387490, 88568341, 692579901, 792765303, 910004224, 996632453, 77520097, 474176566, 654239193, 841036989, 90317265, 643492872, 839018836, 832872519, 316520372, 821323370, 203726034, 848186966, 164205126, 58950973, 444015586, 427961880, 472905076, 436285833, 471085923, 25700802, 837436423, 892741040, 913611361, 319282599, 690356615, 628346520, 811187132, 674474485, 922006894, 302691640, 421981712, 128843603, 940499683, 483554980, 163966618, 631511600, 861027841, 349122544, 494819588, 829051553, 556025011, 230761141, 96558376, 565120223, 641987771, 240149553, 236489226, 632725470, 785002951, 403361488, 181066800, 880265202, 433682924, 626911632, 810667055, 912422754, 207310477, 403848802, 531316191, 136562473, 204470335, 181875311, 571401062, 170588020, 452074089, 973004891, 407624078, 699508668, 916219637, 327680316, 749909879, 154176, 419052501, 434816255, 5217180, 426312023, 989096722, 257613980, 806169509, 340939182, 616653252, 107670250, 597633487, 208977323, 754321312, 716713394, 984756372, 376831987, 623272264, 165419698, 346033387, 556884980, 231158838, 812060304, 262238843, 752399630, 260762784, 400873017, 797356630, 418642950, 281584579, 419335429, 445111141, 790809794, 274463931, 109381448, 204065291, 283471805, 997472633, 118576103, 47142368, 506670576, 551847386, 407087013, 658894827, 376468088, 757995492, 170809729, 647519716, 381389785, 890868787, 707641663, 102590026, 827850683, 378697357, 989527688, 786012402, 611699988, 925956931, 679773186, 52697219, 241945366, 458867786, 742968542, 107324416, 970148981, 676344609, 616390380, 274790898, 669031567, 253798452, 392569952, 448676324, 678412565, 789304113, 942076021, 377838798, 761689779, 805880292, 939553651, 458840365, 468731954, 22313951, 855379602, 415331674, 698163868, 969354842, 981976279, 332691405, 413503734, 473591114, 680463574, 451087312, 571315098, 755845317, 353623805, 186389705, 792388436, 861076073, 164493669, 727780982, 89103347, 668536176, 276527127, 526026625, 173800966, 278631792, 498521328, 458086463, 986995334, 852951375, 684740244, 568351342, 93977080, 331083272, 116225482, 499398786, 978301224, 50382563, 583903706, 71776913, 22051202, 46492161, 149486568, 260558396, 542068170, 301702142, 21419579, 529340263, 551706567, 35366706, 899398066, 534234844, 379065988, 160496187, 438473629, 116958443, 711929668, 896822693, 638218738, 990023480, 656602559, 793919216, 918539654, 354736629, 762781035, 735811089, 451413671, 929345122, 234584655, 910325399, 775416276, 907669937, 362714547, 951532791, 953911413, 221992811, 240582343, 754779469, 664048638, 768511142, 5769053, 275141191, 128256322, 566532016, 813850666, 770640765, 803784142, 474976719, 338554298, 933225697, 109001120, 871826954, 276196278, 173977691, 128276322, 663863524, 189794894, 696631755, 29863310, 929862182, 383479305, 849040140, 628251447, 935893608, 215234760, 576532724, 590174961, 974689581, 99334593, 471170630, 459208621, 835254739, 547319848, 656341662, 327015380, 451181854, 68296204, 201345689, 865757860, 614760154, 2798164, 548903855, 632290117, 412639103, 517150438, 822920437, 572862658, 661285185, 477019461, 914203768, 75612396, 715080199, 408708316, 677591905, 692171518, 236342287, 22585970, 255009626, 848495989, 575652307, 173305881, 720589373, 657584512, 966226549, 988440990, 556615807, 48497390, 557464853, 609630455, 723927570, 600790732, 417430363, 667762543, 43491104, 265454608, 166528456, 696149636, 534491036, 402087077, 866922959, 946435963, 804203548, 205514851, 164938252, 869453473, 745672774, 856822669, 673223185, 995489646, 887723873, 259987875, 628598050, 863464211, 462576621, 218477881, 177160289, 308147003, 989559709, 445103257, 143797648, 403114028, 964083465, 251785739, 179995273, 951031799, 791221372, 133990020, 507339993, 156605431, 450581056, 522051858, 327182115, 448152611, 894981564, 426559575, 858506955, 540005553, 699754005, 995365129, 769176567, 240320794, 824301520, 710743079, 932257095, 68144804, 807109946, 999713280, 348755526, 274612676, 344367254, 926618149, 3355552, 714483404, 22030212, 887634408, 728057593, 861717744, 591133241, 477649330, 192689663, 120800957, 332640345, 223803581, 526593386, 999876332, 142264610, 554985906, 39659616, 18422927, 808964998, 953901373, 81824865, 516499505, 715663549, 212103931, 326093209, 153866373, 682076000, 201627367, 476613755, 428319975, 473681734, 18304571, 147275713, 516651639, 163763424, 957248195, 435591655, 446535369, 408591471, 231327973, 304783521, 442975267, 370748031, 755228967, 724516118, 461230504, 254054990, 938642696, 210632133, 887448484, 295099076, 889473261, 764325469, 371839445, 253630357, 24030128, 586582902, 738627698, 292787734, 8523721, 761821819, 50994084, 610868996, 69260690, 364713789, 164021423, 307202355, 31408403, 346247943, 550435574, 720581923, 125992782, 130197211, 266085601, 8818602, 349707752, 188115639, 298456500, 487411849, 657345545, 123316603, 607724146, 78547303, 499962520, 618097339, 306839497, 667433283, 318864464, 433893343, 29994618, 456881739, 825549787, 845551887, 621916979, 943953771, 594933918, 506463257, 428782723, 35282915, 584911139, 763695517, 767613924, 787979438, 352882580, 778292613, 848370276, 529470198, 718460360, 168504379, 411703747, 1633819, 947431853, 669204781, 73293356, 478196185, 944495023, 680865815, 111766846, 450673123, 736239645, 585693031, 592773444, 561524039, 375051297, 368024641, 694207101, 111179594, 44114688, 949635971, 194873265, 30704376, 82576836, 868204934, 319457081, 417465360, 507220600, 401035618, 933168057, 952582875, 390318558, 262418287, 931388086, 459490896, 904667396, 605257819, 392914502, 885675814, 913916526, 218491127, 214658580, 992408793, 479390444, 47331981, 741230160, 940168155, 248451498, 364310541, 632007723, 43769405, 349187305, 68669660, 908541626, 15240804, 799092985, 20215376, 110516287, 180665362, 897843355, 521237083, 829526188, 455158879, 479444441, 610785525, 452383273, 850705046, 208187229, 187333849, 283398967, 472791530, 25776098, 817835723, 115185083, 17258590, 732310219, 22092392, 205285614, 890553212, 724933964, 155247387, 860276571, 665701181, 336155856, 296625857, 919067518, 892731790, 936998346, 669875980, 49091449, 495816166, 954833679, 24243381, 39208833, 39843698, 48035026, 623069909, 754636087, 462302870, 878340218, 749454907, 927814644, 977545558, 234976157, 462272286, 925070876, 990417439, 904063252, 656679456, 70662411, 22034986, 491119170, 558181226, 756256718, 651330433, 565078090, 249676077, 40408782, 80170108, 196373277, 928029784, 194316420, 538318804, 734215042, 406821203, 919679875, 165765918, 75618609, 655620010, 409262215, 852738095, 800596939, 936156914, 816897250, 564133015, 624200071, 189308895, 295258793, 199905096, 895502722, 135142038, 42490792, 774043759, 549496421, 842926937, 121020265, 795503860, 448220660, 77081910, 647733867, 912749000, 989217465, 77488139, 354605312, 800216433, 486770826, 478806532, 933867507, 772516550, 623693660, 328055850, 936484196, 550931772, 226083977, 847791673, 45117007, 193844283, 96152617, 167918315, 722220093, 741138063, 317768222, 388536659, 615081705, 491015637, 749293571, 452035710, 906531185, 74293989, 323799959, 110217689, 703142462, 964338322, 338643823, 266892895, 711923148, 736806507, 82327311, 362731922, 427492025, 931068117, 732828663, 458204724, 699930422, 707098504, 175326528, 789841456, 808777564, 220109086, 299385329, 969210970, 396362930, 518961383, 137321147, 558943870, 350744126, 908443531, 710044600, 420726943, 49564771, 165743517, 802463456, 580411249, 587629349, 174335542, 153549465, 803096650, 947715162, 45989632, 487469862, 228689623, 173448525, 829645415, 206339138, 114476674, 294547165, 277212891, 633741097, 642518082, 304450621, 75934250, 978153549, 43665416, 433841865, 383037138, 139392930, 663091170, 566279036, 526359991, 215094170, 132943523, 245562545, 477405742, 727139426, 725123756, 214083061, 702874472, 948210240, 159314619, 104515426, 2783840, 693893065, 496947635, 761127798, 831765235, 416547843, 359939456, 490958683, 710761976, 362331572, 777418654, 466482954, 910923582, 910693606, 234284354, 109185893, 847107739, 164119167, 402283039, 765741204, 950728740, 6655183, 306307587, 744805416, 914403417, 542025929, 342809388, 608486001, 411242279, 93601824, 681080990, 26508306, 415558075, 601472963, 224894917, 555189609, 188185072, 341614117, 947419563, 542186125, 454781817, 383910754, 767237980, 716387976, 539208966, 738621662, 72854822, 509569898, 68449836, 429720913, 612548763, 453186218, 284787065, 61247730, 582814089, 747431950, 925381538, 845321742, 606265596, 619446842, 921554494, 430196465, 946644559, 495738481, 617269972, 197898112, 531321992, 101149152, 570227856, 983814475, 592569869, 165841680, 260476034, 927822553, 102697384, 438425313, 392874469, 927424012, 161845076, 594511798, 355141713, 736670892, 83591352, 536224818, 851920989, 555304114, 697800711, 913092640, 964125475, 629038677, 392363634, 188574984, 115034953, 335281190, 637850993, 513517734, 752520387, 832302250, 631473321, 129638674, 293527202, 973755254, 513406652, 711943530, 889737739, 401077040, 252623418, 474839953, 264160727, 731429343, 886462708, 905390758, 439325118, 78631200, 756678354, 179975900, 936512421, 260051347, 62945636, 116578216, 250338147, 842917051, 641015940, 131193044, 836257216, 737800165, 422532082, 907043689, 215533074, 995205684, 983947053, 472468505, 154668775, 954263810, 435874150, 905334157, 56249798, 758854318, 317166783, 410977922, 667048919, 530388638, 996987085, 384069508, 396270349, 791937482, 65589658, 817914196, 979534220, 456922950, 24620722, 283677007, 405992219, 292641161, 567692616, 411963429, 866998009, 519438221, 293791093, 737214154, 803057681, 277720086, 236231262, 25272716, 745448223, 979105831, 74370056, 574341722, 853947298, 322779547, 927621968, 476146499, 897903903, 765719583, 755966859, 629962413, 68812359, 997813132, 551288039, 755877876, 469191282, 892966744, 914608721, 523873356, 898696154, 172505779, 848272931, 201625804, 921493031, 277892646, 283599507, 485262581, 118850117, 670347532, 278751044, 519394370, 538847647, 189859215, 268239377, 182342051, 21538504, 549744289, 516710046, 99962211, 181398686, 202116151, 809363223, 578946763, 948744147, 618077432, 927006410, 371868827, 764936885, 151443880, 633764476, 220337746, 328977071, 448148075, 636686624, 284270922, 196627572, 370410303, 774505537, 505118057, 651576495, 922380728, 961478824, 880009240, 946202835, 767132056, 712426727, 939158471, 662463471, 659378150, 376431343, 828287702, 199452848, 87600515, 948408989, 688204066, 130609292, 248960346, 15449946, 901932342, 960200112, 855969239, 880131366, 101499434, 341430953, 980407410, 322082626, 228572762, 311178345, 321136117, 321904559, 542389836, 567074667, 230130457, 702499393, 997493220, 834294277, 168036097, 77611436, 769850210, 943750978, 338967211, 444919816, 542054526, 148736476, 460943833, 126001703, 357272373, 649095651, 455441815, 96420482, 296892072, 49215933, 470118163, 287626703, 701464235, 3201869, 189441316, 25124520, 140745494, 639721791, 697391915, 550042797, 617565395, 842158329, 857260790, 321523041, 778473893, 272783565, 330876754, 423667473, 563851400, 560053965, 395013806, 450012704, 637669012, 984457056, 777927936, 52537088, 203307897, 226744720, 65561479, 931116443, 631244829, 121344903, 516691085, 910831878, 5298352, 608193140, 649713423, 462129238, 995510921, 777715878, 226740875, 195239517, 56120319, 471717420, 172807750, 839258416, 477322744, 344842302, 329207072, 494046263, 651566137, 962363182, 655861171, 380528283, 487525193, 713209070, 343700578, 479581007, 273371235, 300811278, 858826589, 315008361, 367922616, 686301333, 153666483, 221216468, 734982231, 325492604, 283242667, 619337910, 813649960, 663613004, 996567878, 49368297, 136120993, 867959885, 771205526, 753526801, 533717520, 756049873, 768170909, 787557136, 523354367, 807228477, 59418932, 396826880, 487016038, 426547185, 518318018, 912714882, 838061351, 865633901, 235578717, 315775158, 817126183, 464793382, 226605515, 719918932, 951558837, 549584361, 377449536, 624671399, 238756178, 61565844, 337493270, 900190816, 598646751, 386042960, 528266605, 817192803, 209164482, 45206041, 607231554, 622447771, 393211520, 794486557, 238517578, 226314958, 701498598, 58650784, 693179242, 208745419, 357014342, 205570518, 848232567, 822797023, 757094118, 106840863, 458248688, 346730735, 919796577, 80394987, 177918903, 327434091, 726589507, 779194635, 442495525, 323864990, 901935981, 513722591, 696565711, 527181565, 571524957, 459580498, 186191782, 476827115, 858691852, 33193893, 484090360, 849341458, 506453577, 546952400, 618950980, 509002358, 781612052, 565251581, 668967696, 750992157, 861548063, 690680638, 715299385, 788104018, 462501285, 343876161, 340497298, 348621932, 203542034, 726076320, 232463136, 315434819, 108665255, 322840205, 525394067, 885107358, 626820732, 193992346, 393897155, 556701341, 657967981, 815085216, 698812623, 234390164, 206896555, 853684363, 575109994, 695342145, 49814568, 427635301, 724862137, 532937320, 746711668, 606163995, 459194775, 802073642, 434571564, 835006097, 569255085, 663697444, 28183203, 532014810, 359276259, 558586023, 227677607, 456447217, 118638434, 986629343, 11250957, 907832069, 390729944, 481351845, 879827572, 28110766, 534889492, 116865386, 899785718, 562595326, 238131866, 275064498, 781849462, 386914590, 321632335, 938391576, 43273482, 108455319, 128535785, 488685380, 468397574, 16079785, 281028387, 382624787, 880130406, 712206892, 193516648, 425115379, 870185362, 251278787, 504302960, 52103646, 439932967, 951682102, 530899537, 661514024, 826122467, 208225146, 149843260, 356537573, 300078151, 19587700, 128183881, 572132707, 833659101, 621365155, 876447232, 636196133, 51989341, 801336190, 602288205, 795608269, 753765205, 449591165, 744364428, 676394424, 571336877, 220096609, 396870884, 135735920, 119234230, 254163731, 542951274, 179278432, 31544912, 964198939, 717999128, 697916644, 669984291, 714115024, 219707103, 366447439, 278018084, 469725222, 178087175, 595099689, 770889175, 600214053, 408379426, 769963218, 11033941, 90144088, 245997219, 766871423, 500073499, 900732247, 223337052, 780245450, 393817985, 403988029, 76243221, 307897627, 488372743, 490990294, 349928007, 951158262, 983370577, 496507059, 523784191, 587471498, 4671172, 301584610, 541505288, 689830313, 297048128, 333814104, 596433436, 973340000, 419279651, 11274202, 884004368, 889911414, 326045520, 150294578, 745598462, 389584960, 687612852, 141371527, 100187236, 818553962, 764418212, 173826942, 767398769, 565749048, 772378511, 196580871, 278787091, 727129385, 412780396, 808521654, 590586606, 748129205, 225424191, 172397297, 375481386, 869727455, 453104061, 591429407, 551283078, 402145724, 72164619, 166600779, 608745803, 895787739, 277717596, 343207094, 298844822, 269226390, 195824095, 380936401, 87831612, 828553081, 221844566, 502129225, 996874708, 741947042, 654370845, 454970032, 627004654, 984001232, 896544510, 711613623, 298656357, 269002651, 924776675, 596676955, 718215278, 260315173, 849060479, 577238697, 360641729, 386500950, 882240216, 431402324, 453890831, 358239554, 4227572, 459563147, 55606886, 793663399, 753082181, 984602612, 164888849, 393937140, 255957058, 747802017, 844214110, 451207245, 227668907, 272800920, 571158542, 711746006, 526504688, 911793351, 903879369, 83673275, 601035238, 388129499, 704987811, 965445995, 717233488, 475513624, 625669799, 845832884, 190660183, 900999777, 420882382, 874098805, 74032981, 509638219, 858928228, 942432353, 736720267, 497005183, 835664979, 653516931, 599408802, 592413282, 417430596, 34171258, 500164939, 525047191, 389978494, 850561475, 414513636, 975554397, 304578370, 132591398, 440360675, 524970722, 229908795, 624590130, 993026981, 581973940, 832130814, 868605702, 57444960, 279058915, 900969340, 942020297, 482410823, 422487670, 196822527, 138785554, 15695213, 223560920, 657327257, 533639898, 305168493, 852930388, 197516279, 769136408, 93627518, 207183394, 850850043, 555828688, 878746976, 145092558, 195809587, 639444714, 116540422, 132247897, 983067480, 444556102, 628022370, 746329226, 155773593, 984580389, 558789069, 454899471, 885599857, 866748887, 472994580, 317633243, 935865165, 776807980, 534743955, 777690067, 698298545, 496664405, 71923000, 187406212, 280955011, 757457544, 160154248, 99890941, 457196020, 589283072, 88112133, 894065814, 488540573, 320299227, 663926897, 378857408, 487941494, 547269556, 36058018, 852360663, 257926889, 58303760, 142096977, 401564006, 236574200, 916351323, 121142939, 119682055, 780491187, 515172322, 416546194, 313087019, 942212139, 949731507, 343642771, 758603819, 78741596, 773491385, 719671835, 817806945, 718919471, 299967707, 569150144, 40011596, 423059868, 250028762, 62448917, 359065145, 902193609, 62192185, 323812823, 695165992, 336048476, 378340692, 132253802, 775758725, 280790117, 933057613, 418009497, 606665788, 541202461, 651366618, 530157726, 395417421, 879012844, 109444368, 557719180, 873171694, 686623961, 157926132, 283856646, 876903847, 485141261, 550204062, 435956574, 473413816, 539858847, 227846795, 340935030, 712064998, 708525658, 915413810, 313700542, 707820531, 867876636, 395847789, 131462314, 56278810, 622554682, 899035649, 564174538, 883287470, 46372414, 275001094, 745505057, 758583877, 390962320, 723895073, 157144232, 178905212, 287159460, 66423854, 958820479, 518186952, 805689546, 87692876, 212788999, 684044429, 615117809, 679173859, 343955529, 283946055, 660693539, 485325822, 763839005, 350780186, 951336468, 486670287, 659536451, 63656705, 51080082, 337188473, 764098206, 217155945, 144561001, 722899020, 145933411, 665676363, 875455227, 940980620, 37569176, 438828288, 328511410, 169725219, 272920720, 387498060, 271244094, 855109896, 988997338, 216781336, 986657191, 249677975, 150999049, 637000675, 640986403, 957533541, 492751535, 894819693, 640760056, 948133456, 355480097, 995729438, 555066679, 954698103, 896384356, 508197171, 107025523, 407130548, 420154183, 437087730, 302650784, 356625811, 226508182, 991315766, 394144991, 483398537, 470420948, 856098851, 680176838, 190756899, 629253594, 349898024, 195453342, 208235118, 821415028, 141878311, 247961785, 354800609, 914947833, 731754639, 114915885, 604380586, 299464562, 481771398, 437642362, 183001288, 829660437, 204654136, 995632418, 579832900, 626005767, 529236848, 137884136, 284566779, 973017620, 785659067, 980934082, 481858620, 279932994, 577646665, 715766922, 679504557, 842907455, 932155066, 996518431, 328476278, 576962960, 384980602, 209497912, 423566110, 584890034, 17415557, 774953800, 359772754, 858716563, 22859557, 255300155, 405436856, 438536476, 180655801, 878100018, 805234288, 53850671, 956928055, 620570339, 145072310, 372955435, 72088281, 248936373, 684621122, 230214442, 965927729, 427038102, 108728522, 668107173, 787161995, 631061460, 618887907, 712958982, 830963844, 623868571, 564894262, 601052372, 466288576, 188648432, 601963288, 444322002, 892345919, 486833029, 18946573, 96726504, 453680801, 325934802, 54499975, 921829793, 146785969, 20054495, 273780144, 390947694, 948356236, 112860684, 160821740, 683869224, 371898433, 412849706, 150444457, 553494532, 91448841, 663418814, 220472244, 249386506, 184349748, 403238099, 3601910, 932630543, 985921084, 846280201, 762143337, 943733498, 722807338, 498076390, 898089662, 161473137, 609717458, 245320315, 868260653, 426275027, 624294893, 657562001, 646668870, 326104135, 963371357, 422110947, 898159229, 465469559, 968952377, 424415928, 967203972, 7718162, 69667990, 657609189, 870702036, 249882395, 283081595, 836697302, 562265328, 223177596, 446257951, 409851014, 682152806, 554269464, 380338011, 146135882, 345950684, 388721735, 940667293, 112762186, 71018671, 925760729, 213263793, 619221134, 778872433, 94464834, 231685279, 942668919, 23840968, 924927635, 431248379, 45345187, 652860767, 974979077, 485290810, 93125013, 133697630, 916633100, 158693344, 409618100, 586101937, 756641768, 21164691, 655359871, 777386355, 85392622, 480849365, 412664414, 233599875, 167965869, 798676378, 425100091, 925089944, 321457385, 540207543, 354244835, 504862114, 262396764, 538686621, 118353644, 324646139, 561146659, 850250036, 876883408, 764099427, 324647204, 784422169, 366638792, 719258152, 968960359, 247726786, 947082942, 634667041, 689307725, 285560029, 234650926, 989017934, 107316619, 190209870, 953107890, 818424542, 361259668, 250227518, 322919957, 228514849, 299174048, 94998603, 586020101, 707255838, 927535117, 46876087, 777720401, 787568510, 333091174, 139516941, 3532103, 494718476, 883130780, 680769942, 447306076, 886705914, 370773892, 957514531, 368885420, 595222028, 269759183, 22908932, 127920196, 827009107, 792903259, 815337681, 51731118, 693720641, 636798001, 173903598, 564035238, 922389369, 437058567, 168939471, 823319174, 477819816, 391459338, 492038418, 660786186, 237410139, 155566507, 528057080, 428980662, 80295278, 675108202, 563621068, 60695509, 611999770, 5690257, 416046358, 568497299, 216348857, 455572896, 680513911, 177041193, 285322363, 947016962, 471846816, 25489668, 68209771, 172990998, 251739087, 645226362, 616556732, 367705691, 69345071, 487099451, 779005435, 880005775, 714596460, 759975593, 446781984, 709516948, 853089168, 749094373, 480655600, 880294809, 280840367, 412451796, 60838930, 324225816, 846584284, 714480969, 676484894, 314057565, 103154970, 805053414, 763594376, 358633058, 647025576, 888229789, 696658035, 548682761, 126389110, 297145676, 385426223, 7770663, 475017959, 75427934, 446218743, 181812924, 732244985, 114869790, 115423401, 850439346, 172333155, 458569741, 302978137, 666257262, 930732724, 540198956, 988421791, 537045625, 733988309, 246164591, 302310424, 869124922, 191957436, 626761803, 617676792, 547579009, 864545364, 918414368, 532710155, 29747450, 341878451, 806794172, 469298704, 705559940, 20657479, 780477436, 315496805, 211131190, 34020753, 961914963, 482054770, 327639653, 765434560, 56213017, 345010481, 997949532, 145674099, 249991367, 486070034, 478245943, 577768628, 29103732, 749350868, 161388198, 399308744, 368241512, 660200999, 510109706, 91766495, 720737113, 354742435, 483379645, 926523920, 594115829, 899804069, 182346719, 663247235, 712916021, 777666231, 607180615, 379295239, 52051171, 524767746, 971294054, 45195979, 173839145, 256991139, 557792265, 943384879, 551445008, 215477371, 347683988, 866385532, 965817676, 694507257, 547532370, 208063847, 302499611, 811287915, 949077272, 384856468, 890746805, 320038374, 650622887, 736022806, 55058889, 633868609, 227455028, 278517967, 480627022, 551216374, 366173399, 626091594, 459983602, 436380996, 587605043, 570871711, 213691478, 893436417, 645273231, 820551355, 968987419, 657086087, 956564960, 561962408, 208466297, 207436534, 865028362, 740137071, 84377974, 56819581, 180143955, 824971963, 101705742, 443198530, 152613217, 89502679, 470891222, 168826381, 340205781, 660142392, 271042087, 973810888, 839552245, 597765141, 694162508, 146183347, 911367111, 96329381, 299958750, 889038092, 853179748, 186024192, 38585149, 397864556, 16518342, 882371193, 772725240, 827024113, 91274267, 421886115, 594788776, 811003542, 392026878, 309089571, 124182806, 91382627, 633688086, 638018414, 544926381, 780790918, 966515474, 914050606, 300206642, 381162989, 453894637, 963771045, 895579660, 242663401, 771063394, 430699842, 395116985, 236215457, 381842588, 434222139, 380944085, 735463841, 612949514, 723791998, 718951398, 959146189, 254104949, 512784505, 67577215, 67454068, 732710833, 831195406, 312385442, 528327572, 218318604, 778776191, 364284922, 638153968, 751945937, 189575975, 393061407, 181308441, 108630964, 708010916, 918459184, 430877762, 768606623, 502808575, 603126463, 188978149, 742904853, 933987721, 493156794, 442825330, 396308626, 477354527, 598228037, 829096031, 949318604, 338872555, 803065834, 436464690, 629111408, 309448092, 235392481, 162248041, 474718181, 776610036, 912835980, 635931930, 638118435, 71986270, 646425203, 372140469, 477414756, 963532847, 561687090, 485305169, 959822086, 315302414, 429311556, 645672895, 314433977, 859734552, 154004338, 213337157, 152571079, 260547901, 919058144, 599800585, 835416120, 527760237, 484209282, 196542453, 122264625, 905364108, 776707920, 80005221, 8678595, 322655336, 979929554, 903349997, 557874063, 476319440, 305277211, 552769082, 243739839, 211425416, 200256576, 62002924, 26873519, 988705547, 591206657, 221748169, 802681921, 767363125, 376401213, 241034031, 731183365, 193815679, 757103133, 529585907, 923565431, 569975827, 339324260, 295120902, 432395809, 16604536, 439233180, 331746883, 985743867, 821488367, 500157583, 188896546, 260415830, 597984831, 821976278, 839608791, 89488332, 517178267, 362526804, 138436871, 364561419, 772824903, 910843862, 108322840, 791612859, 382969742, 637237607, 575511230, 269595317, 491608922, 683645024, 71794540, 395346502, 989376065, 993070481, 555201345, 71237905, 632520953, 464372073, 939930096, 614523105, 495985201, 631313337, 985946365, 857253889, 245077713, 883055736, 57389697, 1072660, 442485840, 577387627, 758953481, 598074195, 146774830, 59773123, 883586189, 25185204, 410817346, 305608052, 592983934, 654029954, 920589900, 374808778, 400618778, 193475431, 436363500, 310506197, 382680292, 448580983, 488131723, 141757721, 70939470, 131240488, 628654683, 244813912, 821685058, 130644728, 702992732, 611398686, 728258457, 241449339, 841139579, 154892979, 498755258, 748691915, 801404981, 275248873, 965234386, 220358428, 962693783, 424752134, 441114917, 467732648, 160517774, 234588475, 84446286, 504172428, 413864429, 474332142, 102698177, 665385228, 504433255, 709575907, 938487608, 171924311, 509632272, 17761142, 799765714, 306024645, 640372561, 199064080, 439606319, 541244979, 616559584, 817215575, 12475936, 549718910, 199562083, 510648338, 626882158, 170449463, 467427178, 411518967, 986243708, 814858404, 283083749, 511725395, 967369962, 315108038, 551945106, 7737166, 765307425, 556333400, 80377603, 683673643, 808169623, 179193648, 36092828, 164985137, 35651089, 900777094, 600301438, 436073245, 214787559, 607637643, 407744652, 496848886, 26257047, 210369666, 439056067, 936100566, 174749369, 53595600, 930659364, 150759888, 287876265, 796311599, 289802183, 680770081, 331675353, 517834084, 829725267, 545073937, 685402238, 824824358, 759168823, 644197477, 228277629, 410186059, 182724256, 420097450, 594833557, 45629305, 797073617, 791660991, 112422040, 533347911, 350219302, 884073428, 789308872, 880348400, 866722670, 771217912, 547247026, 363089766, 854356954, 294873781, 135212556, 222038735, 407316577, 832787254, 165803083, 64690076, 636210471, 167868566, 568876704, 792975126, 988527853, 456982113, 571072062, 18516200, 516381405, 859411629, 650956908, 126127039, 89675395, 225737484, 632693324, 52068681, 933219301, 905916208, 560425766, 118535296, 606780244, 268202324, 128237846, 472761692, 884062569, 145324974, 778995185, 94948362, 230294904, 380780716, 35485876, 854902931, 166985564, 12011025, 461809698, 458811034, 749492761, 279664365, 778662471, 869654147, 18767959, 739769161, 890048098, 717225335, 79074271, 46880653, 105916613, 848291819, 201578317, 641562178, 746085339, 950909466, 541355228, 296131339, 99715797, 180375424, 416598854, 534950096, 609708771, 189393142, 509701858, 837959195, 768505815, 287293361, 465438003, 761361000, 945575642, 216840163, 529914404, 879733769, 505613289, 726703353, 319992264, 927351685, 5186720, 730679560, 167987692, 36107754, 560547989, 313373511, 512827122, 51104720, 763525974, 575977197, 253527980, 114809659, 976290440, 307916591, 557252430, 386251331, 9261498, 328245529, 536005382, 502028194, 470608125, 471860944, 540906797, 434977155, 23076746, 724063778, 895628818, 408568138, 101625028, 334486456, 692576205, 409713616, 358485903, 731851377, 230130918, 464108201, 526879137, 386583561, 27232097, 117310763, 286433529, 80913115, 374221082, 914513987, 426767266, 1027527, 598297762, 578557115, 379661062, 517009029, 776006912, 887652595, 857234772, 298530107, 999182390, 594789936, 352254321, 71470930, 956054562, 875949421, 306072092, 69687972, 558784371, 911087375, 794348236, 130046824, 272828919, 443690131, 684776312, 716413227, 87135841, 961983709, 880046662, 861160180, 883477597, 440100252, 663454147, 689213258, 841274923, 19449696, 723890296, 123434175, 518793847, 477340269, 607469124, 88441328, 77130768, 89621851, 104560443, 209520547, 573779157, 617267553, 789123931, 545238046, 198828519, 32476828, 303198369, 890754287, 854904604, 974979095, 240919624, 874468050, 737674739, 529478038, 912952488, 792292204, 73239011, 102982311, 510325853, 440141445, 85788082, 735682045, 783940033, 208382158, 52623174, 716096031, 406923846, 68589565, 534662782, 517035770, 828846170, 542810320, 239452670, 735214195, 613822379, 884615029, 240863479, 479175223, 78874087, 573271668, 885753626, 464533400, 527556090, 259907571, 937612796, 590064352, 100296414, 784267308, 597221705, 868647338, 345339615, 667547528, 539366752, 470568691, 398448089, 995538769, 884579587, 362870955, 458040828, 40950172, 604520403, 345505049, 493063389, 240990756, 707547584, 108911334, 148487168, 286214994, 652876383, 589348894, 702720752, 170627888, 461203066, 387822711, 10669344, 552677574, 663589303, 557885298, 961511277, 288248102, 285686353, 85430687, 741762926, 305141749, 402745668, 947928230, 606489921, 818046118, 62833889, 822455406, 384278220, 88650612, 718759089, 976016322, 47131114, 924239612, 90197316, 822817844, 11248015, 880661641, 164616560, 886889889, 985592491, 728287808, 743310909, 340846099, 645157050, 422402968, 110497110, 232206662, 543267311, 678332700, 130489107, 714674785, 224896432, 114233816, 871128922, 597398833, 543409791, 257480737, 805878834, 307094546, 683166664, 606791307, 84850102, 371340950, 687375941, 641571058, 654107072, 18649000, 839623519, 271467146, 424454018, 932151932, 970335392, 281512921, 224438955, 954668288, 776743660, 764519219, 51163355, 8659117, 454026075, 447674524, 956587043, 283399442, 874655919, 703282359, 926408599, 17804862, 470647119, 86053775, 661915633, 866621568, 555673039, 573225276, 149488170, 112221056, 299200010, 889356738, 980459460, 940972750, 924085540, 240803987, 123895268, 783112506, 375611026, 906328368, 99317124, 383501498, 932908074, 369040636, 959451348, 746906383, 732255974, 798968801, 261073723, 407415474, 862462496, 574852091, 87444330, 1868858, 906344264, 959181881, 244541916, 909296216, 60982442, 110909860, 613737527, 133605864, 271680845, 422488870, 731851481, 629285172, 547415451, 30386427, 780027648, 997947172, 258477843, 875322381, 18918348, 887457693, 366329755, 895092428, 521360582, 943827929, 843702288, 277916165, 225050040, 372269996, 924085903, 575263843, 898359868, 913593959, 235016017, 489802131, 489469528, 163295413, 616988652, 647283339, 187096732, 160947200, 685888278, 791055087, 550465445, 82548319, 991475951, 749983094, 215268413, 219947420, 518307482, 317786002, 498064263, 527514558, 882868548, 303382139, 47995640, 687262008, 445881173, 105823738, 598671909, 717711144, 540544909, 904570871, 427412048, 220819632, 644166618, 374048296, 421662589, 979114602, 312270479, 173661527, 757649657, 377128544, 59691047, 75811102, 604923665, 962626843, 93225063, 329384085, 381213018, 316746853, 473952665, 599464683, 698601948, 986298195, 655666382, 645762928, 575697799, 970534074, 707092279, 604662137, 249710668, 488115896, 670347062, 610698647, 456780283, 762246068, 694725632, 25526396, 448640461, 787323914, 345181553, 259074557, 481440278, 815086156, 682354651, 650092714, 544180897, 714593625, 446390202, 7818386, 254880203, 14425847, 300217154, 345743095, 638461967, 229438130, 455619310, 806640752, 965737312, 116588818, 906038536, 539479803, 842889850, 369946395, 899153417, 401892273, 244855548, 220813229, 207078874, 167643827, 243361487, 397517665, 921578642, 854893268, 654292251, 501414754, 128557059, 526016293, 319934066, 750066944, 704158606, 263400708, 923912946, 646416216, 861504100, 986146348, 190357832, 633191347, 695421847, 451504776, 965009406, 310636393, 9105545, 121521057, 688360234, 416673995, 699134941, 136044051, 93950844, 132582103, 178747007, 575452278, 477801225, 345220128, 531314953, 23701220, 960575618, 512466878, 55963808, 725884262, 488664358, 426153636, 595055470, 167678428, 235911763, 458165703, 98274507, 413553118, 726955218, 405262158, 477253757, 981302915, 593894330, 345140014, 138084397, 359319321, 516432747, 806902321, 307446488, 749742198, 436089312, 914223692, 618374845, 718168577, 535695170, 42496915, 164091713, 590186918, 143307333, 570040356, 739427466, 345398911, 728236733, 932365701, 877333103, 798931268, 531030074, 992750078, 390477594, 907907253, 563305482, 933829114, 469934827, 201501360, 877854461, 993530385, 176729896, 544370133, 424455911, 136577562, 564797036, 618214040, 28275835, 83301103, 814830918, 570952434, 681105265, 430102047, 262498061, 220619187, 540732158, 667228676, 959999856, 690040372, 624728227, 262443233, 960421917, 72864406, 41856391, 198959189, 978110519, 249489783, 816729190, 764888154, 308454996, 424064947, 259045524, 265132514, 663941619, 787226176, 901062926, 995408593, 528463104, 758515401, 127751986, 274833849, 578302179, 766392392, 140542288, 295094110, 206765160, 955744953, 194946382, 426632876, 331455485, 970546126, 837672436, 786013836, 553104674, 965019546, 663077172, 445282844, 332421455, 395229976, 72208358, 156013027, 23348802, 162079402, 921308448, 185517780, 299548181, 7563299, 569136589, 51172298, 352430422, 288924928, 290703405, 578598698, 158221578, 885895006, 507170554, 812846541, 799623590, 866883116, 477472311, 663299834, 283064535, 43533912, 899508572, 672072817, 320513098, 516774568, 683098556, 425047658, 903138994, 62255404, 299593139, 231873807, 428149115, 395497252, 588128291, 963026067, 701055820, 271777691, 863748411, 902354668, 373703954, 985036178, 829438629, 522206147, 77432568, 615249628, 935942980, 900336996, 553347766, 193731059, 101732812, 286460157, 703825470, 528446974, 274744703, 746391301, 780638437, 456940397, 2248967, 297239100, 832369255, 575995685, 714205617, 320556106, 660423092, 891340460, 300106702, 735481120, 540339865, 69645635, 216639574, 95207068, 777054000, 588370000, 868463287, 649807856, 44433758, 171009500, 894381762, 117820817, 804878017, 610115675, 295882221, 780982529, 76222753, 568132370, 225995585, 16853606, 768131133, 67904008, 516566307, 606791903, 473314545, 880856109, 22713266, 357625708, 886779413, 994109661, 910241426, 658885496, 350005367, 914106703, 215390170, 995612851, 679202158, 411801545, 714570885, 374139789, 421876447, 39767143, 150230133, 810062704, 681044417, 474567657, 501835839, 331625029, 653667802, 738051856, 269459500, 715401090, 853724540, 703175286, 990331433, 190408068, 480594110, 212942693, 874809500, 92804551, 292299540, 644334226, 977847739, 605899178, 751686581, 119528390, 196528237, 769117632, 278408418, 537148884, 861671633, 537197424, 649026429, 534311569, 129752596, 242093511, 455002442, 50527887, 625943278, 398534102, 959629706, 193421081, 829826650, 112277497, 697972970, 860532199, 888655244, 938926749, 969720729, 684409104, 678062441, 766187352, 829927561, 621628418, 45597562, 195269470, 597006695, 285699259, 415563345, 399201459, 824444337, 539846054, 275891951, 382483591, 713424890, 915701811, 594049147, 935766165, 834529181, 156062567, 591263099, 300184597, 775557684, 230362983, 849493071, 770882566, 952140200, 100477364, 140410612, 989474330, 573610577, 185572830, 410190762, 764422559, 419146498, 671013351, 826593800, 605743010, 154361041, 656334805, 960133280, 902576294, 913325743, 578172645, 818457697, 402311472, 111759347, 239768579, 797864475, 985508206, 26190799, 673490403, 179650010, 21025110, 63313900, 778351993, 720846018, 307244391, 939465418, 233969094, 482333113, 276736945, 226241992, 615102071, 218124856, 747405728, 759864803, 239075398, 299717341, 642764859, 273510703, 450067336, 208937338, 316953906, 585832895, 897455117, 493487368, 544967449, 667019210, 925142512, 615342286, 832443073, 663235726, 590444562, 949970628, 646331639, 633259247, 166235697, 423731405, 592519961, 883108043, 990321629, 968013958, 132204648, 392919837, 885155694, 274202204, 78978424, 564756957, 228339655, 483803472, 230169636, 758861465, 681775781, 490930678, 845275517, 590549032, 798522401, 935950685, 437751545, 367454797, 802999189, 452072146, 581326814, 608140841, 962648798, 344133545, 180024650, 969037882, 96096664, 398434459, 988871772, 825522674, 216512616, 310902461, 38957207, 379934672, 625448080, 424808878, 988363917, 842158778, 284896410, 676847041, 104487506, 431100455, 601494077, 293333271, 937875110, 818647844, 163973990, 489001658, 845230772, 318416550, 213219661, 10608504, 83909931, 984600441, 130100791, 784899737, 877684763, 849990259, 521688265, 789427355, 191462396, 532076332, 604209524, 835326555, 173263942, 71204538, 264457542, 547110512, 586060878, 85540536, 925582720, 771522663, 149386590, 290861181, 512072086, 419087311, 697887885, 887138601, 719754040, 845910205, 921815279, 857512014, 671613457, 759272575, 329668264, 580097434, 561877846, 615920555, 345403326, 653487480, 930515034, 125139195, 129200026, 879553363, 713643375, 205899437, 857248996, 506314883, 227780731, 612078397, 605368645, 536595965, 582600606, 101675692, 568098311, 841506424, 215905054, 918179527, 998514254, 393345772, 583956540, 349594728, 459051508, 939186192, 498300257, 132711324, 72413570, 802862564, 563507159, 936126045, 693211338, 285596573, 523428740, 478132049, 228018094, 22206208, 446874908, 832542054, 539943507, 241834499, 263667280, 863486309, 149287388, 808145758, 960949329, 982108952, 871109104, 54784831, 344285998, 292022185, 225866738, 714917553, 686022532, 383466138, 463249638, 42371535, 795303644, 81569444, 438588018, 829281638, 197729908, 500395470, 129166457, 458330216, 563101890, 391070765, 631399330, 210101817, 193140965, 320659681, 660415121, 437839074, 35888668, 867471526, 67058667, 190045798, 706316806, 295946149, 829196272, 472354309, 972085972, 720157051, 897879215, 961308912, 720139117, 330686800, 294059339, 13783314, 15000286, 208590095, 257909570, 232441090, 469040674, 933745914, 958883504, 208038882, 271595940, 67933884, 783165352, 30128357, 717696093, 328499001, 445436474, 94383134, 782132043, 392659952, 545444990, 860802123, 840876025, 804308464, 68903820, 791377590, 329753388, 506004528, 765403586, 515477507, 877426508, 969648922, 238849977, 252925493, 625829161, 755425230, 776178690, 935751781, 882649965, 644732878, 374997302, 533110764, 638442508, 160026486, 113455978, 372615542, 938977057, 317739892, 932270171, 991722975, 940043482, 958031037, 367081199, 820317996, 323482772, 664187423, 975697043, 74121252, 557454978, 910421174, 765743214, 249725334, 500908526, 619932618, 35841676, 220312107, 543191101, 768714066, 374628731, 329116209, 457795502, 260557070, 890333696, 670124026, 978629515, 219082812, 152397319, 409280159, 264932133, 64336130, 83116331, 749366470, 251963222, 130707121, 796218833, 245087761, 129426719, 578734242, 358289128, 470293531, 471816999, 311994079, 218009454, 144194499, 514424804, 419118365, 250570710, 108078417, 205445725, 759156783, 204172695, 163662062, 465047189, 958739070, 327337306, 677468307, 892354536, 201227543, 155997453, 332054019, 422307190, 985557, 33356805, 861700225, 21109189, 868413582, 481001495, 657595374, 29417961, 50590152, 806156511, 995061832, 520663399, 846999896, 509920851, 401781632, 279272865, 941561382, 798627949, 951919175, 561148315, 503911391, 224317341, 36624616, 122385857, 789473795, 558133380, 898695551, 880562614, 193806315, 844882024, 471573475, 55479733, 396600486, 431062581, 179186812, 219951660, 815895777, 795676110, 408561836, 736859618, 875184983, 480031615, 310754990, 637198476, 386458885, 142255418, 863353069, 280196195, 48956785, 155471761, 593034023, 540092978, 774141754, 889129553, 88911772, 124529977, 698483127, 606112949, 945073904, 53047819, 344859117, 928919428, 846428232, 621341592, 161548748, 474681386, 419730348, 276687607, 587087355, 204793172, 359541264, 571819697, 251596706, 881820787, 81463166, 108275810, 488310647, 617624382, 425993302, 944919132, 486805472, 872734379, 486961486, 733999624, 899280105, 464400157, 336348377, 411220212, 975841357, 984630712, 758003390, 115857139, 180806374, 129044515, 961624160, 309747286, 460879080, 560859042, 200528088, 638996294, 503664598, 832512441, 894769647, 194393458, 622903308, 441747116, 611178222, 877129442, 960356155, 449190622, 577539957, 424773322, 548545062, 304713916, 35089697, 852001353, 312336075, 733806450, 35074880, 7192607, 768450671, 329592057, 132917550, 109695561, 819601810, 317011260, 274059588, 553056595, 702462066, 969357549, 871284020, 577651442, 396882218, 160207024, 813481316, 273408272, 182654752, 470727380, 342451321, 319897008, 175491839, 242690609, 562844394, 703548576, 488904908, 34997869, 329673062, 432303143, 259500578, 675976075, 847371814, 778360613, 106284510, 511250105, 687529082, 660591439, 22265121, 617822570, 687449931, 222398184, 529361951, 152209752, 400097021, 320552382, 45140491, 579882496, 558564662, 792156468, 12790306, 530851280, 558165477, 716431976, 824267859, 276460148, 172038817, 606528632, 64381935, 976015305, 726524499, 514161877, 379260484, 846615424, 205760934, 562360704, 700104019, 886814717, 512926568, 510985460, 606187548, 806743954, 65915097, 74207244, 917516743, 499705010, 418027637, 398167260, 133726963, 245427839, 594822177, 578741921, 845343645, 847327447, 947368212, 948337978, 698929513, 489506089, 454490558, 41830544, 882678680, 235558942, 968918893, 405489529, 32328599, 17627518, 352499805, 150868687, 43289635, 154391888, 109241307, 755771024, 165078529, 515033763, 559818968, 526091491, 298628303, 155664628, 536911311, 493773609, 68067869, 986468392, 36916676, 427878792, 763064016, 430947780, 323281534, 314382561, 357445398, 300919499, 760072224, 251729576, 864615839, 228591846, 927619488, 115835702, 730674696, 877575208, 413297874, 360117100, 625104327, 26819787, 932792824, 190832174, 518630963, 648687687, 466138741, 301974601, 802722768, 363472254, 933775544, 493775617, 221704989, 484361386, 60576349, 542271135, 956943525, 680748666, 905935723, 430617803, 842700399, 813653768, 406735846, 950435740, 679641878, 207819541, 687570174, 280836561, 220602114, 749946975, 378334873, 157983880, 866654947, 601750180, 747200414, 718228962, 51655526, 705800135, 670925152, 690901091, 132151282, 703395593, 599197366, 592927136, 677465241, 177369929, 953938262, 337782611, 291660753, 630169741, 927840369, 16440121, 938609796, 740065087, 9742399, 733530087, 290033059, 525545273, 267896469, 641589656, 896534883, 219173228, 851709525, 452056503, 271216206, 880073878, 625316594, 842861329, 770375599, 471001985, 174264878, 415931381, 625219852, 17435892, 157879614, 293570134, 6851089, 681827463, 842773062, 531960018, 537935719, 701178465, 51501576, 196269440, 913180156, 398585551, 582016172, 996199945, 957128869, 387333128, 944107651, 439896595, 385034510, 412017311, 596256936, 558394513, 713840115, 968000310, 101690308, 927406974, 306750707, 206207512, 286069886, 699216605, 226965443, 338689332, 142988475, 150284755, 414736859, 438252359, 619003567, 598226543, 363491815, 533687717, 737942198, 817226786, 340241881, 746120767, 353995332, 463556368, 889536881, 77320858, 329964979, 472628825, 213384189, 988247992, 693583289, 142278289, 613090098, 896106980, 64938223, 791019706, 833068292, 185490585, 447436290, 629399590, 666387945, 787599893, 571330103, 622579064, 334477744, 411024434, 366464588, 802800740, 366658296, 216500838, 310496811, 813531664, 468142076, 132417799, 859236041, 850003107, 274368354, 454243500, 898626177, 297362375, 927463168, 359317520, 828671369, 920148865, 565910290, 352071307, 761860358, 260411820, 653520270, 374460943, 561454429, 804337574, 757742949, 677582977, 248169786, 454550922, 381655540, 828390517, 791074604, 461953796, 731434675, 853717397, 507452730, 337452637, 823802423, 185270935, 183293337, 914588078, 862049036, 431515123, 692888149, 212546257, 733394060, 442654376, 244803619, 485773157, 393845014, 616491527, 958535883, 861942985, 97983273, 539767320, 402140139, 290213007, 136161738, 496545137, 353227740, 902599744, 613358096, 143188171, 446789419, 129525985, 331891419, 824808463, 207141146, 883414878, 297339031, 969933445, 61638194, 957219787, 722539191, 870289265, 316969418, 390935575, 511017408, 999909732, 471053400, 345496518, 662012868, 393513500, 453276145, 21628335, 914385919, 487661407, 219262433, 516399778, 869573503, 534358248, 779390148, 202100278, 291754281, 792937460, 571192819, 633600178, 267710882, 405396620, 15787417, 246601075, 963237015, 8486227, 797752619, 470018326, 283196437, 868726956, 637403930, 781137286, 348563507, 990978942, 28909295, 512665479, 717131553, 356708531, 560413565, 256246481, 163841798, 906724989, 790073906, 678370800, 323841970, 640419244, 274657132, 281533091, 606571376, 339386986, 969257797, 655634208, 487673715, 703434937, 792989273, 60787158, 2602954, 607399969, 432843770, 655693771, 786782103, 814518251, 365820272, 317676239, 478022919, 789040016, 388253154, 472159306, 77661836, 16174789, 314271563, 780297356, 158355655, 445805185, 949638251, 997219818, 226357784, 964723758, 118634454, 513881248, 637381312, 1145152, 93681879, 650908954, 154076561, 692649021, 947407297, 219651210, 105525444, 364319538, 472936615, 374205202, 441581263, 845675405, 385159198, 167685000, 608699316, 410904986, 798341725, 973880733, 555402798, 563610771, 235101934, 329409585, 112594702, 701642038, 949862048, 548473828, 75724289, 797197684, 224616334, 877732374, 310481183, 410073370, 242760583, 606975749, 811846652, 703143847, 418375006, 634015822, 196379565, 869648862, 7238925, 259477931, 154594726, 496696134, 559291337, 60059427, 946705374, 940364167, 365831205, 205318469, 58704362, 57671790, 279079226, 926385173, 723807992, 240311197, 487087774, 410823831, 854173692, 832185264, 570574026, 725447392, 583880171, 9338425, 545417741, 885894105, 472841967, 918156031, 226613861, 439891800, 923340249, 770927870, 130827982, 790858323, 999227633, 682798355, 190664144, 869424414, 194480594, 949437409, 951083441, 80102116, 613261355, 892759087, 246970752, 170270741, 766138587, 433991983, 930494569, 271072969, 157859008, 871628522, 399328861, 304211664, 503720215, 662435640, 138472096, 661352222, 236825037, 337781763, 396897612, 259651563, 416930646, 307417338, 25648299, 866487051, 467476017, 700064818, 995682077, 494009734, 775689411, 216390012, 378165959, 247520513, 714147544, 260972309, 151261465, 12283408, 385012797, 989308051, 389089747, 700583867, 153319494, 330549847, 485981599, 545792967, 239620685, 533178346, 275237158, 793579465, 740625446, 601405430, 712125665, 445966678, 105065534, 724060143, 565050235, 369911138, 76618844, 351087683, 352141002, 4203188, 281337059, 158071139, 217776541, 632898967, 19078988, 571696623, 537605928, 394437676, 79052143, 384596490, 598241912, 515028997, 175241018, 134080053, 847543548, 617434155, 925210204, 453624447, 279719552, 104043997, 428851315, 549882549, 265967885, 465903135, 979926838, 908317091, 449784450, 399624103, 798698850, 428083637, 122937779, 899642313, 268900552, 7040178, 555387883, 668461536, 589732541, 850789463, 964118073, 253363541, 631160301, 789148603, 258635093, 953856913, 999380675, 967362605, 720189193, 734239210, 264896539, 593404058, 156899647, 878745207, 431276572, 413393163, 481406601, 116336595, 73784574, 806229229, 964052339, 970097844, 576444694, 168367456, 531790751, 947608238, 163812527, 903930710, 31491132, 960462909, 557164321, 207251553, 397304657, 9607397, 292035448, 395508661, 817897493, 466182146, 636713494, 384409686, 19944199, 949502022, 439221709, 167302385, 788637474, 874588645, 818933508, 55488213, 869274168, 826267711, 677214754, 126007373, 160437777, 662998119, 883046284, 73148730, 910518479, 211586539, 870232836, 99794991, 235393718, 202628686, 521475725, 698997467, 586366000, 792024838, 652247034, 511425473, 74799256, 423831939, 573977374, 20504528, 210850888, 184104962, 848527863, 478482341, 471274101, 920800158, 626803743, 559671192, 982293935, 12290927, 638829694, 908095342, 949709138, 915866533, 406299992, 269530020, 829118095, 526744189, 676997658, 705240969, 798825837, 920292025, 350414921, 551224260, 133104539, 122650147, 567602345, 268976907, 449917086, 479822779, 123763122, 173437225, 247216860, 588666896, 585049735, 388623587, 242325624, 349730504, 598235370, 410191375, 185063784, 870211511, 845327885, 941396648, 717541424, 275968724, 665889382, 407553227, 866528222, 693567578, 581726190, 766782569, 385270876, 704411843, 620629037, 415160813, 349842517, 874116262, 264296323, 874148224, 216662471, 989918403, 526810321, 547777695, 237260900, 339099174, 300904252, 736710083, 144988171, 267317325, 287862598, 88290200, 641245657, 144565688, 959589089, 223870812, 937566163, 898643140, 363661092, 629418323, 288436158, 627850088, 177934693, 527000751, 33442363, 512781248, 8610959, 991100076, 839446464, 871698133, 96770144, 539132924, 261639331, 572859004, 146512702, 210715590, 819362833, 165782403, 131958558, 799014875, 728258877, 885396885, 158575062, 690550148, 195354716, 341847781, 306439154, 186566621, 935766264, 375817885, 810513148, 941790245, 437334282, 30820531, 694447411, 672003415, 477096746, 231193739, 215752107, 342632482, 889306158, 934579548, 667495870, 178100974, 5223174, 133437229, 255669981, 196405980, 312946716, 129233200, 387474309, 553977983, 52029345, 842175877, 256008725, 482620663, 678698887, 246300348, 695541603, 350534701, 408881977, 521897021, 298763758, 920972345, 475480357, 332818098, 311553354, 719718198, 56674786, 977374793, 512749040, 653376933, 968453185, 311853450, 86201252, 111738565, 797028496, 945122295, 500637606, 516396347, 107525863, 825975604, 663480596, 490171094, 251209452, 871636086, 918697159, 506556947, 992323898, 267260888, 255283590, 525541649, 61361295, 371284086, 618531036, 539901096, 6348071, 138798277, 142490777, 98845188, 428569920, 839424689, 776095413, 163579781, 890325807, 205573245, 609763670, 831295876, 643162949, 850789282, 762440194, 200090068, 500846496, 711787487, 63773579, 855388036, 653515203, 45848881, 750931717, 367401623, 673684685, 652865747, 637163300, 120325690, 315175734, 133169951, 496484712, 928142715, 148879825, 823755827, 272672513, 680655130, 325762357, 676898208, 669610968, 155571807, 979029428, 707699598, 239648215, 313268182, 931340536, 903725593, 258220334, 480758782, 170718632, 912484126, 9565623, 902239186, 706894526, 607811899, 251324736, 272309550, 993777767, 166216864, 637293647, 184499800, 494265280, 587794988, 575262480, 783513081, 610972269, 365893559, 149358506, 426317995, 568166003, 464790626, 749918483, 639370378, 691321650, 546783243, 936085990, 755957351, 126436875, 69925243, 734521198, 150691281, 646974354, 420102453, 880968691, 953712690, 801735675, 795255728, 732285233, 190231780, 502549100, 179136791, 540481919, 953065146, 63938876, 776085979, 299198115, 960242615, 917895711, 645810059, 627083456, 738762361, 93100865, 127677330, 732289911, 215870048, 200090769, 272567340, 717312236, 948523409, 691920883, 374886659, 968385924, 509727772, 997872011, 153104120, 524375718, 646962910, 28989622, 478589146, 233427379, 188361414, 192846122, 237688667, 60763770, 922098615, 920686131, 267813120, 484618404, 913724434, 38590557, 591916485, 871651383, 835674426, 764051459, 418186280, 210259710, 886789202, 801824610, 697454039, 509667242, 28416813, 944187584, 261867191, 869417876, 837699802, 142919062, 716826799, 802313002, 900873337, 787759759, 497696282, 504454331, 276069524, 653615327, 332724500, 978712215, 775972904, 413721672, 478429864, 671362256, 500527669, 299736540, 58083609, 694299970, 352382477, 23573242, 639486188, 781736015, 633326227, 623363814, 718407485, 314298517, 471411561, 309337168, 734234603, 954011376, 861525891, 144444910, 265544577, 19693527, 996682864, 809989840, 363959703, 315304371, 793676023, 525968416, 793486595, 807020315, 531992232, 360410562, 905787859, 696668730, 976238868, 226216881, 4217985, 539672279, 124588988, 695638179, 988248194, 293064244, 479222352, 426695964, 718972922, 46908635, 891072750, 296848202, 572564264, 843630298, 272217610, 330182883, 337156642, 641764064, 480387461, 16540044, 337948354, 896891344, 318715828, 751573042, 591154818, 144979627, 519460237, 740357494, 321129997, 315068599, 539987641, 909989469, 784542301, 29597059, 905827419, 47132418, 672694363, 412386443, 780456374, 257164595, 246166776, 541234544, 15501225, 38944901, 842372364, 661051530, 568764543, 293568567, 187376018, 86216610, 340130393, 235886094, 212888453, 992113574, 177551035, 703206798, 442009989, 861544176, 470731976, 202630171, 417706662, 472140553, 605033407, 402075192, 282126019, 17777476, 860877100, 408252732, 227685016, 283162035, 93869310, 886587052, 580899695, 605472227, 505756265, 466014493, 233083771, 787940089, 16872672, 996714539, 146507911, 539032207, 581464434, 938947671, 347988274, 769642987, 307397160, 911560091, 583687843, 935544107, 231679642, 555750477, 141596433, 421155727, 605668238, 514710409, 811738352, 225193770, 279690261, 596309961, 501232410, 753194218, 761255342, 326914927, 201685964, 668486557, 498289752, 801985617, 911785146, 608527958, 854149567, 521244950, 67730426, 923161921, 560977043, 143483727, 359009453, 962256164, 325140957, 236867147, 791926176, 774645587, 168395906, 834970226, 54221546, 525764373, 34059777, 197143108, 26151312, 612606474, 564585583, 118905287, 820378132, 24717907, 20307936, 782478406, 739937921, 164768246, 169311461, 125662993, 481564280, 34757000, 847672606, 704306036, 647357021, 967788801, 233688508, 200332399, 911992336, 699382882, 182177372, 189143232, 369165281, 508151973, 905651118, 21937586, 185595870, 211371838, 309511212, 337351722, 516289665, 167662781, 599794000, 773918765, 16709706, 580643813, 445382791, 323435972, 440038922, 236835325, 264483503, 742202946, 798562477, 539025613, 343653952, 411687510, 679911160, 581701870, 592641981, 898666141, 653157758, 801483898, 481817271, 26982303, 728562444, 795478631, 404127483, 6291757, 47493559, 276688129, 605433624, 160830403, 420537815, 29837861, 409323486, 781821826, 36217383, 808976740, 720850018, 657110857, 198346389, 974881476, 880018448, 520124451, 712707897, 510721659, 613908527, 53089207, 558213762, 466977817, 401912039, 682657975, 213142311, 204825378, 763277621, 897384030, 564851225, 559481089, 648820948, 320244007, 548261860, 483060777, 925851399, 574199698, 984467175, 948581729, 600678042, 733634384, 694020347, 482699881, 264109937, 617354152, 855050000, 952026640, 223015391, 58541138, 734746523, 276894959, 686902761, 292356782, 261816992, 518386211, 425624219, 883811322, 321990245, 378191328, 509320935, 553709694, 382243091, 401117340, 428879053, 967198682, 128189713, 232351086, 639031784, 527460461, 20176922, 902767118, 365816718, 369376842, 177352047, 688730172, 424249139, 372362525, 873135061, 25856031, 299602377, 459523966, 503810621, 835065704, 536464733, 531584519, 148961923, 287841638, 129800021, 293622512, 854276211, 802287451, 751274281, 913948505, 38279626, 458654113, 675012550, 431781038, 455964359, 543383174, 392023036, 769112013, 894477487, 515868499, 266149945, 305744414, 473377236, 159810869, 500015146, 585195713, 292097942, 20816485, 858572009, 932288846, 50040971, 361252620, 317112561, 950464160, 421821490, 155975795, 655493521, 137459337, 323830165, 166819509, 690889684, 287891893, 676297475, 369709995, 298546840, 227813217, 351068854, 577005037, 532863011, 805196550, 477645441, 167687539, 16946957, 936622267, 312103850, 773577459, 252431185, 404225544, 71110833, 965960164, 166427847, 707326123, 830934556, 382680224, 892677534, 336662661, 598163702, 409103704, 285807774, 549271721, 904762860, 362871089, 866967658, 56160038, 535347619, 430598580, 589971644, 210513079, 117230221, 250751537, 64679093, 134094854, 9618222, 696725182, 74744549, 508957897, 588681249, 345825514, 549014985, 928592500, 766144480, 14417803, 553826201, 582219382, 604107990, 452403995, 351028879, 598004063, 15112645, 32363723, 937701651, 546725011, 239460040, 312519412, 46839613, 726671347, 335755298, 458669075, 214051046, 729832715, 775933266, 494575391, 725914746, 612042325, 152100156, 434412471, 339386741, 62155555, 753123474, 551227484, 629070216, 532774825, 690747331, 951558376, 755457173, 724394115, 245852151, 494432945, 515729695, 106945721, 261919707, 373091775, 143147382, 84652073, 461172580, 472946105, 679207700, 69889550, 671175766, 263355977, 733357960, 720196996, 956708106, 489730414, 177382001, 516914186, 547413135, 895736721, 732045074, 637241160, 836437896, 104097838, 627822240, 16715704, 395279758, 247414016, 385054954, 411155931, 26992840, 265705033, 87421753, 136285254, 287431275, 462318290, 75273845, 108552892, 835743703, 62350945, 245375482, 535909159, 526357126, 367327815, 603295667, 126572327, 413827484, 450617430, 580839112, 259975223, 893980080, 931764291, 501370833, 43489014, 352995236, 68057845, 269478764, 799152803, 416254774, 892491077, 961194477, 214169781, 558915309, 227057903, 666435018, 288461204, 318830861, 826434226, 661326911, 350529297, 859640487, 89754911, 565881258, 192908146, 480085741, 223346001, 669349573, 617772617, 303131361, 773722488, 467061988, 830267298, 258920600, 43673636, 608217089, 609854587, 782761101, 814328501, 69226548, 944429986, 693009301, 835724511, 721286178, 251825068, 74761769, 372588235, 974599338, 705276708, 958932743, 661507611, 945322930, 169364897, 376633785, 870756040, 504474452, 475123937, 709814573, 408167655, 981385998, 166096974, 562702565, 435257733, 58444117, 47814268, 491313978, 521679188, 564828009, 97701361, 148604658, 412950732, 783773018, 595457357, 483635477, 582863188, 127190487, 743553366, 593288604, 27287039, 186499188, 151690208, 625797967, 995792560, 820893586, 777811332, 30663770, 875185020, 808645326, 128344968, 653040322, 976489887, 91615423, 295254384, 902364477, 458642879, 288173569, 803740314, 81926521, 745461758, 217119851, 575256114, 361445517, 321573112, 709653613, 932426726, 983577646, 516988627, 751196831, 553294639, 499442465, 936251479, 569286383, 384431577, 419434133, 440749740, 847975008, 133413461, 974838310, 345952542, 801800348, 101056497, 182292779, 772024197, 455173803, 306918256, 321581322, 109207348, 241830789, 467977542, 177439002, 243853289, 153009453, 645782909, 95625591, 927155959, 561334265, 134303096, 678678877, 163469508, 510698020, 454330241, 934914246, 828102178, 850889287, 378777545, 875650225, 205584747, 5225352, 324706510, 475576387, 621008976, 202270622, 963735172, 525280683, 239070734, 166195600, 240289908, 945295999, 432958742, 830602598, 135988970, 433278831, 905677026, 605978530, 620349519, 957063793, 618607273, 95229794, 116973857, 708639541, 582652713, 882756717, 715967944, 410947561, 781749895, 326904769, 359591818, 586658708, 47201649, 60949867, 744834698, 507036468, 621394441, 174248031, 96264708, 914900190, 306347553, 905555854, 814400820, 807816251, 769180037, 397065253, 456142634, 816690837, 599636596, 454406825, 858348017, 314485003, 608754215, 824271493, 933032517, 956082155, 313304004, 758271606, 183289869, 551426232, 349403176, 989366611, 304231688, 372150657, 250674753, 58631963, 343417588, 691289955, 84056083, 256115315, 26688005, 447947859, 994982045, 269382968, 794702886, 228416435, 713086794, 783656735, 805264839, 818852469, 716401836, 944867990, 21386899, 159391568, 653810097, 734586232, 361022232, 193029628, 631416370, 369498146, 203628297, 147132782, 222351633, 386530549, 970545009, 957774010, 428832288, 376744776, 208097526, 797809436, 817014350, 284592900, 141007200, 203899118, 336459251, 123592060, 785167584, 741913639, 176970918, 453403377, 506809856, 712360182, 641811376, 91463330, 501399210, 358487863, 771157241, 812329756, 334032484, 530332779, 131569389, 420344418, 521616053, 117352412, 144526760, 554395742, 940642825, 913122869, 63605037, 484509667, 880228133, 988852209, 673816540, 711580538, 107622578, 428043995, 871718866, 3668958, 130095422, 119981288, 623595777, 977736112, 53229719, 642366006, 597940249, 712441394, 290732345, 977594534, 744157916, 272757003, 714386192, 126256079, 733179923, 437703291, 309997437, 927426861, 673926906, 193913095, 874162635, 181502590, 191881272, 840388159, 978973803, 861643397, 103381722, 32380112, 967969981, 231676049, 621202524, 697636412, 688368173, 993198030, 386320037, 916725543, 864012221, 321011111, 938088016, 300793333, 984274707, 987049966, 507349255, 886698191, 963471548, 823389263, 721112392, 235852764, 154786552, 622531867, 717975055, 250897911, 229211105, 767163093, 337254606, 802859207, 457460650, 868409093, 79058075, 916768443, 166284243, 818305030, 400992985, 116846087, 662237289, 791150584, 774721071, 411652014, 549012143, 324461655, 737636606, 663565351, 823076518, 823417353, 158405760, 344561100, 115999490, 230402106, 430193228, 598490038, 515217099, 970066731, 192283331, 983165160, 436510468, 468534601, 292931066, 329963864, 609395299, 826441867, 956785139, 459717522, 689674986, 88490787, 334483270, 716504701, 597467604, 818393580, 488353616, 755026952, 259125784, 781968295, 630953189, 315963787, 95284570, 609242152, 532025893, 949999661, 648085046, 950553839, 998421240, 914076891, 641479012, 198839834, 399668989, 693951329, 833745704, 200453249, 614252733, 207467526, 36240987, 634436651, 492581277, 398073156, 581697143, 908108823, 204467879, 877007771, 549666564, 797087844, 817455347, 866144994, 749945551, 193200462, 941966929, 33971434, 407698629, 826541653, 8476566, 790404789, 569815098, 760835398, 500040555, 148826513, 93639182, 50662407, 616673416, 419963017, 692752574, 486432745, 751020452, 580017440, 922321362, 642202655, 825514284, 553284603, 300466494, 877083974, 954107343, 722982927, 465289484, 259985268, 559893595, 689206763, 590955120, 332866031, 949185943, 150693847, 948717086, 688197981, 434358725, 341981346, 891248313, 720980927, 694311908, 152648740, 307009515, 717185444, 861535626, 985190400, 79597197, 290770532, 678225295, 358128512, 102412815, 312541626, 787104395, 172091093, 873883663, 962534433, 258907448, 468313414, 157200642, 26073975, 692769183, 485295384, 676684084, 52908969, 262360011, 872817880, 437819158, 119438137, 789179800, 130038954, 214577419, 656389557, 631563347, 838416536, 575870910, 379951427, 578229914, 911884742, 6654085, 823647287, 856870171, 199284157, 510444894, 785671648, 795568864, 926055749, 260583376, 321427122, 138784749, 153669447, 125548018, 1230759, 967076145, 88892628, 21553221, 925201138, 150464410, 879901744, 84905884, 486477033, 676545269, 517817515, 122372874, 99230961, 110291138, 917911715, 203475754, 473227945, 34826352, 1073386, 158472541, 211576401, 725678665, 498405006, 994011039, 462029260, 508787823, 164829777, 406702760, 971949455, 89330301, 175886866, 440510854, 950110471, 497158059, 97931592, 902592888, 253868276, 9131182, 458638854, 502870893, 310366432, 480627268, 773467360, 394681944, 364321361, 305144211, 907459561, 968949705, 896168820, 201829815, 689668233, 689950656, 538584578, 279647340, 497824201, 233616347, 738454719, 368895856, 576533840, 264774629, 971044340, 280149949, 423753027, 679982792, 454399966, 708411788, 353347514, 3680894, 789764616, 765583344, 459352040, 715671522, 276056237, 244599005, 879197633, 50174948, 184638353, 424796714, 756226330, 199749332, 581448299, 921230727, 609937973, 499565017, 12635877, 445815944, 488298492, 496638904, 489203806, 368782761, 768044647, 648247086, 469436056, 901612706, 282717891, 10109264, 834945777, 243808919, 477899801, 896641146, 833114039, 270342785, 983216055, 900435392, 46489068, 930325660, 112822066, 59268796, 314468813, 624341137, 214910063, 320687678, 66617522, 812420343, 105787687, 352476519, 195777927, 718219050, 195358121, 638483742, 644063231, 781197718, 653947106, 666475347, 643167776, 971505510, 713928260, 742399563, 773633517, 34422079, 342748345, 823888309, 885650931, 106795879, 974754273, 355169826, 709598257, 135176439, 571288018, 171026602, 106006147, 81326611, 449413769, 510464456, 726741953, 527433938, 765372617, 546632311, 948003796, 430385950, 721905843, 404610276, 989587873, 955400789, 957078816, 340485497, 825783848, 331600822, 952607856, 978419621, 771014886, 704217137, 529631737, 727637072, 685338567, 165842102, 81333949, 319715529, 496066783, 62603719, 510335770, 56390263, 111126789, 471282459, 639031500, 55351317, 900705119, 708787603, 551580154, 570468305, 479867877, 904102219, 11186914, 803635947, 900808986, 685992483, 558859160, 66360848, 206893142, 415157420, 165606305, 290954769, 317229050, 494126827, 534986101, 727955957, 267316887, 920666397, 679497568, 810229721, 601504504, 469724105, 285658333, 416418971, 859202618, 948556332, 959578376, 759393069, 697791332, 433946354, 357873082, 383097779, 530983112, 56007202, 804277514, 777580383, 643035979, 827280606, 684403763, 390678970, 94698521, 469197316, 269317601, 825503968, 610088484, 862657771, 267952830, 855522200, 178463780, 412038622, 327383547, 577999494, 734130374, 892729146, 463113660, 210987359, 474590676, 844263236, 234288581, 858003020, 971614866, 42577795, 413462852, 20399984, 493498762, 458474268, 248445678, 414615054, 811886806, 781623393, 772339226, 624779199, 4520519, 221869004, 260321236, 6072503, 69038886, 168555608, 185131496, 763005519, 357248145, 131577914, 623081089, 440469860, 599926668, 535927596, 560681062, 86895330, 701367134, 896318708, 664315701, 536625534, 858918184, 486566753, 678968804, 618302039, 801425622, 315576609, 770513439, 235838849, 300876604, 983408539, 472927273, 551191793, 613842903, 266270952, 517850090, 985488296, 390061335, 469601948, 462718852, 74759567, 288705158, 774132134, 318502233, 812071298, 427587631, 118375862, 606247494, 919867934, 733272072, 883154461, 891770380, 753282320, 325292450, 347208543, 298515889, 359781444, 320291424, 406394124, 131370522, 556925839, 5698943, 947639098, 910914468, 636272142, 9738728, 68813378, 885727696, 153175815, 626366951, 604826906, 743536012, 525873637, 262655069, 623673950, 714759274, 333123328, 966924697, 376033508, 391992666, 309950449, 124543906, 44020791, 832913034, 467684889, 801975343, 880505603, 18707974, 187181027, 877196804, 421030225, 489187909, 864021508, 347641375, 547321834, 523557204, 77378130, 34533785, 118564388, 390736989, 327688206, 340398558, 109717028, 113672467, 827662282, 409938490, 579866716, 67020935, 665528224, 497810843, 767181891, 569001509, 796971130, 67697276, 159981288, 260860770, 273717342, 629928977, 565996115, 240500319, 809449331, 10174317, 937748563, 81305202, 125689330, 516225056, 601017841, 735815193, 777656013, 634576998, 635848942, 487465403, 249177535, 482212307, 649267533, 823649575, 252693675, 590513489, 439285613, 715952857, 721126996, 945102189, 532174731, 962222727, 26343364, 548596745, 769211298, 551638583, 927272800, 899275040, 606249621, 25860602, 752911741, 620088711, 260626265, 154666371, 281263965, 372750206, 529176121, 322425628, 964434530, 642298631, 350057092, 85794751, 448084558, 33444045, 646391898, 704138875, 829130541, 963496088, 528231925, 538202185, 250759067, 609533490, 646475748, 784363520, 570165424, 999917359, 173874135, 937825381, 807646533, 974728797, 967381991, 965289412, 568941306, 629049152, 278432402, 146898874, 397364603, 364242602, 156946142, 89361105, 4868214, 27310003, 481943617, 591860224, 384566008, 406820485, 627745856, 56217205, 966028394, 408419385, 353856937, 859752960, 956165446, 36368510, 649527222, 241794828, 545386285, 221721772, 507154474, 21769606, 847166581, 179940844, 940400031, 995933533, 369700920, 151767162, 782998524, 648249791, 973756451, 11491467, 562975179, 676262743, 819184957, 369641223, 216737365, 906132851, 589133641, 409607067, 849292809, 187412881, 347155897, 754054658, 513000283, 26396416, 95046245, 274411049, 559296038, 564730987, 47408742, 406352147, 993153418, 784552330, 30986379, 639463163, 33017567, 286881118, 738948723, 769911508, 957033760, 812405629, 670100564, 300691902, 238803826, 381408252, 58712005, 263188265, 307272383, 546121929, 82906887, 257636540, 550900751, 781284467, 632447438, 681091355, 119833617, 539843350, 281528546, 355103231, 547041392, 733969611, 698571130, 18400016, 844016719, 801441980, 935997726, 402196865, 824093423, 814440049, 649730355, 488178715, 556162932, 556670027, 590345534, 59872717, 417811638, 737008566, 74126971, 40672570, 210997638, 606874020, 770617322, 23106626, 593306744, 339162393, 580816500, 146253928, 193743423, 487876115, 509542982, 11530383, 500342551, 997629906, 619789870, 744786015, 828036690, 354787699, 823406151, 704603509, 215761096, 204842428, 318251197, 52881245, 180428977, 709530999, 45034461, 832083531, 879129941, 356104433, 953828698, 317356551, 49678855, 302656116, 544917689, 207257579, 153811124, 912972869, 806278304, 664345865, 581240068, 706242373, 284907400, 206756235, 321892253, 641755275, 149290621, 565160290, 589199963, 202718605, 506671537, 688389338, 404509776, 932915559, 507172192, 195288823, 342144745, 720173030, 925340630, 638784218, 30338349, 957674981, 665948253, 455440853, 210930900, 265423781, 743670618, 971482802, 869903728, 926367277, 591140487, 647594077, 912284296, 615320561, 152302318, 467286892, 900123584, 320263411, 308455625, 929582363, 468849863, 582270025, 278873802, 641618887, 738199985, 864376907, 367564846, 616447210, 120084848, 766310955, 706630809, 614869371, 146654590, 972747287, 438729703, 297177979, 742602291, 78475009, 689247125, 348197068, 835793418, 585812020, 741107472, 533197762, 777614439, 161883762, 223891848, 790895716, 243294611, 943379984, 991621848, 826272968, 487495742, 353398536, 552382121, 73565203, 193354185, 123343329, 467444852, 622378295, 192702066, 617077831, 197987208, 259978176, 181012799, 790284864, 94028655, 750491736, 616506277, 534273685, 549645915, 708554629, 729256762, 377218593, 892786545, 404045215, 727169538, 947635073, 591886810, 87044080, 283751994, 764203787, 131822928, 773216081, 282577224, 765268091, 627368882, 62891283, 417553395, 152905900, 792619887, 741673807, 957581479, 369027492, 25578560, 537639111, 392211665, 302397364, 302116052, 194827552, 251749684, 224683349, 589754116, 168446302, 287589084, 109664797, 474079102, 312178666, 735366770, 932831814, 999976247, 643371823, 341494106, 431863061, 735876681, 460887923, 685306054, 226158777, 182502541, 709308022, 765080564, 366513537, 789269103, 356734849, 422581341, 461611683, 306716395, 899911149, 686560225, 176047111, 605517243, 486096281, 855422179, 415572416, 111894526, 91065133, 659449234, 258582029, 734003009, 743950368, 470304076, 373855078, 80967410, 20906133, 529593022, 779596089, 144243689, 962743821, 492427387, 641121709, 905909184, 118576984, 642458071, 609711748, 185205916, 771361515, 906782598, 442849909, 478321256, 133342887, 129356878, 885825816, 540911303, 39704939, 366956714, 812938033, 922659266, 983539776, 593997416, 632117871, 536638051, 493038157, 580168950, 53912640, 578933210, 243718824, 687859840, 39942472, 588199940, 151650742, 809769360, 330667799, 606097308, 668761033, 717567921, 188430103, 675451117, 37830193, 663708843, 745940389, 402201365, 322794719, 593862686, 588930652, 896600424, 679245198, 535452646, 577981704, 495135221, 374842670, 362038093, 4755054, 339767107, 586521773, 885537558, 725277461, 399367433, 730843291, 482485795, 22217218, 932823496, 952710137, 304824157, 522008639, 545193393, 355467186, 341507803, 89371935, 98034058, 393921135, 573469043, 999503599, 176087769, 392872639, 230719973, 496944373, 890173314, 943179674, 391326425, 470478159, 855513465, 575790746, 587670959, 619366181, 731134627, 474382353, 882890021, 255351912, 997414440, 669681317, 648421472, 274752957, 414395446, 634131165, 343322417, 361472465, 505346658, 350346405, 198714369, 308324113, 878653705, 583541694, 796845924, 992678077, 544389730, 909480712, 398837698, 883080823, 573701397, 283394841, 803606425, 564769691, 935820827, 725447056, 819918640, 948497345, 970178710, 13960376, 664575655, 125955274, 382732165, 138737952, 54557091, 284738658, 924175020, 603244976, 455561408, 32988521, 441701015, 569748528, 458210991, 66901082, 370664905, 752891883, 238333945, 154960521, 283220925, 995797378, 754700516, 835801162, 449761349, 461049137, 494075294, 707590983, 953347917, 333281496, 726884438, 129526188, 212938624, 119803304, 676100729, 522841129, 322819562, 118913246, 409859285, 839489650, 414111101, 578130628, 719361610, 838810121, 593451683, 218448706, 16263012, 383369421, 105762015, 697897927, 211824353, 928601881, 782886792, 803353642, 239403610, 8010207, 840810553, 678362470, 347571705, 245104405, 110340285, 351810150, 970667062, 618473293, 380431845, 876672555, 815938336, 125130647, 289806247, 14923374, 697857429, 901977866, 549419784, 853115757, 702341780, 595559295, 44658807, 438837998, 601912979, 955177619, 213437617, 486043083, 563229897, 300822120, 921412955, 711366467, 108007343, 79121209, 994436529, 189221044, 369806538, 808178366, 117294823, 876916870, 860736268, 704531538, 823008480, 983908706, 386691037, 251734651, 495580469, 675871247, 631876058, 46745286, 477365885, 660029659, 507458641, 776630498, 153852901, 936068232, 502424772, 775810233, 407474388, 711423315, 995807032, 540934792, 143020447, 522288393, 46495222, 529971786, 48526295, 77403485, 780042380, 687134618, 367746477, 855949816, 167626566, 603664608, 323296306, 526948826, 742044733, 309370483, 85322365, 351449855, 862019391, 430165715, 55328273, 420219743, 101265258, 139448686, 769064660, 116231126, 446653693, 577383619, 862763634, 631165804, 268528486, 644529469, 448559879, 371161862, 271782738, 380548334, 677403567, 355641292, 859677152, 709669711, 97053080, 861705936, 385995322, 779617877, 776961741, 992816075, 549957415, 127097915, 686855437, 711903806, 20388091, 465340985, 781373185, 142156989, 484460205, 586673615, 439384573, 773794468, 422503511, 324299630, 923922307, 641771613, 626645681, 503723721, 239126648, 621339381, 496582153, 590385086, 924035560, 547766486, 34644012, 995982045, 658898527, 152845229, 781288149, 806559607, 253784583, 330664749, 145604562, 149628886, 423839114, 567693759, 518335647, 59748716, 495544667, 948815310, 236952025, 618796242, 74324975, 185451211, 894795383, 276506021, 151309573, 331512849, 934778282, 911307521, 639021083, 425223739, 985416590, 932403641, 969034226, 983581536, 256685604, 293440479, 49674582, 867090535, 116625076, 342659174, 517850150, 877990931, 757165344, 678277964, 627404412, 313828542, 474410091, 818422038, 329427908, 961643901, 581858338, 56349730, 375430062, 298390770, 357861175, 473466798, 141399599, 705668478, 197562024, 950785579, 752908971, 893884449, 808578372, 699192497, 871488165, 422220959, 349679398, 379247382, 130505500, 984957257, 663697778, 936489300, 560790521, 839721727, 5101358, 365590764, 171320074, 607243667, 693816932, 267196163, 359941041, 856603472, 216620829, 156593139, 612708599, 825842064, 42185549, 511821703, 605839797, 105816868, 168591010, 660856546, 60244504, 635443130, 462339646, 743548753, 876949820, 628727116, 689332686, 144818525, 818688556, 471382525, 798245093, 325998093, 907862091, 31089794, 594082060, 386423149, 795976514, 342769965, 752321164, 421709262, 739477436, 671427451, 353402739, 850280303, 751496329, 569984008, 247649221, 706560683, 251182372, 408055471, 134321836, 56421990, 637086515, 849960781, 607589999, 611870435, 587882693, 33599703, 183416422, 579586894, 987203999, 224771941, 769202328, 939712851, 363119515, 19440735, 23184530, 303232401, 356711040, 8718743, 307183711, 811125753, 743801717, 608510912, 483881750, 758343698, 904190563, 550304490, 788539698, 99216251, 814654029, 419273108, 971938736, 120168740, 572146322, 30438503, 310185690, 363798414, 237375699, 887380527, 368149594, 511831915, 457843025, 948532485, 750332924, 135731472, 294079798, 51815622, 614548225, 999462534, 210962306, 206657869, 972835269, 644661829, 676593826, 561888184, 213123720, 577607485, 245451012, 893087879, 983249428, 837134612, 345549209, 203021623, 263310711, 139097302, 58079400, 382499563, 886654423, 52080876, 415667387, 968915238, 646874559, 322592716, 581990338, 666598834, 251794022, 109295281, 902436173, 636376746, 713355327, 255142809, 286977170, 994769081, 743719259, 56674863, 20785679, 93095306, 744725663, 505672792, 634712111, 320870374, 832530214, 460954778, 188367693, 36253310, 900431547, 295614727, 184232260, 194706251, 206918113, 790397198, 404104199, 101362545, 760145353, 238636832, 566327943, 497981411, 944541395, 397270201, 228707642, 306131630, 419040795, 59630973, 222556273, 378355478, 40109021, 475756310, 592583412, 661322477, 13546565, 622007604, 268069087, 21335399, 883512988, 660910598, 572851849, 431351767, 844274325, 284824557, 709641597, 798238899, 970866449, 942391367, 339373156, 377183371, 119723751, 705097789, 783877594, 130080201, 78139169, 420777524, 278961464, 484286876, 647656107, 664125990, 147408827, 483800610, 897910676, 501175262, 6221091, 825420441, 679604608, 112437665, 469398224, 547845108, 279777977, 89343689, 234980133, 462376658, 808675835, 550657922, 532404231, 470387464, 73993028, 657691990, 238354615, 982949100, 916465553, 360474374, 880362741, 433463103, 303112939, 890216021, 298522000, 674496352, 222428258, 35037286, 938267682, 412989571, 954075835, 182849641, 375740432, 919137758, 691420024, 503330531, 508741774, 850600926, 42369571, 128012986, 515628745, 23862665, 357843858, 218002918, 925987904, 475675150, 308470849, 576533170, 118763122, 18185615, 169805145, 953519655, 360916382, 855166408, 878855587, 270092588, 943701938, 736765298, 990163810, 839281490, 246419702, 195174611, 757402604, 638019271, 422914910, 846587516, 856844778, 380870094, 423652043, 373158696, 610521069, 630796883, 7879822, 84296, 246445198, 808994769, 314049772, 318974888, 579186670, 154421512, 413410569, 900885431, 981690267, 930402396, 68534139, 468512814, 624436391, 802765132, 78355665, 287511085, 232569041, 403023180, 342246721, 960741968, 399525125, 656052651, 251223253, 862110940, 541526957, 341286976, 278044893, 425258325, 567943197, 475455832, 14519644, 869363340, 335070990, 889541062, 736029120, 989605037, 148141169, 875981092, 1229025, 230034496, 437376103, 391059521, 704060078, 242350519, 595941752, 691293444, 675511043, 71085469, 313742530, 650662646, 970181874, 869422704, 538919007, 272090813, 915659564, 478640617, 711695941, 14742118, 25476083, 835409285, 462594045, 835781567, 153553584, 654037859, 509144972, 81853181, 150454239, 886192531, 617895757, 707689550, 319792286, 693876499, 492816092, 937804746, 74333762, 510990033, 540273468, 320359335, 469106294, 617271121, 860011826, 761603144, 126486323, 577643979, 20963820, 382855456, 236373592, 5053035, 729953331, 899257641, 330315011, 589440787, 219428875, 636732379, 92445610, 25663354, 481314934, 978216404, 643679614, 853480886, 613699524, 336313189, 839504957, 60636646, 324877553, 149541798, 160981909, 711572030, 51464431, 32411621, 611916052, 935765018, 786601915, 520837081, 376886442, 180495540, 879208133, 902863039, 621074860, 749670870, 124590315, 355525338, 719480240, 563087324, 729314287, 70082990, 235448531, 239312376, 191112708, 733211529, 116537292, 978465471, 82260932, 619751255, 359149142, 778497628, 363846732, 498046888, 156930749, 372772213, 578841982, 276456010, 874875094, 294997350, 297945424, 670220343, 135229556, 1891146, 816055316, 470999629, 86308604, 29085897, 923091650, 213411305, 310667318, 67635734, 973645559, 237570204, 368299952, 886176239, 86343640, 511870499, 716744895, 931404140, 175845993, 169455311, 891674495, 307458457, 132901670, 286094088, 890660955, 316398666, 298471247, 685301228, 516615644, 586338028, 442203186, 71736328, 626422556, 843507776, 590181099, 201785837, 17241393, 793928665, 750647495, 738116406, 816032335, 816929196, 764235876, 756732639, 610027403, 410456132, 310637867, 748397010, 790987254, 445320113, 380266261, 444149988, 269225985, 331041185, 638890417, 663227725, 825249565, 343464457, 563197637, 772032359, 318304015, 942160967, 995185849, 722219791, 299621390, 834852628, 735140868, 105520509, 891276643, 688539820, 705119071, 853319434, 131732923, 855783706, 98226087, 337425095, 75143349, 440023893, 827053208, 693231929, 626775627, 778976375, 92485556, 379494667, 4689547, 492852554, 145899075, 821932532, 87547451, 684649030, 562256159, 215679009, 132652056, 485888692, 625770658, 974747596, 309733909, 506035907, 26529734, 882822861, 760992058, 154530393, 209640225, 705551479, 194103614, 592858961, 194912768, 560693852, 286885464, 305515613, 186073360, 473997978, 971128360, 939564409, 951423547, 381431164, 527438177, 181771444, 655295325, 406805988, 927625501, 759361147, 665780537, 788871568, 318052193, 95385165, 695803338, 686123721, 49240926, 976165487, 380764369, 740278481, 399276734, 524843847, 841286833, 247815656, 447448069, 898030320, 579664353, 909282016, 418870956, 606469910, 273579012, 666807889, 53308249, 870956240, 868748759, 189535307, 845847286, 680548802, 902793456, 123589054, 828149600, 81370426, 266896572, 918985019, 84619860, 621361098, 889547425, 279753097, 461919002, 969920259, 122222, 162499915, 993222858, 951821675, 677136874, 394086860, 584094993, 601911658, 646394452, 603523184, 476059154, 618398279, 812242033, 611004074, 537032126, 894226012, 987936825, 766261094, 412298012, 737344014, 341338529, 663054737, 645459608, 677545303, 872884678, 915953407, 101900113, 995312304, 608084003, 295830130, 140633818, 228677058, 985401052, 113126937, 889077373, 715742003, 61317325, 967220724, 274733806, 710086699, 57336077, 437066045, 642301013, 144255536, 913890858, 591871363, 249946552, 801819268, 356646806, 908969231, 376063877, 826407928, 718056156, 436672258, 609834223, 725104442, 455766587, 805551331, 793918019, 736164065, 435998502, 120951290, 7331631, 268991414, 564472743, 658618773, 312607735, 776916983, 382350507, 399915970, 727061225, 338903923, 424408599, 692125552, 57861901, 449913845, 318287630, 375758632, 64560315, 10902215, 341850530, 478400823, 517635255, 630299805, 809285059, 364728357, 65103126, 113806614, 277977805, 707029554, 35892709, 630984218, 87452085, 418132221, 16162937, 835741284, 172788469, 262129176, 312484868, 387152605, 15515073, 638409162, 548839638, 460158519, 867513495, 448371714, 650867018, 185187963, 588066926, 18146383, 232586855, 71141204, 967478612, 650974707, 630328810, 294345503, 37226665, 679496755, 564520267, 117940731, 436664346, 220402910, 464053111, 729516227, 651348234, 382416298, 134503980, 11837656, 112790855, 293890209, 568786410, 304254242, 32955900, 679937447, 679727393, 590663913, 304995585, 597233513, 627558370, 648731417, 749504825, 854982537, 97417638, 969506852, 874087635, 595260672, 973534258, 480030243, 485276688, 423906266, 506876145, 706041995, 491627851, 935722216, 115390983, 110357414, 225845688, 850461553, 611758868, 421657488, 432828999, 496674071, 938782204, 371960761, 747899534, 598675295, 781730872, 761324095, 760246123, 748914496, 290231407, 823533986, 691892779, 937359161, 619911710, 542705001, 382202049, 653452033, 759359741, 263864809, 704637268, 39744873, 788572806, 859409018, 954358070, 648300924, 759938519, 647666897, 164634420, 294441497, 449655580, 674181578, 963695601, 303402672, 795337054, 594670492, 295014242, 169084131, 925417201, 720941839, 564590091, 912461355, 460905820, 89727968, 839974406, 586169556, 650695292, 311894904, 819017443, 824607281, 306793058, 524622110, 973402521, 909787223, 657450391, 592941736, 439842458, 624871841, 18191919, 819962201, 840062195, 504011423, 680634838, 808916975, 829974652, 189794978, 901028597, 407513899, 700127689, 415902030, 80361024, 294082505, 813063719, 527495808, 835701752, 787487219, 856881739, 342287018, 36408033, 500755121, 25563460, 148572210, 201842928, 922182083, 733629951, 970643285, 852580643, 886359047, 378251574, 129021472, 977531550, 709605555, 736109617, 819053949, 346244214, 392571262, 705184098, 975552228, 803261266, 637533959, 664966362, 713167058, 891322787, 497384117, 730904775, 951517552, 396683251, 686678519, 848903174, 137207821, 344780897, 236563751, 904853805, 53293200, 773531597, 127575710, 743559779, 837535276, 7650621, 978731512, 605142595, 531805298, 360117148, 586986030, 427615086, 253263829, 393412549, 347347819, 746530309, 75381218, 635959004, 489785689, 71872760, 2454343, 911113745, 639058399, 719715487, 397100425, 864222762, 944473891, 993950790, 561005720, 605362097, 718233722, 514025208, 216284729, 768558036, 712971853, 896308570, 506210214, 29307370, 885167389, 635442511, 56881730, 918406820, 699954145, 475570812, 637611542, 836469106, 845200052, 608769928, 239685768, 170694291, 321969369, 904689256, 393799880, 706509780, 860608842, 778199705, 413559964, 608003056, 308056390, 592362951, 718048230, 226929694, 48409044, 30462429, 935884669, 856620654, 640833648, 90769850, 52931660, 328586766, 394950845, 651051056, 331703442, 835826725, 852350959, 433521483, 971294259, 960860758, 164390187, 701655573, 977239608, 669687944, 290733916, 608187411, 694531561, 60870885, 939246028, 921597043, 26635254, 975222141, 165826483, 415897379, 762388759, 81663573, 535485878, 833777396, 460220757, 646412581, 383218866, 350607761, 256569481, 5361726, 763092418, 429260646, 395690922, 569847773, 767691534, 285220708, 641719311, 749677154, 543629487, 533594474, 29190814, 454605276, 639744715, 697178563, 437749739, 501869300, 432288967, 945227215, 5823485, 290865557, 220271266, 419493362, 201089653, 542759689, 223653937, 352317349, 481787074, 564348838, 129181778, 983047139, 290833816, 446240506, 52443937, 809220019, 842024651, 115443321, 926065168, 32442136, 182315192, 585492248, 293850065, 688071474, 850400867, 353948787, 51948331, 810731040, 773065300, 403074691, 602184926, 104060852, 390201366, 341234337, 864003189, 462433012, 872506059, 308364977, 800946207, 906310178, 64732713, 783471696, 954167124, 379732274, 999153882, 653528779, 659793827, 347181893, 930619396, 318423169, 189107288, 504437476, 967549040, 469695625, 368953174, 448516221, 614951493, 370791519, 907970296, 368590128, 396218844, 429956104, 653078767, 300958501, 566122626, 124344780, 852318487, 479139712, 762185697, 569147231, 512959350, 685853466, 329649931, 208497185, 980798887, 504390467, 449214601, 754625009, 128059613, 34002173, 863740377, 121577484, 160567001, 658467256, 932094191, 946274427, 517224822, 915934857, 360136799, 293493748, 976732716, 21293725, 807726756, 410515454, 570717880, 92421519, 300242760, 86874167, 919116611, 355368296, 748486326, 239259580, 659869519, 644563220, 166070065, 856589821, 848492705, 420820732, 418320236, 927242263, 110728971, 252233348, 625002245, 466866584, 331292431, 942193952, 714999238, 125585537, 901900164, 654984189, 46003946, 711205722, 522203120, 540840122, 187604751, 207009569, 454211517, 574191451, 551419166, 516187602, 384989809, 647472663, 169987703, 959169311, 198842312, 136622304, 355505038, 231226152, 576590365, 811841348, 719655269, 612638575, 222714352, 59323665, 936524168, 26360514, 125301747, 76209636, 924182668, 531309404, 953078703, 260003210, 135620374, 271795731, 523938804, 451948170, 5770375, 568775650, 120168170, 324626227, 126040800, 743013522, 730784477, 133718198, 692814192, 847427575, 614825884, 391490285, 113774328, 222247142, 514430457, 673679996, 592387500, 74931821, 690814629, 356839731, 502870858, 597217065, 940903290, 131781491, 75814094, 511512165, 166365575, 530956316, 266866784, 622864749, 147110589, 862369108, 655264767, 703281111, 388635609, 651177906, 226020894, 86802336, 787849559, 13081494, 220431248, 594130463, 80075276, 366687314, 621127109, 849933730, 830877293, 605453868, 704359712, 280696659, 4871356, 791178233, 160763076, 660164967, 774082329, 134428372, 903209671, 430805256, 527765459, 538599202, 603717893, 292053455, 15977685, 373390250, 406277783, 461315080, 341988304, 896398958, 426367744, 745838962, 774474392, 375391440, 4221335, 584468669, 865997711, 823639465, 939312362, 241582237, 546305081, 280865292, 783418345, 895287004, 972057161, 383071985, 571572478, 75704931, 958839665, 478909229, 173898039, 976743164, 31554154, 785007589, 538377260, 57080388, 502556188, 934748310, 20982660, 704612325, 392858174, 64604578, 992656913, 731711110, 252962578, 909644893, 842146193, 738244682, 796068914, 957164279, 157148135, 480466060, 239168096, 512291322, 577819154, 847848093, 603696119, 898603454, 178499962, 348797938, 573488935, 574506150, 499623202, 168490754, 252650996, 857523675, 951840133, 891175819, 121601952, 273808328, 17602868, 253438173, 867407571, 592115625, 680036081, 961308788, 536999164, 479488350, 78977846, 583975506, 231394740, 867147735, 39631574, 841361381, 475375251, 500023659, 763396570, 41088637, 459050719, 663165704, 378054266, 838524491, 889654513, 348181536, 743668858, 720843437, 668653981, 368113117, 511751229, 271915611, 344776856, 683489343, 58129260, 525820843, 251072961, 341676028, 412077404, 72651477, 226618528, 262940343, 771468176, 103609410, 609326216, 534696020, 436308352, 125217492, 811561807, 838017734, 700738150, 304224077, 637640416, 525494643, 999783941, 55108129, 774841487, 677429936, 245975943, 899462215, 218254236, 300818983, 9608687, 209718178, 211858631, 942547678, 828058885, 430773529, 399917574, 206792131, 465825628, 124033861, 660723292, 795142578, 361121158, 844107824, 347073646, 514075794, 797006385, 709685324, 830831878, 520213584, 67890079, 620022015, 641566552, 680007093, 816115879, 168907326, 920201904, 51181222, 37387030, 594929017, 315338763, 642558546, 830071403, 23690374, 290175783, 607466122, 397091083, 88081585, 677597871, 60361297, 679501926, 841410830, 639542937, 508221940, 724417067, 553315947, 985538269, 652910941, 42633238, 400171138, 849097133, 419486813, 957135623, 953962167, 743739922, 343801062, 515800858, 863860840, 208902998, 653343696, 889221632, 921322066, 141463565, 936385347, 747686282, 40973634, 168131111, 19029083, 792775416, 233289494, 104876339, 836794501, 616831496, 791033162, 915517294, 684571053, 373348106, 3900165, 268192708, 694285941, 630313087, 850230767, 137987950, 623850454, 718055139, 549730420, 458815339, 848194446, 271280790, 140635793, 405292593, 424761552, 824692012, 906174442, 893750047, 376697698, 893397911, 224799448, 733921, 107044566, 835407709, 263798616, 292566015, 302912185, 872850423, 553259360, 486157663, 151379106, 706700380, 172810383, 962080553, 405748102, 280723091, 94133950, 189060321, 68572211, 165202772, 336095073, 963800268, 722162895, 913233995, 406824978, 215843414, 640401206, 893506264, 599454456, 391056926, 90615568, 78609206, 781660601, 760242517, 809203035, 33221553, 473686226, 218009344, 502314607, 334735745, 932420755, 410561717, 393547447, 336480068, 987220524, 948729536, 986845150, 115342770, 762626869, 606181490, 106405419, 52102146, 671374085, 612962591, 508640615, 9925182, 557825323, 825836152, 208429485, 949549526, 970964395, 278436920, 321792464, 774502016, 504779393, 194599759, 174345296, 591101210, 51195576, 365777440, 196594287, 315987600, 142378619, 514618488, 931586503, 566960089, 176170668, 717322003, 659273598, 52461953, 634930232, 196442429, 603514773, 854490074, 16889567, 858067678, 320470634, 494271023, 990185547, 230251015, 333086992, 955205777, 374980373, 628730374, 728859523, 97179511, 301152720, 509480972, 507820689, 103372093, 537413607, 132192549, 749754713, 36242417, 175947217, 353230266, 460490930, 375293057, 610452959, 225630324, 889181016, 261886397, 694889478, 510548045, 723704745, 935344362, 218593882, 374456019, 535810411, 546901976, 375021009, 144094203, 318480096, 863822101, 603446929, 550405847, 407436934, 290776774, 664287603, 364832220, 147806510, 818672385, 574006556, 723500627, 64982187, 620076103, 778561044, 904917917, 800442449, 483877717, 239906517, 280848453, 665167956, 515295379, 45597778, 969822805, 30635225, 191195968, 831805277, 800784675, 196525599, 994294270, 296514604, 952604905, 11296089, 945780792, 177124185, 912915373, 473148833, 649395666, 127443837, 915924875, 432187718, 276320190, 770365792, 835936568, 725592059, 337200379, 905952412, 535596821, 445896803, 812773507, 557042195, 552313154, 644050166, 212206513, 759817345, 134723080, 174104108, 645342923, 331491437, 301583635, 690998379, 513741693, 67806262, 595945367, 144840278, 429295010, 913108232, 244395787, 961545110, 571879451, 343701909, 508821787, 740250720, 802319762, 420303413, 139407913, 559835867, 30118516, 907715716, 3426161, 170258888, 670033519, 634635575, 127566206, 495159865, 125769086, 718538415, 18963040, 249256595, 463309033, 666754670, 958561870, 696856899, 426114869, 876996080, 591581839, 313377957, 386039843, 204314133, 153237295, 215205323, 623935457, 711319627, 278620894, 4799395, 479812055, 56764965, 476527292, 62060312, 188054755, 748272617, 609029195, 187938792, 453345621, 236840620, 913058798, 249024450, 366386328, 416193724, 378019268, 881822450, 209177488, 222385515, 284536132, 214966315, 63286835, 356340802, 902467913, 317091393, 107673279, 443644430, 144602481, 76048932, 169081809, 32586491, 222586942, 912023967, 807688899, 4205545, 630348380, 859133051, 623473629, 559668586, 462729055, 708296870, 679317857, 559001391, 786887326, 276585849, 449896071, 800887792, 203886003, 406479614, 673224747, 197024813, 687543590, 45321013, 713545451, 367982151, 323021424, 512976662, 918234395, 944911018, 513088439, 815159477, 600216269, 486950189, 568840994, 99417167, 573547222, 166081684, 594537462, 688108673, 812538628, 605463304, 54106436, 382681162, 798861144, 43494539, 515483759, 24885843, 396621120, 373810813, 192480133, 511258107, 94554385, 147748509, 358722814, 236669540, 877325424, 729491106, 433992284, 20864970, 386729069, 828217289, 318453002, 114020171, 488538070, 950953218, 374994734, 328162774, 706968409, 810140190, 832788101, 423415434, 274856090, 599712864, 510713542, 657264907, 623291589, 670398439, 369309511, 729399232, 629483290, 42699256, 854947904, 907199934, 588033698, 110714228, 65612552, 417457719, 38902812, 500726580, 737552747, 494253542, 771441748, 651731418, 109248966, 399779205, 762185503, 529047181, 926836712, 92872181, 632883321, 41238629, 655958073, 497224666, 947697093, 174991102, 179654166, 691578718, 805930812, 835077897, 714869660, 779848217, 715567573, 861827503, 282838359, 698372989, 415599610, 314668803, 393998992, 986655806, 481280587, 164129112, 580863855, 722999666, 731329322, 40741302, 783679303, 345234378, 462238565, 406710148, 719335937, 834103119, 724032005, 987982112, 191176185, 460344054, 893881615, 301487427, 418700553, 308563587, 235461393, 559996025, 102669742, 512571982, 446238207, 785523378, 533242818, 223907845, 932658980, 553947360, 610924889, 210531776, 874070256, 201739661, 705580937, 794944296, 783101256, 119280911, 690011619, 422549838, 364535977, 384247304, 312331627, 244119363, 720333536, 922571464, 989656437, 694491705, 950100278, 714204985, 469332245, 26811551, 668855218, 59044119, 168139303, 459697653, 287690899, 23565551, 760399593, 484620421, 931381784, 848772122, 38970134, 804363793, 101268191, 967849143, 844120368, 967826005, 640605389, 398247579, 434739182, 983963828, 861259699, 255672327, 441742174, 916027347, 314684928, 839221573, 260942092, 92321155, 331620607, 551678418, 952922548, 765424179, 269688944, 40701150, 541486273, 418086143, 433730040, 645769470, 95157030, 492901582, 532628594, 419383272, 39406411, 825177182, 7279789, 603812727, 298404359, 719522470, 193119570, 100660647, 306203405, 732607078, 662025370, 413959971, 45803143, 402486266, 618262719, 515900564, 103599434, 513787235, 865156323, 331558801, 502283251, 118152751, 969833411, 857186646, 845326973, 316890608, 701673965, 63529890, 271599566, 343327742, 180403478, 716004535, 829689358, 775604280, 258499924, 984160285, 512438135, 499888317, 334665868, 347826944, 330707311, 943404110, 780363606, 631494128, 316321833, 46010926, 123083190, 698791074, 162814698, 840709197, 267450396, 718675145, 781082245, 762090789, 340867980, 844197010, 589710661, 431749865, 635614800, 509387971, 424921527, 991849595, 465271894, 218872959, 369483083, 263264248, 734279864, 859345118, 371451478, 519646323, 342195420, 183082578, 969312947, 853696773, 563831283, 958120994, 10324992, 189310529, 910554522, 265311396, 929200409, 524421708, 199705772, 71107916, 477666902, 611114982, 596066181, 514410373, 10707645, 313602649, 655439580, 543361882, 366556057, 565093171, 790235136, 575873306, 500944317, 504039244, 262954222, 531655919, 403955049, 423280534, 201598127, 743127229, 160313638, 863306952, 883272355, 971710793, 645366886, 476145775, 720849919, 846876731, 587327575, 32609509, 75154735, 987425832, 269917210, 948227467, 941248874, 559982964, 731629075, 880307306, 321101095, 80236283, 967001350, 333420295, 581672433, 512422199, 134842664, 782185014, 709708732, 87701418, 246936907, 986124506, 616048056, 491063846, 857583206, 886584172, 396294188, 396786916, 545813665, 848131757, 59680565, 120883304, 24413717, 834980715, 94615690, 478080507, 501677301, 538535638, 720983057, 564410716, 944212848, 87014490, 213918138, 967923925, 811252844, 947649254, 67084024, 586987533, 548504888, 385283938, 992477747, 465622408, 339648346, 751600898, 749696111, 321928774, 167343289, 255755349, 668493147, 690183786, 64266614, 951303100, 549871806, 18456338, 872497489, 251644977, 429597049, 58914186, 516426991, 733899270, 439778127, 132601532, 193929637, 183507504, 460362971, 684599788, 135721520, 234460038, 840792078, 444297860, 488689692, 339020452, 207644553, 397278600, 391721639, 280212682, 881650702, 683267616, 608557434, 590468064, 841335691, 308200128, 177130545, 796751753, 892252342, 582182581, 461550967, 458662887, 169523666, 198480567, 143271269, 513143011, 962027202, 720938473, 191530716, 977953062, 359926698, 985879777, 149304219, 70616844, 343439217, 353797083, 203132366, 507081031, 185695428, 885384157, 472463221, 799949646, 277778126, 27032360, 678323223, 18567920, 164886605, 839819093, 603106167, 565203959, 465220683, 307593809, 721310318, 987517057, 271651591, 140722618, 813675884, 46032289, 443381173, 197075484, 31062078, 513195551, 219278743, 769267612, 683445387, 660549586, 277896432, 577291453, 442942097, 154581699, 471972317, 989136451, 442075713, 956791487, 460367291, 798402320, 327812346, 103110328, 794785821, 563683066, 179058160, 9619363, 507544499, 840186092, 207031141, 79342547, 778616395, 587416605, 578865289, 942651971, 203546560, 441611548, 326838068, 253549739, 594175311, 688850382, 783803645, 4879651, 65630676, 544478591, 71795651, 579467908, 243951149, 308415448, 904895772, 14864482, 121467406, 659179670, 278948263, 978439354, 887122652, 328153288, 214080442, 819378782, 197837237, 994181555, 20427797, 640681885, 985728019, 699347592, 709757707, 25107712, 986470458, 626546368, 217600647, 474918373, 296259712, 620777949, 762671247, 752834603, 501372819, 512271471, 661116065, 720114113, 636428144, 59812214, 347993678, 914298642, 593469383, 44997279, 327174643, 832903611, 348179737, 448516333, 143582765, 667282493, 738837404, 989692755, 507533397, 924792116, 361156846, 228736309, 793190319, 285028861, 292510611, 537222149, 995736583, 46387170, 193231422, 609348711, 790138605, 206360090, 956984213, 629304190, 403462485, 193490644, 180463214, 601752871, 584279261, 955706459, 997885863, 189359743, 514389575, 653849862, 861435502, 852463859, 101297461, 527882277, 938248216, 669820946, 289851386, 152150214, 656206415, 921526919, 253376650, 350709454, 89452529, 712294953, 588078247, 132958226, 839905746, 728461126, 726503964, 642485205, 767492108, 416937087, 786040580, 538566844, 266917973, 367832263, 532834183, 28968436, 69693449, 483352875, 445924627, 63812529, 427976689, 529473081, 786238924, 89514092, 28933862, 997727879, 607202753, 902270696, 546922102, 452278313, 146344485, 919821619, 4044180, 597150186, 498063173, 883211728, 341573920, 471187730, 611759418, 95655653, 947425653, 444274499, 252161678, 491370659, 546419193, 335275433, 246466846, 151736184, 149606830, 673553051, 755895276, 4067199, 415898882, 637274699, 467048295, 469791949, 982993356, 622625678, 612786985, 738621526, 436191093, 498130058, 23779184, 164440520, 82336646, 401256650, 688743616, 250144395, 431309630, 480755799, 364820291, 867389412, 618034979, 226748805, 185293914, 642723260, 181224522, 901834558, 320663141, 663574612, 401510622, 170714780, 881853500, 287827058, 260577216, 116263047, 701869395, 980603842, 690724394, 52117367, 42446167, 975905296, 742756307, 654187283, 96028196, 569740589, 208483856, 935677242, 275679036, 282217163, 496367672, 42377445, 892466329, 223077619, 199265008, 427418142, 741952135, 951011060, 973886620, 802387783, 860950801, 367273103, 261790916, 828009261, 247158022, 964781061, 10697939, 675362496, 831775035, 987826084, 719258560, 880046694, 436209230, 346235977, 78277131, 575201331, 990865682, 932003480, 709689610, 166700427, 71439094, 847866349, 813924021, 182953245, 207190060, 472990335, 428008161, 398139201, 23887482, 630483929, 234124024, 236315177, 891730209, 277639529, 737743104, 252313256, 930283385, 243787030, 928638576, 288921713, 184466705, 270490364, 812121767, 139100800, 103476687, 84607619, 581926660, 859433925, 758556669, 727319948, 137906048, 911960757, 547715798, 117490428, 931241545, 572872935, 985016649, 878213799, 317394667, 650396318, 67180087, 642074424, 767918615, 413491041, 505055864, 415707907, 724039916, 987031877, 998359205, 488566374, 69741435, 391466407, 908292459, 288136452, 260120174, 538589054, 380875427, 392475813, 776969542, 882595259, 355736848, 65278859, 400683080, 275518521, 28059196, 944287080, 947901864, 952234192, 894873883, 803013947, 881040101, 992422723, 811094128, 376745008, 725057549, 954624025, 21061138, 174383342, 46664887, 361316073, 706206566, 640417442, 750101321, 145292844, 703150933, 43213008, 271929200, 814677786, 291112579, 284075729, 382693666, 455694268, 201639419, 698191314, 254526253, 41277443, 403354110, 602111482, 408352639, 359004051, 20626608, 301166812, 934889287, 756527418, 624262480, 713424254, 637803488, 958077726, 682458670, 868859159, 125021884, 173655867, 782598890, 989782925, 178149667, 138619423, 357256120, 204857723, 221165409, 943117938, 782493134, 531088671, 239727269, 783551654, 703197941, 731881374, 94594729, 450596884, 261904839, 945722728, 117898677, 264239264, 212889274, 717970925, 876474191, 929852265, 990090563, 700964805, 979959257, 592909598, 771322695, 169249279, 998087342, 866524771, 52438791, 516986452, 284635890, 60894536, 192519394, 653119695, 959896372, 661616507, 639890302, 478392375, 544190740, 316993834, 875571779, 908244378, 864013555, 477998386, 154692808, 431294586, 290524148, 488634888, 90573273, 712526242, 112392610, 128226864, 607678226, 597436083, 980337208, 180118736, 883730620, 847293434, 620050625, 537445658, 730318764, 127948478, 401494293, 413342994, 475132122, 419495232, 11446972, 3333840, 779423127, 534657249, 493439344, 304876592, 356870928, 655839737, 807165767, 818515703, 497308001, 179234719, 173147186, 203526656, 428868121, 362115574, 947734741, 106039563, 512564335, 385318142, 836984192, 358107598, 109360455, 98150721, 670100891, 567027376, 990717079, 289494524, 939201258, 894236869, 14054757, 827949521, 716203174, 442571767, 728464881, 995318504, 507109689, 688477819, 349157275, 1611773, 777793894, 747964058, 475325243, 541048788, 680494725, 859724394, 127881670, 624721054, 473582102, 157983101, 426758928, 541568555, 770624084, 328532092, 243477848, 828417623, 187349603, 162310517, 539716283, 803766649, 347819694, 820877134, 308954510, 253537108, 794307558, 693778870, 449434001, 327852069, 891733316, 842470002, 727540985, 156264461, 899970865, 92809894, 542309227, 586608190, 882672634, 682822186, 268708548, 948060500, 757868151, 67557489, 866048362, 774093616, 158022180, 150657504, 625891796, 178606161, 93645716, 753415600, 299891571, 630595774, 157518739, 393205034, 644517177, 990471687, 731436697, 855082784, 525633896, 267238650, 725030899, 251050065, 319731258, 272480758, 910452495, 300016976, 138654506, 190303857, 515712774, 486340419, 553465494, 188895121, 784401652, 527794374, 999839776, 411089846, 39633738, 602395488, 253780608, 472612672, 74597575, 475573399, 892434402, 953525480, 389376564, 735088109, 946984606, 509043513, 16107473, 667412942, 326671764, 36589962, 798944826, 464069870, 757053643, 550409855, 446021317, 269306250, 284706088, 207685102, 987075487, 528156525, 250977794, 149192262, 366666828, 470900059, 376702106, 848184612, 396717759, 841427910, 272242390, 654779268, 30850187, 985809743, 381243363, 49718797, 898121761, 652918093, 795137079, 108259248, 571109567, 794947578, 250182396, 74897495, 330247468, 977197272, 391653139, 466668871, 431387942, 995696030, 781712852, 576557689, 591696766, 542058001, 949388304, 158504581, 535508197, 399765324, 558312603, 732115928, 766592703, 20845301, 880810188, 89397068, 617632363, 628357303, 569017314, 171029510, 938622373, 355655273, 962232248, 602178160, 836991617, 464641192, 519145098, 563809338, 47915240, 22214847, 662476557, 100744098, 972238170, 573422207, 612840490, 708097508, 25629113, 782902392, 526663928, 11602502, 658843921, 739103979, 272819260, 9701701, 155915820, 742183378, 158701910, 603610310, 272406213, 888282100, 864329915, 683694596, 837487766, 762995835, 151408931, 257647470, 750657162, 371162308, 841263091, 151805498, 901197219, 352375433, 575614232, 414582853, 408353123, 749133576, 420776934, 457484308, 379712147, 504785374, 242062459, 1646324, 140272142, 640727656, 909465128, 228425366, 478237404, 9236175, 581862930, 84160000, 546300173, 133092042, 978729267, 306197681, 708862261, 147828717, 148356231, 536607783, 827266673, 730042650, 84301581, 748559832, 79454782, 93120140, 200877354, 147351778, 334309778, 172116201, 299548262, 511956305, 103446470, 977446347, 919924171, 954094123, 658730305, 48692479, 9478415, 911303534, 379152312, 451873663, 864827507, 747262918, 864578969, 440036897, 200051886, 677056352, 613971112, 954220908, 309080957, 323475447, 51016579, 221577543, 379811814, 669531416, 851835103, 734309615, 34615109, 943019836, 454113301, 569782701, 570260734, 631918948, 708736519, 674703835, 835583962, 107167409, 433378135, 17082690, 924937588, 704149187, 31935428, 65065833, 248624106, 696585167, 948572154, 84483359, 756006198, 642385963, 765798603, 379039378, 177204276, 620939109, 46493104, 199012779, 34611178, 484514602, 40421744, 254120562, 552700090, 567905657, 762381406, 373763826, 297498899, 255949502, 821390166, 860924582, 358188713, 350554397, 146765003, 132081783, 701379540, 117315748, 300891, 485293076, 210634258, 717130555, 956719679, 833665671, 783704522, 37151371, 628564434, 312096686, 244801876, 981706874, 847916806, 468718734, 912262870, 306971471, 932942387, 600802736, 927425431, 446658660, 390718210, 60310545, 826507522, 999713698, 850166919, 889392532, 831466919, 730639633, 670803271, 880525849, 431714257, 150075430, 953204501, 282121949, 903194235, 949889305, 933062390, 250036426, 236818517, 952721239, 375297739, 612822575, 404502911, 106069936, 350765811, 820603233, 532045453, 214261477, 827970227, 62929517, 426423749, 37902272, 972071830, 465925218, 989082393, 652260054, 452926365, 76265148, 606837613, 305608415, 244281289, 404277826, 326535709, 432779063, 334630166, 536249133, 852872541, 898358342, 930104159, 962022623, 15607823, 599624658, 309785260, 336628164, 843103046, 449886341, 769809311, 38882957, 902139764, 617793569, 802895986, 78756328, 81790370, 5453954, 975083066, 999542275, 745021914, 368204149, 536921588, 396887661, 755623400, 435486198, 418425755, 458037051, 269189316, 679719217, 418743457, 417889873, 139664337, 837648641, 857850297, 580587146, 325486308, 88176598, 823291972, 568172777, 686289892, 703749352, 396778643, 644065447, 424529719, 823975733, 96970919, 849812104, 957589347, 893986556, 638451495, 290913930, 156522775, 602039468, 642143646, 307602910, 51533902, 562279611, 843255001, 335508606, 152549762, 674715826, 688701393, 932726427, 511958228, 650135450, 513241528, 572189053, 885611958, 588221963, 827243517, 249772296, 480145796, 858542954, 616579360, 782318422, 928087030, 830585385, 731948732, 372306741, 684704274, 425485476, 584638899, 647412234, 182925219, 899999924, 338502331, 237463303, 199569297, 527402510, 635046705, 474985121, 479653718, 85979478, 570720404, 274115679, 500595095, 549932656, 782119973, 251771424, 294352076, 726306562, 16248847, 154433842, 485513687, 273443887, 983958685, 769049095, 517613951, 835695414, 607968798, 717770307, 826619126, 347407758, 14577972, 355563602, 963842054, 377120630, 73738425, 118966194, 887998274, 190281616, 693629805, 968624858, 120075344, 932567926, 466959237, 439780398, 987709611, 157208603, 742576102, 179442519, 241155755, 103359561, 793306948, 868198283, 740510739, 927538960, 667099143, 694773110, 897779972, 788310270, 109994094, 575113468, 84700641, 564258820, 400482022, 67802974, 695883925, 501449185, 865923256, 648641982, 971117509, 759745140, 820124476, 481045934, 651854205, 88349943, 268820406, 960389014, 191075192, 869925089, 281419598, 719831967, 692218092, 792736295, 258329286, 838012157, 887052685, 340305530, 396094195, 790346219, 603585673, 679399910, 355050946, 278963717, 528810527, 235071025, 993140308, 901309922, 571607873, 684525611, 84829503, 662845559, 171879715, 692942143, 330200048, 597852465, 811821326, 834108634, 696121708, 777726418, 351526894, 294064191, 938189479, 322040526, 553153099, 8728093, 645976612, 677860886, 715751033, 4725138, 763249607, 760874276, 711161961, 693273191, 588419132, 384281713, 285648890, 883542380, 443082943, 961667557, 727018680, 822822563, 250775542, 472341184, 912757472, 896880996, 891946891, 229231660, 182008090, 669909536, 777000451, 37151727, 383734479, 411747196, 46241340, 401638901, 422692241, 958275742, 930011029, 733840138, 450327580, 277037706, 864251649, 242846617, 120736915, 266316845, 932445520, 57200174, 792034732, 382227396, 740638247, 696140493, 887215521, 833126108, 612100115, 148257053, 252805480, 687384413, 941689463, 368219715, 881977432, 708789287, 627862580, 447902858, 159483891, 972635895, 366813664, 939110237, 880082414, 585300278, 655443491, 525654936, 465644663, 557635211, 245272168, 54377448, 258883825, 496020689, 227773737, 717207013, 909226737, 239607061, 530700554, 742262304, 428510840, 781027170, 642811491, 370933011, 240414382, 662800501, 28114798, 681881179, 977725002, 501552843, 750816911, 479772029, 927182900, 490073813, 227088352, 991033363, 565369829, 374444432, 803437422, 409353597, 631751961, 921315840, 869925862, 488366222, 877960312, 757508689, 971060433, 319231299, 369863741, 79754583, 986035750, 90113890, 868987728, 11383393, 335965183, 121525172, 404394316, 478055967, 226566588, 353621282, 783682893, 915685380, 334210668, 621511085, 129963780, 103771254, 651252404, 413792740, 722076657, 186341123, 521769754, 876443781, 192463755, 505768052, 737079288, 844791013, 961916518, 619755398, 527846638, 973358019, 180497391, 427629285, 887551525, 738889647, 857498280, 757436132, 887138008, 890816990, 594830344, 204251806, 314346186, 992000445, 94386501, 230926096, 619290375, 622519879, 899924053, 339819317, 513962202, 140357715, 891982278, 579471488, 524692312, 535534142, 4989805, 487754330, 309802824, 914092760, 460846489, 760162250, 93165674, 734694056, 904823968, 66999160, 301889746, 833435435, 452460161, 691598307, 625650606, 218845953, 298559922, 282541051, 865456693, 216088561, 55800730, 541590176, 709388447, 470469132, 37869414, 276056179, 879936702, 579472460, 801195598, 321586379, 657105754, 670139157, 927371156, 343940718, 652104521, 824186458, 984579425, 341444756, 564949757, 893760398, 423355571, 962604115, 83115632, 349242050, 783753050, 387251869, 684091832, 166327454, 52748415, 528371885, 191923509, 73956083, 268456619, 351233116, 89248589, 255940689, 945499259, 326202852, 294120363, 750568075, 62229123, 140247635, 17734866, 76252696, 394323245, 946242935, 766828294, 858832668, 866714337, 23934249, 846168362, 762541060, 742772147, 340340696, 934325204, 254386243, 493996229, 203888013, 360330928, 590116415, 886420429, 657288139, 60935758, 432782836, 809164224, 888289858, 532855510, 813264462, 732662907, 50459153, 846187291, 699265880, 538148243, 435516596, 515215881, 883174122, 49770184, 647114783, 373934513, 240903283, 204048359, 464090696, 10764021, 622166808, 190927599, 588598348, 998276749, 277059442, 815904137, 408806443, 366830204, 663287768, 204427510, 970953456, 1952556, 813846938, 354774568, 204298649, 612617281, 2236492, 387281132, 847222946, 173879772, 873691753, 348574551, 761504615, 979742245, 78402777, 656745301, 613498171, 970991842, 805061290, 640905438, 910525510, 315371619, 295703346, 375596529, 344607095, 733358488, 816425805, 365701435, 723526410, 461117001, 453073072, 856511776, 764211236, 152395757, 33231460, 396018888, 945163752, 35009586, 517480918, 869578210, 460715056, 762539304, 789597771, 205136929, 781940760, 463382882, 107087980, 396889223, 110694814, 895767627, 627532047, 466595210, 721239472, 279882350, 991490666, 530371811, 192177597, 57312799, 256096279, 515788128, 732649847, 259213237, 794961898, 609142133, 478467531, 424320502, 660537164, 808927271, 265420528, 563845678, 602099510, 849459340, 757046545, 425779019, 667802796, 56083152, 281031330, 80446185, 589285767, 249765396, 405064187, 88709795, 807913438, 476166685, 895379480, 722294288, 935633410, 721136269, 515944040, 418468212, 686054700, 881743382, 716105803, 928933909, 381197094, 346994444, 894215083, 135187990, 998552956, 480421571, 933113413, 814678517, 449431713, 419888171, 863316561, 922069148, 807426110, 875450219, 611821740, 586355090, 141970765, 646062810, 938087520, 698313847, 790781484, 417012691, 147273806, 984061181, 844745596, 888817155, 322017078, 538350961, 859274098, 645723174, 983526411, 296891424, 507611448, 631786570, 738656689, 337846360, 930698632, 563917032, 687883265, 718990206, 436381696, 893815979, 928086747, 739872201, 271231926, 12186964, 965425703, 510596624, 218660789, 922056246, 160580249, 203254211, 670501113, 708015852, 934336847, 870540074, 975710692, 289613356, 214806464, 224708408, 61005106, 860607100, 588567530, 186444514, 494545438, 728474047, 144907852, 480228719, 961708511, 229861029, 781088143, 4762989, 512706118, 726476832, 72472852, 241873186, 431614607, 202887624, 853131814, 546685904, 428603350, 97880667, 665822509, 281374036, 654643316, 969047976, 151198466, 971537578, 172115483, 791276113, 871709006, 597662705, 112344186, 677662703, 407264365, 850107064, 21783849, 515182487, 113467567, 613919097, 639363948, 850790274, 576276303, 224486490, 133331024, 812437557, 935139645, 231106749, 563954902, 173285036, 532284948, 483415316, 474596104, 677131241, 299303089, 897096750, 231975939, 948947184, 37432183, 516021692, 12002473, 635281349, 333030059, 568525591, 908844906, 440799010, 44409515, 586510640, 702757481, 382937280, 339768697, 610375437, 982515694, 859099576, 520981439, 661197050, 738443777, 448970402, 774496785, 260476247, 154673694, 493892042, 650564668, 797660988, 916822216, 679731178, 809956656, 368171737, 249420799, 961020409, 130562868, 741999138, 633302388, 34466521, 506505032, 57777659, 45342022, 562952345, 254579005, 228353578, 267000392, 307424087, 958792409, 942454074, 547396829, 559296180, 7000751, 939299794, 31976735, 657914423, 922302706, 802794620, 40428282, 469803288, 110330585, 189526690, 513160076, 880196027, 392215134, 878621476, 113961634, 205298227, 212313867, 654497113, 772479239, 614830646, 972313396, 588438724, 905711854, 115672949, 309713605, 783093051, 368886245, 740764092, 57576154, 333008622, 783140883, 434636329, 742141837, 266473829, 137505793, 111283295, 819599641, 547042617, 298713197, 185728369, 144893823, 994587522, 377651417, 525942225, 605933215, 766172115, 197693287, 346501518, 84577574, 985297113, 343425439, 713448171, 39113474, 482538579, 600566478, 592083159, 227937683, 629134927, 957845540, 281559993, 365876945, 300494041, 507625461, 853404169, 685206299, 308864266, 960136037, 672982717, 503299262, 569177393, 333559729, 145270073, 22799293, 478686731, 168209728, 780010100, 988249330, 441708931, 562870474, 518916328, 667395825, 146316812, 668652270, 625738453, 294932483, 579236589, 511423970, 833845860, 757218934, 793637306, 252596900, 528141229, 985102172, 790907883, 631561154, 151260595, 333097425, 523968498, 231674134, 882092405, 812796063, 196783047, 223432426, 595152325, 670603080, 880898108, 463437614, 161939867, 450922941, 736332821, 787626862, 921800692, 398358112, 859116053, 609598795, 591638295, 483048157, 403312622, 569507795, 874401479, 724164789, 761003342, 125451400, 228198907, 567075089, 619746353, 543040667, 879312879, 293684185, 948214210, 328125581, 257657459, 661486441, 39378627, 714415600, 952054675, 12024939, 654303659, 809883983, 51534613, 56874021, 782057557, 426374116, 782485542, 324953475, 700971794, 550262185, 247014633, 795545528, 248223337, 395026768, 102146998, 341009645, 406440377, 271647867, 903005618, 877820887, 964970165, 712722670, 54809860, 832234842, 946878685, 854393304, 182138315, 499593357, 849158782, 701965694, 162088299, 943440977, 686916380, 206156763, 171244314, 307638246, 879263356, 848213647, 842045837, 491223972, 688143699, 73112190, 686924226, 546209064, 658369437, 746660448, 628159519, 996278261, 277224138, 574193872, 771522950, 541481958, 920992277, 411335281, 297139129, 285617222, 517391121, 560665059, 722949977, 136931071, 504036270, 649545617, 413766924, 164347656, 39499551, 35848718, 816854716, 688774741, 502248714, 349161743, 342719157, 871838604, 962289005, 478064638, 976978153, 299072773, 406891882, 159930264, 532563819, 451393891, 601563461, 227393861, 370219923, 720368133, 695056016, 4977271, 345585732, 207240182, 239523571, 965640996, 329340398, 563852704, 404711933, 995512953, 942656894, 383464429, 612255902, 83142745, 158759861, 245846561, 265419231, 464443021, 616418010, 51045409, 899582454, 862053712, 510722582, 341036021, 21019967, 631486152, 745373681, 919819977, 139100231, 334336554, 722684779, 154608297, 955500591, 403905724, 664331602, 14016508, 686976046, 851078072, 570772088, 366694481, 447839509, 332351450, 317222056, 26962261, 103244951, 972540847, 198727045, 121285017, 666007315, 878748735, 39414681, 676378257, 602400428, 840776541, 669603539, 97049000, 578450465, 374132872, 444291099, 841971862, 736406755, 161850049, 439866467, 920038187, 142332059, 708505487, 998366689, 201209008, 334061355, 843415920, 470440825, 799872016, 408798072, 810231799, 318465874, 369002137, 12369534, 470728383, 891724279, 359248362, 623492009, 514884971, 638851411, 409813786, 56658977, 934772129, 426891508, 103521886, 564800172, 837350103, 345502161, 255946441, 241350637, 626215804, 506460143, 364210890, 223068067, 432302671, 315984548, 120476311, 948386851, 435205164, 991637516, 913578366, 765270118, 730962217, 882306594, 722736370, 103185916, 878554830, 904918482, 585406211, 524832217, 321601848, 700409796, 646172397, 505096704, 991055179, 11972046, 269318272, 100645902, 96790790, 54695555, 604902577, 647757637, 96157912, 479420158, 537372859, 115508484, 239024969, 639719877, 682448450, 918678959, 59074745, 379464923, 761111601, 340364494, 153963503, 549818875, 928401205, 669388989, 121132058, 645165407, 183907900, 998230435, 655114701, 774329529, 568882597, 514202000, 85645904, 743003202, 270302572, 855887034, 186780317, 362855606, 965160235, 154270500, 397936421, 35093472, 615368132, 257450983, 569476818, 242629619, 522162642, 89342165, 257329040, 117815426, 101049480, 903592412, 589292567, 136956609, 165071113, 507053430, 802061518, 791744749, 932486887, 812149694, 358987336, 112926662, 202794979, 367061525, 216376250, 424086105, 445417983, 47729953, 263895777, 445284191, 534821800, 378879710, 480669733, 40425737, 397266815, 533555350, 831611789, 920408780, 135369092, 290408376, 998276340, 605710118, 170867142, 824812413, 750220501, 319521514, 934930578, 700655896, 628224548, 601196180, 899883688, 224791155, 708644735, 566827215, 709608596, 742355778, 440811862, 827153953, 486878559, 149856034, 842427663, 77521715, 774601694, 944225317, 687868059, 792113193, 699546089, 66055656, 780828987, 968441127, 50155216, 889709996, 945865425, 90949531, 348207953, 254486246, 831272147, 264668378, 674354147, 964620542, 855052654, 325306557, 676723930, 538440180, 418832063, 504336183, 930814947, 57180601, 759816063, 992505691, 407732911, 564091868, 948190221, 529356659, 461654760, 778140996, 530366248, 882567624, 840635649, 971878117, 34710247, 921919030, 703614171, 655084144, 992743501, 378956980, 274894771, 399865235, 511626791, 621253392, 84663865, 445151297, 563588464, 394781592, 150525566, 770020377, 769752282, 677557410, 542588495, 672291643, 518438619, 726414707, 583190112, 791595927, 611597703, 105363217, 90256457, 195918886, 460521172, 228979636, 750270944, 49136416, 301810698, 545850304, 591480611, 256182860, 577234370, 634738650, 538024290, 76617645, 801669896, 728494015, 417517303, 999754953, 592003742, 655594252, 377874710, 771047721, 821935525, 311106843, 854770543, 925691043, 57092698, 106615794, 718425438, 614416725, 14222214, 868194833, 302117552, 346065670, 538827476, 173973516, 486049037, 452679771, 992965021, 129191212, 340096163, 970209652, 82732421, 470963448, 562013400, 444477016, 557720884, 394437686, 48789895, 568641829, 961065081, 108449208, 987349341, 172840186, 691924964, 881925164, 134451876, 295420527, 922402818, 582423801, 674085054, 436452119, 247865350, 335786180, 700827143, 814126763, 642800371, 739207868, 669835303, 670667746, 858083528, 663617074, 411564923, 932645801, 274538549, 969946982, 626256425, 191029317, 459599633, 605773792, 832246822, 224368946, 21744684, 878342127, 778055357, 795243423, 104541183, 524133598, 980284225, 445717823, 397943587, 354976248, 882653406, 286683333, 135411049, 800350113, 464446033, 761512046, 828789427, 772016870, 343984661, 789483164, 325191336, 920727526, 299485084, 638375797, 327770869, 263973132, 645470503, 292072399, 890424042, 484630955, 662530145, 950092598, 692531114, 814283044, 877742474, 732907957, 758103393, 706075248, 525678125, 512553667, 390277630, 433316964, 567255763, 454163995, 779590687, 264445641, 527972578, 53912003, 296232563, 514157259, 28420615, 844079256, 338119015, 364863280, 451004335, 689027912, 800634846, 884119189, 57960024, 590696617, 104279504, 184994866, 617662358, 537696462, 567241037, 652256506, 372708245, 301730776, 827349179, 913129593, 745464397, 478579224, 683661592, 489311689, 688101904, 977469730, 396593568, 280086358, 558120624, 105053920, 51804552, 292174844, 24906359, 759824411, 217982544, 185682396, 381464571, 628084687, 370366121, 599833662, 400407177, 132114050, 418689215, 408633719, 815755222, 689951707, 192629624, 369567982, 898885694, 463285429, 987189094, 854964194, 266397091, 284837361, 526125032, 141434258, 230795847, 221764351, 46062723, 477885149, 637717756, 764173407, 307842194, 533283934, 84089333, 170564593, 970785688, 596586359, 610459374, 700821651, 287892144, 230326689, 124482205, 20909919, 53787452, 681160819, 491745779, 696510146, 799463426, 809829355, 667910494, 758941592, 248544599, 173983631, 469924658, 308972264, 703519382, 841814773, 191546466, 960906017, 616288723, 448149305, 459393363, 776712862, 442319778, 471732348, 955020869, 328010846, 370364811, 924333700, 417786272, 391129836, 634222810, 889927610, 86281592, 687079102, 153391414, 247398226, 982135844, 343846776, 187447054, 861587799, 705938260, 907995779, 603488090, 399927849, 195774025, 866103365, 356566515, 854394197, 394678318, 454461188, 88190737, 151941503, 995017960, 462678506, 800959648, 72365175, 35367659, 954577830, 31804472, 912622148, 949142467, 884367781, 696573476, 378790661, 267396183, 187204337, 662150112, 251268718, 306590585, 860490496, 185291378, 624767028, 180512483, 500591294, 366320428, 817529520, 685916824, 112973934, 658619394, 29168518, 162048430, 494853921, 744405566, 74876295, 420787369, 875261119, 889818413, 625481490, 453867476, 964791689, 343403032, 965685003, 372506590, 854455060, 635311812, 394869141, 400025639, 969472993, 125310408, 672099400, 58148797, 2694372, 921060601, 565670338, 273344238, 433758892, 285574767, 511059501, 829959569, 874498115, 334095300, 813219163, 519607401, 621215611, 950819583, 662691597, 834146175, 12113756, 46196028, 674194036, 173021444, 625427929, 91063637, 860769795, 425638266, 262518698, 562023784, 103762175, 755611080, 444274510, 270767683, 346026229, 260903971, 603577141, 12489047, 563354238, 632879390, 50975931, 615206704, 557014096, 236415416, 541327840, 919410989, 118998679, 664614359, 823127531, 348744938, 73244480, 540804357, 178331972, 538090070, 68934356, 633008794, 946005312, 642143087, 30058130, 262018300, 933163051, 424879166, 745591200, 663315714, 716329406, 968760745, 352680392, 151106528, 542977909, 551637887, 977463278, 893592459, 524408231, 384127021, 765769080, 777805781, 100832857, 751346587, 13785873, 250398142, 4613898, 385564723, 466900595, 299486200, 867956985, 713814946, 977927880, 826702702, 773765362, 781088417, 275059833, 786153692, 321247315, 893985330, 827370836, 50440608, 866044327, 744309575, 834211991, 509864963, 733535638, 481976170, 660189506, 496578510, 1537700, 998600011, 195363462, 506167878, 945413376, 424230912, 132513401, 756789526, 249833810, 381639716, 475062841, 992065560, 408462242, 800799251, 597492160, 355613860, 251946898, 201763626, 807647619, 887034106, 219868139, 772849498, 656850977, 180651013, 382245149, 371553805, 511475760, 829231498, 979668073, 733167489, 306739467, 705378586, 78778816, 315053749, 208120832, 274736548, 434080663, 983051480, 453472870, 192196112, 32797587, 424345851, 788120463, 280731006, 677341848, 870727053, 532517497, 600787686, 117394320, 424291428, 917816137, 383568182, 890335954, 108758595, 801290568, 448081208, 612980542, 160609638, 580966528, 655400509, 492566749, 461693380, 279256823, 949514396, 548424698, 396497015, 214241181, 912300254, 325335269, 565878947, 458447727, 545216390, 115411003, 805828695, 486820661, 170921673, 395604467, 816420261, 903934078, 950381676, 137047070, 621513217, 313573808, 315008583, 753583506, 695458133, 378183052, 830450420, 997356805, 149798358, 733144487, 588044577, 233583781, 134237842, 539471959, 784010110, 767608633, 159016767, 270257908, 77057533, 888999740, 452211049, 149987887, 409967422, 20837141, 849215631, 289054985, 879051799, 957921739, 922373604, 448752136, 580528075, 366891552, 546897400, 105065199, 938083767, 349077295, 400928233, 948419089, 188098809, 640673328, 188075351, 237415195, 894974465, 11102639, 741740664, 361331987, 606786763, 141426494, 329552881, 381391319, 879678283, 461555433, 391845086, 30760510, 427057153, 349778013, 58471564, 200481577, 352212605, 287072136, 836993480, 645713395, 4848877, 664766933, 833930293, 846292145, 676226906, 677485424, 457168672, 550171920, 423382657, 588352158, 800776897, 752707624, 966015033, 283989650, 888690640, 8535997, 231391723, 832719336, 130576755, 23361394, 886267909, 581224026, 862992441, 48720202, 16551491, 857817856, 674652322, 648409170, 482318960, 943807619, 509190815, 627416456, 762911604, 160925951, 724387350, 206010171, 159466765, 564899833, 934293717, 218109982, 784172824, 74727805, 983003345, 152055114, 964635470, 952736642, 152435573, 901289499, 642275655, 112064174, 472339759, 338210865, 457950319, 348857434, 143354545, 998521212, 453649746, 382022426, 886610658, 847514890, 254636109, 351167038, 263870288, 305772835, 270308456, 135697903, 578181954, 923304409, 456196620, 462226021, 890621095, 743953310, 844996812, 608195310, 717614711, 967194688, 722389142, 87865567, 840628344, 482353098, 848600004, 457005596, 510282489, 901655312, 400284309, 43335210, 248896350, 19971169, 940131521, 47009188, 465766754, 543597400, 495590455, 168613411, 850912478, 93621549, 172566389, 455073833, 771992879, 415878675, 612262113, 281563929, 703573223, 535943477, 466918087, 330439168, 109077653, 129023917, 96416056, 691502197, 362002733, 239374920, 400783598, 614730284, 567633906, 478748959, 129067523, 697408274, 3545041, 469518371, 306281092, 93583319, 347428253, 977116250, 156760355, 570793396, 942517509, 267151475, 739032306, 321679301, 187309828, 150987347, 654084867, 552771024, 127301495, 630056934, 564815223, 231520459, 463391884, 289529804, 539572870, 516197802, 820928437, 620285269, 952044660, 381527345, 631817876, 567931579, 553323200, 198558878, 17245173, 952131206, 33392900, 662609989, 974828515, 252679886, 9767480, 56048051, 926881030, 717168705, 749970659, 392738341, 46004139, 72267926, 307476764, 879615034, 271493773, 983308065, 281834692, 859601888, 813089351, 587078784, 896153719, 571785147, 188907572, 34339594, 639254988, 957944254, 634658852, 200216562, 860380935, 528885267, 26342283, 48417420, 854776876, 306674838, 530111315, 141806676, 991325807, 676768291, 52888876, 48189893, 411313214, 887978089, 125521475, 613155752, 799892921, 511311568, 757849247, 566384654, 82442133, 111553571, 442213490, 257912789, 820264268, 410275451, 352249746, 575399116, 71081842, 751356916, 912708097, 307884892, 745877353, 48440118, 167041491, 371320867, 686283304, 640915943, 26064849, 367042699, 421020299, 229186367, 566957046, 223840882, 599559151, 963119473, 937694996, 897372277, 224096789, 208955938, 293495623, 551154388, 561532869, 790324656, 728105116, 254648576, 377995301, 480463919, 308558150, 309908036, 592688392, 961265948, 612275047, 314239373, 466805019, 561599282, 295372204, 943042046, 231427727, 25629924, 733292845, 802050821, 137871948, 619919057, 83110430, 679961, 527620924, 684595726, 993788499, 575809921, 642937636, 666452234, 669187791, 159885738, 350880449, 215533008, 348359740, 697173010, 74021059, 563033133, 557909175, 609756708, 652247134, 332569387, 208108228, 936003789, 722686258, 614574379, 660821659, 536945183, 110351678, 423878172, 379432153, 279603359, 357392024, 198274305, 987206225, 325587615, 982642635, 867432772, 872408401, 35844052, 7265880, 256837634, 960557162, 502329661, 433038831, 900382337, 542958021, 473830289, 50878834, 168731126, 464601666, 96250568, 695982806, 617019549, 820781123, 971381233, 187747530, 33207519, 124733085, 446572292, 617831980, 478988635, 667864092, 440274878, 152091781, 3940770, 902848274, 746837615, 52896778, 189547210, 640900003, 776911224, 24366477, 325957255, 88259343, 396945372, 529048285, 950494513, 439342744, 647966567, 383028849, 786521019, 832437874, 306505706, 1107706, 855085132, 220981007, 132709475, 194792812, 656761430, 867554015, 950436287, 197057866, 847986, 508708692, 528560216, 23784199, 790057051, 18710630, 26432810, 967885872, 272905821, 562810916, 540946911, 560900907, 296318318, 517782795, 951713678, 541394129, 645862022, 215167551, 404534780, 44697471, 96477717, 32050227, 56020989, 405625399, 509642745, 258731404, 835437192, 343056893, 99401404, 692716645, 922899778, 763380915, 785279911, 460759113, 361400773, 252495111, 231694588, 107294680, 962810291, 812135661, 513379659, 360089091, 437756915, 502168003, 374002344, 534462686, 574793427, 432709103, 818752057, 909937557, 936563343, 834794872, 893042117, 692948996, 441847505, 564292368, 347393332, 50916205, 153624769, 895012781, 610841180, 869110898, 940969944, 406030145, 495174054, 146401057, 752137594, 562529122, 510392561, 538185245, 763276306, 284672934, 119006205, 275104205, 120090126, 540795098, 41516144, 814763320, 705342050, 471094737, 593644443, 118097436, 808202307, 567510061, 941793079, 83371597, 728170145, 365971214, 44898056, 603626927, 464182344, 874393195, 158015928, 390701132, 903177090, 257039340, 5611588, 765867521, 266494600, 576109563, 366745841, 216420610, 530562937, 439367324, 689706553, 207311809, 773008453, 100450502, 223062670, 444120253, 527584190, 923531175, 451023516, 720255909, 253179395, 891257373, 71509258, 977024223, 439835906, 811628385, 205219061, 573335086, 541401173, 708898909, 282304786, 671826265, 657659171, 217651800, 982731048, 716653066, 568543983, 945360989, 265328401, 244018435, 162315988, 613320100, 943615396, 548867884, 78489312, 153889663, 504325887, 185231558, 238885867, 275033243, 586387953, 356750347, 246128589, 613489042, 189569897, 737754062, 981884470, 193823381, 322090495, 834423744, 680328075, 180858157, 429046320, 545824482, 65477159, 978040683, 157238438, 464064960, 21419990, 390644656, 341186006, 239797284, 936294816, 56934602, 481299218, 21724532, 429269990, 500512175, 512615486, 177788848, 566063674, 607315928, 598600544, 965867636, 758525228, 760703034, 843293405, 844434404, 523179024, 886802261, 458690664, 723299620, 133643739, 582381623, 121924216, 45166731, 871511416, 655091050, 532529591, 106589243, 127849437, 539301132, 374894222, 61596479, 898201531, 407650902, 345078476, 369051264, 771230490, 734092029, 91588367, 178523188, 740942897, 171284569, 462646927, 971077139, 987416087, 553908015, 112654163, 532947997, 709487952, 979986039, 527444851, 553101747, 125322427, 134432457, 46892830, 876458914, 44863859, 829089811, 945607416, 841743888, 165627754, 413699864, 441656108, 529224387, 19944259, 313619846, 116901424, 934398695, 691305427, 658521218, 992231021, 218798224, 416788352, 748771482, 44217009, 518101551, 763190737, 916091564, 751670445, 442511898, 40725485, 289536399, 850043782, 348696667, 752202440, 743867028, 502180801, 111449738, 644742404, 641048597, 753241101, 252524107, 650929429, 802864453, 377522090, 44179295, 48701886, 823306583, 879110209, 70048443, 90429112, 138701657, 418766029, 288675098, 836824786, 76395733, 746114321, 142265546, 58260193, 669969197, 959351615, 17554159, 748102802, 697993256, 294024172, 193382175, 442581170, 685423009, 325277962, 917338172, 114757202, 757174530, 296332246, 87054155, 987252950, 463106185, 840041407, 801703772, 489389860, 341652679, 116497269, 945712852, 182050993, 551986849, 260467129, 565996012, 628648957, 684657868, 580977524, 108190166, 939222212, 171201012, 587262633, 655492353, 281004519, 627177759, 336699881, 464462873, 923861989, 877775745, 20025688, 631790933, 696550120, 440577560, 577511609, 947999019, 419806339, 585719135, 394088968, 669949633, 551921778, 287717260, 377620956, 566252489, 928568964, 739531712, 373894109, 902343324, 670617656, 836863670, 112570586, 757624951, 203848583, 184972280, 424883518, 708617493, 373903715, 681981423, 180133245, 614380153, 97415608, 91423812, 30547322, 38178864, 145033047, 208477605, 949509434, 205394551, 937442379, 758279750, 75839717, 98342566, 485298925, 482597926, 579702023, 863116073, 832948488, 297883786, 52380156, 222574585, 328234855, 145779200, 963950747, 299374901, 155630714, 696472622, 744862336, 371053836, 182266853, 148527280, 718432192, 894671803, 273290555, 973933879, 163853581, 313193749, 91115414, 176486555, 751533222, 346005133, 400898973, 500097595, 730357126, 678332362, 332353191, 820403036, 985870695, 766298158, 897002744, 956041063, 645383246, 418896137, 503750989, 139459560, 573302373, 929815866, 69372044, 483788068, 645455864, 876899306, 48956900, 495205852, 339639133, 375707252, 567920619, 544747533, 673751581, 746609233, 391781400, 209506301, 493492249, 925304543, 459690479, 212801769, 223485221, 38084964, 659802230, 108372955, 97408869, 816613549, 261136942, 471772415, 419973109, 737271130, 407194467, 57140267, 179392250, 434588835, 734963181, 300627871, 64288391, 912762164, 74207767, 570591193, 365153868, 475625901, 988630050, 871078964, 655172034, 415730199, 66544461, 64155187, 795000553, 783511356, 969397929, 280610933, 702756703, 182813750, 741663903, 591038615, 401385227, 415627563, 743291844, 139250401, 530786586, 581513633, 490263158, 737081658, 779594082, 884586527, 15537689, 505168723, 483912976, 759039562, 957346783, 159072836, 437993479, 987986096, 48548467, 977274289, 456794903, 574313994, 46123652, 191625473, 372854806, 133330994, 748156024, 427557008, 464714389, 337547834, 573848355, 451937814, 234191457, 365509233, 549364827, 787908793, 904941250, 941935517, 463049601, 950200490, 212317656, 861229056, 333156236, 3425137, 415425413, 220116052, 672480592, 733141200, 794767886, 502906830, 63342998, 706170251, 65187022, 745579333, 440252542, 709182980, 44051293, 516540602, 609406724, 80369001, 943188423, 432451454, 198655936, 863715950, 696857645, 64022275, 26131986, 780440118, 208281318, 166769100, 591116722, 195945552, 508266220, 17581016, 208670314, 768629995, 322323125, 971741131, 89353014, 82628155, 472547445, 431974243, 597594467, 163596554, 340529702, 106223036, 955642116, 374107512, 115123028, 665313901, 940976690, 734314702, 617240994, 997610296, 665349062, 982730102, 373754550, 819125775, 768725866, 280158316, 841408496, 887323825, 715573070, 330034916, 795204915, 194631189, 141984585, 286558740, 387907852, 900003074, 994996116, 335645347, 46292973, 999178919, 27121444, 992960455, 357734651, 94516732, 228246706, 48444125, 734441711, 449860170, 659322428, 277001224, 764153032, 351493060, 123804741, 149402830, 749731361, 747194109, 861470691, 688930927, 790853887, 401316690, 661528682, 281851099, 898381996, 464351544, 972134358, 585898932, 843789112, 887173917, 640773885, 275066418, 176757023, 894937423, 105716346, 319560879, 45617490, 876819253, 213031612, 175947357, 287665105, 58898736, 497375529, 248856976, 40337426, 244964476, 127990658, 563689792, 605180266, 631057039, 141552327, 168924672, 502039743, 865678755, 959302760, 993440058, 785214925, 621859132, 129990864, 49019608, 261131603, 47156174, 19010227, 404838711, 151401198, 128797299, 688694613, 394626260, 565768261, 769096979, 822648304, 358646694, 413787302, 71194463, 898383485, 55743900, 298541084, 712283071, 761187711, 416240346, 802824470, 699422605, 217448206, 4969844, 755661648, 717410481, 444675579, 141228911, 488588975, 657039037, 652656393, 408283678, 197489426, 659956312, 953158356, 615172502, 466485752, 830623776, 318502216, 14383684, 203351622, 111918765, 687092301, 154484123, 692214753, 976612709, 201361224, 317676775, 545223642, 529525732, 949223581, 870754512, 721387347, 808514806, 378414421, 588883673, 686114497, 170980795, 641945229, 893984400, 372648532, 354632179, 315921543, 909060304, 468107704, 791736717, 336352403, 127126274, 114502173, 294786822, 579927620, 246696063, 291010138, 31551242, 722493919, 160540824, 534021787, 579029051, 527564653, 352582513, 718638696, 715491649, 781964691, 711151193, 451067225, 47223530, 654920853, 132677141, 823890268, 649959967, 696261069, 338836969, 958259692, 352780992, 167595088, 534255891, 831846122, 827224503, 925326277, 822856508, 791969547, 857546185, 73707300, 328150646, 931367783, 855744712, 364779216, 826780618, 484480562, 20384866, 11959303, 10740723, 816066137, 996275763, 193339871, 102707303, 995913244, 693318753, 678573419, 554046074, 839752301, 418738975, 556103408, 687430834, 913690681, 143510273, 900306955, 430299903, 105791955, 339800250, 665678663, 240895119, 869448073, 354664903, 576764784, 68764176, 124948341, 975610794, 536569844, 303884824, 799090800, 473056362, 582806538, 993806749, 326503954, 218345751, 629795764, 409084757, 983019455, 468438205, 140221150, 634824394, 869301876, 902386540, 134009902, 150964124, 444948527, 493183118, 39430930, 152130744, 112859039, 962957363, 147280232, 49616893, 568529580, 272089414, 308535253, 714600792, 682096566, 7475590, 302715993, 153036906, 835496296, 571427720, 715310303, 771826141, 535980715, 973443530, 93397374, 734698702, 675709875, 843100115, 840975636, 363778450, 761428051, 207516544, 951163329, 840266488, 339200637, 106833602, 321409738, 454139608, 643319945, 680083356, 834805799, 430485957, 264737431, 396278005, 42666199, 629982900, 448381462, 979517136, 890934505, 610099073, 659026589, 474519757, 449466017, 149551082, 82860002, 672618924, 536757799, 71174006, 229885068, 534441759, 134735334, 577060034, 30576548, 221629326, 195954239, 599652883, 305935215, 796257408, 897665280, 884730475, 913500029, 689311957, 507460992, 336813157, 334435889, 803943871, 298428556, 534391890, 153710786, 501576813, 494020370, 802383871, 597185040, 503350629, 780282544, 492388195, 899167844, 762176889, 732304466, 39808170, 922427611, 228078221, 689305966, 382248254, 218420892, 935997490, 369293242, 532707280, 835272418, 555863628, 551268766, 501657651, 251129143, 393397054, 228782668, 625377058, 737640342, 89863821, 135227192, 366745674, 971617820, 220583176, 107773343, 555657569, 584369819, 130262267, 730949375, 485411348, 573905580, 350804662, 852512549, 700414768, 856325243, 350316512, 36674736, 504256050, 756746239, 844371330, 698850915, 518488705, 231225744, 553983555, 508490249, 337726711, 598212945, 821095882, 662407760, 192564815, 24708403, 521720923, 301176027, 292147944, 872100427, 30552208, 862199494, 29747961, 233219816, 96882304, 407061701, 382618026, 583023559, 783044016, 551191571, 265095369, 29017106, 985526018, 678317276, 961695002, 136224332, 598791363, 478423980, 650532097, 63175992, 555036524, 252372184, 502031020, 885167245, 66116498, 76887338, 689704176, 455947867, 20175371, 186015612, 851527694, 281504018, 160766923, 609346050, 228098867, 60221499, 492776073, 704648538, 607817439, 64213498, 941302004, 163549466, 647380768, 612080016, 498842735, 934680401, 615316249, 779836410, 153570632, 726770222, 248050951, 442088573, 11139052, 198700020, 462408627, 950613079, 31699107, 9459019, 260565489, 818992876, 33692246, 375200649, 427104319, 999287366, 985332486, 680133432, 956039526, 203623272, 339755185, 30047572, 50994799, 454302146, 773899469, 210282695, 225948662, 515316750, 602989618, 525445828, 908258592, 378445021, 997781086, 77395327, 657740409, 64877535, 884284368, 925664812, 182067678, 650629739, 710329362, 787379149, 871610320, 187836789, 228503943, 142105859, 903493308, 676887265, 974058757, 927996345, 500359966, 41488434, 276565958, 191179756, 46758253, 744447822, 713304255, 858961360, 290345740, 195468172, 79296588, 266154479, 649360234, 243699536, 358628359, 142380477, 35345175, 486455917, 850609833, 627984667, 820266336, 442764795, 954238162, 200877871, 408902155, 161941341, 417796704, 96265673, 208709264, 665341281, 583109532, 273440659, 424305826, 997367805, 414388101, 82684975, 804485814, 425470435, 616599113, 978462972, 46886999, 866297431, 264308395, 663275608, 378560358, 741765843, 662291672, 654990564, 329341197, 251553153, 871572650, 452493267, 837247282, 38536912, 967523827, 821673396, 769997090, 7683406, 391066966, 195896843, 771724277, 112357498, 312854878, 494762566, 422815275, 591456644, 609628951, 881944911, 744372839, 793209870, 618446006, 862203649, 514865089, 705077303, 364717954, 838290782, 638373290, 257685674, 967270005, 141644451, 168620841, 771652061, 461562715, 485672947, 844871717, 138398860, 147899125, 315200065, 928559936, 421188072, 560627265, 278269958, 220799297, 349944687, 249258335, 655139720, 786891444, 903418589, 294131443, 941943336, 625429252, 900873774, 620981446, 13691542, 363767436, 907765782, 327406049, 298495010, 814201566, 381352630, 7364459, 50095050, 524172896, 853545699, 391057429, 109626250, 233774263, 853077050, 977114085, 908040014, 169770173, 36025381, 750803697, 376038600, 131539942, 566159952, 719462692, 602373686, 647977144, 280706498, 290354138, 29582572, 141474191, 861474415, 604946222, 158803298, 253563658, 865586640, 386931050, 24859106, 739424838, 259755161, 727482751, 711072684, 53167552, 947140955, 565381089, 294771659, 629640225, 433377402, 217521285, 445981599, 133089215, 294385765, 700884395, 868054153, 511541146, 548398204, 360478649, 911558922, 733187085, 870388861, 232787034, 908072218, 909264649, 331894995, 270464131, 513277924, 892628570, 719627154, 202055284, 547519127, 336878954, 910265722, 128262275, 536381340, 440701671, 148351443, 743301802, 21916410, 629697340, 530627450, 789004649, 179007610, 994500553, 866186847, 998321248, 648257399, 653602069, 259569069, 711708083, 608711801, 59278044, 646545408, 145658973, 114805800, 537535907, 874970188, 287999402, 513116132, 260553909, 469690164, 302855536, 53587525, 629694149, 235391102, 252000446, 835508315, 255851928, 796947755, 875935963, 559858977, 903408419, 881415052, 264410492, 317581906, 166538485, 543745293, 339564196, 231377589, 322120440, 973776335, 966902441, 989636968, 204660666, 93935558, 139637241, 242297508, 834718441, 395301410, 370088213, 758319234, 334028308, 855201970, 724287772, 843863715, 494195658, 89842449, 163456965, 523047011, 325252673, 807883864, 662415562, 72884125, 43831098, 591948255, 624755471, 175799928, 994322695, 418019675, 319406222, 823525124, 393500629, 573038804, 338384246, 29463538, 667070897, 906024814, 632725212, 635643401, 154135966, 793126999, 804523177, 277729551, 314053487, 618452021, 354170158, 307083856, 446724310, 339877616, 517371938, 591279816, 879142564, 42099479, 125568186, 525374293, 376851321, 709847070, 719571933, 672778307, 369725735, 509775368, 197083938, 709014999, 893298408, 567907200, 540907661, 13932788, 314167643, 987076880, 10923969, 122246784, 334087371, 633804425, 49923295, 437668724, 88138712, 851845352, 235805019, 377396705, 492908742, 742724842, 826575314, 262284072, 295531284, 606340789, 522866069, 795861063, 663125441, 806049605, 921776874, 798427551, 207343222, 760939454, 856679507, 119935248, 799811789, 555277079, 544387770, 735098086, 114039613, 429939741, 329375703, 225198141, 572247226, 538698916, 96844142, 412424927, 665025913, 721343799, 983295552, 855584554, 315731551, 85426332, 642760755, 570338703, 676334440, 609461854, 81904315, 675797778, 761943222, 841045182, 172226803, 929363233, 699793405, 22002269, 222823381, 971851663, 660213061, 66314941, 853972949, 675896734, 714812637, 774515435, 175004350, 831650649, 47874703, 946483019, 248723351, 655655945, 66590920, 643133933, 900488052, 487607249, 397221729, 254242455, 157564522, 63544121, 887434878, 926891587, 194419968, 438611805, 510841798, 449062090, 175562758, 801108099, 408008184, 607664614, 153149493, 347510825, 111883663, 100652379, 137441017, 444241885, 42911538, 976221432, 326662217, 458259917, 623194153, 168517916, 721272644, 31997750, 422651019, 724219865, 797815951, 704944838, 619554697, 719916752, 549072278, 289203512, 361950307, 276915234, 972274344, 258013991, 526158158, 243290579, 44271620, 100124874, 612440099, 595783455, 138038957, 965579574, 158630233, 793490204, 661538398, 65707910, 33275762, 522287973, 400058452, 131505990, 841577380, 556883157, 408392930, 644113228, 566389493, 563258496, 860160978, 396215706, 491728305, 218661156, 419720859, 166209424, 327978352, 710707720, 833541233, 773262567, 787486631, 840005949, 772479460, 558714559, 178020169, 610018625, 338308941, 83816745, 600336085, 852318512, 722887215, 597222286, 760678959, 709074863, 638699404, 233539996, 607580616, 256638163, 129882546, 896438085, 576259965, 657239640, 526192773, 838010674, 499964125, 271048317, 875501962, 878630190, 424284480, 130320078, 20614925, 334803983, 600727211, 220327540, 36369366, 878375594, 780601783, 343438859, 673528293, 914162117, 652307993, 626442959, 409706320, 877309331, 20445672, 718916922, 784463823, 805031841, 888650161, 572932022, 587021666, 378697393, 612531676, 319443068, 212503553, 400359274, 993674063, 454096987, 407569743, 488997808, 62517793, 263208743, 602066348, 532491920, 997816990, 168764967, 81878342, 516665255, 543242697, 289130372, 136860256, 913608111, 769881896, 807741733, 870951231, 378282076, 685117641, 646369188, 125344285, 213107228, 647814769, 708243076, 205742319, 441096581, 227822143, 780772236, 756754906, 642952204, 725165529, 399440437, 259887666, 932067823, 97118498, 508559166, 738229, 404721043, 357362633, 632914526, 257925772, 4839636, 133091141, 129764957, 801330757, 592733844, 730454552, 500676224, 663085794, 916860597, 247930200, 820475499, 889360274, 154981395, 93303074, 193187889, 729441442, 794393846, 327611236, 662708558, 931561352, 519183606, 540899820, 296974587, 69614168, 884047564, 866962611, 358679723, 922850820, 796970818, 263297749, 911754670, 458637931, 852295817, 289798888, 58949553, 853659147, 890885291, 569825306, 188042258, 297985028, 58826881, 566253939, 132985903, 674949765, 916388580, 816134817, 738417669, 726655361, 826827734, 235319550, 228379398, 535282961, 783655161, 703837943, 93963278, 343399268, 384758800, 860536620, 761782906, 941118738, 271182156, 377704739, 206767828, 769634995, 142836738, 503242139, 465733646, 684358055, 481097225, 495038199, 260500757, 341827429, 549655067, 755149363, 204304776, 905512410, 744412791, 730016554, 640739078, 946965396, 425605442, 915751270, 927986459, 51237457, 325266324, 440535959, 378957462, 340620135, 475814926, 978467576, 579139406, 612002221, 94310555, 425285075, 832904230, 125636397, 683977398, 989649364, 632594070, 850673434, 871995009, 681984348, 853295270, 962459332, 259638831, 933484592, 940806856, 209079767, 812627488, 205656680, 534258787, 672224685, 332037496, 843335379, 365179258, 559671918, 610963277, 103306538, 503666303, 20388972, 514288376, 39507893, 837513495, 364883203, 991166775, 420041876, 606111343, 301959908, 592527319, 549058711, 543470769, 480139609, 244067243, 436660319, 737651536, 949950273, 897297791, 816409185, 805456712, 811031626, 325220409, 519891506, 796333543, 191539960, 797041921, 4121779, 357038760, 39107487, 512478588, 84969475, 305352991, 927434700, 798469154, 508249445, 313659226, 953393929, 947589061, 233270227, 830844242, 603930292, 296723570, 2126088, 768239299, 110895474, 689730866, 300919614, 803241752, 490024160, 120133320, 485788971, 657278625, 629212020, 143652738, 988488198, 39910464, 440868040, 717422853, 145727195, 331726644, 248075797, 126655475, 165460861, 943671787, 378703658, 942307796, 685161610, 654125141, 847067391, 205501496, 444074280, 822076571, 661253704, 762849999, 315177639, 358786641, 761989672, 16045777, 56982984, 717073400, 231209797, 569932194, 650435631, 437642852, 969587102, 36123942, 535042549, 626797043, 872974890, 881782269, 883344409, 107560183, 173970686, 202010176, 3431607, 106901924, 411189959, 196775554, 712992587, 48084255, 889394318, 75903555, 331041770, 695994024, 875073588, 345893059, 330545065, 280586179, 65151572, 552417404, 863580067, 11153309, 824776365, 329843509, 519338335, 124479662, 38004841, 778035547, 863755642, 313942411, 340786332, 945824643, 959392713, 763073096, 533899428, 786438471, 33037602, 800225719, 141649604, 459587003, 901043313, 979096724, 62932442, 870978448, 610353015, 310062935, 203595565, 707803868, 407565926, 111167447, 388616071, 454730850, 929011538, 397562945, 324066008, 323923609, 481597260, 623859531, 966458124, 680164009, 214216582, 496979136, 720707529, 81281981, 960556848, 818458437, 240534712, 739827712, 818441904, 306797909, 325099434, 621506756, 50279751, 625370697, 385018163, 839431992, 290539378, 416100321, 714959449, 225267983, 47747571, 340111674, 872412241, 804884799, 969199113, 843399650, 78859944, 122334075, 151627240, 206789518, 873041326, 20328845, 323949890, 899471652, 309342379, 336039709, 433419041, 407431466, 490976448, 13421156, 415088171, 44135605, 619437346, 737533068, 326790772, 296271176, 629724962, 145462718, 418475262, 686876341, 181354649, 912341757, 159917334, 823798910, 268049092, 652430285, 336094696, 127678988, 560294516, 804378874, 331115604, 807382879, 621876567, 807493849, 574224421, 482620444, 192949809, 848077757, 543408499, 900143850, 724270022, 67871169, 455532535, 965782115, 525118087, 93588847, 675126693, 733960790, 792910378, 215540812, 397629753, 583480759, 387146028, 246860006, 325362740, 651788175, 939414328, 535362085, 655765217, 430850281, 930391621, 823402060, 391419473, 754830430, 966735455, 986925556, 774983781, 724244677, 786747726, 295213130, 510036951, 684818259, 697694906, 957465976, 843457298, 923387038, 691246085, 255283471, 269217872, 854900497, 680293327, 116977487, 648149790, 259882579, 408427285, 513401519, 322224441, 766743259, 424752687, 542277585, 77773738, 5724508, 309694710, 76405001, 335817041, 107342756, 111637342, 323203789, 545719498, 866367846, 522745823, 56948363, 757435552, 635899409, 688810384, 327165387, 687082538, 937699295, 217092837, 502111147, 272253501, 207638939, 229934947, 768902253, 263204655, 51675974, 932067782, 634314337, 962157710, 391738802, 324482991, 471136665, 352557637, 569430578, 824232853, 376436146, 974962921, 851977778, 310404134, 720609700, 790554039, 597186121, 270071650, 801251672, 206765208, 78655928, 317836699, 458710812, 712972924, 577737444, 995587453, 953079817, 675610120, 857964484, 212896309, 789541263, 962428343, 513349551, 304577149, 97594101, 505635639, 317165070, 990418895, 520727678, 622344286, 362604990, 261471504, 118669354, 555339443, 827982765, 279637746, 83356112, 63550547, 306541199, 145725483, 94029504, 896391527, 602150417, 920563402, 267008931, 664246427, 308567480, 907867020, 212675705, 557622649, 403545817, 445174306, 870922565, 414926659, 370808102, 417475835, 965009787, 69983787, 833154170, 245396256, 864949388, 587207241, 696097375, 300731941, 947935591, 509728192, 168399796, 218948322, 51614666, 615051008, 859537333, 767426060, 12854040, 837491229, 860532293, 975005615, 18353307, 73268595, 580240545, 621757468, 780030290, 289836970, 649394548, 453065761, 419960574, 869778433, 821566624, 959467851, 933859437, 549227323, 220346353, 928419231, 3170003, 768957395, 458921126, 490044196, 38947516, 461662731, 685215515, 754335147, 365179539, 779107547, 464883411, 187470896, 507357560, 589488302, 336234476, 450170700, 176406684, 529211829, 952042242, 743581801, 582684208, 353502842, 229021533, 63700564, 221427030, 15855027, 998772979, 476736415, 943691398, 808200570, 763184981, 165889625, 278893965, 70216186, 237661803, 984907087, 644163443, 780936064, 320964512, 816624844, 774427599, 297404428, 852936071, 308335071, 578700759, 311392273, 465056870, 315124376, 856262263, 687042930, 328516464, 719572327, 331871743, 733776228, 930418694, 418586314, 609782829, 677957646, 124641672, 112855402, 337451045, 695255697, 592647559, 769880855, 292401778, 536945501, 372466312, 985543828, 211511483, 118446722, 521294262, 930718478, 833104978, 466826626, 775908215, 754287295, 662798552, 675527600, 205155296, 175601125, 120903197, 526164490, 110981744, 953696494, 286700010, 747150907, 858065327, 290090518, 226649149, 328258324, 523018189, 76864373, 346333920, 579423345, 223211599, 634605037, 939208460, 91559973, 29988864, 755677675, 389375138, 855320957, 769282237, 117051214, 520021753, 20411395, 725418865, 66911327, 648650704, 217592863, 342452183, 517453263, 884339757, 676116739, 684706497, 464713794, 886792132, 168171438, 251406746, 531129982, 45343006, 632472179, 155538980, 690561028, 80852453, 263253317, 939222723, 879350589, 870283309, 780260776, 298521371, 642686953, 51879649, 793277646, 155871847, 227810459, 744280080, 897192844, 720529534, 488660503, 43168094, 801594678, 41539910, 938072570, 246253322, 838966988, 221009284, 623227789, 34582400, 473011062, 516652784, 329293032, 201644547, 489653685, 604433122, 421384679, 315990940, 706209269, 139462429, 231992948, 637876238, 440434267, 560973267, 212655354, 467169847, 852565007, 301993690, 687865960, 601204668, 59714165, 842629432, 958527292, 547912677, 975602351, 463507712, 978317131, 346083635, 804413253, 319966710, 629298525, 430603931, 589412817, 535428692, 475602416, 701095413, 318035594, 619020301, 248632700, 999506931, 807313192, 700676807, 142963607, 985627897, 675247557, 888860922, 820511531, 899028569, 84598296, 650739920, 375453165, 504907466, 373655256, 324047657, 619053481, 516909848, 472301450, 725214081, 755839860, 310084521, 397652320, 825914793, 248021045, 189813150, 369286092, 823388365, 922580457, 720430305, 292057964, 163843170, 189863999, 874970561, 654876369, 74158214, 265502101, 811522098, 551839705, 322059268, 128427997, 374173651, 175126179, 244845595, 273482012, 650116351, 423986774, 133509129, 512123822, 367111217, 592437324, 303422364, 93323330, 304916272, 649323876, 190192329, 470390380, 331163817, 52642668, 871283807, 492551852, 478107133, 343251848, 924527576, 419720045, 737795849, 102381599, 395261489, 731875651, 551533121, 790546048, 517041138, 130304662, 16059813, 57881462, 281981546, 596505592, 887106397, 782821568, 247637739, 895790475, 23543021, 240691171, 774489669, 501032649, 154559211, 571741296, 139358288, 941220057, 615639422, 72654360, 522057326, 283734660, 363025396, 827950819, 305153294, 99238269, 823940971, 805610234, 13803516, 937379779, 253052944, 379144663, 335460734, 119476672, 128376244, 664793853, 788029847, 382645981, 235769573, 490750601, 345699771, 560891415, 325991438, 26769803, 796585069, 598804954, 377618088, 614910795, 799406963, 163272220, 728038062, 201942502, 784519686, 280611296, 831486927, 376419183, 544768829, 335923097, 229161705, 891627669, 655660449, 673625077, 700104732, 845048256, 565713513, 537198338, 585489652, 910966231, 610359785, 484001947, 639985384, 341193712, 367165504, 595729217, 800146957, 665200695, 626844608, 325183538, 421664325, 378593855, 226483740, 499825589, 328563111, 269375256, 669115911, 139152314, 234794198, 181567192, 290991332, 966067859, 211044838, 808709722, 90154763, 934452312, 261541740, 982936620, 338669865, 292244954, 986794656, 49905833, 143757551, 597769014, 986771675, 147239727, 522597602, 511361778, 952581735, 222382451, 430408562, 447148907, 774499519, 49180316, 773225146, 180489202, 221462678, 332778557, 986776759, 94457775, 837941647, 80178828, 445502733, 227416969, 246302711, 90824442, 251792559, 510630633, 833417813, 393714645, 333818777, 274868234, 142073656, 428938722, 782452065, 363695348, 623029949, 364375762, 197151877, 947653101, 872816026, 644111526, 267809928, 446690602, 96742413, 842038385, 95130203, 839122107, 315521588, 184757009, 398160386, 286462072, 309250509, 594961022, 809707784, 176057292, 249281041, 287218725, 803411206, 242734654, 293602045, 810013356, 616107720, 677728607, 333812491, 499801822, 699807623, 88188862, 311771647, 198922735, 594744835, 893332736, 377549916, 903320435, 26731547, 826622353, 969082923, 290199890, 353894157, 675435345, 645230309, 199544563, 879487620, 405053619, 673060905, 437672491, 304830414, 42084866, 986643200, 990267884, 48978888, 15247450, 238238383, 148930930, 281608008, 323706052, 383441992, 751783426, 661503145, 291340147, 122493269, 243396648, 392964188, 22241814, 576250139, 415524582, 649475363, 102484173, 122611730, 267962088, 677238072, 871916932, 459802746, 516298419, 834496906, 484615673, 638285907, 203100149, 754526319, 215869457, 923600527, 230971535, 432911826, 209192476, 238052772, 302036417, 175689779, 578770107, 134481353, 210359976, 451147418, 523503713, 216879590, 463544773, 306033592, 997639683, 399814545, 172519972, 707133966, 244358804, 376886001, 505759453, 497692919, 932396653, 434540466, 657170381, 94439490, 101391344, 379234518, 557297603, 515918521, 132593902, 600979838, 566370379, 29149151, 156336446, 757150460, 397900991, 745907978, 27723508, 535331443, 166783948, 824229731, 686325796, 195379383, 503035095, 992127074, 447416369, 438787723, 351725343, 363676563, 297460239, 161997508, 85237629, 733409111, 592692522, 113385758, 92853706, 812587145, 839914470, 740513262, 619900021, 908790566, 86175802, 148142474, 725204136, 853025910, 825668673, 546594419, 802408520, 586458735, 157205223, 977966737, 896761861, 377233534, 229994091, 609874089, 439311548, 419707640, 501562632, 127480586, 791924368, 305998700, 56711383, 323306928, 426868852, 569365092, 143152659, 459637118, 878819703, 380446345, 677930326, 312332632, 142097057, 481550656, 361693455, 432537981, 560323140, 491540038, 355577005, 162267450, 782401979, 766473047, 730269720, 388106088, 669360886, 836464250, 300939059, 280898887, 399579025, 263398417, 941666933, 975786846, 430034940, 69679119, 582323043, 690534307, 50360162, 765316013, 930361303, 269369440, 711301586, 6262526, 338485455, 397076908, 914561598, 725888613, 808796260, 282595555, 318070431, 696921376, 648554519, 887981371, 823914623, 723323721, 209175754, 362819460, 6412044, 473509635, 187382645, 507787865, 855442058, 833318450, 140601225, 608834015, 639834252, 764175709, 328820326, 255813119, 761897152, 545502055, 331947754, 507749878, 374621434, 165190648, 515702243, 234392556, 122129862, 96864232, 979020996, 677575026, 786813847, 554806241, 775514349, 161690441, 105074097, 372971022, 19382576, 273258599, 327691055, 693159341, 925128356, 587476997, 480430123, 388035871, 876850872, 643676965, 325442352, 710433951, 855349792, 775215582, 139736197, 389410629, 259159810, 389744606, 901456030, 902002742, 839841920, 491232420, 986299519, 488994819, 180467338, 636655685, 175966852, 563405881, 426137246, 766616900, 476089823, 647427634, 231914377, 832925721, 657261592, 918381637, 36577343, 62408474, 618456577, 799730574, 745449923, 235611780, 717895128, 156115692, 803261384, 917062664, 191179484, 821091886, 637295362, 212615237, 56256139, 622265368, 710580392, 166174360, 536655515, 905413561, 105949103, 9519094, 107514016, 309469280, 58814397, 621461488, 506144908, 536090345, 624836637, 678818382, 516837929, 177434482, 119189940, 97393135, 540506752, 772756945, 856185779, 835161394, 381218622, 798893086, 114308589, 627423705, 354894030, 216646008, 40285915, 709421434, 787982183, 219432077, 202570183, 460354998, 942995919, 591057529, 144330562, 621676735, 725712403, 94174556, 636050226, 372847917, 512576205, 942519291, 193523694, 571964076, 524042695, 700780030, 304657598, 911678576, 921078895, 436364726, 855722498, 981940512, 707903355, 408823217, 107905458, 762909061, 998006764, 354435233, 346754422, 343583107, 898255967, 332733496, 631375269, 972442419, 495246610, 152087446, 67404564, 300324970, 528185801, 136240323, 951601800, 302247458, 882639825, 531009304, 798306434, 698077336, 261766078, 363261769, 620206817, 566123927, 952981233, 306749179, 683957252, 838757912, 622354434, 444824154, 582124070, 631923153, 963844823, 994557936, 805524275, 179477068, 998239947, 436535783, 952985535, 241031562, 798332249, 127596864, 782108855, 34214545, 138267497, 212330134, 999793154, 591702985, 738491603, 228003152, 503729260, 904494328, 995962191, 561803970, 303184118, 539238694, 784613054, 110686859, 470369312, 71880980, 448451722, 323086263, 619517513, 646351001, 236186936, 897315570, 466389593, 29870895, 385049441, 309278502, 154840108, 331598460, 228371113, 292268086, 516196897, 492998812, 600887060, 703361452, 885876210, 96963456, 169168338, 957790437, 905045178, 263423826, 276582349, 564386534, 134632797, 606325248, 721314568, 917792525, 382062725, 65928526, 451946195, 608476008, 489851857, 925063927, 514480891, 391375036, 460512298, 844243293, 233340770, 182917321, 383852782, 498986322, 74230653, 258039700, 333236666, 319087757, 845951383, 632784390, 518707208, 882302193, 714098662, 321486630, 662051491, 515321921, 134199514, 616741643, 806096216, 436513619, 189193632, 183408309, 730750782, 294033041, 7324283, 528059576, 628622704, 241927611, 348196134, 269691980, 212128964, 985688467, 705943597, 889919191, 349201769, 245982261, 865943377, 401228900, 964017338, 822337658, 601854587, 565963238, 73533480, 750455556, 487233732, 294461277, 282828333, 113183635, 175137081, 916854238, 232794488, 901689903, 935564729, 155838712, 705965467, 938950753, 235838971, 969614778, 574631586, 52008294, 662787793, 278575656, 635290561, 366582649, 718111372, 601365120, 104670601, 490151640, 381896212, 946845961, 175519377, 689820398, 132382689, 403376466, 903969677, 126012836, 166517282, 50148120, 110402368, 394840588, 172241544, 494152483, 143933757, 585521890, 353762340, 248022907, 192002021, 291548133, 198915344, 911758510, 186305140, 71886741, 503791515, 927716130, 323894522, 450027170, 400700560, 744795554, 677702345, 817661389, 940611925, 465278332, 70568980, 269977809, 103174886, 178504980, 803887447, 949691518, 243898581, 193362548, 845947071, 764708687, 718468807, 829657583, 439940043, 472201795, 858510316, 58541470, 493201026, 584992380, 358462144, 924968370, 79236324, 542240529, 211260763, 919845919, 485129946, 873660925, 521313914, 29322766, 521462537, 534240187, 297426013, 425291262, 730486711, 838432204, 44944853, 724246990, 194750739, 676403430, 280159183, 239877415, 819877189, 97410016, 910899530, 688412449, 227033667, 647902653, 327245038, 21557821, 434207824, 293103638, 870083310, 96382883, 321810574, 10352204, 305153411, 814286630, 877978587, 560272337, 89914502, 871399785, 638043218, 457907462, 932809452, 853266257, 331647554, 550067689, 950341337, 381531182, 407115641, 986373579, 856530865, 748257885, 12273755, 558716870, 729270730, 884439897, 105179973, 528151578, 263459934, 99773027, 687595556, 354645695, 706344163, 920975416, 734218931, 314036641, 747036883, 989285904, 533307555, 895295763, 762330769, 912259416, 63239466, 753819942, 381098874, 952637795, 693049198, 11822851, 857977286, 955069113, 236653665, 17901182, 76955149, 529029490, 991721275, 575640095, 818522760, 570566537, 929781018, 211808965, 73967528, 306893667, 164469370, 319451134, 45220046, 463993353, 809349362, 972627034, 52467750, 341312326, 904005826, 48602459, 62777541, 521985662, 59110306, 434822310, 134491502, 593952829, 117084092, 804818048, 986832864, 557639598, 756352559, 733294656, 489357742, 426759149, 789352300, 139300364, 130838639, 962635986, 781898332, 14360075, 603771926, 124970832, 109441384, 289852961, 641091832, 419748277, 879668010, 282025461, 378253706, 370130281, 159202746, 739188578, 678723377, 241078376, 882769296, 17319263, 131236232, 480607145, 24963366, 966582388, 775143503, 470098042, 249935242, 794429949, 607946022, 262453508, 902009288, 366037760, 950458842, 810998396, 300811129, 594383909, 663805285, 713567827, 765674287, 907093499, 944737111, 601812569, 297478948, 36941131, 288365589, 156837089, 882580002, 620730055, 615163251, 187544511, 504130733, 664050537, 66042225, 974391093, 844420455, 824801191, 95410519, 103436607, 828291270, 832992305, 106956236, 499617694, 104705602, 339911089, 90762084, 939245184, 592351728, 202449936, 305834249, 931956786, 878048307, 459217663, 796152638, 252569932, 89965108, 482047759, 162249742, 94251011, 553800103, 233651225, 250787217, 702166114, 620687360, 371796281, 309018438, 824792186, 284477438, 589613063, 305527342, 632869804, 605695784, 522391470, 984318496, 119139492, 764583595, 381422492, 286039307, 906516326, 869553895, 788171452, 686151379, 433671690, 267904426, 923144253, 262089918, 374320951, 727539891, 272151839, 583650001, 351922021, 310478204, 571364879, 866952469, 986346303, 911891613, 96081056, 185647319, 920630560, 550302730, 639227144, 828917864, 722094073, 923542183, 675935471, 427345337, 587193068, 241930385, 548146069, 56666790, 639488936, 868545416, 247561431, 284131688, 922773318, 490127153, 555113202, 759600878, 572479953, 215848326, 278025843, 344100557, 311434345, 795669728, 314203643, 639517570, 950203049, 892466101, 254518998, 123928545, 763127797, 709927596, 505927559, 29136702, 910658983, 345763738, 697050765, 116650751, 77901438, 848932283, 244232249, 595910662, 81172982, 321513524, 49247200, 574630157, 706276171, 361743443, 629746111, 308332547, 644123299, 573622796, 634329516, 481731600, 935713905, 137744444, 688738480, 963280603, 893285056, 927333137, 179550084, 59842227, 578598983, 741932556, 633817943, 171272016, 299233987, 1610908, 596929049, 844054209, 759009688, 919961983, 22191280, 716577113, 930644754, 451094661, 536385697, 706993348, 479795118, 711563538, 198891817, 186402863, 549435475, 430043285, 431489591, 235599602, 769096362, 317075288, 479812747, 853787371, 692868844, 699976443, 926755468, 134514925, 118154913, 891439523, 328449240, 107296332, 586071258, 805641133, 851663705, 1420018, 449302984, 952148062, 308964768, 923667593, 692583918, 51554128, 700760882, 660015026, 314304639, 521332252, 494691268, 957280359, 432610062, 876305019, 344912574, 24013945, 713369271, 459305639, 528987281, 162705037, 31801259, 465946154, 786068366, 863410027, 600529914, 579336200, 517321237, 19731311, 483178691, 502599615, 566964710, 122941833, 955732317, 573828788, 223056948, 725456621, 693832810, 25055612, 964436721, 555623579, 436391748, 246609207, 571678728, 233887684, 777609771, 801766718, 496222830, 532552979, 865267893, 358569657, 664697428, 848314789, 373560629, 280759683, 144100611, 447926605, 694973226, 988295295, 966559837, 445383803, 825200440, 233056651, 324132479, 462486791, 987543807, 48142549, 13170186, 10329130, 954046631, 845057544, 274840249, 672370267, 823278126, 930755365, 300859776, 128019434, 75302550, 622553581, 394520418, 672989820, 835256373, 540155888, 592045143, 998421327, 293560139, 340391145, 856029374, 341929612, 982616430, 289216208, 605257181, 628878096, 297000461, 145799197, 880489660, 404826864, 274219879, 909659756, 184465657, 898240723, 805314123, 346157134, 889661935, 927863535, 318594478, 583540137, 90861663, 479647600, 85616494, 558543255, 362242666, 213998721, 597822609, 393492798, 292420624, 642754810, 557316885, 919160569, 907630208, 379372278, 232915760, 396450697, 788328015, 556019380, 326164546, 486660454, 60131887, 187210452, 801626004, 867366173, 243482368, 267208600, 853760679, 270991785, 951662799, 956555642, 388380164, 223420867, 740991949, 348666033, 616221962, 929968071, 207815886, 186079637, 129654880, 51698437, 772659768, 566396757, 554413764, 239215290, 140292122, 996482417, 91361606, 600477457, 596582456, 884920396, 654699110, 224150002, 205102339, 864651221, 499333756, 724445199, 845519225, 65529440, 277869364, 855821454, 793556512, 918816659, 433673601, 287354300, 953492808, 466957937, 554913505, 332844625, 328811701, 596344516, 302078702, 176609261, 271800224, 978981102, 243307237, 177296050, 121604490, 703716949, 18700, 288213418, 483599835, 172235620, 439781217, 571253613, 522597738, 923701935, 391416056, 629438227, 36415687, 88079598, 956597013, 173210248, 541863591, 66135759, 174068724, 481177715, 977668539, 532194644, 960794272, 668293125, 14858932, 515406233, 205549883, 100792459, 355709128, 761433136, 543398735, 469883911, 339426538, 905980602, 283869066, 935425082, 966795283, 211930065, 488831527, 607211387, 937754487, 546800008, 836091964, 480872780, 634831621, 245046543, 699244259, 801268546, 779208498, 928654260, 501760219, 435290908, 601200412, 358694367, 628792080, 61232160, 656772535, 225067678, 658733476, 359434125, 909285682, 612205106, 986037542, 576298859, 771610893, 194185529, 647369779, 981093748, 520490844, 59548666, 145403231, 760607043, 292450494, 157697144, 568150416, 14349236, 693397347, 978611406, 871591041, 546482144, 43843312, 458822358, 762732801, 88790336, 466496052, 688817572, 695998485, 481519025, 892856099, 144146564, 830865735, 37101668, 991747611, 761018850, 181353206, 340124747, 63829356, 98356948, 147136372, 30455594, 261342727, 419750370, 425839275, 349709364, 51097780, 771176750, 765680081, 946145442, 47055498, 497627476, 43123761, 882406633, 130258081, 426271023, 538785485, 582015653, 578014956, 364893521, 420098900, 695375032, 838051514, 152021506, 28516158, 1774585, 461354807, 357062817, 506209496, 730922616, 374391660, 657688448, 189505431, 512801215, 248478804, 527630902, 317512053, 356975615, 983591246, 115510582, 372235320, 251673296, 384522949, 693766519, 814267753, 835001425, 748376477, 156441874, 323837856, 515895329, 726689748, 855511954, 159557470, 126060827, 936323090, 981558693, 647717162, 947808623, 39354079, 93923320, 505098249, 543408039, 41859786, 385564582, 202066921, 286099748, 840982922, 413512813, 654120363, 154062598, 354843976, 863741057, 101246966, 872197443, 139352895, 493007515, 345326814, 735598876, 231540341, 882571213, 4041071, 463323065, 393650068, 431948851, 666751757, 218764108, 141723594, 201428772, 493505448, 474875261, 843304288, 88278734, 403902229, 99309289, 408466611, 954159230, 350419956, 30496066, 85229752, 762546862, 948588461, 9492658, 704738876, 655863728, 500491436, 646528605, 126976142, 451243224, 911468675, 999551200, 595898954, 758535923, 507676472, 974612654, 725688756, 455906587, 458245651, 900625673, 970819767, 840449259, 893780907, 440029238, 529637093, 65430495, 889374862, 422071078, 953667825, 57969959, 548884288, 141647658, 55040515, 39839470, 374855484, 563471081, 889213738, 245380657, 547477126, 417439938, 889712132, 32191199, 453267908, 974134449, 553733844, 979813659, 885756944, 993506082, 204746949, 622592220, 234555643, 489343015, 558563143, 217286820, 65626263, 940599476, 755997473, 98673667, 633645093, 182098920, 932246095, 418797369, 902035155, 717085833, 121712524, 500569615, 83756890, 329340859, 851582081, 585435043, 413317055, 619937785, 276792490, 657820434, 93916888, 918053166, 199994761, 669003642, 148611212, 530224765, 146470317, 78698314, 969118539, 773892529, 449427880, 446744780, 304827145, 942851983, 748647049, 741175341, 195408091, 890632582, 505406870, 36698524, 738817058, 228036711, 518399665, 752865958, 339742153, 622265422, 289795022, 521470361, 665579996, 335793029, 166148450, 59854294, 356759815, 532692368, 305822360, 597427090, 76474198, 99355888, 430849068, 75764127, 950331162, 932725207, 437075320, 594044624, 237899216, 132167351, 678357171, 277687273, 34125594, 90235752, 463669773, 387346345, 950310377, 417638896, 270787536, 429396364, 672072534, 2175694, 952981839, 427636020, 944023575, 476786975, 51480433, 643517231, 293517453, 527558915, 275049443, 171646136, 214769662, 507063941, 101767276, 610425462, 938933074, 409844961, 201300265, 547689656, 124415584, 792890077, 690133184, 419933473, 98626056, 478158671, 93638351, 259279628, 751857236, 218296818, 551125792, 336813908, 151716210, 869210173, 730742589, 278246284, 847573002, 116414163, 905399581, 546266664, 226803485, 468639422, 860078482, 545568250, 167648437, 693483281, 886824161, 945120571, 210028403, 81547789, 446575708, 985635198, 744685700, 707300403, 386898094, 435516111, 439825147, 71715604, 267967537, 627814695, 691835413, 832870712, 650185186, 933041094, 34011497, 691821752, 246922457, 775046873, 781474496, 3039543, 308212897, 532994360, 199899866, 40800587, 642450145, 495038992, 208867972, 864228043, 455902117, 250230601, 571830883, 533936856, 35413040, 473959906, 958946513, 788490015, 98819126, 620641269, 171829117, 628482478, 896893886, 990707862, 913567610, 333742619, 357891952, 398446774, 741021288, 163840367, 72894062, 555222989, 577666165, 942092592, 410498932, 373461122, 513625337, 45238841, 821610506, 796140005, 334755249, 863912384, 820114319, 577085566, 613595555, 622564130, 770638841, 773291404, 738676393, 793366512, 532484261, 189957529, 928216475, 970216301, 906892512, 62449570, 395979221, 978805935, 914461712, 997033951, 238156917, 462418076, 912957686, 958706885, 194715404, 799913235, 544538373, 529596377, 842941017, 400084873, 995772852, 679524927, 522032828, 587014280, 106267718, 205456575, 927764266, 2731401, 419019436, 196553590, 694319557, 185776002, 774082033, 167370650, 813606960, 869645409, 710765895, 663858174, 674720934, 614600006, 419194886, 867235712, 944732524, 940898521, 426575025, 525087546, 360291747, 316661704, 618591094, 356753941, 498822655, 119304346, 636903011, 912253987, 624039433, 148344138, 923892938, 647418156, 716144554, 624211627, 479119142, 810873444, 71189872, 996419924, 769760534, 468425540, 466493867, 429143806, 172476653, 806605699, 657754495, 980146929, 820983063, 89616167, 869889752, 640312839, 351894535, 559778418, 221069389, 791094990, 984023035, 349962992, 73647482, 240029367, 743036560, 588515506, 445572139, 26235316, 787877530, 23491466, 810979340, 996659428, 398286834, 102437764, 631654488, 779989827, 72413305, 597519275, 376607628, 365615742, 410634717, 382186655, 64951519, 199170599, 41127303, 784881624, 265797672, 455684330, 423923838, 955301095, 257272547, 351321317, 923495424, 104361379, 505973971, 810160341, 516582581, 390748466, 659277113, 452830332, 612852714, 245568797, 906750216, 906292827, 258238830, 122732722, 717898811, 554496027, 931800036, 275726031, 111379853, 613161172, 727770357, 873403634, 709525712, 181690275, 217894557, 448416819, 317006811, 507499016, 86025991, 920493516, 655631857, 998684324, 538127803, 398861020, 26437916, 604287871, 415374914, 155494195, 3626983, 940387710, 430446254, 282387302, 41258071, 857230533, 470484083, 765568285, 881597148, 877618128, 751049345, 135597670, 87904221, 991310377, 109118213, 582832450, 697584979, 266665546, 238702500, 559779839, 683495877, 126357703, 543759793, 664358262, 260077672, 640496894, 776816685, 644069649, 367843475, 177287120, 737103223, 670916935, 548425195, 352931297, 824551920, 427516168, 535187404, 680842594, 995911142, 197014552, 405661129, 941927733, 340242786, 370529812, 608442037, 204674423, 860385255, 409665349, 925775165, 534399076, 932884993, 774960728, 270496607, 595693471, 485447798, 305977902, 285878042, 142869559, 355279157, 949085914, 331022864, 762551863, 727279837, 852429540, 404805634, 264688834, 558678158, 47954828, 972464480, 423768741, 893788205, 233378581, 582489061, 439525857, 432033437, 427440956, 807048500, 921121584, 926966116, 845236820, 403001566, 726333550, 148357141, 585235685, 601552311, 512795918, 162077264, 14067142, 85295090, 6844226, 179074286, 767228451, 352041051, 614959355, 450285192, 250628821, 670134689, 472895166, 436864341, 356111722, 579707031, 40542069, 698235568, 725898797, 138937305, 218342123, 714322736, 745988890, 198554625, 279960971, 436359306, 630683763, 65164086, 373553522, 410757519, 216045866, 437254915, 807094054, 607758333, 546168754, 125616458, 414746320, 188006548, 659809137, 38816975, 273578378, 968825258, 572145460, 713317438, 452358488, 972815496, 616866440, 529530740, 677046558, 386492693, 800480167, 197706517, 508291911, 299235156, 946095884, 985363258, 915577388, 909868312, 417442855, 175965620, 745796471, 944193117, 887412935, 384357028, 165926729, 642012158, 998580989, 726679118, 227703261, 810694248, 286077976, 857241646, 989341933, 950429350, 418215718, 281391867, 104655994, 193669227, 555025076, 672861133, 362555296, 276489354, 427124241, 560972760, 719419394, 867232246, 886815644, 340409004, 231962449, 722488301, 257797870, 655878780, 539222499, 53368615, 728283516, 789312992, 804304127, 572784293, 180674612, 882024405, 716961689, 502360185, 505226976, 237405011, 285831685, 652489921, 371859106, 767837476, 911702677, 238989204, 776191342, 243144153, 728395714, 157797582, 135353930, 413449024, 879319867, 874392464, 570029642, 94468185, 639601163, 467967754, 997336876, 186241603, 872455702, 391296993, 976039355, 262354055, 27591908, 78818998, 283805796, 158701923, 40837478, 707030116, 54128882, 341823492, 929779318, 678125415, 148303234, 622595707, 843171726, 749902246, 138974913, 560586529, 478554727, 32415822, 654126718, 133177257, 416725767, 510296204, 673167338, 437699647, 26072954, 272937382, 693772960, 378528134, 93553768, 224181077, 398512611, 646390933, 482699527, 548270011, 579282598, 32826321, 57516819, 249611307, 957064317, 84022960, 47221228, 15107185, 717131640, 385898990, 296840232, 449523232, 446765102, 890946255, 450721614, 840289500, 565223312, 891183940, 240059063, 918787743, 315671481, 434631900, 429797900, 500566850, 950333329, 576225960, 82952232, 908177330, 884292988, 386910480, 293232640, 144218453, 525927925, 960914670, 765208984, 125362239, 994806784, 162460973, 415225448, 687173941, 736000630, 519476031, 218013774, 554054445, 716598907, 775559414, 41846590, 924297102, 101001660, 284470740, 619669147, 710248074, 232993523, 721154824, 937688330, 60363913, 507605502, 753456433, 958033215, 504322982, 14955639, 885520294, 795608479, 732202834, 889925734, 919887218, 614025066, 829128238, 804851293, 449270434, 678815240, 139789608, 426856116, 545798902, 611454361, 644662190, 737391370, 200944404, 894773259, 637520082, 541171987, 502980416, 231378523, 433669678, 950328282, 996474305, 10047128, 695561750, 817173156, 602409709, 631598956, 737400466, 99054968, 535918296, 492260901, 873496357, 421530272, 681349089, 425623457, 175363490, 699317128, 287290562, 413079054, 881238639, 666250032, 846361314, 200416456, 918442687, 476802155, 469186553, 322499522, 946900175, 668014016, 957467642, 615941333, 982872897, 458291584, 35621603, 378939002, 715847940, 891006432, 59468358, 626000929, 461859189, 731220244, 93046953, 183511802, 76766341, 279185175, 124669314, 200763513, 487383497, 204575924, 598125342, 302551039, 43214325, 957338635, 859674552, 691493693, 267198282, 128439230, 567819846, 575392048, 634634357, 366635308, 620631141, 214269514, 332050862, 389711443, 906332386, 374924861, 575083790, 262560057, 919686987, 932023841, 410935000, 385962376, 725789168, 83983607, 867130752, 764166656, 459459738, 682157087, 597824581, 696352055, 112103052, 323039198, 348308892, 759521710, 53570610, 863496318, 166790877, 35816505, 481179653, 451094018, 987660759, 606132026, 266947881, 77811324, 540338284, 831080817, 618468410, 413985370, 977645608, 468930216, 632859840, 313870364, 316092950, 908243336, 741224951, 602326570, 271305177, 770298638, 731099345, 711425408, 392836675, 861978182, 227463880, 791098369, 384278438, 718271747, 177257612, 491975616, 47665659, 806804626, 693744872, 413531358, 114753831, 173190527, 218903448, 828509436, 122403274, 555556907, 398602534, 810882292, 372563658, 745408011, 734744419, 585813880, 405832185, 419248596, 750742199, 805930703, 609637085, 214649514, 782493283, 999400340, 540995778, 288583341, 664119197, 210613655, 337209885, 63903396, 936133841, 542183006, 984929086, 134982530, 692377292, 492950646, 286437257, 325591649, 382156238, 598215830, 746482955, 395110427, 265453309, 587997283, 233262395, 430767425, 445041398, 273293838, 302652050, 434546854, 250409199, 748106904, 954327317, 584359245, 673733347, 460683788, 626016451, 912729199, 787419007, 454507742, 53176748, 330546251, 447256423, 105794503, 444311487, 534811057, 45332794, 788081125, 267211779, 665939197, 631311059, 72691387, 163829342, 667239192, 880010192, 25467274, 235761915, 48586677, 709335946, 549852539, 693339998, 914426562, 338438440, 807418134, 79343519, 395685578, 396379025, 424428753, 376553528, 992896330, 488174904, 598160118, 245648343, 733300769, 587049147, 204315433, 455498200, 329301932, 217684143, 467294835, 66909749, 967262418, 24237381, 328155380, 248356837, 308261788, 957914824, 280054826, 690494946, 710107488, 587600832, 963995700, 258155812, 275015064, 910384265, 707949086, 858339005, 967313214, 456824176, 785323380, 993424418, 340502031, 738715107, 236612332, 979958613, 460188449, 614855263, 723772767, 671258271, 321285817, 630974615, 110679581, 579247965, 476147455, 732196029, 304274889, 291891305, 854459759, 766482517, 861069477, 744123634, 633355634, 591931348, 319269647, 253808253, 808455832, 771504257, 968646106, 821435991, 739972189, 669795351, 575764316, 610336575, 104010262, 823190292, 575995251, 567901730, 523708380, 105439858, 86663152, 532857140, 701429889, 218729947, 668617483, 10300023, 92543020, 33411277, 465121832, 334665561, 948881261, 767690946, 587540900, 113790042, 8598532, 970678722, 580368056, 996331509, 230999081, 569243311, 828253373, 214967236, 845270508, 721424507, 388115222, 40181508, 710944083, 24991805, 717706614, 108011636, 326063656, 779809527, 356011626, 898991039, 818762728, 469046956, 37334023, 516156824, 975107132, 669893317, 806816710, 433373381, 315770891, 586218572, 635488973, 142594349, 958268708, 711490738, 11763810, 829636149, 798217326, 43756281, 878064503, 391625520, 24020445, 128160310, 320026703, 725724908, 707046961, 987012963, 479949932, 413942107, 89680468, 675164999, 945834882, 370318276, 64570667, 697498883, 965843567, 466409202, 324595566, 745774328, 96994590, 513129817, 575382769, 162913514, 242511801, 506446387, 621803450, 604709932, 789493952, 165405518, 736350562, 414563583, 195804867, 600693378, 166534082, 524445066, 790034440, 141688584, 345694300, 431625551, 698655418, 738797537, 621719842, 580996996, 864498986, 919087249, 563795945, 564521901, 362674357, 916460309, 716485171, 179222095, 255710979, 29820893, 344157947, 59179907, 69370844, 762737484, 841129357, 240656844, 109309150, 775664126, 723531792, 832673609, 501555797, 479293581, 677321151, 745791280, 115794794, 73010475, 62280740, 262610580, 356390639, 242244100, 765714717, 463607300, 584543458, 708875265, 257496751, 293431281, 664904047, 924446382, 302845065, 784865591, 610141767, 952525341, 463882640, 13277718, 654555603, 685185889, 389826358, 918572946, 889020978, 970964318, 207066322, 96931235, 577103751, 869819144, 883900712, 875425675, 516831492, 259101758, 752635384, 618012365, 335063895, 644096875, 821320370, 476937349, 121546021, 60911227, 523164683, 635405992, 772741481, 546264129, 718604925, 243674814, 70767104, 378706041, 441924038, 752014484, 786215003, 530571121, 505812291, 827406903, 277305054, 295089397, 263942409, 824095107, 382541320, 187817253, 147436570, 452339276, 235345694, 406688333, 410722628, 539081319, 422799144, 871818954, 842562771, 150878348, 753036137, 713370544, 731977265, 882344019, 399007421, 976281828, 476447700, 597402715, 163616638, 612891119, 636285415, 445243148, 458451052, 988707230, 935822480, 775425300, 31714481, 397705406, 4498024, 548472154, 152221393, 957839822, 383800056, 618253336, 13751074, 258256874, 498477000, 646887668, 738782625, 909459, 289969477, 605791311, 124659498, 841073162, 63446777, 202555676, 429361019, 776824194, 643488433, 772288800, 12230884, 979920486, 282461893, 175157146, 818289180, 389699110, 69026947, 740410888, 916622603, 521112049, 955036285, 247213872, 547516786, 159737580, 370959829, 804809863, 483029578, 190297479, 625111540, 76453146, 196187123, 302847279, 437076570, 134814369, 389958604, 283375295, 380972733, 899936509, 721864821, 616784, 360745805, 836768388, 678366129, 398354455, 336582141, 181283436, 944550649, 765545319, 861054110, 142954897, 485589417, 360750971, 942620451, 379178126, 563945594, 658976036, 872331077, 819714443, 715118076, 227130634, 331805618, 412573004, 711324359, 746568524, 320604746, 605013031, 424848665, 36238097, 44048851, 32946468, 579320567, 291929167, 957977846, 591689630, 356945966, 933515114, 609082979, 15585144, 883774889, 600358721, 300376928, 149354067, 292944660, 458565524, 817359166, 254755617, 612475993, 896558647, 595262722, 677839647, 170572966, 362466196, 865077228, 82368176, 192104138, 460004186, 222872870, 239599051, 810174134, 932208448, 772566079, 551978850, 908899434, 692533876, 350104885, 891477441, 561318703, 809668767, 966430422, 253679046, 494866765, 442186194, 1286130, 15978206, 755860811, 838242407, 557904800, 834036190, 579595190, 955294451, 939734900, 259372668, 326312588, 844324341, 499535094, 301499888, 668842561, 927719432, 500298339, 543377327, 490832478, 506908198, 953830158, 851447690, 748245607, 394989988, 431035385, 116188763, 631269482, 545502436, 164083453, 573854914, 409759227, 272065026, 326799045, 253506499, 39231995, 694259220, 234004423, 949844995, 826548980, 507714841, 670429208, 33630463, 631310930, 423360417, 93726700, 292050031, 10519961, 201087438, 788400610, 345634148, 199342003, 989421544, 354936475, 274859062, 747945227, 128550672, 691831755, 749458771, 468409288, 704677345, 283763982, 588408865, 546773986, 340812148, 48365951, 42876735, 233687915, 948917282, 832823267, 87923536, 531868851, 859417373, 416374709, 233410073, 327581709, 245146678, 572154402, 584443458, 494575267, 287024945, 459561704, 199691888, 672059965, 428574724, 860488952, 117947185, 987467943, 847859442, 549730873, 920241440, 154485777, 390908721, 967703661, 646583091, 741101507, 11483686, 995903424, 869967947, 357095004, 866582969, 166818372, 798285505, 420064666, 36960214, 120160155, 434964574, 951957400, 911634126, 612394822, 371218459, 979460356, 28826331, 107451964, 892248495, 139504565, 151001135, 874608786, 819157629, 484869581, 167723173, 747469302, 702516395, 803245568, 759176603, 84803917, 771595366, 236865787, 781490303, 734572358, 878086964, 160885434, 458392045, 254944268, 243688489, 126874983, 78814376, 923908414, 547866986, 450331538, 413517117, 825767352, 655055663, 973827310, 976391895, 325346414, 28607259, 651061637, 1636174, 518822599, 776465726, 930031695, 454161836, 462254277, 2755876, 191858058, 639290839, 762293427, 473703709, 955649686, 269943809, 253072996, 294443994, 462333759, 551855193, 671443074, 994788628, 499981538, 904453164, 19012867, 284901575, 932827437, 163639537, 907678812, 15298258, 116446668, 476214553, 124495968, 323627221, 219122146, 339434755, 580886910, 529990153, 443142178, 473146106, 596569753, 854609166, 698508664, 12606405, 853665843, 227777303, 362903478, 556388676, 657004331, 596352118, 373508946, 591291148, 497752193, 766991687, 232682483, 965664508, 567807460, 441071927, 92276490, 175502489, 447455431, 857735241, 744897089, 611497926, 759727425, 920486982, 428151803, 405138103, 872075017, 95437192, 135484270, 264759538, 316142937, 700750957, 993462502, 940050841, 319553615, 442098235, 716199350, 969466500, 272012581, 149181499, 197427211, 402745125, 545442191, 387229497, 923169721, 968754203, 791759632, 158024138, 310359244, 902637399, 497851435, 948978121, 53331906, 336812485, 273516241, 10879704, 99311097, 519350692, 383595315, 961622022, 961808398, 496887404, 952286634, 541178666, 128654867, 633641535, 182756538, 33778947, 472782424, 480681021, 880374843, 157464723, 679432702, 17772595, 415663836, 180081032, 54754591, 961523638, 983763141, 54360285, 931544958, 327498383, 758666674, 216608503, 676033996, 650427506, 424658290, 492879839, 373009406, 82843943, 838017194, 496867944, 976539596, 708941536, 944915810, 390384187, 719012136, 465818744, 630352599, 110135342, 299677388, 189158414, 137451029, 106292587, 459762820, 488443382, 397391566, 852056240, 862244693, 474508524, 200969747, 842124425, 281499597, 583643803, 232599496, 559928683, 313825607, 239685217, 745550029, 360014539, 80376760, 88137174, 951000679, 891032271, 420158655, 921723036, 663096712, 562789628, 131814117, 822199442, 769534468, 980602287, 408469748, 702566898, 149328091, 811369850, 405170005, 499963463, 195442173, 647013112, 93947140, 82129009, 958180135, 180784576, 685484919, 410884239, 403865187, 219702520, 991753544, 21971733, 225104400, 102578860, 657980129, 507928079, 776791423, 784224277, 649600418, 931796645, 255507705, 577650913, 197585364, 898478368, 878036259, 214989440, 365196351, 622227573, 699911314, 579278275, 362042571, 572735296, 822761306, 546939842, 983984096, 686805447, 858165679, 260299788, 635295039, 938534427, 462108367, 995517706, 768625833, 917882022, 970821776, 726665771, 559291374, 833620695, 507512012, 833074294, 201836326, 498387389, 377943830, 716493187, 593415294, 373684178, 766013134, 666885448, 470028540, 226424420, 725365592, 493273621, 669430895, 810346993, 186986157, 890565354, 946763209, 82233705, 194314101, 117908425, 12034936, 435444813, 749546007, 761761026, 426587958, 867523975, 740217245, 271360131, 317167013, 685938363, 911177772, 770320461, 214413938, 126324518, 531070827, 382150515, 598989733, 126881463, 223067587, 776140318, 461311505, 94010915, 42504417, 108096593, 377847249, 85442250, 222691217, 851429492, 299810868, 837595433, 330770497, 985920742, 191899798, 65847814, 124478023, 719378540, 770159141, 763749935, 891618477, 939340560, 891893596, 998390620, 75301810, 829473332, 137501485, 501534955, 159947466, 793134092, 917416589, 391838504, 268534272, 215293414, 915843822, 22555013, 828992892, 870322141, 564874637, 192947194, 9581444, 771525640, 548378368, 820866501, 989197419, 532017507, 520965184, 79455007, 691408865, 423483785, 945050469, 324465966, 870568372, 299751872, 782557864, 293383946, 887749434, 260824374, 716527371, 857262639, 532632926, 66663457, 423150728, 396438511, 808086476, 78332903, 531903383, 365875343, 468414639, 472048885, 369238806, 905150597, 967268508, 873505995, 102364200, 11717727, 236161702, 744325711, 922460914, 528853611, 898044014, 374931373, 504165014, 203652734, 845453106, 489362908, 198978909, 595015505, 447085792, 548471766, 413947068, 347688396, 781941625, 288408297, 954634561, 871799398, 485544907, 406222288, 378886750, 67770382, 189407287, 698765231, 894184369, 780826640, 260054967, 858011882, 822863321, 418602225, 467103864, 631836256, 896757551, 173304520, 319808278, 571425470, 265747369, 853998641, 207772490, 529294132, 453641890, 32461134, 392466872, 425512103, 162503184, 243357373, 333966641, 298015561, 988950128, 735615860, 59247828, 501826255, 356481024, 479438718, 998617431, 254718302, 384462816, 812173039, 485283221, 322121896, 649512815, 779023746, 92981777, 698127424, 832343072, 973953710, 568422826, 929686300, 682233459, 775846259, 147642162, 780985034, 871930279, 725318095, 902138111, 207007702, 780296263, 823050367, 178319631, 250069573, 380343057, 487036480, 943209157, 327940395, 117115345, 936916568, 498326411, 832228477, 779789456, 712683646, 155086321, 537046049, 383501522, 583095936, 892846879, 482989979, 131465091, 890260457, 11757819, 759044115, 150502076, 556582425, 202909408, 770772317, 507310527, 918374553, 866833613, 840131984, 462330105, 276460996, 516201733, 785738125, 991327315, 399280800, 117699635, 516203398, 567150711, 317622091, 360172261, 733294791, 726113701, 288417405, 885204857, 565392086, 792185572, 297690060, 987595835, 439152597, 919998023, 283085754, 278970828, 779601041, 403157378, 672701048, 678814458, 576584221, 89887991, 425900824, 587915962, 957192324, 392777990, 875850676, 162512733, 993867257, 407624892, 851241565, 26528012, 814892095, 585605447, 155971952, 605439644, 335415237, 447798417, 195426117, 224607499, 493913102, 411778036, 224925852, 925477229, 629771452, 911166867, 430273198, 102284407, 453638803, 331444288, 538144118, 973185255, 251764604, 331988201, 50184652, 27932598, 334897375, 347080626, 327318194, 586003360, 86751447, 383479688, 59919931, 944134686, 916373510, 199628617, 290372824, 154745329, 949666979, 68939378, 461114524, 504642717, 607174892, 848039085, 738351373, 767818162, 52832863, 742769102, 178609953, 569192183, 95380517, 991351597, 247921051, 11458004, 248153740, 557103213, 710515204, 448633615, 20816388, 128019713, 956725756, 751686124, 415187395, 301794249, 3830440, 812600474, 818836418, 796794238, 704835511, 548028247, 57795135, 762635838, 510966460, 964267232, 729684525, 457166009, 882123957, 705886835, 41473956, 350929668, 775030928, 917939947, 22269070, 680228639, 302380246, 414337230, 278018594, 70510754, 693965206, 122152199, 266831163, 144992412, 528190011, 511463441, 774183658, 473220419, 858651251, 401395208, 511580600, 85338207, 394132456, 669771987, 827813268, 347654900, 527976373, 865615338, 542587760, 188565026, 910398381, 459931068, 814637653, 326805953, 567165521, 303668508, 619879819, 766705153, 594602905, 991877730, 82943148, 566551354, 220902314, 395296107, 335750602, 266334227, 289529383, 589793518, 69235858, 793965891, 287445790, 243344838, 829835414, 116208319, 540765494, 292109517, 71270402, 524488368, 877506552, 218476638, 927840032, 989236406, 206307130, 83032996, 5719798, 424263528, 62300199, 694554798, 357325409, 743028527, 513846726, 664058698, 584319023, 60617486, 759710671, 593165211, 4491295, 107238484, 126356162, 597262925, 29128194, 277863060, 315905151, 500153378, 354636850, 441236721, 574077844, 831187289, 850583589, 260030611, 747464898, 525255475, 575980275, 111489279, 857003408, 212732557, 419192124, 149308707, 198236798, 294908824, 52725315, 82988558, 10125985, 28172991, 608516602, 329776272, 265907010, 74397197, 344433422, 72314923, 721781894, 6127931, 797012620, 980476939, 452419796, 439998209, 673518985, 507439141, 576557254, 469619425, 253207422, 574134621, 500546080, 174873759, 65007091, 259724933, 614400507, 657512833, 317632443, 59335960, 317594750, 133015161, 661480011, 361993141, 760206351, 841624507, 527117249, 269794407, 397810591, 450928282, 413462691, 4477890, 503503058, 101347818, 713009172, 470627281, 521477998, 706761042, 817709773, 459374666, 670824908, 679040911, 294544725, 939685736, 361618824, 468633878, 421545891, 327158068, 699545807, 505540122, 420779545, 308247882, 348839776, 711072900, 12882609, 648847282, 942936161, 138692114, 240739459, 665127591, 512680562, 459614520, 633554985, 947800895, 333932936, 718442612, 229712733, 421704879, 768945620, 540183623, 354082788, 969993099, 439713891, 691528037, 361491156, 763498973, 716126468, 148702257, 775294623, 522859228, 481228035, 11526143, 966751347, 19467117, 451715466, 248844216, 946615678, 368010461, 797225901, 356994852, 943276042, 961293604, 931718141, 16316913, 272221152, 378135081, 792180330, 523763967, 49032611, 8858035, 44700670, 256337355, 622366480, 222099593, 375882456, 944364502, 467263485, 855915946, 984136377, 52815700, 42050867, 596413066, 794058960, 163025621, 615141641, 159708679, 212588630, 744112647, 171567664, 848630308, 289422646, 170077174, 267528367, 861408800, 185309790, 37314724, 908466003, 626560539, 842042110, 584492652, 592076946, 799025102, 57357979, 857795292, 545051106, 241287500, 746938179, 529584180, 56859991, 785731647, 305237918, 470069944, 216771296, 539124339, 937625285, 690106199, 370264212, 553990773, 132923067, 392152107, 115581758, 735070772, 939424195, 22864411, 274920583, 877665050, 465014272, 448893860, 548001791, 433969066, 193702241, 744945021, 356612843, 801023677, 899541013, 779329877, 610272479, 553600792, 60865498, 208113615, 189117527, 531873289, 219390071, 167522037, 969682775, 578864877, 835937950, 351905171, 584394234, 713290429, 977211559, 496774218, 658713853, 397878820, 126626363, 148222863, 532646785, 824221650, 557610313, 659664136, 239417559, 436541411, 356303969, 110664940, 598896746, 517672023, 895229783, 80134105, 310410161, 136245759, 18199306, 846589320, 54125784, 604634246, 906263292, 604692417, 890516648, 479894059, 412860914, 430582005, 419546299, 585903474, 889410767, 51751939, 421872616, 35748876, 699650217, 320220371, 752052788, 568969794, 241933844, 390948491, 221846823, 189716838, 579344161, 557912450, 99720900, 832095281, 656349113, 125527431, 836356878, 101594415, 185450418, 395943732, 321995320, 948676963, 485977708, 155569467, 5067713, 332914067, 617162765, 426691967, 574258533, 827703481, 23417707, 919177857, 338033602, 722791441, 581022613, 120742782, 812000851, 617881705, 550926082, 362847419, 699988458, 867900734, 378046409, 502571059, 982112197, 744058987, 999638575, 240968881, 842417369, 856949186, 88004192, 7307853, 738213631, 837584194, 749700283, 513578955, 648445374, 363377724, 138827409, 203851520, 184936398, 382790897, 730063298, 799427482, 105004094, 395798222, 570875276, 815606494, 136528581, 486318829, 995178767, 440781143, 125215213, 218574714, 802672859, 594872265, 124372010, 122890488, 552634281, 980932900, 595600297, 381176190, 529650145, 444140547, 872241980, 262464594, 373958701, 342507912, 814015981, 4896265, 731109811, 510430540, 574169223, 926367261, 990338840, 766739555, 882828482, 802402179, 325676735, 459503881, 8659691, 352705588, 460556159, 10760490, 610271841, 577949851, 325082821, 256513131, 729910240, 268177300, 127908366, 446959959, 111140896, 588178388, 623511818, 352285332, 525701834, 95311106, 927894666, 833488892, 604364645, 73527062, 870910835, 658957402, 357568840, 215199415, 951649631, 659183492, 377044990, 54618181, 595310540, 886822989, 731092244, 30539117, 935036925, 547010053, 941760658, 899727427, 716508870, 714842180, 952818465, 554766818, 489271862, 404108744, 668157951, 737783620, 124239197, 302633292, 702894040, 334998647, 643496049, 932337427, 901012003, 849340272, 526601766, 201752307, 920111762, 248684669, 218755604, 295444690, 697846915, 86814118, 863755, 801074221, 767489210, 85846430, 47994341, 309125581, 723802680, 477082650, 238808534, 168963655, 861471019, 351310555, 859645892, 726569937, 5283458, 214415506, 79528747, 982716225, 985055708, 102254198, 121254585, 627592915, 618376794, 724997582, 320429647, 186262224, 16583859, 700738086, 595190052, 109884144, 991224557, 446500934, 980568734, 886639686, 474705769, 477306307, 442129187, 44810, 993304476, 115397489, 211126758, 450106569, 52076056, 294870855, 218114000, 81561210, 259594987, 127969321, 661265786, 455181098, 823535387, 617364249, 3581131, 410568246, 406506076, 388974088, 848583357, 279921263, 339499041, 411991940, 415316099, 14533118, 327950386, 147306779, 687484225, 454369402, 892144979, 777912721, 761326946, 65815277, 741456925, 648640768, 261769656, 468308890, 375992931, 651139018, 189763825, 596260280, 982626614, 606284478, 208585347, 248380190, 486587543, 225830651, 976362015, 864440610, 934145789, 906823556, 525360803, 975511131, 753786185, 917727211, 81625322, 104013708, 853874175, 209616446, 264234695, 597405769, 956753363, 151890997, 396457179, 101934517, 661431224, 922589481, 587457529, 919814661, 956226316, 990772779, 948731848, 387555779, 447843971, 511196560, 384445267, 597903959, 114251536, 542633831, 846516323, 593965254, 787705257, 795403784, 459739381, 954432419, 203031487, 461011547, 744186412, 969234776, 799356429, 12689811, 157133456, 810204312, 917948094, 278771625, 372359819, 476134192, 624685654, 255442422, 388647097, 741819354, 122747965, 684569788, 268407596, 286319232, 101453636, 328734540, 965967049, 137110046, 553628378, 662404040, 943707875, 971762642, 968690107, 722067688, 542639104, 905125683, 266552031, 505331951, 960773244, 51251021, 678471661, 823993310, 552372132, 640482976, 134735320, 718831922, 918041009, 188360081, 820205349, 603998350, 652003670, 47500759, 733603809, 154195746, 523969359, 519433595, 367175216, 278316111, 398544263, 559685979, 849759569, 741585255, 686865656, 778712902, 364178968, 238322402, 839141688, 71003040, 25199724, 684408564, 390210787, 913662031, 1656900, 343777536, 620506876, 48592848, 963823247, 808073772, 698126071, 750678190, 180701223, 493769838, 913420464, 286725519, 852783849, 935422341, 781394875, 558831592, 940563199, 211838444, 504319624, 397209270, 302211695, 869076790, 974249002, 367113664, 639861416, 666060033, 469668501, 297380989, 942964728, 588542468, 708509745, 434141363, 664597578, 997555858, 84883245, 676628616, 760942906, 489218947, 112640044, 479082006, 771297004, 115849033, 283343642, 632882813, 940173304, 865010734, 729867489, 208984882, 760611431, 993616232, 821932430, 372335591, 361307289, 251458245, 780424521, 584914215, 187135445, 442738287, 601512713, 175939853, 407075636, 752359576, 437213493, 77695144, 539357429, 765237695, 662653933, 981046971, 991836993, 807556780, 838506977, 195706279, 723502652, 9009916, 437137344, 432344198, 171229280, 814518656, 8820353, 607023021, 596547658, 233409381, 953075621, 778864469, 162063343, 62806352, 830087060, 298889587, 742368240, 886500521, 211048939, 909062889, 40663153, 965369354, 345918300, 737958586, 313878368, 140042459, 443496252, 741691722, 848837821, 656604673, 635336443, 161053921, 163748731, 392060267, 712261068, 17945852, 220688541, 238587147, 107189988, 210863516, 376094582, 713777032, 502110532, 314077680, 558750163, 233422565, 742126914, 528842741, 994176722, 957065874, 219884670, 123070588, 401866227, 362183137, 230361795, 981390536, 789683107, 391800392, 29824926, 927001116, 638004403, 21311688, 62216169, 411485134, 397999154, 841506474, 696018600, 134208621, 360123072, 506127500, 54101818, 966010182, 845719075, 677677296, 432287064, 438558516, 855917360, 236935269, 228726076, 142574112, 303734804, 592124405, 562476936, 351537627, 373445479, 129243687, 545778126, 712781992, 640480768, 915304394, 877759433, 240104057, 106892373, 584310981, 645336977, 720068080, 238293498, 512122246, 920338914, 874236529, 776082216, 825892596, 162299685, 797233995, 952119833, 117116603, 299754887, 408297073, 700262476, 799266247, 63172731, 657166276, 925235798, 529847657, 746272715, 20949513, 252823807, 482659600, 658365167, 616063179, 748259877, 856833590, 674706916, 326793847, 490161568, 703015830, 55786755, 75906428, 807779157, 635178253, 36835290, 668290772, 593615833, 1063231, 366106603, 244834289, 76567813, 204703358, 340818260, 754854892, 583315168, 244681678, 905039311, 922106835, 668500876, 621005421, 926798242, 758808320, 296531792, 246671471, 176059462, 772405185, 274636229, 269906240, 976000618, 751731416, 407933225, 279707200, 203161303, 606090604, 923527442, 834897315, 701421779, 885171267, 605256558, 640823050, 374521208, 163483749, 610681091, 562165576, 5860530, 869107430, 696827493, 418641822, 204377670, 335567279, 707516762, 410397147, 100640991, 329094268, 833009277, 822704725, 942050670, 473390209, 191010938, 63992340, 693381058, 781473208, 961062849, 72751678, 294702445, 578705878, 153100922, 998268384, 518419431, 454919666, 467117976, 295755720, 993822963, 511569321, 427652512, 369198374, 113153125, 801645987, 333236107, 244342785, 860226131, 998594872, 820232959, 455647255, 140717835, 33243236, 229570586, 171357562, 938479549, 912677264, 27446096, 787832511, 662303186, 5533701, 621704083, 291470180, 777971679, 458923144, 543491981, 42499048, 517888387, 507057803, 431167677, 644330393, 494913210, 244367981, 744890727, 603716685, 875952910, 495034617, 843960357, 564619214, 797828481, 893495571, 702557775, 579148750, 399724416, 596757468, 767440897, 627768245, 758892887, 641916557, 427057442, 466400474, 498117816, 964760789, 524632807, 529386560, 180969992, 723422265, 904933887, 301500796, 479827479, 733579374, 374774085, 806373966, 588577601, 563714975, 696413452, 981485838, 691590468, 996077147, 654188833, 102601670, 938501088, 823820580, 672361078, 122858521, 236836833, 655389958, 74218014, 88125364, 394236833, 393338245, 653677864, 498131453, 409247238, 739366080, 753580095, 533566451, 975330254, 329208766, 832941579, 24543415, 767857733, 526225094, 541806229, 80086481, 330681753, 577885062, 573676199, 990721897, 230923621, 913359005, 408172795, 444866153, 800073367, 505958209, 25956597, 292877890, 169722394, 620001740, 898995334, 506718004, 824256776, 484735533, 459850641, 841970743, 712919830, 957425094, 124262850, 96627483, 974860585, 164749918, 198144047, 25551006, 769436692, 332595324, 803684523, 746494197, 433687473, 237314936, 780651871, 660754644, 24853611, 758506692, 995016995, 446906635, 952964108, 701872685, 532819192, 7883778, 929470584, 77089791, 495989246, 664392886, 972549710, 192536971, 778770347, 62522541, 564795050, 881825846, 748918041, 228392779, 525401846, 920281812, 854856344, 992696340, 521282913, 70437911, 16020594, 279728791, 653581524, 11847279, 302013876, 869108810, 683071295, 543999428, 556922666, 68466385, 124368688, 807964414, 723733220, 796725009, 201997956, 386340222, 441564616, 105535493, 205900397, 789757687, 91013284, 917087088, 903107981, 581926950, 825441565, 438447832, 424389344, 837441598, 71863627, 535083233, 54165523, 433729195, 715304487, 318637175, 427176435, 875844704, 934052075, 607022343, 933773986, 379308417, 346134930, 199980778, 96255891, 733670097, 356096439, 715570125, 133423004, 649947975, 250305147, 429314485, 203811691, 249587084, 758124383, 399083827, 791163383, 753423856, 984127834, 960008312, 316909745, 232893877, 956732779, 558989289, 566877299, 287598916, 606490431, 485644237, 544655156, 332977212, 876918860, 786985965, 514360014, 76340199, 662676972, 250977708, 933243353, 397435824, 172415719, 275239498, 529247952, 820292676, 724416899, 361992002, 336155676, 818536300, 791244439, 427147734, 627876945, 784257180, 552210519, 74409164, 553256539, 345298309, 664211002, 621464303, 600706098, 606987202, 73904368, 981256336, 276690043, 27932003, 956525742, 524095825, 684302341, 442181866, 551394909, 511909112, 291749562, 888885335, 610331073, 513517535, 202482726, 330883959, 914462011, 228847946, 679185414, 379965141, 378421869, 27727406, 852794296, 258028396, 475804785, 174460286, 253980789, 271269942, 207454499, 143830164, 291260451, 668383236, 680619563, 477707967, 36367142, 722486874, 857334310, 839062689, 845505223, 48092198, 150488265, 555794842, 559934695, 129178441, 167189779, 10481047, 614616333, 10228694, 986669936, 454305450, 156939455, 833289380, 679683114, 501893006, 583494276, 684045410, 864658352, 56815265, 64866739, 565778856, 686781065, 624603656, 910462125, 54467553, 255270334, 618224446, 123726437, 97676462, 446637655, 289081885, 285156503, 448278111, 274191306, 955445634, 772794823, 911971800, 203113187, 236004978, 949166546, 645618037, 709841867, 244711265, 261517216, 529505853, 758936822, 108465316, 389918476, 503200829, 427356188, 101123906, 581835760, 155313229, 864673617, 172138332, 496960754, 816051719, 650597858, 168527072, 688958736, 410309568, 404936534, 78170024, 516517112, 467538120, 729726378, 801838323, 365526131, 941513423, 204894956, 225890120, 668319175, 904084915, 775290839, 467787778, 793193939, 200808363, 62212771, 453457211, 209142676, 868468117, 931618569, 912301496, 595014824, 649703749, 356278244, 889842293, 38145754, 983959753, 398703782, 201365906, 898376557, 148633491, 821966382, 117926993, 237712777, 492683775, 145824719, 588354323, 17454086, 55957953, 520916927, 814908102, 752473310, 230591813, 811552280, 92657595, 89399145, 398431842, 843889724, 388033685, 445889175, 494633238, 636101524, 901185548, 8812488, 992044622, 890130201, 205249908, 918478803, 724772310, 683956990, 238893372, 684902925, 703273962, 637465826, 82878051, 51740547, 592670711, 838235998, 579717605, 242891982, 616608645, 512985036, 694001844, 443404467, 156176037, 405110407, 280729300, 47664344, 721670209, 180731660, 914564674, 550801727, 204239768, 390238274, 907050709, 577532487, 929821670, 969850340, 409595102, 844641713, 483260736, 854981196, 838929722, 879580370, 787805174, 357765344, 882718104, 832699573, 766806428, 415002745, 999355594, 730697245, 693290250, 817472965, 220762751, 777417193, 303548504, 715128664, 242569329, 895991721, 990853238, 511631554, 377996574, 433205805, 359353483, 447984640, 626985333, 893728280, 909253753, 291638655, 175335618, 313555558, 992853169, 187783281, 236162101, 910657899, 564925019, 717186529, 275167406, 273769692, 991505806, 556005078, 910643986, 16374974, 729599160, 777999245, 923825170, 168296622, 577638845, 42705239, 327875002, 431408521, 428393316, 229001133, 38168234, 305304563, 722354367, 756439791, 451896716, 123214008, 764729864, 508374398, 866721635, 536237865, 442141338, 924672178, 50327225, 276876111, 284749484, 745548096, 13020994, 739329182, 942693447, 448383732, 124587250, 358189100, 850174654, 644540524, 194596609, 965634879, 356636185, 185824153, 222742191, 484173009, 73210487, 867892398, 344052942, 539580024, 796779181, 571526742, 507067818, 123866489, 69069378, 639719479, 997397370, 929004993, 861335471, 918551182, 389246160, 14818854, 166976774, 813813397, 268291730, 143073941, 479457715, 97421308, 163865139, 929042137, 60901918, 166930590, 269021167, 291477743, 571524186, 727536887, 741813044, 814423034, 984708044, 163533343, 642398706, 283904622, 208252637, 181766198, 168736296, 962974776, 538190143, 705058386, 456245730, 634257608, 269164572, 107130450, 646339384, 960327277, 904104902, 790733704, 490548802, 499610907, 622983908, 942310934, 394893172, 955439260, 952086092, 900570235, 53428434, 346368480, 800924523, 578838357, 386351167, 282541223, 942700063, 547912994, 378073305, 219496279, 404615033, 990968349, 612092324, 609400525, 148216037, 67426364, 422881497, 300174405, 14425835, 668761119, 904323375, 504643229, 659643754, 589521458, 357322876, 83602230, 523829242, 53773876, 460305123, 752785600, 513182859, 984682431, 858745091, 820879537, 155800265, 640559141, 746020171, 580753648, 790697909, 666684812, 909363453, 506247348, 60054869, 979626064, 541715130, 452723600, 105355881, 339265187, 34690548, 552422130, 858993606, 947057806, 340502431, 728413599, 533651512, 117339875, 388935373, 232305528, 398143541, 19837400, 401905343, 537211781, 449340058, 24936507, 98549215, 241851353, 739712215, 799075085, 552000346, 589570294, 108247388, 631280548, 12643658, 492014960, 933794442, 542059725, 334169659, 833508227, 26116477, 59224515, 434744073, 458103069, 196813125, 857545556, 123702296, 7459879, 419446434, 233509374, 149738285, 22972254, 737089055, 285716768, 672370177, 478269390, 741635185, 633889638, 415021397, 393915723, 344840401, 44324780, 979276054, 684048352, 42926738, 592696926, 192384514, 342650560, 867487462, 816597751, 577369684, 788092917, 573164891, 190744449, 848503426, 690695624, 453503613, 634324169, 938451170, 136579050, 136766700, 165976349, 951506917, 986054630, 595670525, 400950535, 553205940, 856539634, 982097493, 521800244, 306601079, 270886942, 715403985, 229354946, 184153488, 452179738, 907447038, 189563995, 494678215, 924753182, 560506449, 907421335, 777638901, 142682383, 924396192, 683231449, 131059498, 458813084, 119002435, 480281469, 932279098, 283436121, 658812806, 980947651, 873094403, 446249237, 515963088, 472614655, 694774007, 833494665, 657557623, 335542562, 167778943, 526678966, 733007721, 820326000, 602149735, 838262898, 842522619, 681165032, 906977683, 51653400, 400813704, 632715246, 159282260, 26050586, 614826420, 537388861, 439697289, 161266428, 929760353, 389003789, 999908140, 100151466, 371959242, 734459629, 483082057, 689797919, 457291358, 588229924, 357865728, 774651145, 997910986, 282469880, 363237215, 323573393, 603840430, 355455382, 487178097, 748367789, 477047489, 366438814, 65653803, 507323951, 234866441, 907215275, 484036930, 227245873, 876030183, 720192232, 239568636, 784602168, 551087786, 483064020, 888332559, 901113548, 446793535, 671500383, 298770787, 186893335, 353739838, 555221988, 316656971, 184770241, 79161269, 833651790, 99012191, 314459935, 136959168, 570446906, 872591573, 938152170, 775279105, 404192846, 392432618, 955388726, 507278885, 673581203, 930348668, 900661563, 84473630, 880823534, 157859226, 633400930, 978923169, 528144520, 314357560, 770533849, 768204951, 606831585, 665204598, 860043030, 118033318, 667189566, 505770436, 854815830, 444108738, 531488969, 156885707, 393345615, 521171210, 860416874, 838353049, 803206755, 69041, 901467098, 552223327, 767950358, 436759182, 717092180, 53778624, 916043576, 490672124, 775075665, 579501965, 510754687, 66475704, 177174660, 687373331, 439469090, 774045097, 567145293, 196868627, 430258074, 448114634, 532647478, 847968484, 123361417, 564450253, 364731378, 450308630, 952248180, 457326850, 198237934, 992664374, 385656539, 562556177, 149380423, 215429088, 482806702, 328848811, 814078432, 458676262, 487022056, 867588510, 266167907, 491217118, 31985975, 641151230, 103148761, 430555903, 881792859, 685084002, 473686782, 535754312, 234729700, 119912320, 257595456, 338424341, 794718754, 312124113, 405616362, 512203040, 236535843, 369297074, 49425254, 278344030, 477723421, 101927786, 687512564, 639409280, 57022089, 418294963, 14608113, 631193587, 733787843, 94606200, 41034458, 593945012, 351695461, 258020543, 821784832, 173486018, 432723942, 857053401, 723094599, 755055380, 224675777, 354381568, 320126330, 826987308, 116814485, 721737966, 964695703, 405212607, 329623515, 238835576, 353202099, 611802122, 225113318, 988265664, 485610388, 170357364, 907563615, 414859389, 950648805, 905144168, 224979366, 136681197, 945292524, 250671453, 590635303, 857310703, 347732428, 564317826, 962741635, 552606824, 659665612, 514723577, 111180354, 509267337, 536127697, 819075747, 109289060, 340019849, 773463189, 645891480, 455173078, 548951091, 21422425, 963164557, 929517472, 953489268, 389288588, 76590510, 430636200, 593230311, 861809106, 165290506, 266007508, 242793098, 830207509, 194903396, 945687922, 643165488, 658618977, 59453510, 152520519, 62440683, 446297656, 481699166, 437244003, 697988985, 153852079, 601721251, 749755555, 24302791, 410667428, 272626068, 76905717, 637798234, 703587721, 81532766, 460394051, 111293730, 508964537, 502975738, 94345364, 452964080, 699121817, 205434065, 428802111, 518357525, 249821191, 267552524, 729723273, 5623614, 632919907, 378736888, 14951825, 120115634, 668567419, 859049857, 175673175, 995674809, 152439526, 155931308, 520622562, 906836094, 603018867, 572377770, 936153967, 498276626, 142155819, 868328311, 208076767, 263156182, 43094141, 322037763, 958663962, 100895054, 373605390, 268727443, 841623981, 443212110, 233029864, 424483440, 919626200, 759064362, 491406924, 62550224, 522871216, 199346266, 712734945, 703137114, 565296236, 953969839, 35119122, 476887956, 561997942, 720813106, 528613315, 993210441, 126025784, 833360115, 957935046, 298255915, 160675863, 306338563, 808123474, 419065977, 560226635, 914576342, 255410074, 850770514, 64315219, 556999968, 470124148, 234919483, 332115913, 11527242, 647106223, 39082296, 404113457, 478211738, 384046745, 811638929, 709480731, 621368498, 880647509, 62870248, 300777033, 351453858, 466081385, 484396177, 426939845, 724533517, 823160783, 593949091, 147578556, 267409037, 758795226, 180849501, 839313540, 30547708, 917229082, 145213421, 357988363, 117912432, 167542872, 471658088, 290355721, 400884626, 665476695, 511401530, 28777918, 548423857, 752284933, 786358084, 141811866, 504842496, 506028160, 968378525, 1327858, 617792087, 154659861, 818027475, 578658059, 641215432, 80979642, 384779298, 380846746, 532962272, 811936808, 669901730, 898077624, 780389503, 750129143, 731750386, 515455216, 793911254, 152387770, 255024384, 966436656, 9565348, 456136592, 656417346, 99538713, 329564868, 616873029, 598353235, 359245231, 748116977, 466431638, 809631576, 851157334, 938968398, 606536255, 623661137, 934982210, 782003357, 140149681, 352460990, 834327564, 467240110, 289969001, 350660320, 366187231, 96210571, 411542401, 415194005, 17365217, 697281994, 167459483, 813840884, 837928214, 743966452, 629475552, 507620449, 320536290, 810286116, 24592032, 677458870, 598359255, 206034359, 303676449, 148669281, 861157957, 146108719, 250750525, 731655152, 561826104, 970619269, 646481473, 120236508, 121247201, 517687725, 846201960, 343809822, 983989160, 173681812, 81552096, 239586068, 353671803, 757019759, 47632567, 592042453, 9988720, 206544902, 828002414, 756085492, 650636674, 46719301, 487163374, 224753674, 461589889, 515139084, 571840081, 4671222, 687082110, 316995831, 554303917, 718473364, 736133972, 173093085, 653906977, 811990592, 853868762, 361217327, 976969497, 511991886, 959683474, 515274991, 645607366, 699541755, 383557134, 304879521, 825359632, 174677532, 858212519, 25907086, 29925877, 858057254, 499319736, 699098137, 460301361, 16941889, 865920344, 215133066, 843164257, 56883864, 996464986, 821535829, 849384941, 803846990, 128777953, 897164802, 250993535, 405915614, 237870045, 643448521, 928903856, 701772842, 265117534, 483434561, 331353998, 426090135, 577405645, 606779173, 994760885, 362958241, 180414565, 426137188, 802169480, 861946327, 54030109, 215071367, 146285261, 85130414, 268681424, 74733196, 613417174, 476733426, 144313303, 882943430, 783888805, 101296157, 513988083, 896852392, 170895000, 736280111, 10175718, 617431960, 532796455, 535149612, 107274775, 724845763, 564781175, 819546720, 810443312, 891372042, 361078495, 304010509, 212047561, 954145193, 736983784, 659824439, 731964860, 548711619, 427688693, 992066975, 465623883, 42647102, 243062342, 861321841, 371195327, 894480595, 957715227, 323040522, 629238209, 846553905, 698540668, 217377970, 512800501, 161610295, 265246121, 551348469, 544997246, 504859625, 269886372, 509373273, 55823707, 817480776, 983501328, 942463775, 804925303, 491356992, 533739575, 745954340, 873452164, 915510588, 605640677, 661190433, 307493768, 773422312, 595978931, 63689335, 82163552, 979671578, 51087061, 518099998, 107302948, 605763322, 827904625, 264704427, 49253087, 735437757, 664757812, 540679478, 264241263, 908011759, 998581871, 763844015, 545975352, 190549561, 101404951, 920952931, 384079580, 941905293, 68285516, 511133013, 196723026, 599219558, 499643725, 175337681, 937933398, 819888663, 362812466, 594260753, 841216988, 330441583, 958497290, 108946431, 930073441, 996085229, 235386520, 129248558, 636077689, 202796120, 327828828, 865882871, 630588044, 60110105, 425026041, 158583858, 955617324, 570939404, 819018700, 213385046, 751624103, 907178867, 887138089, 513245754, 856951171, 774813207, 373647458, 974009736, 270761846, 30498982, 732479549, 350336519, 848811650, 620043892, 111470472, 89936525, 815672, 728938183, 489036106, 199615838, 582153639, 885236674, 898615367, 994243697, 316891275, 972469183, 115427525, 98704152, 356676484, 274989603, 440875427, 977386504, 79858199, 601189626, 882788905, 564215899, 590763921, 925165028, 635749647, 67703275, 543367714, 380291397, 141179199, 789439979, 134977683, 469745508, 610265389, 817156018, 364535614, 387827393, 913662378, 205637670, 918164017, 921380268, 827937090, 60835574, 200524582, 421149894, 182118909, 941131496, 96180786, 283934391, 192188120, 215866242, 837739529, 831175580, 876810229, 231278787, 370177995, 423028759, 697447472, 813804706, 143949254, 807312379, 768914986, 842842827, 607778118, 134713875, 668546389, 540704229, 625154020, 498241407, 338431396, 956922361, 660786328, 8572262, 9239906, 908869849, 741346416, 318625686, 126305092, 441177374, 719842750, 389481663, 804854767, 687881451, 593918113, 446122264, 133385717, 544294872, 771461120, 974922375, 795096516, 538747239, 973879500, 688104064, 407725494, 977888593, 708174288, 738942165, 403525319, 925805544, 879118713, 553676481, 243868381, 24898906, 820706366, 215745977, 343328127, 624787183, 174539540, 287804236, 694416673, 816077122, 556853696, 366863988, 964693150, 998686733, 309818272, 783897388, 273187816, 117476084, 720309182, 51545672, 336470127, 984258278, 172641154, 339650389, 148739562, 859275507, 562776694, 229080932, 596560839, 631295758, 903573168, 184492593, 426284014, 216774701, 827498750, 733119939, 299781708, 410909063, 739296425, 488115644, 543662885, 304010289, 370248658, 765397621, 522577439, 87323551, 540377519, 288923981, 158934579, 836052344, 42266614, 689048005, 539946348, 489066723, 313261054, 288812332, 551789373, 937423262, 346765879, 946748391, 531519463, 802161171, 748000740, 593663133, 132856713, 926927761, 316561696, 575986766, 51487396, 298660371, 914769908, 110193350, 760459204, 428288233, 616605308, 906222502, 420235469, 84337515, 842325831, 764549565, 515575765, 744024569, 527492971, 37659273, 708821854, 824595031, 928784557, 562491353, 475326561, 98425953, 921135297, 289234352, 472812801, 59748690, 381580436, 361909165, 872480843, 36121137, 404536225, 91301508, 320426112, 613230203, 525064265, 401675633, 377068471, 340392830, 716058374, 665762652, 806292905, 820679739, 974374070, 304320127, 508982974, 871155085, 14807880, 380021297, 84888731, 249678500, 880790976, 375788270, 669357462, 688776004, 809284908, 614705671, 925776533, 537636253, 503296984, 353850472, 838289863, 599031474, 449658620, 25364892, 292666900, 382288863, 285650772, 182880368, 853642253, 381438491, 385850318, 69768064, 832627780, 468533970, 658644716, 915815170, 467150231, 435844335, 412492370, 647783536, 696574126, 587933724, 550672573, 264993536, 714915992, 154346397, 459381079, 640756256, 48760982, 569385671, 318953574, 373291269, 609580116, 927723248, 44371546, 117138903, 845177998, 454893331, 426074175, 391353932, 444966494, 22484180, 318900294, 208200761, 134082151, 146016544, 141027270, 25922652, 203847346, 157966989, 441812210, 869135190, 873600095, 292354966, 727489490, 76972415, 599333016, 814934375, 4188703, 580877963, 187665533, 10276200, 609403545, 743263170, 509742898, 295330724, 305403401, 252978171, 437993127, 480293910, 500652098, 556212175, 145959694, 298233304, 892319302, 182299347, 658436822, 388648830, 506400492, 783331250, 556323083, 496807542, 178010345, 625848865, 703390215, 817633472, 827241832, 625253247, 572846554, 950923719, 946889745, 663170058, 162577007, 31741708, 462344181, 438452723, 792706157, 662105684, 147027021, 136674699, 862783146, 801541328, 363828901, 669948239, 217542344, 496912874, 839530518, 62272234, 765065386, 865797642, 597664106, 919393162, 971948113, 925563334, 109317408, 823145465, 18768307, 533379867, 936323059, 989097780, 330902834, 682443583, 908426919, 141594653, 682991425, 3645587, 756870395, 691068937, 436433590, 638099701, 390172978, 439255151, 231492942, 702326614, 839423338, 401383919, 868616625, 288585556, 188702875, 538849825, 126498222, 909645497, 569048763, 105176459, 29021906, 408496622, 468978252, 314010903, 541940269, 660824981, 132096781, 963932782, 805954891, 227317976, 417344116, 344688705, 611286442, 157861495, 525538751, 21384843, 436489900, 430108520, 283850287, 111305393, 153382881, 517980089, 27986620, 232218426, 74690787, 621452311, 770016746, 777708615, 996925241, 612332762, 85297725, 614834607, 202705116, 204676640, 721825624, 291823942, 988023394, 832412378, 94514563, 310286775, 208098457, 120862764, 265593156, 136559192, 867757076, 413248979, 4845345, 736979770, 397637465, 22971090, 221123204, 965836164, 805800998, 596592389, 581354298, 311310488, 410625674, 317651122, 595450146, 356093484, 442098763, 497122398, 119202447, 716611683, 742164964, 144227199, 297374395, 849989486, 737158785, 170944860, 313481899, 651143122, 717626257, 64761481, 753540120, 220667485, 911768186, 980425940, 31237659, 198064966, 424032907, 689324409, 798272604, 74869671, 208651654, 302665889, 39375304, 767871180, 143993971, 926753396, 614865538, 99772340, 100193306, 981463184, 939665516, 192885527, 994291586, 414269630, 376194993, 280967810, 849484875, 890512184, 293438649, 342623020, 67268766, 570395974, 909225228, 785689111, 744259349, 401033069, 716623734, 892666925, 743660428, 342200058, 672025696, 139036834, 971852335, 107763556, 920617145, 649823086, 567054198, 872519387, 120376427, 331267258, 120771341, 119656977, 764011848, 848193583, 99543424, 571520687, 576474610, 849864889, 811644680, 24153121, 292579137, 196211735, 551951090, 190628018, 539124542, 547896704, 312230125, 18742771, 66894567, 264919616, 274424190, 712475968, 93629543, 466506628, 559921016, 519442304, 83618717, 705739362, 188891712, 66686127, 985377879, 402459251, 921139034, 83718966, 299201299, 534537099, 422068670, 493314380, 34012896, 230762938, 328397191, 21395752, 113401188, 991412381, 394511078, 83576560, 639972518, 719070786, 404731377, 406951867, 234179110, 960616965, 284017463, 548290642, 765516098, 979621803, 158419216, 522132147, 66818586, 24850022, 862812210, 338231849, 446809120, 256778596, 664748565, 721032571, 144072269, 221833723, 136908755, 245212493, 375096267, 347054576, 223301259, 481538422, 934470980, 200586866, 995870904, 749747084, 377798514, 771942180, 707426694, 46940078, 360226210, 643673273, 747964565, 391471370, 123860472, 361852230, 905546749, 25864330, 360877639, 555095372, 370826402, 401486136, 966678989, 739675175, 21399443, 83250431, 744079429, 221109890, 286628239, 712417762, 755329485, 913780001, 670957592, 177368572, 574386153, 717365134, 403482020, 984011169, 187543077, 911792608, 228907848, 453596033, 223530173, 55327966, 96572302, 904358708, 225903982, 922639442, 231331086, 956257621, 491630852, 518870913, 610844973, 217586016, 597193255, 563898228, 315537914, 143871843, 800445306, 996101101, 682604801, 785734208, 902150803, 894353961, 528790365, 723976356, 106994509, 516300706, 354886124, 243785611, 40599387, 893365182, 848933119, 930413717, 221156140, 874594636, 323369431, 57624179, 548864564, 483889007, 125537221, 543437967, 62255501, 771675515, 277101761, 296968228, 136761616, 876818417, 330746160, 873058730, 183844160, 32356548, 894881356, 888222367, 757463927, 979746864, 896675594, 241085269, 473999558, 873948658, 464194881, 591522569, 922742069, 156002272, 788738974, 381887860, 638994912, 544203287, 48119503, 529532075, 38166448, 481954845, 944966956, 706547879, 545191400, 302317103, 841693497, 398015408, 374518710, 243412379, 990561386, 203759542, 416179027, 356157557, 134904781, 851846500, 355757684, 837167582, 619745267, 848231154, 293213025, 592241402, 172556188, 623457086, 540651955, 782181097, 644835167, 321147071, 108593824, 353121905, 578438238, 119211170, 126910077, 133550798, 762466797, 256905705, 119652655, 785961775, 16102258, 8877001, 990160259, 519555988, 920064552, 166677502, 484185008, 267494385, 923667288, 442644267, 491931133, 64187063, 74553162, 801020370, 923655678, 548788432, 654502802, 241486262, 555674730, 501247437, 66140899, 640553343, 642805440, 944453954, 763885631, 104431059, 422412127, 112467503, 929269723, 786016628, 99473810, 130784393, 472079210, 642937866, 173207706, 436169103, 331588052, 961290615, 330249382, 372023747, 206034946, 957814444, 14192621, 740462765, 201012971, 211894920, 324639210, 573731974, 321694677, 597647026, 95933042, 777731564, 709152182, 355855233, 565840067, 592237972, 271453534, 845635325, 234398254, 771892148, 776188902, 121872248, 773125858, 364797563, 543295682, 874128540, 357399639, 167467413, 762207540, 327074076, 539212693, 897493115, 306326876, 522234357, 57167088, 638888948, 506622052, 720009530, 558376802, 412354165, 7899395, 298248079, 521890512, 590247313, 96701797, 680547320, 914216326, 298628180, 185848189, 340480, 150844244, 110585680, 11615664, 489615534, 18136341, 847700715, 475402001, 869858178, 40983475, 611790686, 985335717, 336430460, 58079477, 320903600, 218560326, 275011239, 559685962, 918395671, 108708588, 886847371, 978455004, 390735516, 630849265, 603650545, 774758994, 135900830, 519397619, 641715321, 298525409, 932576579, 985626723, 331928478, 213129289, 563877078, 514506018, 999345534, 692856650, 396356643, 671160877, 651383585, 589338217, 730312128, 435226039, 193029926, 645648895, 944325507, 298042409, 556866452, 456521074, 93662647, 870144726, 623583634, 318820797, 815671330, 863567214, 478118438, 283498778, 710529002, 538535054, 599833382, 93404600, 785436670, 778258887, 559594542, 713017558, 936265178, 714327294, 734211293, 766598332, 695739335, 869118825, 445751346, 598107379, 497959131, 416149915, 109593716, 473872871, 326059923, 708848108, 115965805, 567201112, 636689304, 269053523, 579597433, 304352121, 429355380, 257857138, 83449209, 779126255, 790721337, 701939461, 441565364, 676084403, 261201279, 27947090, 204349859, 603282631, 846442121, 813223110, 377209330, 713933341, 18226290, 527601919, 801344268, 916838604, 439546024, 403771541, 125245935, 520116658, 597228865, 111773399, 175377385, 854165065, 852408876, 821408666, 91568529, 362700440, 759312309, 252899620, 689186425, 385599936, 565093174, 346862215, 290778657, 791937521, 658292394, 961324902, 271862641, 651439960, 656337765, 216851228, 877276995, 798813233, 944123052, 117674531, 284314211, 900299690, 498722876, 616536327, 562844675, 10734474, 545035612, 371375038, 884853865, 980838696, 295911654, 26106758, 303978501, 831536684, 713003391, 936702346, 828880480, 338792663, 37332565, 90752145, 404914338, 164899539, 115371108, 797880908, 358206251, 353797998, 79670520, 205671222, 822134863, 230652932, 385132507, 373317711, 193255708, 941404885, 274544807, 943782581, 213253183, 232654644, 714030830, 551810849, 312276183, 216159658, 248103282, 39398743, 990405373, 665780806, 186207774, 514896150, 8265876, 747547452, 163977127, 818001271, 232374043, 207699412, 524012226, 266597663, 588204943, 415478465, 11260468, 108804587, 102803780, 306890712, 182281687, 324881835, 426150801, 556572562, 75995548, 248463775, 560581376, 697902427, 942894925, 628459773, 34751705, 641488853, 159830805, 233493229, 215617146, 44237927, 536387964, 648017107, 259670003, 128799806, 112932227, 626622774, 417011145, 498067723, 999162419, 800916515, 730732440, 909541113, 909400540, 886720307, 413744021, 540587341, 962422051, 229803324, 985707348, 345842400, 267254745, 661447684, 412650137, 476696855, 882828956, 744635850, 811565102, 423092190, 518374441, 187599912, 336533440, 563195218, 635645807, 382699183, 315610269, 206987664, 875911080, 793788032, 265970977, 837251184, 82374668, 638029798, 394951774, 2754503, 672155827, 142749244, 788443462, 146765580, 153819542, 468000220, 607063285, 55250906, 946676264, 757610954, 70382897, 584379790, 667526057, 166266824, 681223179, 130522247, 293793937, 88417542, 687711844, 449429180, 292868029, 424469055, 142258411, 686326512, 483896634, 251752955, 172282922, 429547303, 255249133, 952011933, 160867976, 856701455, 450249967, 999888372, 659222706, 26622432, 570586177, 983680114, 598432160, 388404209, 703501751, 616529377, 857814253, 862353761, 925166554, 181136978, 398808235, 921813733, 903415680, 227271764, 587129262, 544073095, 823600568, 775859806, 273584545, 977695991, 455065793, 861859007, 677002817, 843867330, 284974583, 157689769, 612566932, 431600243, 805504887, 854659050, 883319911, 167573765, 63428074, 93796344, 840483874, 392770437, 751686577, 1687858, 973908075, 733668754, 909102149, 764445663, 983976137, 716256242, 169089427, 282562842, 4553038, 434712334, 871595713, 440006034, 695225530, 181182669, 25982933, 529360978, 518916773, 615351440, 518445342, 393711716, 308920427, 435698172, 647921701, 822292917, 220748189, 365308923, 611442226, 231717056, 941670563, 644283312, 210615377, 303989102, 851239780, 718762834, 858401431, 247699637, 779631801, 815541267, 921595332, 811178717, 506527908, 112434177, 150807838, 294632228, 781940839, 102239756, 749711601, 79884723, 316797205, 191990174, 320487856, 270986753, 600826297, 582869378, 442717409, 682276276, 711659695, 352679986, 74632615, 446331688, 597299358, 217181491, 570507499, 415654435, 793267079, 749403307, 252865273, 160254822, 317892663, 468299354, 805627647, 228228470, 26869997, 467453640, 897325055, 129633352, 225037085, 721604353, 661006769, 38629944, 768670642, 860542790, 715264943, 40935308, 842035345, 728049562, 252745329, 933818299, 414008738, 830482728, 368465753, 978408093, 733277345, 541821338, 713494908, 47588217, 296306788, 1581002, 393305366, 891686226, 506693735, 651574712, 35218711, 260473516, 441645868, 258743551, 872437865, 523812848, 415928320, 373600495, 703527439, 211647892, 386349146, 960321010, 772455534, 750839799, 303328003, 904155138, 599312769, 497468197, 259134700, 85934452, 448520653, 157711716, 607788985, 736350161, 193102485, 877181480, 786655305, 773903711, 649891587, 62011039, 654884485, 628119561, 538876416, 520080574, 336313377, 639496205, 915090976, 775548773, 703540638, 241714751, 91806972, 983158395, 180912205, 559331584, 923700571, 840854253, 210571847, 65789621, 347074474, 856947772, 318200070, 990075353, 946187877, 599142363, 377518502, 959670912, 141939094, 716832407, 754339651, 296604704, 549168767, 227846730, 165591709, 298151477, 699274332, 152338117, 974071332, 195464894, 707396537, 313247015, 366750126, 877647039, 37824755, 653816127, 538368131, 807126472, 805912131, 286149055, 556752313, 681375645, 495730812, 167712783, 715398623, 898090260, 988357739, 625163988, 57599223, 3226960, 804433524, 3968998, 424348636, 487766038, 811754511, 57620651, 460633212, 931016676, 230912959, 949382924, 296281273, 16984793, 372578455, 818376598, 125573007, 888755459, 455246370, 679816112, 106758257, 558481972, 621596939, 720857386, 377214459, 181414295, 464748494, 935782044, 441863137, 919370727, 295540569, 668985980, 231882636, 416424453, 723017478, 448282828, 861811240, 976617355, 422002438, 634948807, 245863936, 495951715, 754992865, 142039270, 559019003, 169975535, 794770161, 649819588, 942244284, 389318926, 226789266, 76432956, 628862746, 180866768, 254161218, 679636440, 980334968, 114420447, 932993335, 638465606, 194385984, 143778184, 868528303, 757773908, 152430522, 94467678, 690895287, 679793441, 155938552, 778319221, 646510670, 670448820, 826026690, 625650315, 390032400, 557069863, 722274038, 103740256, 829297980, 479599862, 404922078, 351285902, 961496470, 192040432, 355464736, 42403702, 570174043, 859036828, 96794856, 116063862, 681582516, 248129280, 214770228, 45030647, 232753781, 978535826, 453555509, 620224540, 873682753, 790813526, 550289153, 409791378, 85911167, 324606613, 265370594, 107474064, 20431057, 548635165, 817397698, 96463414, 686694995, 456954663, 168814026, 979201114, 964571130, 966069882, 244692664, 414526505, 115945910, 763976741, 659904214, 531812224, 458808097, 607425178, 349764658, 432867327, 617145944, 340896939, 25068322, 732229473, 206610393, 337660573, 444664476, 356818178, 311712435, 7198089, 699665298, 616089840, 649057735, 274772587, 683990188, 285750588, 144745075, 449542546, 115647350, 766667079, 510278070, 927422699, 549898666, 375538730, 412736591, 951421175, 526174675, 627675173, 557171670, 172500991, 404854041, 504825069, 921772678, 934076407, 94900513, 526794030, 613127113, 524697621, 55368046, 979140081, 749944997, 427244545, 936053756, 340035752, 683968385, 200718620, 535117101, 272256146, 960525318, 439368051, 492742987, 974427180, 860336079, 309114791, 221042542, 596625645, 897478824, 641981818, 284587012, 108686753, 904984952, 917289197, 76289350, 714188214, 887356668, 341138928, 753065094, 648454029, 746875561, 645096580, 547787997, 502415523, 773192784, 171355803, 318897987, 670823626, 77947417, 721005221, 704082786, 268697940, 967686847, 485733175, 409131604, 647570675, 852272640, 355695504, 897183265, 756722183, 608483830, 656221565, 369219418, 231904019, 122690820, 751103564, 948761943, 443974054, 105268944, 614602978, 827212252, 500341384, 568985358, 100405980, 445684316, 863483286, 933526192, 925364835, 294708066, 60221299, 765096855, 205804160, 831513386, 532025012, 199478979, 437304279, 914855290, 225805982, 671441188, 542280695, 425861618, 571246558, 3934824, 332821106, 651406427, 613912451, 687663196, 524185111, 343613376, 672537544, 194663600, 175466594, 158983359, 682227618, 711142925, 738370726, 642420258, 831220246, 639741432, 535513416, 392571032, 532772072, 824913401, 786534817, 888610585, 198407493, 325643168, 963798888, 942514533, 487439629, 566459061, 155397166, 221765837, 145355457, 860892236, 599649997, 564963304, 344276878, 951602684, 67145864, 517317373, 984490096, 878888829, 620993924, 704890723, 820594334, 303273627, 649559013, 437392374, 920481261, 807569401, 583082939, 399704985, 159045095, 688024995, 189977152, 619438872, 759642843, 176364952, 441959381, 176228090, 800290058, 864241948, 224519852, 885412731, 108431871, 57245073, 413800307, 798570083, 49323223, 936557165, 28271040, 78751682, 711544306, 471016925, 334281121, 444337488, 825177578, 848742205, 575294518, 435541704, 103956971, 941272003, 943595797, 254430753, 768130196, 62429584, 67052167, 363335622, 533146668, 335342977, 321844373, 851834916, 182502909, 650247277, 203652358, 6080677, 508720790, 915476891, 623552055, 960926389, 585517170, 14384779, 642127009, 842481594, 947362390, 412404617, 21547133, 654028185, 483392305, 400664390, 1964676, 821133480, 821271713, 910851197, 155474760, 172178488, 295643459, 367111477, 596071686, 762163572, 848492244, 160681500, 238959857, 988989068, 312585483, 931262059, 660691027, 86345724, 121413465, 484522096, 7102878, 675730583, 55985439, 543987945, 883456343, 69775522, 64732438, 39568922, 937514360, 895134455, 735624433, 832709393, 247148373, 310651570, 769243683, 837270501, 400298619, 303369148, 568268466, 474765826, 12623283, 963329352, 829788874, 301567761, 996909339, 957438051, 911328588, 879816344, 619437208, 369071169, 444778893, 117790300, 380722255, 221263578, 239309955, 332443505, 244506271, 954043916, 489614226, 129394694, 903807134, 939250474, 270429064, 890166226, 205600566, 410771066, 44050020, 996577814, 513761401, 855912835, 244580364, 365962051, 159644593, 664679742, 391998975, 177846207, 118082783, 226804953, 480164633, 149832940, 793135424, 65688582, 928517818, 940089150, 977130701, 295362452, 271700783, 773613992, 637192312, 254905677, 571350955, 278109142, 643345464, 660068289, 774743379, 917820892, 503947073, 830225726, 385347334, 737347388, 792797456, 119923599, 276548764, 972727037, 791261631, 480379859, 461092487, 545654893, 95495933, 305689292, 186237217, 338426191, 280012147, 94832558, 187356265, 928727436, 684140261, 547476846, 911881476, 261990561, 919827868, 499913752, 717477664, 785314384, 118221837, 26811615, 182954533, 459906131, 542716357, 435891367, 405322822, 325524099, 928195125, 385176616, 730138624, 447269285, 106722454, 442754963, 975848803, 522117613, 789720093, 628649710, 373597909, 793735379, 391241090, 315829904, 973302918, 347968309, 604407125, 514740340, 790195712, 499385735, 386426967, 529344350, 322720309, 956376391, 361764309, 971770904, 489816075, 466447466, 810441468, 975379071, 430701448, 495027693, 471002239, 311477189, 397157266, 943741535, 266808988, 164534231, 908253355, 509377912, 914103748, 108172016, 360002276, 778233158, 883790872, 323122722, 97527021, 47175619, 294357846, 837248029, 852581669, 796142839, 447649870, 590116832, 77868079, 183012295, 136353493, 147862595, 971245408, 203231109, 301675428, 761740261, 571044233, 97351123, 215507822, 365014291, 657478270, 45701639, 734947760, 622109987, 40569562, 241781293, 860811859, 197926795, 32607491, 590954067, 582164466, 316835292, 768069902, 986678433, 221656465, 236164795, 749117028, 669419490, 16284046, 814545588, 618095474, 612865310, 223249127, 194380894, 647951073, 192476567, 872660660, 830159585, 95597081, 712923863, 273115792, 696990830, 673629533, 711402813, 476570126, 778283655, 99334415, 867190955, 56491876, 437559630, 734424914, 613852359, 842924550, 211117742, 425015551, 978822096, 336271302, 63902972, 72289546, 743302172, 568242127, 655696395, 793061448, 275670894, 330476965, 815543115, 362289097, 460090528, 446537535, 803069934, 42814878, 971163721, 731022788, 382515247, 302031193, 426214582, 913985058, 586296958, 814491650, 292776701, 265038007, 465345304, 152023050, 56347443, 807709754, 276842946, 419560516, 5230945, 566483856, 406684663, 857523780, 834616175, 333694651, 399439699, 782447210, 943404067, 263872762, 668091159, 986833007, 659957665, 36961330, 371734047, 17193457, 942692417, 639558834, 211475522, 958188471, 81740203, 140193624, 46850612, 185794114, 169712755, 390900192, 961131085, 392150543, 11448318, 651636512, 898157136, 488027453, 243973983, 237994564, 231796159, 822467115, 14881653, 971530283, 439668683, 682345806, 315717995, 810951711, 845484667, 269988145, 463735350, 403401614, 637536829, 320748633, 825812533, 723574369, 660583887, 657498920, 858614701, 788505152, 966164095, 730989965, 631860805, 201179362, 944316439, 681729259, 944332727, 191957410, 893568577, 286185616, 284110174, 335693390, 939419830, 20904582, 863850852, 588746695, 249931656, 231937854, 483999880, 710788158, 269969397, 249140839, 852581785, 421942387, 544236521, 66762842, 618889982, 165475220, 530992674, 428728129, 904654937, 642887649, 708989008, 837056229, 397178559, 233392768, 432728231, 52121715, 460112815, 819139438, 930927820, 122524941, 629889946, 915179424, 942652308, 987322090, 330522774, 180300035, 636307918, 189452151, 597993454, 357922976, 273582642, 349545563, 844529446, 802527521, 626041362, 488583422, 379182042, 38820102, 114720530, 309212334, 376113912, 969552227, 184833154, 831878, 184906949, 214214276, 253991364, 25935947, 376033934, 665436279, 36226416, 290096614, 12409742, 608236927, 682428253, 272998263, 79739338, 692149075, 375207044, 865532409, 717486323, 894838763, 950597407, 697519330, 198694354, 327921796, 43624989, 405872933, 323828810, 704352287, 758629082, 606433484, 169423623, 235803836, 407307718, 835746740, 672426173, 543574599, 186110343, 445811418, 980412279, 899793509, 785543413, 626797614, 838448587, 131310799, 331398501, 224283262, 700741667, 262307283, 417928604, 498848565, 921545208, 391663983, 541486853, 921739755, 844663032, 4820827, 110225812, 698656455, 228932975, 392110509, 622176618, 481302129, 601399739, 420723275, 467020520, 680427713, 53123824, 577637805, 692010404, 713312059, 655124142, 814073804, 561354010, 337118921, 27436540, 563727516, 473161405, 996147514, 245246843, 213401820, 739929315, 163681695, 447020297, 872722640, 926302412, 227584447, 487075292, 708056376, 496546080, 728348165, 588203646, 767568081, 229950908, 128279894, 731211652, 300175808, 503178889, 124312402, 391420967, 468034898, 668185681, 76284342, 123035182, 274019988, 90917506, 392732369, 315786028, 544246004, 73922976, 761513662, 94161979, 662902416, 134797155, 210015859, 617788734, 434746484, 612822341, 343220629, 624812654, 419721745, 480488053, 140368203, 869645456, 366806306, 963527907, 819296374, 391240938, 573185997, 880713673, 931973012, 488125403, 480311553, 68845529, 469932245, 544929133, 922963529, 492439707, 385702312, 267120990, 722939672, 775649630, 361123644, 644504116, 705467574, 175825108, 141132568, 77101356, 465525049, 488032063, 962299737, 588832024, 24710961, 750982604, 201246606, 751906270, 416071994, 770259838, 373992772, 279882809, 458112099, 889774198, 990116670, 281562616, 113259230, 38956550, 67822193, 580189, 443828946, 91560299, 125783394, 18312157, 544562914, 900444864, 7872413, 313037877, 350421872, 145657779, 972704418, 256710135, 181212014, 721269161, 653961760, 75879010, 698265803, 842495898, 598209773, 890721515, 190781225, 416668884, 330806478, 182426857, 891126226, 893599515, 816314487, 895781610, 786793662, 688983831, 243805026, 319540958, 829200538, 551661458, 296043134, 974162873, 326370686, 114328630, 731096051, 249095615, 926630538, 994728687, 437566531, 6048383, 744855485, 91596597, 834329725, 57834769, 525746541, 53999614, 351264451, 757904675, 891593341, 106015825, 706422267, 484335714, 96127364, 261065787, 278025610, 409262510, 853953913, 779778016, 412129607, 18746537, 401701150, 731974684, 441222667, 831483159, 326922883, 88264693, 517125278, 697121062, 793160333, 552235018, 177160738, 648523943, 533832946, 873788004, 299267159, 745191477, 754734293, 95258930, 672662116, 792082960, 434881658, 395077430, 711255955, 608011501, 802824091, 660726375, 642630667, 538534915, 124536204, 236204515, 186761312, 935886670, 233287539, 881035896, 164406502, 98830561, 941231894, 423154805, 679383357, 295232384, 967417692, 545223605, 433801462, 497817113, 534705748, 177294322, 4579436, 621674235, 410146245, 173092789, 317555536, 387198018, 513321738, 143346343, 739446486, 541063710, 729197615, 667325880, 683471551, 908906587, 100658402, 320269041, 581427786, 35832607, 502521563, 340451374, 774611133, 506342187, 931740675, 177276454, 562176836, 298021733, 199772432, 94692483, 198187894, 919787208, 259132429, 786871007, 668402519, 7917397, 682125386, 985214652, 534149433, 659820055, 710665238, 281167489, 719633128, 180892098, 615288852, 331906446, 566439486, 147137125, 661971044, 880976125, 363755698, 548345513, 963422377, 866249543, 758557225, 195224322, 719058486, 50960600, 811199827, 266062815, 307557613, 226338799, 827379145, 585082055, 844482505, 559043596, 508123822, 70989278, 492705935, 125535771, 749407977, 41054062, 899188946, 571886464, 291620652, 669559706, 618817181, 111242677, 833206996, 461849178, 988522924, 740987557, 579895114, 518460726, 450360323, 204198992, 772364412, 983000583, 709938773, 538119846, 280682926, 691351673, 566440621, 875035777, 591863496, 602289054, 248399093, 242409689, 678392892, 378280060, 522314010, 546315340, 121109582, 245381588, 837156451, 747923455, 953628341, 533365061, 673120624, 995493973, 494981906, 673698925, 638221030, 52107593, 821920546, 429175350, 61497923, 103724909, 213318723, 966196297, 62281668, 808061138, 538412811, 242299832, 875925822, 240890799, 922455715, 278953237, 804513051, 732131591, 533887551, 231068429, 660227913, 242977073, 832663829, 117081535, 828953220, 144671581, 296370927, 260234745, 958249652, 940893831, 988805455, 206335801, 507949551, 198178639, 646097463, 825072706, 466388401, 434676173, 283957433, 241823503, 694578759, 537297179, 185269092, 633580207, 26999738, 543885161, 383017165, 492664857, 411737868, 819598896, 226629942, 769439951, 491851871, 134754703, 353569330, 658523158, 910366870, 952390575, 441448655, 778955126, 260252407, 95515204, 197100022, 413283299, 166188532, 316611685, 981759151, 234114876, 17708328, 306988321, 210690258, 67182079, 254410611, 965455694, 660583416, 748683577, 61088661, 249374050, 263369619, 910866715, 883895646, 112729312, 280746176, 683634970, 881071180, 439492053, 218471168, 348492025, 647253590, 319871652, 828056485, 105727137, 583160912, 679356671, 857111295, 435077358, 116083077, 850780026, 339779591, 581562226, 250964079, 647919032, 527901727, 115933265, 500509987, 971839789, 86862768, 344290996, 858235427, 366077271, 886054264, 336480579, 744733529, 804014921, 325692885, 117519435, 620094696, 616944028, 543444754, 532254113, 545036163, 84679598, 322921858, 628037164, 162388419, 843027204, 548439613, 105973272, 301170162, 256168529, 567556706, 743726899, 932278710, 227289359, 341224795, 263059859, 432129253, 52545624, 934230317, 864927055, 130574987, 857044501, 741091488, 916795673, 68846029, 384557739, 402226713, 237843166, 514259001, 446365009, 304109794, 456554122, 111935776, 379195655, 615189157, 516356149, 59050162, 657509300, 180676811, 625397074, 324687862, 977581941, 824106359, 670499101, 789500992, 522466754, 489606197, 2496871, 297019387, 149730934, 700539406, 296372833, 64790453, 470130855, 48951271, 157713605, 374618149, 261571802, 305321877, 570217923, 412778343, 493326487, 39079783, 75833912, 35248524, 957468105, 791901078, 495682358, 659560816, 190486975, 139844671, 332839727, 918438491, 768392968, 794696314, 529785814, 706775152, 356146614, 607909657, 497889147, 837673214, 808192204, 654435097, 933412009, 72417513, 278589293, 60846064, 315295191, 182496409, 466008665, 600302411, 2289437, 673431978, 833085782, 700503171, 212342433, 110158895, 565110401, 901670160, 150407188, 868540881, 321840112, 862949394, 23137433, 999701314, 795634016, 519465281, 154868645, 799306523, 470728267, 951174928, 362736768, 906947516, 61287800, 27489720, 583465681, 392406365, 349178076, 603412849, 256203344, 958547280, 931293333, 578454150, 124506172, 42127360, 545775789, 505311392, 283040481, 722801673, 494810010, 266516768, 669932764, 66671316, 836902662, 167964393, 645915031, 758117156, 514063542, 566701042, 937681478, 900782233, 831765159, 443599569, 691746709, 307010648, 26431342, 765699670, 607110047, 839129633, 667419430, 10567717, 847936836, 874657526, 821116804, 783014327, 332460660, 420280216, 226127651, 520050133, 361863013, 692996942, 663720089, 330999931, 447197522, 698309852, 467449243, 446480893, 39973231, 591992296, 443685910, 356614300, 987103154, 601365699, 278933641, 704012035, 303576818, 950659562, 253424380, 251594202, 168091154, 284543114, 721365516, 599410498, 773592572, 886442134, 18233930, 224539658, 725386554, 971658892, 700279839, 171725352, 967510494, 870977345, 987932231, 166891537, 242251599, 555686976, 320366542, 694390267, 655132941, 104652720, 816221205, 365849417, 846088102, 32772977, 406354325, 654602790, 394591784, 389232405, 388926068, 797535352, 479142790, 712054642, 441344749, 422872735, 563092580, 312735902, 499412652, 341006483, 577326449, 147398137, 624582985, 35019974, 142171822, 351768245, 585776589, 92189481, 874760207, 14458461, 762633378, 704329484, 755634, 535164152, 964320124, 655418357, 900079334, 326435564, 4823420, 275300374, 771334865, 834594779, 425711340, 706010030, 110923281, 241779814, 675635254, 873312924, 268683232, 484769398, 814407595, 353843823, 101212014, 310186132, 252949329, 493782466, 177845703, 357641567, 772047704, 526788209, 587833957, 953886292, 510568251, 997090655, 426589110, 926025551, 705855162, 489093554, 632357383, 886716538, 442057658, 766663978, 46442956, 894391428, 171294205, 87574540, 840138632, 171583050, 831481401, 949811654, 310106846, 645954202, 389192008, 613653199, 369101120, 97899241, 658960037, 415626406, 852099172, 725696981, 534795729, 127120410, 586401900, 911652998, 448958022, 176176678, 954242194, 913621016, 5877108, 816416533, 315241155, 616439356, 163084521, 347579003, 704175651, 863143686, 681316735, 160641713, 840896392, 781976263, 259154219, 474278807, 886325341, 55297395, 112610079, 419751400, 372903600, 679244660, 767291155, 952858840, 881858514, 835086872, 778273396, 836789504, 354616682, 973508061, 850855591, 597622886, 875273143, 779141753, 251279532, 161462542, 324392185, 33792365, 741124180, 540646480, 875701887, 330432669, 796000234, 783571186, 928428784, 18677182, 617925912, 365853084, 247097934, 967111560, 668248279, 111507863, 886200543, 987638549, 586027577, 794465380, 225153176, 897860745, 542297675, 627934101, 670641895, 158534637, 732370916, 384699542, 764303776, 566334995, 290880741, 647488495, 459114545, 963462310, 765434608, 91073006, 617969954, 355094052, 793027397, 697449831, 157327181, 490183835, 882634092, 454783500, 470457797, 692206986, 5969673, 81942558, 455834403, 265848988, 973436437, 598161161, 500422184, 974170692, 571758248, 270135144, 936505652, 586766732, 823996417, 504841962, 143387920, 740098243, 498611722, 168463881, 184189190, 344580176, 5375256, 538738903, 758793881, 554568264, 753871358, 28937140, 311844573, 22864630, 69080366, 413848344, 370609089, 94952727, 229973411, 858843817, 446798825, 904574860, 396069114, 788245057, 591795751, 655508857, 145557615, 526689871, 623365707, 508427634, 556773865, 517888158, 144222979, 140812833, 838114608, 411669359, 663657129, 229581696, 171905732, 691146734, 717044563, 460720103, 386507002, 35688700, 615233079, 421589256, 626458138, 265841031, 941256270, 583886579, 427424364, 294441860, 572410516, 818794873, 536221683, 166094663, 704939979, 204214074, 673700661, 936288262, 477622249, 661943868, 17342107, 613011694, 277395680, 647615780, 252693428, 775615935, 883699338, 347417084, 279675017, 122641547, 28977834, 513937512, 346960445, 808334694, 771684181, 863399035, 578213762, 715433901, 281148480, 125012778, 969828087, 947306708, 88368847, 699212511, 236354150, 165930462, 286996999, 715678538, 431530023, 869675030, 979185316, 649430799, 319715939, 547895309, 862420535, 248349653, 649595314, 741809990, 677823008, 898530633, 158850901, 759844237, 488130553, 511762156, 984649338, 953132994, 477378452, 680617079, 394720674, 568769058, 700007663, 188716337, 476144216, 405936161, 415669537, 411278917, 454418517, 550073894, 427524501, 483563444, 598102630, 568292229, 399602103, 591370647, 124401644, 374449014, 104298523, 165594725, 55742723, 557448169, 208810753, 839134097, 61876106, 492905375, 232682875, 504793858, 878759612, 521582736, 944009266, 344030721, 824818198, 722430450, 550175495, 738740751, 448071429, 55611806, 232421396, 904879569, 398015446, 283847864, 642548895, 873801202, 755669895, 403477514, 96160958, 179637203, 738879312, 740906783, 170226584, 942769417, 429058951, 673273323, 191693617, 720475540, 71699997, 195994937, 333650841, 47736373, 519588016, 822504832, 929334688, 35376419, 552521291, 707620416, 385140666, 289297299, 669619577, 515332393, 151355491, 877793182, 249851995, 747032436, 113804383, 426559736, 627697726, 524109656, 426220343, 580941194, 249868482, 925151690, 487501590, 589826647, 280481414, 218074183, 388964630, 512509036, 340593202, 256922189, 44493623, 342612099, 885724520, 385456140, 799566886, 459269687, 976818778, 88462647, 299682121, 866538144, 6934821, 898418929, 709220889, 869015273, 988549930, 442050051, 762370129, 641886840, 482223058, 97886124, 432538591, 359456249, 73912153, 42543990, 529703473, 848251965, 901790184, 783903014, 403782705, 283074944, 180337199, 84510347, 913382129, 610630277, 133010, 264789897, 307640929, 112579086, 375984025, 236625630, 402360005, 376724552, 36582279, 64891771, 416235988, 69494811, 329054150, 751984355, 240406732, 554767341, 10662096, 351541585, 704767749, 575874616, 295231941, 446516586, 802115369, 800884828, 13176719, 683635179, 784470801, 946254229, 539490939, 242534636, 117428746, 997454469, 137026324, 804458884, 353683660, 214918015, 153380319, 931583054, 273459884, 770554145, 252170492, 30419416, 981519701, 355735538, 539106770, 684703531, 701889088, 660717629, 873506281, 13360716, 578980194, 156375960, 99330952, 483209167, 664266482, 342793265, 875311261, 374631120, 261706663, 561503401, 683196860, 933836206, 637032062, 204142558, 101013060, 213306762, 836647591, 86417383, 898389715, 804554079, 954114778, 744986800, 361181308, 452401692, 648755469, 996676663, 650156109, 237162069, 437640168, 418729050, 23094908, 841410592, 325234755, 328824812, 605879998, 568327689, 679947001, 251864642, 597401282, 429832496, 262314923, 788269394, 798189711, 477295935, 395102415, 886696552, 650673743, 908123674, 239580954, 345289067, 128871514, 753640190, 865815854, 676797144, 453639970, 902515101, 534241685, 688478693, 707485555, 816102103, 25169696, 615247613, 664127843, 234127552, 313321317, 594000802, 905866514, 826353735, 774910670, 381293381, 3170864, 800008901, 239260897, 941416415, 156247256, 962898409, 436350840, 11250276, 450175387, 365399688, 444384250, 648367983, 175826255, 540669198, 440309878, 576602719, 483584362, 958130871, 178426584, 826059683, 666650744, 639956553, 159725516, 862516206, 662889035, 902472574, 779639808, 742688975, 218068628, 613569853, 770599876, 181200584, 959111493, 59764500, 716295318, 542240085, 232551156, 950929046, 738220835, 912865547, 17099918, 990155267, 162103004, 175479789, 365178609, 574616059, 512082815, 130652193, 510770057, 571947454, 50184710, 920270468, 125316023, 601073460, 365993432, 504468709, 956667023, 429458343, 325396759, 408620320, 271163923, 526241691, 360207169, 784344534, 149717206, 491821662, 284158834, 134246399, 809813656, 780950490, 898126811, 194551659, 906023720, 521646274, 594787208, 458056950, 789172256, 380258403, 781535494, 609487054, 983656351, 797012545, 937007021, 320252581, 18143813, 479114750, 288232335, 275348027, 976136409, 340681411, 132214246, 306199816, 837508841, 626076680, 496844667, 579169384, 807993628, 149253705, 242708781, 5490501, 345999453, 916492099, 542628873, 813975312, 819221223, 462803025, 31281203, 145872811, 524098875, 493835694, 869670151, 684807223, 689877321, 149906341, 224881247, 445735701, 18058908, 81026137, 52790802, 506360772, 413273506, 43880095, 685231550, 354423872, 754948065, 928615417, 252943003, 818606903, 340351583, 93347300, 581201630, 52858093, 902482086, 421419264, 531759133, 817091235, 184394518, 39362249, 413614822, 96378234, 125020231, 745388234, 914917591, 144339239, 794382582, 548173097, 179419870, 424741059, 758463212, 986502789, 195631736, 507520390, 993426941, 129935741, 950017822, 60157159, 95431000, 515753949, 448604787, 612246628, 959203503, 260568433, 868224162, 713496182, 621372088, 131779372, 894032975, 635879272, 389462590, 368708445, 154348127, 277871310, 972965872, 738823757, 365900797, 202802781, 587029364, 510594448, 478588290, 702586144, 501900919, 417598085, 489272089, 95222444, 631329684, 576100059, 116182723, 44579186, 462893559, 903629553, 248510037, 328205725, 249164999, 827280629, 603348968, 771329539, 926798227, 819773786, 887822976, 161919159, 801183792, 713151581, 370833212, 929148165, 802735029, 775022371, 317116164, 701819661, 627878698, 557577122, 526751016, 165553086, 805876159, 905350761, 513536731, 982180141, 634857826, 690897163, 310856348, 848285007, 839570056, 522679927, 667960353, 503205807, 748957353, 989804407, 368814670, 829337216, 913398872, 369101742, 8468856, 982142451, 29461726, 70216760, 444507437, 224157519, 106121922, 354447059, 52950599, 224691141, 964509898, 390619973, 977410982, 21762571, 502646084, 545809692, 199216920, 917534321, 279577417, 890796419, 871945508, 447872452, 673985789, 680574874, 482318434, 172070601, 120802831, 522302587, 108292328, 528563939, 843209611, 278749575, 861673420, 674079468, 223691094, 280806845, 274191879, 605969914, 423702305, 893230147, 404305825, 530840678, 362358158, 718732676, 512967573, 35056956, 977198527, 534947876, 110977740, 163156353, 953082541, 715134824, 110695560, 935410417, 862471318, 345840019, 428956671, 201574461, 82665678, 854913467, 364318108, 462342344, 100567256, 973181585, 206976134, 641947883, 32600292, 838606389, 551273856, 841589310, 400717137, 250572802, 183676027, 773791370, 749676369, 136428091, 883780190, 371142033, 747638545, 147362525, 819024622, 685304215, 97105564, 444626473, 618677447, 296977108, 517039394, 745331711, 523553427, 380643914, 637199516, 771637387, 738559368, 750729485, 966197901, 708118154, 417976692, 650450370, 558193813, 809221058, 367849131, 576210503, 666164499, 23172711, 766654739, 69273750, 107068873, 761116010, 898175916, 334543448, 587868147, 895146839, 344334288, 369954412, 998506674, 562263705, 360854969, 614245875, 889389134, 268704762, 372641137, 446754914, 126887115, 107959192, 18897153, 446202910, 862028993, 711336546, 265995109, 502472405, 938075045, 307699265, 469933279, 184997625, 228389141, 1990209, 37271679, 274559861, 760147837, 856892904, 635734618, 176126404, 201194709, 996462669, 100784097, 201554434, 794832328, 996991401, 612541626, 420495665, 388465330, 578910705, 691615638, 389396165, 274487975, 952196570, 256322947, 299952188, 979877230, 724291228, 121282905, 979714131, 191955623, 603753754, 361320625, 351874367, 818266851, 715534083, 418214372, 261630560, 462190284, 780970824, 802363421, 702076903, 524613679, 548530269, 577924547, 189194081, 614205993, 674591563, 670781203, 16513364, 934323482, 684140875, 489311201, 283078071, 190744970, 924746221, 244403101, 736481663, 802044290, 487957131, 121253754, 437102872, 711708739, 58165903, 364221135, 502686176, 79971810, 152999876, 318623965, 249376936, 378007024, 19067470, 429499174, 161997481, 431747285, 247692409, 216696311, 781575929, 612022139, 505818926, 904825207, 410091641, 516749270, 839039224, 326807669, 775847775, 243898406, 405448939, 716863128, 44969162, 529550708, 861218449, 685199608, 53506123, 978224294, 124949304, 461763451, 405084514, 734596451, 739120790, 692750940, 62201415, 570798019, 784291326, 535092410, 971132346, 5408896, 289462246, 746258658, 647793772, 649706122, 24171205, 960798018, 236925295, 318226926, 860755034, 663756536, 470523693, 861640037, 402609353, 58282289, 749949207, 701090692, 65450181, 142661143, 785895515, 355344909, 952959486, 760517884, 519094857, 680724094, 132201266, 393748827, 527369745, 699432219, 372610271, 830138870, 887255787, 198900745, 142469126, 39023396, 291177146, 273388146, 82619580, 220528025, 779699546, 234074044, 282768855, 874149135, 574592822, 669912182, 476545682, 163597599, 915057147, 248423501, 70393358, 852054798, 273401876, 240119131, 406433783, 343151231, 829967608, 724260248, 921327981, 51387448, 45933468, 176564669, 983569160, 452039213, 970021212, 914973222, 436188030, 706720641, 662346072, 736137823, 67678827, 513372387, 403311914, 790351304, 390994100, 347701245, 758372737, 731507604, 50163373, 306416266, 324748652, 745825295, 354623728, 983211984, 949605944, 40573727, 839956234, 399204640, 197055097, 633172949, 435098470, 536441218, 494550401, 455537186, 220579690, 897405105, 471159519, 211405376, 59364251, 993839827, 572325502, 86252651, 210459429, 85486376, 28000035, 169413346, 46825691, 928394856, 193927961, 553819016, 614303473, 587122255, 892112228, 767045231, 128078128, 696613864, 333590798, 888536524, 65451108, 602066193, 67840074, 302608253, 484618417, 567402079, 320158115, 869503271, 798372135, 161015537, 401325238, 844952137, 832130198, 508218317, 814702823, 278815822, 963809536, 761122375, 880011533, 870628953, 968395040, 801985412, 483415929, 372862130, 976509290, 31384289, 29955953, 557208639, 823855609, 490185239, 764826587, 268793486, 595728834, 598996431, 29928535, 347087083, 730972026, 758911298, 269790416, 466298819, 399658152, 412209635, 542218438, 364121585, 144156396, 511821091, 379784888, 180888460, 954692304, 485292874, 385713353, 746726403, 377972498, 748133747, 676685929, 554947355, 668523719, 464673338, 361723254, 248195462, 183856197, 560115898, 97504523, 434679506, 66250186, 16806503, 981635647, 908776176, 18005556, 449329449, 868715587, 445345323, 740400200, 972675377, 212734220, 950020381, 273002260, 870258275, 470292059, 747733877, 488512551, 837464445, 877986241, 654115854, 122751561, 836847718, 107848940, 824320377, 472998266, 312270306, 73439730, 923644410, 424202106, 313594939, 688914402, 277895112, 393401286, 927417856, 337904890, 533240019, 365373706, 525690830, 420730872, 772846957, 166398928, 345702062, 705075711, 39167042, 844504802, 541803048, 999901060, 133370368, 614991963, 282202224, 184277464, 934649478, 212038132, 333127989, 505261615, 316033260, 644488623, 123022978, 359255398, 943267436, 553893987, 835500705, 208373481, 612318473, 629720895, 216956618, 142548432, 186786737, 376682163, 838733978, 834358503, 123693232, 723394204, 168171946, 5231869, 710119417, 585104077, 801476061, 468647530, 344010892, 233074832, 364106052, 522486829, 168178537, 963573932, 669445580, 571646391, 577114734, 240771251, 415786681, 395963850, 903536546, 978182045, 189474918, 665990231, 21482549, 389808018, 652414645, 651976511, 111436007, 927504919, 740120650, 307023257, 808263189, 899522394, 643884866, 419154650, 631561935, 707738074, 871552848, 215967007, 199512497, 529716363, 856182872, 500720608, 890482535, 731171431, 141781670, 940321226, 163831618, 411394394, 881448243, 923859578, 271309303, 273894970, 106670474, 834983821, 425287476, 807671224, 162730912, 270913800, 729780501, 954424160, 10448308, 433023791, 827435645, 886284316, 663795712, 455801502, 662140131, 186370698, 546841051, 923654434, 836324437, 274128286, 979356308, 807448003, 933148863, 676231681, 928294171, 732301296, 282748116, 443106748, 772172847, 592197694, 331100471, 769073905, 576320330, 564850049, 140405365, 601317170, 809998380, 603483518, 592694142, 870404394, 334516288, 4251242, 173425283, 852023033, 252110029, 215500604, 980422772, 932942048, 329935580, 583630110, 427121298, 509960018, 552828530, 554887994, 737968848, 866408291, 89057359, 351748061, 557241886, 1417120, 127732455, 674595018, 194972649, 958461558, 431091200, 629401769, 701163966, 396552980, 373224606, 363222284, 531408088, 416002941, 351406237, 461985932, 546143535, 933498102, 655586913, 778050333, 426032275, 251484058, 803166102, 462133813, 487879172, 665101607, 250744772, 745607158, 708312959, 234342914, 601848956, 300640455, 298685259, 573113166, 207026967, 881283750, 736130369, 755835593, 42801478, 773992177, 775661976, 519375242, 868431245, 746412012, 874658243, 183543429, 558502776, 323529382, 757354943, 305815250, 84794360, 811742993, 42874417, 827295353, 345472024, 593065392, 875761288, 841200519, 545015964, 808819679, 706014713, 25567848, 140972828, 299092915, 255549923, 40972265, 179255898, 320233305, 443486500, 118443626, 648358065, 633603241, 442652237, 628233456, 783932683, 528165266, 538801095, 270915429, 95885071, 729546316, 55098674, 101149089, 177513683, 22662097, 999662889, 207382801, 69291316, 757238859, 352627994, 593067626, 181936565, 286663874, 121792149, 293317490, 862592697, 959675891, 146664328, 48292871, 867773239, 297044344, 148256540, 689112976, 481312275, 33167224, 346490729, 624739419, 937724313, 609509565, 926497662, 110779443, 769269899, 117638961, 134852012, 492660406, 473732903, 493755659, 815601680, 467401263, 605060228, 616539521, 227817372, 770174333, 676203729, 108194605, 29516435, 89015109, 945157577, 64805797, 433687316, 152516018, 437288111, 611258782, 969041830, 25314198, 112766544, 491057773, 465230916, 290365505, 728862614, 33095053, 880595631, 336715814, 97743396, 841156636, 7701302, 626261470, 428481170, 400782639, 609924817, 172019466, 880635108, 889692651, 571851331, 398818996, 751059759, 507524018, 742273141, 645406328, 887911172, 320168389, 853982182, 236177863, 85039202, 459599661, 422659272, 321268274, 772045516, 305961887, 579536334, 444225382, 335334763, 503050656, 930517764, 993614103, 316164440, 611003579, 913864205, 639561580, 98968175, 738566549, 611393921, 658252938, 307680876, 126641527, 858488261, 495010443, 767877918, 911477348, 943156694, 116142245, 243994154, 719405580, 587160135, 731305435, 776411557, 346306965, 557636943, 217729317, 550316551, 91547236, 83514200, 41361137, 484340922, 385213558, 820886134, 267529393, 65421555, 328349961, 467449162, 575075353, 758432567, 316985603, 93363387, 18433635, 592609575, 176720915, 482539693, 389793499, 377677506, 28710934, 222036888, 39499670, 147497360, 99546542, 135641595, 981816452, 907347811, 91471499, 491653386, 986293213, 796019835, 447329834, 845536453, 438412539, 502865358, 845907640, 547081155, 700958156, 281556843, 37164236, 574746698, 901520938, 669236224, 283162026, 317057001, 210989896, 529410963, 204979840, 74833197, 133724734, 155235653, 52375916, 302468817, 362993782, 520308634, 612314757, 93130458, 360792096, 723899070, 342937817, 139781625, 850992493, 782944407, 376404710, 603554579, 888490410, 377829646, 885934773, 97570728, 555845389, 412807531, 557926734, 599587520, 369953527, 829438974, 373316865, 128783162, 425913094, 760715307, 111227059, 154762832, 458334634, 656833882, 825473265, 595494648, 152337731, 676206612, 60107064, 158753138, 358236258, 393542707, 555560116, 701816225, 602123196, 447134340, 900256124, 567382859, 791925609, 349922926, 164337369, 377600627, 590502990, 734154015, 241554783, 771632272, 79708753, 300319260, 650478470, 466850522, 868479682, 143951811, 779293386, 797575826, 126092949, 145329307, 733928930, 430623690, 6850726, 164522880, 448519333, 684354785, 793162502, 488952900, 697487816, 720833107, 895809875, 958783619, 235290176, 472744881, 710351269, 582234977, 875568838, 829939538, 576952223, 397428623, 179788502, 84510460, 752936961, 733838517, 448994087, 54090263, 596438724, 512103599, 491070823, 918178785, 232099202, 67752345, 152991902, 438924329, 59660490, 473297772, 73790654, 244738470, 629789902, 691656151, 728523136, 464939221, 310697834, 469322336, 5296820, 843676410, 336527400, 621232071, 510970294, 414979467, 83391245, 908376052, 156436650, 7722624, 56297090, 852656718, 277996925, 589898225, 335703027, 633678772, 891925582, 871881646, 136796934, 666571821, 28297084, 924539390, 854127506, 427167093, 319593584, 232432563, 416040784, 676468578, 147784456, 316085830, 329176127, 832340099, 310878741, 704662341, 164443301, 916765668, 170568444, 476837974, 416479555, 828109976, 708602998, 936545895, 371775007, 770321473, 499594497, 72549591, 987305217, 192572212, 577343685, 484092535, 818192476, 475399690, 171847758, 516842857, 578149317, 918646790, 125841376, 895812855, 147062840, 90346093, 245494053, 38658682, 704556698, 749953961, 548699774, 623656605, 164967041, 138828136, 747134863, 972561541, 110364613, 721229382, 36366066, 890548001, 341559018, 669486203, 132860953, 37595122, 856729629, 714009402, 826195912, 168415190, 485606789, 731596739, 15206862, 968849904, 807350154, 761919775, 578597728, 449287932, 875329265, 972034410, 146221764, 328881150, 768990234, 996971805, 892009621, 467711065, 99312637, 361849805, 407276516, 289979114, 991844277, 228238637, 542398558, 972451379, 138202014, 596088124, 388513374, 170113312, 353535291, 488301262, 940105994, 14578400, 469550598, 12492053, 352342216, 223339676, 946101771, 279218100, 307086605, 817050068, 244882565, 413232129, 828432170, 737502500, 734585497, 312245724, 814703420, 562773483, 3170941, 192880806, 975036398, 661357804, 260647239, 715388399, 262052585, 795543589, 806266949, 443707694, 803051474, 56062259, 72415797, 160212619, 272603840, 942911901, 750674389, 204177570, 338893181, 670886405, 835070140, 304466813, 969844660, 354194985, 722656829, 57397550, 27989638, 908209447, 510341198, 987291519, 881961613, 367098238, 532563313, 911183065, 980454606, 957912139, 951993991, 611159836, 743451320, 392505661, 765176119, 438798520, 181161257, 206361030, 772091974, 786678061, 924461286, 687405783, 761133640, 301838946, 516759493, 634332634, 536711001, 617555087, 831364491, 840210272, 877212442, 257971384, 303662269, 305886183, 864490347, 644223451, 896115080, 274245259, 25375680, 621150682, 875484899, 228531361, 3880136, 253050889, 421517759, 166928231, 73369219, 678243334, 400930062, 24207849, 750294944, 743103966, 292402886, 401434688, 259346855, 24735792, 636286425, 578718575, 555844935, 795577692, 2173367, 855047904, 637658345, 831323994, 809974185, 925748755, 947655760, 217489065, 819734310, 550339570, 292635634, 29300969, 993235405, 95934972, 709096509, 993961372, 256474499, 337559160, 829325451, 152009040, 773585185, 814378110, 190698913, 345159428, 19050400, 940230868, 866596888, 824872109, 427136543, 39482935, 626062141, 385131413, 563008981, 98375674, 983133825, 376846170, 714893438, 908341104, 967155146, 413845037, 249224104, 432453097, 950191082, 138783480, 208868717, 894385564, 810227750, 940600840, 305851909, 859396478, 881407669, 793833466, 505149556, 852956209, 448905773, 315292579, 670804152, 720712224, 699365222, 973817931, 494071096, 645943246, 306129821, 933426170, 712756651, 245265216, 104991923, 552809246, 355700757, 171680989, 392164192, 218052863, 593285012, 533882630, 543348484, 308224956, 496559329, 87641298, 909757372, 655691408, 729532417, 475105508, 120579730, 218959674, 337811517, 272535882, 16450945, 882588110, 739635235, 683775837, 373326180, 214412145, 641881927, 88266329, 529886088, 422741825, 712688237, 287095648, 170588241, 321548355, 402874020, 432645448, 814795112, 839991071, 331776356, 832872832, 101512609, 16147267, 15932532, 621181608, 193487812, 824922001, 534740031, 938384418, 844796675, 205832138, 379448642, 754829079, 416773248, 627005310, 829220422, 821666843, 479979531, 457125466, 768665558, 363218759, 765796895, 20297519, 850984220, 427296849, 854146277, 813178586, 733509990, 401472334, 961114496, 248399799, 571333708, 192151686, 380585634, 890298432, 540980811, 772913619, 327158833, 934890643, 294278157, 118358956, 951507249, 684925102, 924633852, 985325129, 301483119, 448949065, 626104777, 237403947, 312512642, 609931749, 716073113, 372648761, 150006059, 407000414, 860678557, 65305403, 600642202, 176029504, 671933454, 701662201, 767852661, 615886587, 902254118, 518057127, 119634559, 109717697, 959457468, 129286490, 814989717, 794409653, 103152092, 43343425, 390197283, 935583287, 752621837, 359861351, 511279197, 891206255, 912726264, 225727885, 176945266, 530741656, 145269093, 937185541, 788509193, 934101911, 670458578, 738168669, 532371599, 98107334, 44407243, 741772060, 651224978, 429652822, 171768343, 697009332, 208407288, 604491002, 589777899, 522547756, 691870186, 384212179, 4499727, 78494222, 165896236, 396845620, 737594444, 411282201, 233074205, 819717257, 189214501, 142210754, 676983731, 594558498, 920633822, 559612231, 948493594, 796555882, 983951057, 646967850, 370113915, 113587802, 576448583, 898547861, 766646049, 324212208, 742111807, 772550196, 323564822, 110860160, 920563605, 380159767, 342735294, 770318685, 124064065, 887061406, 689272755, 286488503, 604896479, 246465033, 204900744, 654034507, 160670990, 491094765, 434516242, 78118978, 124126947, 11416255, 939098839, 315496665, 866937841, 13734640, 833046799, 822817227, 799167925, 281831805, 652492917, 938021181, 974880820, 168993705, 282249838, 747563879, 487623524, 236895141, 892249157, 594549075, 76382422, 360765205, 327999342, 137494455, 930809337, 160068548, 791719608, 819668491, 429337608, 456970350, 24571511, 681937417, 783518769, 27792752, 932337099, 872668330, 72860352, 441276459, 530189732, 532355237, 437197799, 517077147, 410893433, 341997514, 815956275, 87286113, 603375633, 383026838, 180166930, 422812380, 257710669, 609938136, 925974823, 137460275, 500570378, 429811268, 793504704, 192563845, 953690082, 918897324, 562295723, 827642109, 710200166, 523379548, 263941858, 319170388, 763095327, 735697838, 579372557, 676677677, 179270674, 418612272, 285912136, 760642094, 627460525, 157340613, 523459827, 482924317, 864207216, 667483201, 840891031, 86222902, 999516332, 153171970, 958153455, 94726729, 144205689, 399845331, 970681024, 436779026, 945029768, 293094635, 249053927, 955305629, 285141317, 194634083, 619688395, 266847748, 316177898, 196966752, 459837002, 42553248, 426514236, 278923071, 320662702, 860196823, 537603800, 343975792, 671821222, 137715729, 332053222, 74283766, 649275431, 435899609, 351438549, 258459173, 793777699, 116295341, 800583163, 88304707, 797297078, 539716359, 38570966, 752556075, 219709382, 784804197, 107512815, 658493114, 683395985, 328711488, 535620253, 198752591, 862363644, 424083746, 74529733, 99680089, 844513496, 16279926, 558912319, 441232798, 629734228, 58355178, 748075740, 401583553, 657653723, 524590465, 433158115, 84752648, 533751184, 30056876, 537946151, 968906725, 453129407, 962161629, 12057089, 103991221, 568559780, 65331249, 582198258, 933653004, 42856658, 648276208, 516696083, 356945434, 445971650, 647721979, 185558343, 742293564, 717824110, 317351876, 358129795, 844292990, 975965352, 200859025, 528874676, 977509912, 475832707, 442877125, 117051196, 609519751, 395322803, 877247527, 888713194, 47282353, 675175673, 414251530, 237608090, 130058117, 149727131, 635917343, 620573552, 617243591, 529224010, 295255342, 617744351, 443285447, 386422498, 401035214, 204856949, 882418090, 86008385, 52380830, 610307793, 441112474, 147852635, 995993843, 233425917, 299323545, 996016621, 299092282, 966567640, 84448971, 282912577, 472694928, 490788467, 562701547, 45744504, 463754552, 129797087, 245278747, 319310883, 123233731, 673250104, 192926550, 533750544, 273255165, 279400201, 632358485, 195803669, 719964215, 762934053, 342186467, 781549183, 650515361, 969096300, 589087384, 350436356, 872465979, 617375733, 718096011, 215485163, 743840106, 207543133, 268271149, 22010550, 339921132, 274488429, 258169527, 156363661, 257236989, 274786006, 504774585, 348479174, 921009606, 940614977, 292708892, 658150562, 392679601, 834928542, 681773405, 750747678, 298698192, 864917913, 791671081, 719020998, 240192264, 535266140, 786116481, 380019863, 516704161, 361278240, 781018870, 329113363, 132483834, 538163540, 774077601, 70393426, 40377667, 880081239, 576773106, 60930204, 841734413, 874592633, 867825991, 330547600, 665101965, 182463271, 633777285, 45241006, 408482103, 659950122, 16211449, 813708897, 249094325, 848036344, 817951573, 885777792, 255855900, 456270556, 106638252, 330820687, 14791072, 197540717, 899197816, 649793661, 480789471, 305944285, 901197923, 419007682, 855045173, 611731199, 962973020, 259055194, 969867219, 644044807, 744664067, 241566172, 813666176, 834080673, 137922235, 35023995, 144171967, 721343448, 414204415, 493629138, 700912953, 349128580, 377820645, 160155539, 26117233, 222615780, 887907561, 662698204, 862763010, 966886493, 197164522, 486689119, 745067680, 712445457, 473493877, 79943025, 662941250, 403247840, 471968227, 972674168, 240982648, 382215458, 276660061, 38563152, 942071109, 475059205, 972454955, 103992471, 834637217, 646238603, 705033849, 552821020, 189460697, 990046492, 872251068, 315149379, 455745344, 191917842, 47169264, 988134818, 439820572, 717266793, 257681788, 200876647, 805986322, 293389665, 719736775, 537212711, 17799286, 591730803, 377897471, 329050694, 82762882, 904770421, 58458800, 758329367, 383847711, 347945808, 501333178, 106848937, 63909011, 128887430, 998326433, 241583645, 750285184, 735462296, 699267958, 746111075, 902643631, 754434373, 367092137, 825219040, 429225849, 511843791, 810398310, 915986353, 694763325, 39101629, 83121231, 272870184, 501486562, 46947858, 794645823, 619792725, 795614877, 201304397, 62527450, 298206552, 58475548, 732168063, 539668530, 682189713, 447821141, 16772503, 760657357, 680729069, 567125022, 902747682, 129860511, 117939134, 282624245, 39095016, 798188169, 60134205, 22403794, 155801193, 570335037, 644562667, 45724706, 995992346, 260761262, 899564106, 532299850, 453543162, 820383248, 426805492, 789371673, 333282977, 585445307, 836999480, 271967283, 253672808, 955262865, 3827445, 860626470, 379788946, 788685063, 352247335, 757193328, 889980993, 192142977, 941152328, 373934380, 991291722, 345067363, 877911893, 399174114, 461737722, 862466227, 616610209, 980895310, 478501899, 221559980, 141758753, 978431981, 480622365, 235165962, 318947352, 328730840, 336183840, 388295157, 543162540, 270732327, 122126339, 296124007, 567269424, 675451489, 742957247, 998737371, 628660066, 541291218, 979574354, 679358332, 87676131, 858507121, 698197250, 509008258, 43698402, 31832616, 396774521, 730309392, 454300610, 876130087, 552823495, 365950675, 58216347, 165635324, 837245764, 670892070, 940753858, 558883453, 356347459, 257352664, 225281238, 181463535, 7060313, 829201218, 933809024, 864450220, 264767262, 818119252, 716822407, 425351073, 514913550, 852378301, 236206998, 117899266, 379297385, 598762925, 535275770, 376103495, 613227745, 197145231, 591228374, 710573916, 743242771, 477489753, 604163871, 392499652, 340803580, 703159880, 28696539, 769226352, 670727119, 365062686, 261745657, 383654661, 992990053, 764191003, 687496742, 235061195, 114182026, 614496071, 963234013, 203785748, 787536344, 880039583, 396654885, 137478403, 54680520, 426443710, 437099459, 70503956, 777988585, 431833903, 948307785, 838558198, 108504515, 13618771, 423410013, 577507808, 935484666, 728414300, 137225062, 222159216, 688894960, 134389991, 485984565, 63354353, 671920186, 121706946, 496636520, 962579710, 90824840, 817568520, 327137376, 422466593, 407009998, 283623075, 514004215, 117988966, 721173306, 645289027, 461953561, 73164146, 247249973, 518092854, 809757066, 407128176, 753724514, 632812539, 720494032, 170808304, 917990758, 739961036, 732475537, 238050749, 304313159, 862374057, 592411664, 830151403, 915459783, 975078041, 183422404, 308311660, 210079891, 950927223, 291219381, 993855034, 607717710, 749169034, 953694810, 795774413, 150801155, 131212187, 695861325, 17474835, 963553012, 949182114, 90537150, 136874470, 418718202, 701316908, 187010373, 31743696, 518136112, 731448783, 414134404, 338521882, 200191877, 323753015, 805519705, 495052898, 957582332, 103437574, 686541095, 373454625, 254870922, 464005196, 231381986, 737355961, 731318155, 848730230, 211930344, 640555293, 872667356, 377086007, 632224824, 225245864, 680825423, 782869554, 300194539, 557657035, 962395942, 375537665, 190833824, 702493983, 858503923, 9469877, 223365973, 903730730, 626964327, 382919153, 192058771, 112358597, 90616007, 386977824, 373525922, 939698165, 503398026, 291294252, 465718440, 474523511, 933223339, 584458098, 980501617, 245517396, 220294665, 133474778, 31471569, 144076034, 272028963, 877027079, 114111345, 439141677, 155889350, 703606532, 82246076, 988371853, 949260444, 433759255, 874206297, 436344057, 979950069, 498960889, 606020832, 936293254, 574096265, 97413563, 206709012, 349791716, 829835621, 192337875, 332809463, 29796205, 55068753, 306104875, 640867763, 88013270, 544233404, 768061227, 97886774, 304423569, 970060522, 274230536, 467250298, 758284260, 632905793, 812046270, 918001929, 962996305, 192886670, 934579497, 837366749, 929592089, 918686624, 935166156, 891884827, 486229071, 133445735, 49851108, 812249120, 515959681, 57503316, 873085781, 591224838, 452629628, 862662961, 163198406, 908954834, 444329798, 880046616, 46473979, 881339993, 235814129, 665089728, 41058469, 793740391, 225364199, 98982378, 438653130, 694426027, 311917314, 288550573, 126521542, 730795262, 673297458, 995372585, 696396479, 209498645, 957698613, 809723686, 936064475, 204011229, 527356112, 488048878, 191450656, 933202359, 783938706, 881652059, 12756167, 413531899, 307527560, 614903238, 220668656, 880911705, 750193470, 137946682, 880283258, 66411767, 48280236, 93944883, 200406109, 949118314, 506189201, 167455481, 256619347, 365685771, 921255991, 955816035, 945129929, 866588978, 777825706, 970558979, 902786378, 459174418, 19721985, 662172391, 932254169, 528301294, 37240602, 829310079, 523639822, 402283290, 143891789, 908841052, 512373500, 646666962, 275121235, 21549154, 993026720, 26596548, 462875161, 59971058, 188954811, 774851281, 480255656, 558137604, 634365501, 441470536, 710245440, 908616034, 671991627, 736681199, 50040013, 731066381, 142727738, 653849467, 348351606, 249482710, 964912724, 411898287, 651779470, 738905407, 447718785, 52638639, 30032969, 487243065, 916324143, 952177796, 504049365, 57996341, 549977401, 122469188, 258504567, 965948961, 47991870, 332612772, 408937035, 63522326, 834752373, 189597378, 228647044, 910818853, 446943406, 750148707, 909634306, 216130691, 515818999, 158881147, 369599435, 54589112, 686749902, 234034113, 828272573, 382418120, 979265463, 104179513, 632943840, 948348242, 401602660, 653421810, 809278049, 106322652, 162916437, 968915459, 64780721, 192309042, 136134800, 927337976, 601755653, 841250859, 913064270, 860133104, 37986129, 670739214, 331699274, 443814930, 690128350, 611098163, 435695942, 444016675, 505747955, 639306833, 599585358, 919827783, 241826020, 770873741, 832755114, 733246086, 593143670, 462897654, 398208344, 763266860, 763928151, 365845561, 580104228, 379423285, 950806776, 81149614, 331455601, 107367988, 766421075, 613140314, 864425069, 210383056, 440432171, 779203718, 572537718, 263611267, 548463173, 87004942, 773622705, 955213315, 148733055, 848750411, 412829935, 526408781, 277277078, 397465472, 714278241, 729124376, 545353630, 838826082, 339124023, 375092144, 398768503, 42707842, 249917250, 763618836, 588373209, 219157409, 217830135, 529847506, 276309073, 122442384, 757406990, 953340327, 35521096, 479940755, 207640788, 322210792, 299186177, 27656303, 819321035, 56533621, 910916104, 421762963, 790464144, 623172861, 279575866, 180794225, 607565318, 956162569, 768595141, 181626550, 969844637, 657582226, 392707169, 969518106, 195535552, 438707465, 996549785, 854148882, 311036657, 855554246, 844173633, 920071658, 545950510, 598263078, 635636381, 965207542, 546180149, 64181698, 238699972, 613419892, 212527697, 195512947, 381648291, 775941146, 694067367, 751178093, 912238096, 649331975, 8183969, 704961757, 432431330, 94778063, 534093058, 937282182, 583103017, 611458704, 309903790, 356915754, 864322866, 457895278, 465453657, 25474813, 986087024, 738652411, 232426859, 527074533, 797028864, 385009905, 959263665, 397122176, 64954498, 709152234, 827890606, 417979611, 777148308, 145443539, 791962950, 234632362, 172735911, 236122518, 291742188, 559627845, 286871031, 822638037, 470816591, 380352458, 685299686, 798615113, 663269392, 800048642, 383071281, 512575343, 87344316, 644919758, 135021036, 213849118, 735719999, 123954330, 891511297, 679402069, 621115674, 299197392, 823998904, 868391974, 782964103, 836467782, 291516982, 798748349, 906803556, 284986228, 301913893, 271615736, 647089871, 284224989, 299953113, 365480955, 836359969, 94052883, 555409440, 540940912, 687557285, 34279759, 927530039, 600560188, 859519811, 331782176, 919222884, 706435326, 127366001, 889956680, 219054188, 629760227, 790508907, 366275485, 40496837, 783607127, 561447370, 497409594, 892215761, 978539400, 505222776, 791433627, 686900201, 982030387, 989420479, 597016689, 651941835, 406025660, 553302742, 104152248, 343782455, 163929655, 907032704, 750936879, 909697045, 617752741, 101998114, 76322850, 23218443, 395629254, 249946119, 76355270, 306080972, 139360890, 741457089, 934854734, 839567597, 590671742, 14324608, 604792324, 204150283, 302841103, 28491696, 757823704, 909654068, 275631442, 834209433, 653481751, 990326224, 505223708, 773510713, 154217481, 539707013, 306343993, 885634938, 969006682, 575195777, 854861613, 111056140, 349959713, 500028365, 186264230, 819022339, 14864552, 945272387, 718050408, 591425470, 372183831, 932029980, 754997545, 20024916, 34318022, 160204576, 380787839, 801368688, 897418128, 242395103, 641470008, 79223822, 519549856, 710232789, 889317384, 944949018, 757207674, 915256967, 780220659, 102247411, 675217419, 448532970, 114595904, 736561403, 186409653, 760409227, 185702637, 713401169, 613006212, 789910973, 645231370, 261221858, 115572944, 361283360, 925110252, 603695094, 159906723, 672392500, 195639220, 423329817, 289431464, 696602415, 521019868, 962563065, 201847818, 110728848, 484862771, 253279742, 539347570, 933776991, 13813775, 38690103, 878016072, 317640840, 92602789, 503796627, 789839567, 980215091, 968057871, 34006365, 39115492, 26411130, 546654946, 140113683, 927633087, 750895186, 963458889, 616112747, 389593870, 484599372, 899130002, 788053407, 441294322, 753673868, 658952691, 496254850, 247206618, 418391841, 91905393, 841171933, 401204727, 712195604, 258613020, 236227063, 351088206, 739431539, 756795278, 104342169, 92699069, 449063163, 639317420, 883315449, 314557830, 417862885, 113235066, 987218496, 899603632, 211200168, 967077209, 619729667, 232598678, 272256867, 695622880, 626921848, 605278483, 66167258, 620999137, 685822930, 886559973, 816841380, 75762248, 731015272, 20490462, 160156623, 373018759, 900168102, 758573151, 774602501, 505936042, 45044083, 57658042, 504153194, 237530228, 347013089, 303835804, 343906047, 873632070, 675027223, 792007900, 758492650, 433487468, 63393183, 698620303, 909806069, 563941558, 168557318, 239579775, 867544952, 397658405, 770527319, 559974071, 604761765, 647311711, 250127572, 598502381, 282998520, 444357902, 908169533, 72221167, 759995560, 805615960, 152599305, 646867301, 368804047, 163633882, 630722194, 240684830, 612945060, 725820408, 565426591, 488983759, 889714476, 664075468, 377990777, 226502794, 272699977, 956983057, 246675942, 347277401, 869258434, 381551784, 446166783, 949687627, 617702431, 645831840, 898459662, 206429657, 397470612, 105830317, 406530497, 344540261, 473156468, 242927369, 221827532, 708225435, 695173418, 514292660, 475081585, 338525867, 571348199, 210017688, 399255374, 416323277, 453905687, 29434639, 493043591, 607835084, 129712992, 952211111, 383374033, 993862475, 313843013, 873143319, 991381716, 39636559, 231751815, 296148663, 486416657, 381968073, 271600430, 639411476, 383977034, 339013325, 820002308, 255379721, 524042432, 144583312, 998531964, 47697036, 136615375, 110874080, 749448969, 994530801, 746019290, 52570005, 400784845, 632874338, 890506171, 9036708, 671802719, 170049841, 9137034, 795128332, 966870821, 835432977, 961263932, 857852535, 206082319, 445265182, 727511110, 746804009, 662236011, 734951703, 14424717, 804671030, 321054480, 532379319, 668158405, 651226567, 383653115, 705843011, 869965286, 403536380, 454, 713411394, 421408277, 266995078, 65939275, 491966, 779767140, 44522625, 125839355, 891398082, 395623829, 254350083, 143188969, 163109035, 387175936, 846988669, 616838609, 401799217, 396911364, 787234211, 497598211, 838436391, 510902021, 110163895, 313983659, 882587489, 628272172, 929131216, 571511808, 783059814, 89021954, 994239429, 640377752, 311856685, 497889215, 465791959, 273428923, 125332695, 618052870, 804727597, 698602794, 171082444, 233756298, 163273541, 714763453, 686091673, 100908064, 882853117, 724599837, 384705440, 117952922, 77833301, 826230209, 445247206, 846176645, 46429319, 61051296, 78566103, 979995821, 9402865, 216636020, 399159434, 577001421, 278173260, 304229426, 210270622, 938705862, 227172251, 446604901, 434734971, 267709381, 510988282, 971901419, 863049918, 81820030, 67052879, 297564296, 383226796, 432067208, 547476693, 889945234, 336262113, 893839536, 319029756, 550774805, 486850748, 900937590, 500653031, 461793075, 552912585, 392724078, 184499949, 705790096, 118469788, 86029392, 604607036, 718053125, 220422725, 139849873, 451495036, 706953977, 347501759, 746131125, 500840003, 262100271, 27759604, 631085469, 268814353, 762869263, 214444005, 176034227, 44356947, 34262730, 850865742, 965606999, 510424870, 180706746, 471387065, 564813039, 218438073, 480662124, 494276174, 392042483, 227085671, 480936521, 522056217, 763685568, 935124715, 82463727, 782701699, 728041247, 957280810, 800895014, 995941100, 184706835, 946824198, 874827567, 593165456, 9288423, 595390407, 980549104, 277154875, 163620521, 316522597, 993908554, 366519124, 552882754, 875252838, 132897045, 197432719, 921282994, 336773622, 184996187, 982196849, 156468719, 604784678, 447398862, 131220582, 886916810, 355047583, 986804537, 913117910, 71577779, 935988175, 747482466, 566858869, 551990427, 81740563, 359956705, 768895530, 114768283, 560941333, 767701067, 748620980, 612579191, 885938314, 226130778, 750251318, 926317374, 294777737, 590764057, 481866021, 438622286, 248785844, 586316450, 642468709, 573600140, 809039357, 933996512, 863594242, 942872992, 592934554, 826504583, 278450408, 672589232, 252377329, 876279079, 393859278, 741610502, 223145244, 981400026, 892760230, 693633169, 49305152, 38469410, 576002624, 841438612, 693996980, 390242942, 185088810, 451782462, 625233763, 695985357, 579349536, 163187798, 314846296, 915784706, 931659612, 693107825, 101741375, 422363664, 414669437, 32202967, 176380611, 131089076, 996213139, 389297394, 709107555, 848000281, 230418073, 981564634, 33694028, 897438152, 853831271, 562285089, 69190710, 25840205, 655384034, 892514623, 461973762, 659590240, 410110245, 691360047, 730659943, 258999397, 279608085, 595412924, 189372270, 289839013, 813978039, 801982309, 101269404, 36656007, 75040245, 185827777, 580033676, 124205519, 707627182, 246492226, 400372318, 747017620, 779677612, 690131428, 601807689, 416643385, 793619862, 376477529, 937361802, 624625975, 643159368, 887178355, 958584816, 516126286, 704432902, 590916114, 658663744, 527046580, 657285595, 511118109, 684888602, 490223505, 923765857, 64488008, 319556404, 819190762, 304466326, 142929048, 983622801, 899464445, 508834604, 666403486, 187682753, 1530833, 653670123, 955921668, 464499910, 235267985, 234305268, 494349411, 297964022, 731324109, 458882669, 937148424, 712847531, 978112721, 45434105, 692145762, 706737715, 176218695, 265389182, 663577696, 467239723, 900128486, 533627179, 914915034, 641521652, 548423295, 962047732, 188291128, 418710755, 566530850, 475542080, 488537445, 130143037, 480242520, 764593928, 424212942, 308004311, 397824334, 884927613, 784515463, 361476458, 958280998, 993927058, 651311144, 401843818, 415872040, 506421777, 892305466, 766858118, 730159022, 938459785, 126958506, 771033674, 35999600, 470727628, 777573606, 296897933, 660317903, 636632423, 505458429, 380623194, 121681527, 434449075, 513962429, 227711813, 612211801, 851179856, 83860429, 403039299, 973168632, 590949688, 879566782, 142619119, 307354775, 85341306, 793721755, 297353105, 2749782, 115046725, 179538356, 960877164, 161199093, 986367958, 219987008, 159574994, 980583620, 886541079, 989347874, 985900151, 305870260, 21180566, 756958091, 354232745, 533632213, 332567107, 988258129, 707116274, 259948054, 392454552, 294015690, 380970904, 402964605, 350046819, 404055038, 915307349, 89047200, 154742092, 5286146, 842778824, 772294985, 13021597, 277492982, 174220813, 199217924, 870246382, 922127338, 548801062, 377592113, 901206445, 514790547, 106655434, 976681980, 18360666, 229077099, 183493737, 819462620, 501192987, 588236813, 714458370, 101434975, 70691760, 289302815, 874986748, 870630090, 270551516, 128529710, 160053522, 420273927, 786280356, 810278488, 842683766, 332826943, 645709524, 581449149, 338576676, 283573608, 801567815, 648386191, 168611344, 96305388, 613275896, 793046745, 485102574, 837598955, 383794251, 374554315, 957058090, 682531952, 624851349, 386873074, 447288971, 956417443, 612948046, 134871737, 628801746, 595048995, 810721511, 62232412, 159947167, 574902694, 496065816, 137913907, 103747199, 67075928, 972277155, 170632992, 478079265, 297283011, 548464542, 991623718, 563179621, 334679811, 142211707, 739515016, 235298101, 410050811, 200648555, 508873864, 469470467, 378365778, 531082466, 474044972, 889887752, 1855181, 666881806, 163879736, 226569538, 79802813, 592575700, 994763715, 574188811, 176587141, 581883115, 360774283, 246872072, 535678315, 149527750, 846290683, 625511912, 820879185, 281618717, 418239895, 904491198, 17721276, 271412393, 476809307, 864460196, 385047925, 889704432, 509513340, 179787748, 328503271, 545642688, 247063397, 342291333, 42243576, 183117620, 568633247, 144434408, 930383886, 884846127, 943682540, 196192926, 108596877, 940755851, 317511466, 319475559, 963908301, 942152180, 625850503, 714298819, 164375001, 923159253, 819753337, 705281463, 908689142, 415793878, 118756203, 621946035, 867754912, 860002121, 509391690, 741404131, 25012940, 383222553, 102121817, 769768112, 330746643, 585990903, 329079736, 414734772, 868955557, 391658445, 666373165, 461104347, 236086026, 428895663, 103489613, 475873728, 834449193, 467369975, 764973575, 914370929, 236444821, 801858084, 863463426, 631920040, 919681353, 824334645, 54299443, 243725841, 645531369, 244252949, 689103882, 836435165, 559050221, 999255780, 479707296, 924216258, 606413358, 279743438, 800833286, 53374408, 233465598, 780412669, 817370464, 456246507, 560959548, 228682955, 601063657, 81000392, 288382376, 902937735, 693205798, 194734443, 833947617, 127522140, 22381022, 580257075, 996576529, 793870060, 465490223, 808877476, 648063524, 272403432, 362274860, 930803880, 16939785, 565951462, 104415899, 782619037, 741272615, 644563876, 306725294, 653312276, 507124394, 748654100, 387572529, 487155692, 98412014, 835372748, 539442346, 360888956, 270325029, 102099066, 253377311, 973306549, 556226075, 577591461, 960933993, 193308962, 504444857, 906111923, 538067087, 55125744, 353679274, 575552590, 658563443, 6280414, 851000694, 408794310, 345187966, 316123407, 257004431, 827179444, 988198770, 762565528, 353883789, 180015184, 692190235, 227546921, 905241205, 615824564, 66081908, 547392088, 757474371, 833371848, 814821827, 77588367, 521754341, 482324830, 826210542, 230876769, 371391123, 278742203, 415795458, 188216841, 37583159, 702651908, 729939741, 855910034, 135929727, 963131551, 683934896, 203129459, 413961826, 105092178, 266676949, 173310460, 693877788, 223375609, 347920797, 686130935, 153936617, 260031302, 786055745, 489248364, 587358816, 277173420, 464385398, 393659008, 938944978, 283121015, 939681371, 498113077, 549139263, 595772219, 640830795, 657596504, 727727473, 365170092, 309183130, 264910428, 29544806, 197994947, 625107340, 687731572, 924485284, 909656815, 85246847, 973007963, 27448345, 646008913, 60474550, 843418952, 235959065, 332405013, 258562163, 961879207, 291610847, 203273922, 811571812, 381353945, 668964433, 644371899, 30611955, 127724939, 809681431, 397130581, 112456451, 479688477, 31489370, 891420506, 62191787, 574261190, 722284502, 471830651, 878997146, 312002297, 197386279, 851902595, 614724910, 121970607, 548978345, 179368801, 660882510, 195944453, 732413648, 196293176, 108776806, 408641350, 97348146, 370771426, 697190566, 701880135, 168681874, 386530045, 310259428, 494401417, 379999258, 376120352, 128706783, 629629352, 619899364, 245117181, 190921765, 177905311, 382599999, 394038213, 991035570, 175620744, 840148397, 509034419, 219095052, 723658733, 359235598, 196272303, 900601886, 488230368, 736456209, 564954835, 193646972, 936393802, 436324874, 386105669, 303662825, 559887479, 58090966, 431192412, 60746604, 132154602, 636473672, 764595234, 662405391, 352460224, 161956935, 142783978, 982014068, 960446046, 619876948, 972088615, 347290478, 247192720, 665301426, 828314458, 34019703, 907688477, 561004514, 234381710, 784716043, 783062969, 478064901, 793405596, 927930871, 570440826, 970213418, 188424311, 610381549, 842048722, 328846100, 169670440, 853807095, 690068161, 837083286, 347960593, 877622260, 868481303, 877569373, 722970129, 82525856, 146891665, 479042578, 239495140, 359617860, 237806971, 936381240, 979417443, 212529324, 148115340, 479865856, 109966762, 132747067, 307384534, 886119254, 574300584, 19191199, 827167769, 425603751, 706135797, 753646060, 405966250, 144981296, 847325219, 198507807, 714981156, 804639418, 753542689, 843490466, 67458842, 118061543, 484261725, 61202204, 571530548, 758067798, 565898076, 686053962, 434311069, 775958504, 634779936, 386728533, 382918741, 134670916, 749167833, 166314640, 744887015, 47907541, 176023729, 95503599, 477239903, 34884132, 511752264, 353472862, 829086680, 64080472, 535891847, 945551951, 605262523, 95567017, 274146552, 583687689, 420671240, 586838469, 896808511, 359445644, 408324439, 142464895, 712675370, 394143400, 319084626, 908391217, 548732885, 213254507, 444930654, 426404152, 32870374, 252632197, 70790840, 413055567, 207250076, 838700761, 312619020, 316331599, 939274014, 716028641, 815658806, 325223717, 561135683, 709470556, 98815586, 967739623, 350706071, 881858791, 82519430, 309151263, 201213961, 244113454, 176564678, 995077469, 890275400, 684230155, 705853678, 572968272, 998641707, 630072846, 333643124, 437613693, 24711685, 874027135, 105553820, 68381250, 810715608, 214268072, 317738275, 362490823, 766906510, 940711254, 385722923, 73381945, 145561656, 633415119, 261571600, 257167886, 584012325, 189730399, 948686622, 306054743, 461028349, 350016431, 144886713, 336118940, 698926894, 351873467, 1692615, 187861578, 79500356, 613649459, 58144682, 20081221, 80872175, 805920442, 743523547, 964618809, 157834209, 439004830, 69273179, 155668652, 327195954, 405361740, 281190219, 596585743, 234432906, 604557188, 933544089, 235030931, 82646274, 862257607, 632737105, 627032608, 784734850, 497899768, 416054949, 240867850, 661847387, 168440508, 956218270, 315722962, 439713315, 697972697, 307776688, 786581212, 336322985, 59960985, 849216001, 66202280, 313922349, 953763649, 786112964, 443564814, 189659320, 372707321, 224309206, 274165336, 806071259, 892170514, 573069739, 171346715, 611016738, 13402073, 459826725, 525699530, 596311922, 839396970, 797867582, 569329759, 54030692, 608056925, 597724173, 930153814, 685378907, 891924201, 436245015, 960037233, 852839911, 282260602, 345788863, 875465782, 665005719, 39529076, 715514697, 661641226, 170338317, 479574340, 316244928, 385523309, 843631248, 894730238, 35159793, 472330132, 807057192, 921692596, 867963517, 339073096, 289404003, 671551496, 811014694, 490968722, 774126866, 293211893, 701271287, 623178216, 441243359, 632513066, 446291801, 637165360, 926839632, 657821071, 177250848, 778330543, 543643532, 967106794, 730343787, 946358399, 742250130, 476699216, 231800828, 296889678, 184296652, 159324239, 521423704, 681236731, 728072272, 590021258, 435601058, 553415105, 652057401, 156158918, 963070007, 670847805, 210821678, 464550871, 3349113, 798579314, 593443571, 911646816, 250838513, 59874870, 868338563, 527936847, 212248566, 91744563, 326428540, 719882723, 766397490, 75477709, 569836574, 328743981, 582168010, 654336859, 691326653, 685846486, 781254659, 284076100, 50412953, 46541054, 978394956, 510257289, 570539941, 137169850, 820678818, 696852259, 778448892, 161488362, 10068600, 338215667, 142376400, 175041992, 776750749, 218203981, 881785879, 545321106, 572830, 705168242, 730110337, 2086180, 9531818, 626051673, 721107002, 383502614, 214714201, 546874018, 879333330, 381463414, 993341791, 846039545, 336194317, 346684234, 578456207, 831616396, 602351374, 502202542, 799404552, 827901327, 388487738, 242169969, 933502902, 789077313, 12066341, 911387848, 863682554, 134894900, 160456220, 584094366, 703524386, 387501262, 562911350, 958986568, 910057730, 744614758, 748407629, 511078818, 953284485, 53123793, 810634868, 510918559, 217176034, 113187822, 784506615, 772089403, 14802849, 951535362, 670659858, 904264902, 978847186, 436409082, 277444668, 354519033, 900562008, 768363220, 210622960, 438638301, 317245342, 926660937, 468468842, 987100737, 19558186, 764566524, 676045485, 280403051, 865641038, 114672401, 719869327, 236665547, 77934855, 283928257, 502973091, 108010556, 531411792, 111843732, 931011864, 221421651, 766263928, 704744754, 721358372, 842860287, 321993431, 926025258, 829591103, 583251590, 195805072, 732427109, 444411315, 358507531, 490695820, 835243074, 898962279, 378669294, 855866798, 289024698, 648156061, 930134848, 134970079, 282443075, 90703329, 481704325, 770805152, 982107696, 576170930, 309122526, 9686087, 963882601, 702639108, 619170183, 375206700, 865536550, 367372488, 990308404, 781229042, 95485125, 57299245, 232970241, 882330737, 515249014, 87868661, 72299661, 555274528, 53766564, 859286528, 885026581, 46594016, 614609167, 151311739, 145856789, 193715844, 802998495, 239065351, 604291489, 800858313, 25302210, 549582, 394874373, 363795385, 986651208, 81428434, 354868171, 664602802, 210963292, 924933933, 227221048, 822495776, 108572724, 143407241, 253081758, 803267528, 184018693, 783226739, 417155678, 777766031, 966807454, 946883597, 69109462, 389987141, 442291563, 109917386, 193010837, 67091741, 913829711, 208849538, 310580550, 323122607, 743037762, 138765964, 564183529, 191451598, 337782787, 687557978, 376639566, 974324518, 662217970, 587573378, 339844169, 421479648, 923097821, 996947447, 741496897, 103459012, 828904085, 166234400, 606092029, 779529563, 716854637, 320333160, 703547154, 649029861, 527387152, 964659928, 723134920, 634221816, 303180288, 941423396, 501588983, 237549617, 99121133, 863303224, 245549949, 99579946, 625538550, 664298816, 863141560, 770563848, 259048130, 191868022, 424246841, 443534236, 341275531, 283627265, 930285907, 646719709, 26079152, 206553119, 151877424, 464853640, 867136530, 431573865, 194882660, 90276790, 438048314, 753995539, 541668471, 666114452, 7711145, 721202629, 691525084, 869127666, 219924847, 410510225, 266414282, 581568789, 399498781, 52337544, 742474405, 674238300, 665552110, 695013198, 132490053, 300980974, 539899879, 259827780, 993137360, 330770372, 264607893, 811200288, 128665719, 874572773, 224807781, 148969698, 760723188, 635072690, 529559824, 792750380, 26406973, 414808141, 867205575, 56153508, 761815219, 584006951, 868509860, 598321480, 386891415, 811585787, 57029090, 810407685, 392001471, 335545737, 851485709, 668123100, 68117823, 762800489, 122038014, 526432299, 50095217, 420762477, 506337688, 888395473, 345918402, 662979285, 540930314, 948361090, 282134791, 626839412, 64661765, 753912411, 546354150, 690340079, 188791916, 414810380, 354556272, 714261906, 914687259, 733566009, 439350027, 533981143, 737783308, 878078711, 979920899, 450618811, 629263931, 920840183, 43001476, 554500827, 468967448, 219766439, 293994549, 361154479, 613172340, 891375955, 908108777, 568926101, 756082219, 748335045, 783356338, 666471809, 310736840, 620778797, 852464433, 86499901, 838965045, 636007432, 966160980, 526152676, 999592983, 604997065, 300831648, 472233907, 587482177, 595430515, 236303017, 88161376, 302482074, 999509544, 413751649, 99467901, 122620930, 474094535, 681357804, 688110680, 60272848, 230717698, 524528476, 749106625, 903422952, 654709482, 266716522, 181633603, 811068317, 694535503, 306529292, 437667148, 627935764, 779489949, 581317986, 282872060, 278619277, 419709526, 850237592, 840786812, 111109336, 248846354, 345250881, 86526732, 92575728, 782106660, 583245608, 364292376, 506069369, 294495354, 376826819, 882264594, 332437464, 556456801, 146493797, 803798854, 44461493, 532247923, 383861434, 932935335, 165848006, 433423094, 889026499, 517662809, 218040303, 425844239, 652216641, 65119668, 900491950, 928193831, 132287920, 892715970, 317573442, 135543874, 958163691, 832628970, 200236840, 180850495, 424642463, 177567031, 888724884, 808104167, 508919322, 645697304, 284682, 556232011, 317696484, 309474552, 488680877, 483723176, 155651719, 958264073, 675236542, 771278650, 708733432, 320557623, 252851990, 520336912, 254272923, 825053210, 858401755, 531045599, 130345650, 343667291, 760854828, 676768997, 909234241, 305250592, 457826533, 844524956, 334769962, 348611777, 885049554, 92838875, 94020700, 443880550, 845345745, 729066229, 692189628, 15221764, 298271443, 921465980, 4168932, 740523254, 73940592, 691405342, 771974826, 470432086, 579617250, 787112616, 14779134, 97698897, 87390589, 521570788, 872114859, 931614440, 223564004, 20046334, 983121289, 755518149, 828709168, 372465056, 908940068, 614154180, 102640008, 890385962, 271800194, 907829712, 694571513, 913026492, 746993663, 295489046, 561289895, 439086458, 817278, 603882961, 170563287, 990411813, 847048911, 719129932, 545861017, 181414184, 609153732, 913125559, 211245072, 790233822, 521230300, 386802314, 207110690, 569251746, 704182832, 59092655, 405713029, 31763321, 459078594, 125902746, 624137942, 752172770, 813550435, 894006404, 419478761, 942504773, 930580859, 359244402, 156621504, 749040835, 889180621, 171756617, 497188587, 574225497, 574771982, 746967939, 538277728, 978619019, 747384615, 688239165, 528884960, 718134930, 97458377, 917518043, 16629337, 748213621, 383775502, 870187782, 517379698, 142136062, 430042051, 173854610, 129009327, 141673572, 838004772, 915263871, 671779561, 692658, 93291871, 335986732, 560761165, 480791019, 212816904, 111831082, 614710104, 120329329, 725350514, 550737362, 883978220, 397030941, 833740073, 550254120, 579856152, 442119396, 926649657, 907906688, 798755741, 155614678, 875122130, 295532931, 278597458, 987079693, 449883869, 694367422, 420978809, 860745120, 416159517, 336330350, 544521479, 937082731, 275231213, 34003408, 11369505, 868560675, 862177595, 991380120, 938778150, 457643088, 140244336, 526212836, 129312644, 441572028, 819159003, 483049750, 858035870, 411471719, 437560364, 417456717, 346946835, 774130664, 462748808, 602456262, 545023835, 599697370, 709499433, 93723771, 789197013, 103767483, 355219576, 434052222, 703898811, 437643675, 675817704, 161803062, 723934607, 213967932, 908157046, 521452153, 767637998, 723848166, 383993412, 681811927, 762960359, 365489393, 462836896, 768922094, 841257393, 761825986, 681912714, 217273250, 789590371, 957130388, 361800571, 439004604, 780030679, 632012432, 911431334, 457693836, 492674021, 135925825, 814032210, 970974923, 749387756, 473583944, 683600372, 567545734, 131099798, 196266373, 655469362, 954110588, 940964048, 380270973, 856939461, 836792340, 745620512, 242073727, 100787300, 92451521, 944509726, 946769188, 589563983, 62554713, 279191250, 933274978, 488813664, 310005834, 409818167, 962153559, 511321343, 252442946, 874235693, 857724926, 374809606, 564349187, 751445824, 767479248, 456029992, 348252172, 469047898, 303125723, 831170094, 76054276, 2814224, 681444709, 24447499, 667723153, 147535612, 7984964, 194652046, 512765808, 334652470, 63285547, 570177408, 431917255, 420378923, 955256826, 661780832, 692408078, 625524852, 246041676, 791441448, 902222369, 283404347, 803310789, 974414678, 376934229, 490420741, 965206406, 90394647, 512355481, 880080948, 308528208, 945570146, 267003517, 456756063, 136745420, 991381143, 703512411, 343324296, 673751463, 435156454, 716880917, 673884692, 589640885, 332851624, 812800714, 204119459, 816223776, 305812683, 364177511, 828259979, 683428120, 813205493, 746871469, 274371480, 772525477, 216202663, 481146178, 4612037, 296313107, 817453704, 407040572, 442131579, 419287434, 260995404, 635277919, 895193716, 863572090, 681877716, 61558581, 720695542, 790857222, 672102796, 485492956, 631954704, 593424676, 446082514, 805585937, 938190441, 218397187, 435670598, 15325017, 517485634, 29523989, 404211354, 123192023, 879505685, 294290513, 586897180, 803020752, 708770952, 40675092, 64734423, 557527761, 643092136, 505578133, 698981991, 323872646, 234538848, 454949154, 544293353, 896027809, 236577017, 264221955, 236424843, 519017617, 229232293, 208121333, 366393032, 401227282, 909300598, 694194451, 938042064, 648125159, 62492904, 735345061, 377946920, 274399408, 211934832, 357568292, 801144091, 611808005, 477197591, 781500140, 883865348, 779729431, 389547487, 414195248, 580550661, 228338923, 768876512, 868963029, 368486417, 378707787, 847984006, 740539913, 515829033, 862034129, 628735307, 733888994, 266403544, 249763873, 20993928, 63960101, 64256696, 475254488, 501263540, 622694185, 815341560, 93953525, 396967746, 544958255, 55370183, 664560770, 726764604, 519519888, 466053163, 908016708, 779182131, 11597081, 861678334, 450062571, 99118204, 11027558, 96073523, 578111190, 672187004, 137229629, 289450901, 598616064, 188632474, 863190940, 398393185, 999437220, 881890692, 60643018, 969286551, 566542885, 557017031, 161335177, 8617573, 154226121, 610630389, 661119563, 20695520, 485450834, 451239520, 813099181, 972345714, 988543994, 875833307, 651097294, 205087632, 11566494, 470864977, 230253373, 213581553, 251079976, 577518703, 421136647, 889540732, 226238955, 257354097, 10213555, 446473894, 912483874, 92556067, 277790412, 532745628, 64467065, 767969530, 976720002, 380607652, 6760903, 99005081, 961206563, 864856776, 872372723, 800224133, 78646646, 34673153, 407193933, 951285502, 835264751, 151509152, 3278099, 86741600, 86570471, 985061525, 60327378, 958997581, 582433595, 284104974, 607789510, 80772871, 642183517, 625847209, 625473204, 418993980, 508000895, 689157645, 812465003, 54154146, 125449563, 483156328, 40934614, 442182288, 604708036, 109713233, 29516211, 996085476, 26831025, 39581836, 338251394, 279762960, 452575382, 700159016, 60764728, 567488323, 311622323, 29293415, 455638889, 43548503, 562049348, 932509881, 158844658, 193796884, 583173191, 57301950, 189758448, 453549036, 762988296, 688660224, 369041019, 241592870, 105015920, 806961753, 97207477, 28354377, 751189633, 438134819, 563333793, 622335476, 802644345, 331810113, 61814906, 112660511, 942615172, 578419861, 420226918, 798522324, 456871440, 317231624, 50197873, 445058454, 974107154, 556329856, 42112875, 285937327, 4106499, 781266479, 414406695, 50112018, 746910776, 855014001, 693872462, 439955292, 176136652, 365923809, 408805724, 300376956, 429997706, 863355164, 393218213, 573230328, 351176834, 959170319, 542156334, 57549813, 511279333, 799186113, 580549233, 23860661, 151573305, 166781120, 393521733, 482384380, 343335952, 960975690, 816885630, 946559929, 607841083, 975020925, 943802259, 911723767, 594252526, 834407535, 991157687, 385988682, 826079741, 537586179, 716625421, 579705602, 841131897, 709495143, 333454704, 567080834, 129091909, 363656743, 437804365, 315873437, 965903927, 235463540, 205850566, 673858828, 946871774, 898391471, 274580718, 811968151, 542913491, 475492026, 465262844, 584065527, 916116236, 287476821, 338922086, 331875034, 297885195, 14762547, 289893550, 671581408, 871797340, 344380244, 155211632, 580666253, 171732596, 309354870, 149206464, 728653365, 239462926, 69309687, 717964560, 984614125, 710406820, 408015874, 316682482, 482192781, 237193850, 727139338, 414205642, 343636743, 526672921, 942188939, 543317958, 785617502, 937915364, 870598439, 584758503, 834495966, 404180990, 162542797, 320641068, 737479906, 671291015, 348698742, 28660314, 265919104, 825264962, 782335972, 453264801, 142595142, 238703332, 988889469, 578519690, 223258749, 5697900, 73294627, 146132917, 857309889, 423355566, 49174455, 512815066, 382629901, 366225342, 954652750, 252667563, 385935526, 737174289, 344431155, 289467064, 644724543, 806578901, 231574432, 137855154, 978428487, 426155513, 793808803, 409126268, 761877961, 20778464, 225606979, 826421375, 449754579, 217275905, 665142574, 333439344, 790790464, 448687252, 629441882, 731169129, 399018187, 122107987, 803149977, 42220378, 136784203, 657498256, 600363495, 676254488, 691099850, 474878618, 989821638, 193159797, 929113655, 404260711, 101810278, 999918090, 504456067, 929327103, 510184330, 869538972, 99280745, 111949165, 513764107, 755525573, 840172703, 159441850, 725492647, 20847673, 303916194, 912030369, 431404323, 255036182, 639226831, 429304113, 304524937, 824853457, 55551906, 969809105, 204459416, 165718439, 452828643, 115200082, 269981080, 806925054, 976847943, 672293710, 263688206, 989882740, 817638014, 717109044, 667292408, 710337446, 270865311, 363131889, 742287498, 691064130, 63266952, 782655528, 845846989, 865355988, 976685134, 689913997, 160509518, 57870754, 15308169, 218561895, 93080739, 763871217, 656038090, 126671917, 73780929, 916736573, 49255213, 828068767, 600204692, 482100726, 22373435, 924271062, 261036550, 581625282, 163683591, 872890624, 657144670, 409772271, 160160419, 814510028, 95128639, 595977813, 616717496, 734589638, 822179676, 887630102, 131876615, 688221019, 879786117, 937514384, 732310402, 197276212, 556296951, 445417091, 15783717, 441285839, 714540107, 347235968, 168485998, 807618739, 557643579, 378674925, 324628484, 962071028, 95977974, 223647300, 787841806, 244803285, 836442178, 437846704, 257160047, 309559626, 91060084, 419071652, 944618659, 579154390, 470830504, 207145936, 390193784, 733668035, 467037682, 448088299, 98191637, 309783868, 910937373, 396646021, 700796458, 451197122, 150257997, 407314406, 942445061, 975885763, 587773082, 690993252, 455875653, 107631381, 962581134, 783983295, 946992183, 723799709, 799581745, 281063386, 220975536, 140815901, 195696005, 186708541, 705347861, 73120630, 288578685, 213381639, 675422242, 436975867, 141579275, 219285173, 328851152, 290945493, 936927464, 963378005, 439425874, 643202750, 945439716, 66943872, 329750106, 253124277, 572471680, 966688166, 372468217, 141033170, 822380354, 393994957, 682183644, 126805373, 156934396, 176592280, 825174087, 618378527, 404035490, 794851841, 211399083, 609718231, 418880752, 471563921, 462730590, 152492739, 3111518, 554750775, 906217559, 990007399, 84924978, 862167377, 436006810, 75301708, 561019009, 983232481, 466259939, 67475265, 775258039, 224070091, 716395333, 300375747, 34515949, 897230918, 625354743, 355836832, 227511452, 16698998, 662268595, 25445578, 1284897, 310098090, 463106128, 966014543, 568583964, 170721881, 737187807, 413091991, 536420830, 595854017, 342361218, 194933679, 246195713, 366421791, 617249611, 199480609, 242222358, 570788563, 388613681, 192818513, 26256168, 973729215, 583847302, 583974102, 275103320, 279169227, 90236180, 114999547, 87189456, 878215860, 158526517, 918137424, 693321515, 53679363, 618943920, 566137545, 473567461, 515060541, 668921088, 523064366, 101169994, 472494123, 874592051, 680738748, 302606627, 82004372, 423120636, 240672835, 54768148, 997749108, 116721645, 352234827, 818154665, 455982514, 746515912, 234684242, 906063103, 271139911, 56666729, 252063933, 574067997, 734015656, 305170621, 485075966, 781084705, 415640759, 406093626, 355919532, 810880973, 322961569, 140400518, 796115279, 968488610, 31462769, 849153495, 419240603, 319864880, 888324144, 715292618, 129763117, 584921831, 637868342, 46440447, 325160619, 228287722, 797811654, 868392044, 485177440, 846580438, 660745823, 175324964, 330983063, 610187481, 56870453, 491276737, 6971259, 263698700, 823414693, 843674883, 939961180, 697003670, 43642018, 24284048, 179048092, 731980549, 348567266, 245716788, 776876722, 976558513, 944315919, 433649880, 209070751, 242465803, 631085816, 765550720, 639729114, 977659109, 232096904, 570188550, 103408516, 83266530, 612836778, 32849846, 562610634, 368363196, 9600510, 48365029, 760541043, 289055825, 748339665, 514719037, 776456274, 797857829, 659902521, 482736578, 649513469, 353843724, 277971222, 40084651, 6807392, 949764980, 119388001, 746163492, 390692946, 470219530, 229602398, 523417455, 300084722, 110095206, 896038679, 880140690, 65304, 25502493, 233175544, 916486556, 683477704, 319593037, 224607164, 379868484, 879078171, 222764284, 216271442, 852069941, 519038639, 492307457, 880005266, 551314194, 327750651, 293750003, 250496260, 714910911, 716625896, 349178994, 780819028, 185165431, 917603521, 621243566, 124659986, 420811003, 37018772, 218139505, 548389872, 235787883, 392613424, 313715761, 967254273, 292329361, 567844230, 308659405, 385139644, 247046705, 551482284, 146894455, 65943476, 1969474, 231813155, 914983611, 509778666, 596197248, 820645089, 710520923, 445918119, 101569333, 42692553, 162657481, 641297852, 414236925, 390629453, 712629, 315911307, 102466773, 459823226, 645864098, 119084233, 245219778, 676657278, 342330720, 781684235, 575130411, 528368367, 568064311, 506053256, 156091550, 323087004, 843415867, 813532209, 996938000, 553602652, 457346116, 123818863, 68964573, 815500135, 404265396, 86629098, 654779660, 878940298, 453927669, 487334538, 916291478, 525509474, 414555904, 269389986, 749933862, 650301847, 940315746, 684746442, 834052435, 229304427, 544248513, 284187559, 863352999, 456163137, 249732006, 424655050, 16346189, 84900521, 694287107, 970198870, 829204280, 243174976, 994960261, 592524767, 426042429, 782303530, 231378704, 51800661, 209475510, 956313913, 567415309, 598456028, 916341827, 725878861, 517547506, 664295932, 581399883, 510196250, 671995885, 231531061, 731845720, 688799851, 455291770, 461790005, 293971245, 700017886, 275213436, 479529099, 930120880, 234416165, 403223095, 93212556, 897662778, 611051944, 883334859, 47696896, 121225299, 957948976, 32399979, 972121146, 429286224, 638967853, 373949404, 630924991, 356058203, 84133954, 873989257, 175604336, 597046455, 995000148, 423435064, 954134891, 720506596, 324527622, 160003398, 634148166, 723378516, 942739627, 657829429, 536969191, 946559571, 512384056, 836263039, 616491194, 83651344, 138898428, 733162769, 590809926, 745847882, 978490381, 764397769, 913293964, 295252593, 348688031, 535245773, 275057193, 61189894, 685653672, 74372375, 519315164, 258953717, 863047484, 985744517, 3126792, 713811741, 119548986, 658927934, 833185943, 918367409, 262365026, 949521125, 123805136, 175829014, 81206537, 874525196, 86840947, 350893158, 944273230, 396911098, 260062139, 700205368, 859367337, 294604837, 820761044, 324310760, 516797814, 369454024, 615518398, 481325031, 389248077, 552678031, 736724820, 860967626, 713455104, 815845338, 126188095, 693257550, 518945103, 972758560, 436853077, 23387423, 824318725, 358445735, 210891428, 172326727, 463366204, 966153340, 655483143, 824407822, 836640615, 49147562, 230496648, 780164685, 858932245, 514147722, 485856411, 379430462, 159905189, 962199879, 683878889, 610706250, 618796487, 162018154, 893951025, 975125680, 621434493, 331716399, 463162310, 287569394, 979335681, 407653886, 124468540, 477745714, 278758266, 790648503, 469258310, 636977494, 332621973, 721078078, 479536089, 656572062, 483150757, 778413842, 426639924, 246372384, 36385708, 210622051, 678656617, 736526659, 306368325, 696355669, 230785099, 1249083, 434511471, 284584713, 976660675, 754756793, 323178749, 484892046, 225881415, 355669780, 988310096, 729885455, 547117279, 178836349, 495957567, 528292613, 784421417, 702931154, 45708324, 17332283, 156913711, 255218338, 449046368, 5139799, 629110093, 294374148, 739985732, 94600798, 929105688, 770579278, 587807254, 424683339, 213742886, 910903738, 654247560, 50940738, 24196167, 868398119, 161547416, 624501603, 520221375, 123660430, 159225701, 873014025, 39458237, 543920359, 316159185, 248014430, 133590894, 806922837, 44404243, 992004997, 654485972, 757788662, 833488844, 434780811, 216030823, 911871927, 933698798, 398392267, 911019714, 528915241, 807855567, 845418147, 172674877, 766601721, 763098045, 315088599, 416077373, 263067049, 545502902, 124807966, 530946162, 897979531, 664141533, 388266491, 798862907, 552839006, 663973958, 310045229, 676473006, 427468659, 970557665, 82825678, 108768836, 286486533, 518731527, 564348506, 720901722, 829604008, 408428974, 408593176, 775921930, 734947038, 504896966, 476023859, 676149556, 493510960, 733028253, 10382860, 716432993, 582432197, 678266590, 911810329, 422674891, 585063030, 221026847, 109131396, 113376176, 330100474, 969571883, 840974784, 658238654, 726216118, 81252970, 32512545, 51351177, 772603047, 922538808, 669799286, 712248337, 704734017, 64107836, 443419506, 340883764, 823893874, 682986850, 997056170, 852712595, 829980091, 130541393, 836094549, 67262385, 5016608, 875492353, 636669055, 711225737, 251550454, 92508143, 555165729, 73781916, 9316306, 273732557, 349112010, 144124445, 169153758, 41373169, 433626390, 443651285, 906840048, 207269777, 410291568, 912724812, 82402114, 255711143, 277091652, 965845395, 888404439, 314251636, 520591325, 318741989, 748795036, 840305485, 302336349, 507032941, 846386776, 580186532, 315960184, 75180281, 367304200, 169317132, 517225699, 834289508, 214116992, 17523071, 202254566, 130477289, 660744051, 564927921, 326307543, 864035734, 683192099, 587493376, 653516188, 665230092, 773210449, 857816932, 190007043, 46808273, 201430591, 122610461, 261485238, 267480294, 546972043, 188985810, 320436897, 880987819, 956922214, 402366792, 181501922, 81300017, 128299481, 222037486, 466835619, 417035068, 910845453, 720106551, 420258640, 33912916, 162840010, 903039647, 35388519, 188537549, 102021570, 750490651, 411856358, 529393392, 472089087, 569233231, 611257807, 749269568, 479675690, 929804320, 952763583, 526179974, 798975587, 737881174, 243109277, 734714185, 227708179, 49213250, 682063411, 121903606, 739055331, 353398909, 880949629, 854205796, 339280468, 184053921, 612335757, 403780934, 405544592, 417996809, 259241159, 995671668, 825670575, 108039132, 666945611, 161219006, 995033828, 194511872, 333833518, 324571562, 572025938, 422776957, 65933863, 774970653, 481248015, 976975762, 407861948, 526225032, 210231968, 884074813, 769729585, 754357435, 402188294, 882142212, 476242673, 668917792, 256111654, 891234072, 137768551, 963077134, 343053362, 431699023, 713819418, 849060245, 111164698, 767185394, 498281793, 593619181, 289106910, 172444856, 624060794, 667289684, 935908612, 106035723, 496039344, 926778234, 9446549, 45215507, 856977675, 964584045, 777955433, 869230087, 153161813, 797346663, 588475648, 663415988, 615867110, 208056415, 247705005, 823423747, 661824851, 14474080, 313472090, 523046424, 289380892, 533314997, 878770496, 20599322, 671451720, 247993144, 140802706, 841001016, 920905880, 503427225, 181285271, 44608151, 144458330, 925407126, 190222565, 203894436, 266941030, 701081335, 698260075, 457308025, 8472313, 679177943, 138546739, 498832874, 387268181, 914208345, 23270731, 844301512, 162858293, 55369233, 228792210, 197802364, 263396291, 790730800, 916731128, 348785124, 224464577, 813320118, 439934016, 418548965, 138275740, 473919020, 686523300, 926992416, 91714839, 731107432, 682095304, 894016523, 591313625, 459303636, 2544559, 152197010, 74962629, 989636151, 670698880, 537615575, 310488125, 814911496, 6243526, 350430450, 350065022, 491345681, 931725869, 240055313, 95837775, 843077598, 32884918, 216439951, 493377845, 121015039, 841134513, 748490948, 910222006, 634208741, 683391623, 996446999, 631417518, 553077905, 679701906, 221665933, 952231501, 331647019, 511644304, 140050521, 121116156, 839517888, 509393860, 169508460, 603532054, 714940628, 779793401, 337911400, 735890247, 282485384, 26084592, 334496641, 918303724, 157450702, 741679836, 399006952, 905933545, 781819084, 532690038, 559227065, 196401964, 493595019, 529994884, 120144459, 178107439, 880155034, 297171308, 437831109, 585130771, 373766886, 322211130, 29277421, 626150220, 743661010, 735204900, 143927591, 277923052, 37974125, 917535245, 731416828, 61900670, 177944452, 18224248, 13128702, 225207277, 63388180, 931974900, 94396636, 267202449, 946904497, 929774003, 389700923, 368907672, 945775031, 686094375, 482199602, 404369985, 238728056, 137641414, 704955948, 396121345, 687326675, 879073320, 371882555, 210454158, 711760646, 698744788, 968204842, 341072114, 329275982, 409112636, 812355516, 941827131, 331519471, 650014706, 178414548, 533843574, 87553864, 903048038, 521863971, 366097815, 449827941, 753668874, 272294907, 548727248, 69020472, 68606705, 428650931, 375491529, 224392373, 606006704, 379194847, 613051922, 682873293, 213285147, 537587239, 708776071, 726939859, 787230017, 656801283, 57026137, 744728997, 151995031, 66131703, 410237399, 919855123, 415332851, 820264173, 143870923, 554649484, 203092040, 64397611, 37595854, 941605190, 672468442, 928176195, 643863555, 305111324, 641963753, 604517844, 926866052, 475104313, 871309271, 137519550, 640650007, 221734368, 841683502, 612151316, 872647198, 855035710, 492673823, 650315323, 10141851, 541162027, 934046190, 630476769, 802809401, 427281985, 549925009, 622396801, 645542677, 839245366, 510185749, 769298351, 841010980, 830180316, 233710552, 330651945, 627605130, 968972269, 419931662, 863815620, 921024047, 209727539, 292468190, 309639969, 633513610, 449496118, 519798318, 220451448, 148841141, 256236630, 9092496, 38286999, 286186332, 477783597, 307830489, 850587590, 195033057, 457037352, 243259722, 152647640, 240574084, 666634446, 450789229, 98614056, 915375219, 67971615, 258450174, 14002619, 341248566, 467663959, 915322129, 98174286, 759739668, 712244083, 39592855, 173660069, 769035, 975601245, 155561716, 66380353, 891456362, 279776870, 218240297, 878402004, 299322619, 553711639, 344388170, 423521543, 808525946, 499204860, 177502185, 148650466, 898244938, 955803597, 597280067, 344339743, 526393678, 943986524, 449224775, 724393366, 860437803, 944325859, 951477203, 744331799, 787294028, 46524504, 148215492, 188456297, 198022153, 302199557, 35569283, 855167016, 297878403, 355294707, 744246178, 436080792, 974508164, 729585704, 567817918, 244529102, 329281042, 567454596, 158303980, 233083869, 795403024, 94429356, 320506287, 356952531, 215533598, 387317176, 796286550, 614891066, 860411848, 814786554, 322115137, 459622199, 862324934, 606682539, 820770141, 183475363, 510220523, 194250240, 237672814, 734581826, 707199145, 50509687, 86572657, 227050229, 176804811, 40625393, 895632182, 33730448, 738295349, 724546826, 307312403, 137441365, 862068094, 522141662, 287464101, 260971297, 963494100, 481771255, 349289969, 74092555, 130526010, 745065479, 241240400, 48719362, 374097470, 142252880, 156728357, 248994511, 329564151, 917923893, 720753325, 625414434, 785644350, 62278990, 558311560, 877009683, 48877516, 457304900, 116285401, 775408051, 990833348, 828944470, 347540472, 385208122, 818412996, 331928689, 178790386, 996799884, 491302826, 845075445, 185303631, 515298049, 426595697, 73898862, 539837233, 194463746, 523965889, 21565918, 453125460, 366679122, 922524758, 853583300, 541322474, 15034877, 243443316, 114035446, 349051731, 409414295, 88117489, 737742636, 379840620, 435632675, 229914271, 407789380, 753075514, 324311731, 889000548, 950612893, 429120408, 974984603, 514894939, 882236925, 384035469, 741717236, 294050909, 100151696, 265583301, 345543230, 666856304, 479563907, 254498037, 850990034, 469897549, 851718060, 333702774, 9680445, 409500445, 442848933, 496508304, 683567488, 43892672, 795899333, 189569083, 983273335, 827639380, 264962093, 340470242, 307698408, 720313594, 714224229, 365906809, 751993758, 540409, 115580898, 167371203, 646058936, 82170698, 354957294, 113531239, 160558893, 505560865, 781618233, 809028303, 584005374, 989416132, 479118788, 941024182, 486887578, 270969026, 726200785, 45566703, 216513702, 890789963, 903978513, 595233885, 312641073, 170015391, 106760505, 961673129, 285233944, 393642346, 202708805, 411805718, 442801119, 853454536, 380483478, 21209553, 488833565, 282673790, 873412851, 251086351, 165017867, 255491984, 268282359, 922072110, 147802834, 968516530, 362338048, 56935789, 709101867, 88749581, 101465482, 429338727, 145010754, 72569670, 578040904, 472301956, 710969783, 843813154, 859451145, 684904444, 160338109, 626944297, 802387795, 770011024, 250347080, 513461457, 632148672, 933443661, 903425130, 841308975, 526502029, 236282087, 17929381, 654205992, 919898054, 960419898, 549475139, 138266987, 479509475, 895263177, 334586639, 802264525, 545873076, 685493808, 474710232, 434263236, 271893171, 316371560, 770471503, 792413550, 550089700, 157009792, 25348405, 608785228, 197196423, 609586307, 878173258, 896503989, 656560025, 879591103, 723624325, 989704517, 954003283, 199408935, 418220713, 818372343, 79056990, 356573692, 397046704, 274059766, 616835683, 523032440, 46883321, 475814587, 768290792, 498295907, 54287136, 238304361, 863221020, 929390741, 254316523, 507186596, 376586868, 423449767, 784432810, 597169696, 156867042, 86314516, 939705494, 597486035, 421190319, 235085201, 361803134, 167037711, 327237642, 685031, 572090311, 497777149, 852132356, 948422511, 19201386, 767130898, 574568937, 853932307, 165126487, 369985795, 134556824, 205216901, 837561437, 580410244, 563108861, 216454234, 775696362, 29631806, 276374783, 778074220, 361928199, 811406144, 839229778, 52743916, 492125229, 367221919, 983699261, 115901866, 110708409, 831911703, 688034584, 448825553, 116526440, 114678176, 339731125, 193883805, 803661240, 145372793, 931966121, 224731698, 355131611, 688472344, 385886256, 632725271, 640707052, 109685708, 328344182, 610319611, 500130041, 914399421, 891052536, 18228044, 197364825, 55330309, 114575004, 180233549, 479628406, 42408269, 394196290, 901779593, 309929139, 714774515, 357267451, 597835578, 282010010, 756398841, 511467239, 360348232, 738302735, 579114589, 283252292, 717185610, 250922474, 37716396, 156260888, 770116424, 175047925, 117424072, 213016353, 759938287, 171738734, 76195944, 291330452, 574589645, 106352251, 2875533, 103515960, 166729325, 709805862, 821995232, 200853634, 350860835, 758288998, 482722914, 327680684, 802912062, 408310961, 141529176, 266838500, 198894702, 708851753, 3578391, 101969153, 757268614, 847384891, 642076945, 453010981, 391672004, 625106823, 92819630, 904017064, 564127706, 384057767, 380776659, 868754188, 795073358, 189235920, 437913542, 69366364, 725940655, 997749744, 403897838, 513099119, 169559474, 164436648, 248804488, 588056219, 257553691, 608651893, 546535029, 594921689, 48936579, 13624243, 154034570, 973417340, 395726319, 719649828, 216723221, 566313074, 450450062, 615401263, 326488943, 922524069, 816012498, 434050361, 951554843, 350891101, 767366720, 25725346, 912471302, 986284458, 449919788, 280060890, 885085291, 103535633, 252711807, 372440453, 396513545, 627967004, 348157855, 900547673, 112808579, 282551277, 327729534, 330707125, 770447089, 221450375, 479873861, 209311276, 120594149, 782732422, 537090559, 656632909, 314620147, 816153189, 472680592, 305198645, 57284052, 914541208, 81075704, 412648190, 8084445, 326178922, 54519510, 715236959, 128489761, 991072833, 74071046, 835548464, 510285412, 750595909, 562093839, 390215084, 100205996, 343414308, 89909340, 225116560, 56475973, 236140783, 483521952, 141625206, 810621964, 398030910, 227143368, 429566649, 274247710, 381052397, 622402032, 187744903, 467635380, 982930988, 901076483, 801146183, 354859213, 395194203, 620328652, 710156832, 32566493, 968251496, 730698650, 681402734, 349672813, 820686695, 175791710, 843723178, 507219799, 86975758, 961119676, 961635094, 335431820, 202145709, 765899528, 532939005, 953300294, 515434560, 103482294, 744939625, 577218641, 673362731, 802134134, 893293987, 97617810, 224205634, 395887128, 822463665, 647296811, 563934281, 97805256, 231389590, 110981393, 613009540, 756692435, 471685459, 943490646, 346286562, 979439512, 940732126, 859070581, 853060756, 60510181, 385940994, 451936866, 361883072, 280737672, 560510219, 741422042, 519164164, 634820635, 673553381, 815008768, 664179982, 104787814, 470272027, 709101453, 140209257, 813161513, 254873695, 318068102, 487506607, 110464789, 837948602, 501563720, 49730682, 889859660, 883788659, 547417074, 698974783, 274803611, 297774614, 631720338, 830917820, 486940306, 358811628, 685565161, 926210564, 988319950, 226120377, 461397044, 997272374, 762633738, 571227138, 867624623, 64457781, 426203465, 138204690, 377040557, 250144278, 429442947, 858735052, 918675664, 354579568, 595238324, 535611999, 980346722, 117146968, 343485632, 53001568, 805240984, 39508305, 396675716, 719822654, 669623470, 433856999, 183398691, 279445608, 116582576, 649587252, 448756451, 17773905, 835044770, 389404394, 626295271, 407462736, 233087665, 253362497, 728545789, 419413983, 581266335, 942198588, 526766197, 187223478, 898716759, 242779646, 897656727, 506070532, 466657042, 522215345, 684727861, 608907390, 317556772, 760603863, 484319943, 909866706, 88114927, 867110521, 373473437, 230484504, 17272298, 690350307, 598949871, 411297415, 431471117, 615239304, 814377810, 871873582, 957459691, 99080098, 598418468, 458082499, 665435615, 907283294, 265594761, 443236842, 952832129, 789269948, 867503138, 336198376, 804314815, 428737116, 858252197, 493646260, 522271362, 217015268, 287455909, 956809904, 692733585, 400763669, 547849112, 841574118, 799965623, 911916336, 635899836, 205198749, 942530293, 883850309, 692867915, 733491222, 491623900, 184452173, 29095324, 699741895, 303704100, 246656837, 349623953, 99826213, 400008249, 936431772, 305554336, 200538314, 192564143, 952120274, 177578121, 2941852, 549650522, 712556778, 622780043, 48419067, 69831199, 195563383, 517663414, 595101118, 859620930, 920568011, 266642574, 314329659, 264428700, 620775921, 878819672, 88554000, 517143602, 779265955, 589617679, 840823544, 515021199, 847651767, 831170301, 537490575, 561375683, 970629, 638579671, 249851480, 316135952, 860267506, 725202025, 953396564, 407957355, 682674288, 110855011, 215872127, 181507547, 480556733, 250465400, 680352255, 331813991, 23571438, 760846122, 329241313, 136152389, 717355198, 340369142, 460013924, 713391621, 698790161, 478678123, 386931, 733116200, 881551849, 406542304, 335763568, 293485427, 966924639, 908030140, 374269818, 736883902, 161690923, 425373856, 998540333, 48398437, 659670321, 941653447, 992757265, 777335776, 681794542, 142521206, 215844630, 138001489, 378834750, 917196831, 733202723, 688770653, 282316319, 65613618, 53912519, 900488366, 601939994, 81651878, 135030199, 788262310, 430219744, 568824358, 310657404, 874202727, 336982667, 134295008, 900368166, 926726911, 371286490, 869190326, 45643855, 525123395, 194128865, 899283916, 993067252, 486920740, 318873967, 381245357, 554455150, 790911224, 289290702, 554195877, 405884128, 489278936, 819464301, 826118216, 640129214, 931817431, 668282155, 515017947, 483716474, 682142429, 210899584, 475711816, 483483069, 878486097, 781860875, 558218450, 143223783, 404385625, 61474154, 512732411, 183107358, 212692558, 223123642, 434040598, 92544458, 913931000, 656311588, 299466323, 373284647, 81085336, 487232160, 841071974, 177184504, 853314585, 338462803, 314878658, 872863007, 501610686, 965638199, 869393914, 896436846, 390440702, 41286895, 615349020, 851585592, 857764142, 604091993, 812948304, 570701269, 369572063, 108477736, 254545054, 435373335, 746725045, 834117509, 266828697, 452647907, 337850496, 152779666, 536640241, 282227072, 747329929, 748780803, 116091376, 903472360, 571896745, 31553383, 601696147, 589825309, 720333482, 145872249, 270022748, 206521428, 719965722, 914887298, 292062819, 662371529, 968185153, 765827586, 383742160, 305042860, 386677438, 906054226, 244853965, 835522462, 297432827, 645572353, 935939502, 447496132, 705032963, 989959636, 626181593, 923685169, 881839316, 643908318, 255896811, 401478792, 993652054, 497513458, 901954288, 59382665, 493313359, 186339101, 500814865, 782996288, 253789724, 192068262, 532996188, 351044125, 213292586, 48952351, 714017351, 136747147, 990051394, 558060611, 96523788, 392698399, 265320813, 478098522, 581366297, 746128894, 556755488, 864432788, 128655961, 958043064, 312408868, 965996504, 841336836, 327007351, 496837192, 729452447, 323104361, 682055057, 450352864, 253705753, 467414600, 496344214, 97766308, 146482791, 809155880, 644449014, 224549321, 408658818, 656655576, 348827974, 45319665, 180600175, 956202593, 694621515, 851746000, 939927899, 903424186, 164751101, 4459309, 946318845, 665648158, 123282160, 152551401, 124750442, 791988393, 409232006, 502238132, 236780803, 792589568, 573145739, 283343121, 428936568, 582620471, 651533546, 164563388, 40117914, 424251866, 589559264, 812763098, 645088158, 834521421, 177224337, 937709821, 751596486, 581491905, 775647968, 374331355, 75580432, 338845758, 556908172, 599551330, 737948380, 214681982, 198275936, 689727444, 772231732, 825553576, 535229892, 212483587, 872255990, 4742864, 607587981, 174957743, 896646820, 439687278, 874769845, 792961988, 299928006, 570112171, 137547593, 787421548, 233964758, 706587509, 486870279, 587443939, 901773781, 416069739, 892230447, 104716741, 368336955, 80604331, 829470265, 707105377, 634015644, 977121689, 424949647, 120298552, 858070459, 218476163, 462879869, 641299849, 229393513, 840796519, 937090741, 79785342, 879353281, 683159510, 314894262, 87910726, 336568861, 679209725, 791861425, 592469594, 426595412, 552939894, 969744951, 859728574, 888005635, 76169615, 932720062, 803017954, 578224793, 794257926, 722864499, 377403039, 900847122, 166076180, 377978554, 869119078, 804660328, 417053144, 266602242, 404712799, 975045188, 357185808, 14157002, 283265650, 290653435, 578240152, 93229232, 794441997, 323670865, 868780264, 265614553, 262396642, 239415952, 889592673, 128125891, 52290254, 896966123, 533176524, 183956596, 27224528, 650725306, 179339704, 820144481, 817030357, 830692694, 567693797, 110607163, 322303037, 262165676, 76854200, 498115179, 314937287, 159133627, 515869012, 363568835, 593404622, 472179580, 390677917, 726227104, 307934494, 2901804, 947295274, 47975971, 486269772, 219573803, 725216141, 236595203, 211835472, 937352885, 677990797, 750869668, 334333492, 230903826, 520234151, 543641019, 608470934, 105578000, 110625662, 495886213, 90759238, 759616095, 922477702, 875225107, 400376516, 342349373, 241673933, 198821196, 550873580, 758664409, 645622032, 699126965, 9031933, 190570750, 311169554, 592680405, 644218401, 22320946, 279396253, 694043450, 966675824, 172899950, 761621162, 932908777, 483203335, 774053679, 909735557, 11173761, 369552167, 224068162, 771697838, 320102184, 374097304, 632545000, 755985217, 406699533, 658838058, 890866552, 702166287, 564434430, 918486889, 797452017, 995682595, 396036068, 66066005, 195701631, 597612986, 484408241, 34358374, 282940577, 393561495, 789915859, 562226926, 89707419, 624992554, 965671770, 461022138, 143680347, 733752938, 120773932, 306673218, 237899750, 29052883, 160066408, 971485294, 181272490, 83418620, 980099992, 999576417, 357714119, 31275157, 673807472, 597584446, 655618778, 160170370, 219581865, 690582536, 522316149, 926244445, 607498827, 313469671, 556542126, 49193559, 487736548, 75078098, 810506022, 866808420, 340957888, 831932608, 90759308, 348619335, 457056761, 575018620, 983637487, 347310222, 52881423, 518459469, 755133966, 921110338, 436086315, 598026473, 319932847, 819273277, 544642552, 906913663, 287129736, 316463945, 457456169, 909484485, 758929295, 723001609, 524573559, 576020768, 375506210, 742890641, 356146380, 533611720, 231252205, 102262882, 395629605, 406411361, 167170099, 525373260, 884187576, 123704226, 600922161, 579095407, 586403115, 976557079, 315269236, 52749320, 428276204, 168101947, 162765953, 232430707, 364793887, 775251419, 705353179, 533575244, 748133572, 161379111, 602301889, 861567771, 771812869, 36158658, 222009983, 366317243, 688187096, 982875423, 726768473, 423613414, 779703711, 450214362, 8803288, 435549781, 544037125, 185943841, 105351850, 930483745, 713895111, 807926748, 901551214, 396596156, 589168465, 792328642, 64127362, 147718329, 48910197, 824797988, 805178376, 555850034, 678915733, 503649021, 15433389, 762095216, 569210281, 381641887, 34221422, 446248789, 655151538, 264001730, 874575480, 628859025, 43247573, 635311844, 501447404, 129473785, 711559330, 716161497, 804886949, 330226151, 891702234, 88896493, 295930200, 641690420, 655620233, 122728637, 735107850, 783146429, 838971158, 524365682, 401928292, 353827995, 550836621, 803168586, 16705201, 405014421, 310033377, 803243888, 649524245, 991897820, 581351480, 86724497, 896578526, 686229346, 762025522, 963388250, 848294098, 135708190, 730539894, 155642864, 657863937, 992570482, 946094138, 132205763, 880441298, 185777026, 478876662, 817869222, 887781353, 580654591, 498027771, 141269992, 273867364, 510724488, 136042488, 376828954, 975106725, 428178248, 796352940, 73339393, 520969441, 964528654, 345594934, 59303982, 671789354, 124204605, 79300003, 864117328, 302540608, 703696874, 1556285, 573153388, 113826588, 368244161, 74127709, 346072473, 24017800, 669778224, 796393470, 258015559, 341645953, 922444902, 167891998, 285124992, 940991459, 767003072, 475995298, 996394589, 161438778, 446912528, 736200896, 554114053, 255303645, 167685804, 339646868, 888463784, 875016019, 957339701, 296267217, 321857670, 572996893, 141907097, 128282213, 959902055, 244570307, 13036358, 881979272, 152513697, 323898775, 395623514, 809826638, 619103510, 560779670, 547970892, 958958664, 962112706, 588241505, 983400377, 837086688, 561936629, 293837797, 903448600, 181447006, 956141060, 872973791, 656838539, 755212853, 686930425, 996933569, 312442048, 699268952, 629524085, 547214138, 254491037, 111230569, 875829323, 903397348, 321820725, 792519791, 751457010, 416919410, 503578692, 19735411, 124644738, 606193530, 207833528, 823901384, 989049689, 815731005, 967502621, 960822370, 241346785, 36875098, 881538163, 953380470, 735746174, 596999435, 666213879, 266838898, 265151780, 168702365, 868699844, 833759796, 212741446, 231931219, 877152459, 990146002, 333304424, 148015654, 819095626, 138328870, 427113958, 487004849, 580066063, 999206404, 741524084, 674137915, 497891107, 99662859, 599754829, 684777749, 805899468, 192440182, 268048422, 879650535, 831223380, 853991880, 605616244, 789662283, 816940270, 681305501, 715035476, 67189481, 821504420, 285199001, 74807876, 415082817, 603198661, 527710950, 310796958, 743732850, 643974472, 420380587, 894922460, 473503797, 646430570, 629551634, 520891350, 72581082, 141441668, 616518139, 5033209, 765567428, 6260636, 1252845, 132078237, 621589239, 976493097, 533287135, 217995479, 861867621, 125422816, 167446880, 465756954, 572823915, 839648678, 645379341, 467029811, 449492403, 996853997, 411813734, 6472711, 133153491, 743784120, 516028448, 459426977, 452439951, 188025148, 519687066, 677698875, 972780269, 645314204, 115129792, 29832288, 713807051, 667644851, 488261671, 765078104, 894231615, 168663630, 93530261, 683436686, 328675484, 581082519, 274295522, 460100814, 911445049, 53509608, 313599999, 700007571, 298410421, 713650106, 200155311, 469561056, 92342050, 680955743, 98426936, 699433644, 767001337, 268454773, 918221109, 256871027, 903418254, 555858777, 655326993, 475163388, 676963925, 332219445, 653673885, 643261661, 992704213, 146684478, 177782963, 704906300, 84854566, 186085728, 194088207, 349611689, 167210506, 361550519, 317437831, 283907629, 235399179, 949308600, 304969084, 524706319, 573373734, 459701344, 535914490, 719309828, 391696204, 741481494, 292018371, 585155663, 652291354, 528700682, 903789038, 342905939, 767434496, 222751430, 572238960, 113880260, 369112945, 899978660, 160822293, 592833556, 65359617, 29377693, 816595550, 633529562, 688074685, 818275722, 282114209, 865017399, 327810630, 321267972, 743837422, 27966503, 183874743, 591340895, 591840269, 394023251, 423980123, 248348531, 683630137, 43207580, 862538358, 928887094, 835307343, 226075197, 561393986, 601674162, 504870960, 381695269, 968418092, 651077331, 892522475, 829771853, 359636169, 920440099, 142069072, 276245171, 213067305, 554401517, 164540625, 884598757, 275386365, 61342416, 360326005, 582175714, 481871847, 750313503, 910064409, 499573563, 335550223, 847079311, 933182725, 756111462, 75893260, 394013099, 692135472, 202827518, 452782092, 487359304, 805404111, 238100540, 739235052, 173443268, 960626481, 339205527, 876516799, 919118632, 130773428, 492804030, 779821170, 524873367, 255558337, 119616119, 57898368, 691739050, 345488941, 8101787, 398746443, 153337220, 525985616, 516134806, 5322664, 305558178, 326990546, 527144808, 166770603, 826642503, 18083613, 650888488, 343882494, 711475331, 41004466, 979886078, 891467877, 804328462, 25900565, 986590857, 843668802, 204555118, 430849169, 768423681, 881189264, 480617329, 428859912, 634245030, 415399688, 336173210, 88878144, 217517488, 699150559, 559965161, 896967702, 702470888, 328484346, 515035835, 883519874, 855448275, 72755720, 686097364, 873223707, 142069148, 377769211, 602905396, 452372700, 511329840, 460227304, 326086675, 449654326, 527179182, 890575046, 748974429, 568343313, 120800842, 31943592, 266970941, 750613560, 991856907, 186023366, 787834279, 505062185, 537417076, 215730969, 985323017, 10856959, 361526643, 5602327, 929417684, 442288819, 144599684, 478490900, 478408340, 447782603, 341948594, 962816486, 568573731, 821516231, 475469805, 68545771, 768490017, 599682620, 971772401, 976274710, 927744262, 707735998, 959898496, 395866234, 898574184, 993836375, 164948647, 550881760, 975848079, 884870489, 991060687, 672662893, 680341457, 311775655, 776654464, 67798925, 431487297, 494560765, 517648905, 18008395, 233137839, 172328436, 528940282, 521352869, 415716035, 68144901, 766811910, 755722905, 395080560, 382869322, 428577214, 59925926, 797980698, 198830672, 537723927, 526771162, 970626995, 535389501, 926798468, 992267452, 520451751, 400541300, 70715823, 171018572, 191572114, 876423557, 622564182, 114745107, 411772538, 73655714, 590915156, 437236009, 476614131, 706713120, 336722508, 930373195, 159908391, 750901732, 439331602, 61103316, 388684191, 982176616, 213227961, 910438487, 153757359, 923745817, 189751518, 192910113, 539806138, 715570748, 322729328, 915356842, 959443676, 342807941, 844477812, 31175068, 199958855, 773303459, 289986897, 231596834, 470390890, 385455170, 403817215, 699706875, 353061972, 599173564, 269015403, 894089288, 51462456, 883260935, 447184819, 916982946, 997112742, 439736450, 199372845, 341422264, 509782338, 939331387, 733523906, 376293463, 628226659, 451298460, 74810283, 544081739, 845487862, 323667314, 845150593, 634999529, 327125235, 557291203, 121914481, 387798935, 533947885, 904929332, 85163609, 994531969, 482381489, 772354659, 944626952, 663014465, 244971499, 118937871, 559328681, 550512711, 850698443, 857907854, 580824023, 934885752, 935520299, 210823787, 171265920, 625034546, 881415159, 23779146, 844860558, 677734504, 133881371, 46227486, 836371702, 137401981, 209891367, 697380837, 804727563, 353120788, 945418940, 114192188, 435965804, 357483422, 202746526, 138814520, 40979433, 495230041, 398684035, 353919054, 93123365, 637588424, 240228441, 154941732, 170246746, 352734848, 191458244, 830290735, 378478431, 523967118, 925023138, 818381791, 627318412, 363573022, 170748044, 922911636, 541688180, 134097626, 552683565, 327644394, 924239785, 712614766, 405365075, 404448672, 781630702, 152969109, 840756550, 825856880, 558941807, 243193262, 123741420, 264409305, 864906667, 626941637, 728964359, 267789015, 232468814, 50760969, 209502461, 691594429, 957486488, 457036491, 448244581, 844893475, 523490512, 818233057, 492379465, 489943456, 4469365, 717684389, 931881027, 310963750, 561668323, 513375530, 590395468, 908078044, 120988399, 584419329, 17387718, 331375690, 365194650, 783911731, 47190030, 351120827, 333497490, 339044265, 90286556, 994403269, 625476505, 682683016, 234323491, 677155925, 791951741, 549472890, 231790550, 926799888, 109748875, 530671282, 308705336, 685599792, 216255237, 951388348, 485760136, 392021706, 983322833, 432762724, 566455931, 791790241, 104465021, 608807037, 244913595, 786439785, 403090990, 484159604, 891296787, 795355585, 136639963, 395114294, 721874750, 759755968, 741547457, 940521664, 835793418, 642843354, 501261724, 898286010, 339658590, 962833023, 760856810, 795920954, 428042005, 861383429, 681142470, 926589019, 700333800, 319777673, 500739703, 720717558, 954565962, 187334354, 254286312, 222243919, 930774598, 436904466, 368143146, 858130240, 356512359, 845149447, 9815184, 434710735, 293907532, 572364719, 966436952, 883177188, 770044802, 724896151, 485956174, 264661908, 797398753, 174970486, 914585528, 97389527, 854048108, 115539992, 236806197, 185612964, 458371357, 38113886, 266752409, 496903396, 46848920, 262365877, 481234020, 468721638, 869121477, 68099157, 982881049, 466575038, 510227480, 38866414, 391546001, 841846795, 920245392, 532276764, 915877211, 137062206, 990472079, 64744173, 354956481, 741777121, 340810413, 229536299, 625105590, 834200894, 671180176, 193063837, 58738078, 181172291, 792447545, 296513264, 911507985, 79462767, 835843570, 644148025, 795351305, 427616979, 224641467, 958609443, 656297765, 218321838, 270515449, 716982479, 46806393, 128215116, 312671856, 166136214, 878504148, 493176949, 443922336, 916521228, 224031548, 529140475, 627976533, 257302619, 25527866, 584633615, 832541433, 873552152, 457607335, 914965464, 691720350, 615981422, 295350058, 987253179, 140730664, 661404104, 237706522, 219737009, 263947498, 905538368, 433462069, 536123381, 923422419, 736273499, 155788342, 153800118, 361361494, 755755635, 570973834, 662258657, 713819759, 180817065, 623935640, 456716394, 594415734, 5578424, 542566078, 932296648, 51679473, 677951358, 276525009, 607360182, 391101427, 292065760, 54034583, 702452778, 914557646, 906646058, 127747681, 745303696, 868385338, 702058387, 707401608, 955313209, 634708012, 966943912, 201546491, 556998067, 880524888, 928105984, 179492372, 658031839, 793870736, 149993115, 575823095, 299271507, 171845442, 621702617, 385994722, 585002107, 702524169, 710612839, 232474102, 322466755, 80243000, 712671041, 783208072, 602123689, 317676725, 301560773, 752929800, 864113138, 184367879, 728216764, 854835030, 549848622, 768372843, 882583363, 688224541, 512674914, 236368659, 173928469, 245672119, 931627988, 628723628, 742232827, 892546657, 174881581, 192882008, 523487966, 750720704, 133750256, 10365684, 506904235, 216695683, 245799408, 217360835, 839813244, 33035430, 86156288, 686938694, 427927791, 897342260, 50104323, 903649848, 222836366, 291187506, 784429209, 995479154, 397523339, 329446948, 414896093, 956758801, 837671820, 778006755, 145290632, 754509261, 649282403, 5829031, 160751574, 18470429, 701028264, 7131789, 663160968, 148207748, 653635180, 952698068, 776154304, 855217833, 838035011, 955038432, 40288187, 600164416, 161979901, 281036585, 732917065, 980940929, 117683611, 852463399, 835428916, 428993567, 754388106, 86520981, 204523459, 196423736, 941728412, 293458589, 408003616, 529892796, 87979101, 142057358, 217004674, 959059644, 163486908, 560561517, 999146647, 985103214, 640178740, 513277120, 271244405, 637095312, 332658471, 362600332, 203360962, 384979702, 555160072, 948372078, 82021356, 801041269, 717380972, 516821369, 173186690, 945621434, 93346510, 258512181, 598888618, 760156021, 959556889, 657569014, 372814859, 207578283, 647088526, 959152400, 638474644, 636447226, 271952265, 726290331, 54535408, 757737723, 995697363, 578171241, 650068190, 693821338, 731381513, 839001176, 774790317, 838292586, 8782219, 195143195, 180294437, 983401060, 633770402, 757876577, 615576794, 930842212, 778026615, 852041734, 207150517, 360564898, 641604819, 333192082, 587103762, 751595126, 312202556, 271410661, 808298207, 77469826, 818459892, 155385236, 232360303, 908960406, 402496365, 997019545, 433342064, 424321681, 837814737, 686980304, 218526200, 975373349, 366482981, 331675625, 463749824, 716587809, 610545798, 461548406, 161611746, 271973245, 372209249, 216959404, 897263849, 966674174, 57361912, 82874602, 411831415, 77613844, 989245551, 763136365, 927270907, 23170454, 896672486, 846155690, 673684246, 3241941, 129252077, 265460570, 175544534, 699863562, 179295128, 303690242, 631001647, 672351645, 511203086, 83344065, 478646120, 220299822, 533152577, 182312499, 557490180, 939452704, 129865170, 261116775, 50448774, 408515472, 789705981, 779337661, 406949731, 209413605, 522944204, 633697912, 790024450, 483232974, 96501412, 423257196, 122172161, 943120413, 785224422, 520972835, 94675574, 293758405, 912115289, 549515424, 922433829, 267215462, 796742655, 46683181, 170516558, 833197077, 120826829, 611717541, 9411453, 60544137, 290014540, 423312041, 794522555, 534622155, 914111076, 966437970, 276873137, 726470250, 257676580, 171248394, 164218935, 81269551, 741414006, 158336362, 593579024, 310309500, 674422367, 794002401, 469024710, 16930079, 570152360, 810610279, 445228180, 59673263, 746563900, 874281959, 858424170, 542897897, 488882127, 309062629, 856388798, 441010366, 790205591, 371250841, 104021259, 641799326, 390090364, 317117782, 485359236, 748923568, 273787551, 116179617, 284975434, 331847944, 243494903, 957852484, 551216714, 209662530, 966844602, 437689009, 888215884, 878491420, 748808555, 10965808, 528272941, 894187633, 807126698, 517425330, 402617384, 975077642, 250313682, 212311573, 310970526, 642043116, 926203674, 900138693, 748599083, 106412344, 984537455, 332780104, 22430855, 996569652, 346242037, 201001737, 966878365, 159836621, 991597604, 809341457, 519284205, 923609746, 345075572, 284265799, 861866583, 233853650, 186656924, 736393389, 666542529, 962770219, 682042817, 759905172, 905772179, 844355933, 111755949, 751799716, 691132431, 760861403, 8885158, 350455647, 278808108, 713469799, 889025494, 747862010, 801885745, 868317671, 194226400, 901332227, 780806087, 756724045, 187622709, 808026270, 401490281, 88649648, 257441109, 489478990, 221600720, 542213656, 377926647, 572768837, 12874701, 357285029, 85908875, 940779843, 915490776, 838183731, 552213797, 915027229, 526323733, 72322467, 721822076, 428410366, 811362261, 964802077, 840249052, 107285260, 647281421, 777333177, 565252446, 556269964, 138324437, 95455375, 158411457, 397730928, 942880411, 806182433, 11794870, 121988107, 899346084, 345833856, 499908469, 288614516, 875221752, 705712021, 502761000, 134704227, 721652117, 328607350, 441616035, 413632565, 985781372, 471064350, 120282230, 340563601, 201612751, 220512817, 91915089, 649135511, 829646957, 831738184, 375052239, 629640119, 50875962, 811090659, 171222155, 736405780, 550663480, 653168119, 380217968, 88177140, 384678964, 658834594, 848323450, 740060907, 460117074, 563207591, 149169590, 281467371, 993916103, 181083681, 871968131, 852521385, 106395066, 856262507, 793073186, 936038540, 712096952, 998068368, 538034888, 568105715, 782133759, 613814797, 829144600, 807356778, 291615059, 848954977, 788563394, 351400774, 312974324, 573723132, 98667636, 274139513, 144816580, 444848949, 220688871, 860674659, 757713027, 531320107, 242903685, 222785879, 389000162, 573251609, 387164259, 660769611, 116579683, 90388820, 538853829, 839887432, 909635698, 664683884, 802442076, 553908906, 803823126, 421398412, 548540790, 414339679, 331267904, 195440208, 823143052, 400991272, 667866934, 327221034, 776845025, 639278020, 273830260, 319708548, 822300701, 102840693, 966055183, 894312662, 76621251, 104200355, 229074492, 89917778, 656425448, 254972315, 890118001, 360968121, 116111253, 822798054, 713461765, 672557030, 25286360, 413882902, 677106855, 200254387, 920011803, 634851913, 742616036, 821384006, 198699115, 325260883, 676761607, 944459735, 716549564, 390801196, 56875719, 93105548, 226360966, 944898957, 327554486, 903062836, 247280832, 175282159, 286424270, 492096425, 38296273, 497182455, 920580519, 516472547, 846737466, 132407409, 456423916, 659163566, 231766494, 395466147, 257679756, 13108192, 826580084, 311377321, 300422371, 816118767, 5566607, 229322143, 57108134, 36160441, 422457325, 395937992, 953794106, 669819963, 156459520, 85165442, 26790472, 981770291, 42982142, 320414497, 281530761, 818048566, 62997180, 386371970, 517135559, 543527183, 334256688, 525237606, 254219918, 124879552, 688117673, 182246159, 6960201, 987439808, 486232350, 470447547, 613479968, 549005542, 717078158, 507559104, 946400617, 888844268, 982834441, 59768693, 410569984, 442545695, 981178992, 543620981, 782916838, 741428551, 762089135, 446810594, 115229964, 901334052, 146572877, 84146025, 143648810, 56023079, 467771934, 814054791, 197683640, 728174685, 548902858, 942279678, 71432213, 954902111, 32604464, 177740036, 128590993, 579116544, 677493043, 352014182, 219964063, 81891635, 451333527, 424643025, 270850895, 240332782, 385052913, 127619527, 627851880, 852129510, 470438208, 770686824, 506126742, 698351211, 233211165, 244506667, 680063622, 778377499, 602205083, 622222580, 2503850, 97904756, 789625234, 850314953, 393988375, 638380502, 558123287, 395402709, 732674019, 585130689, 816566267, 396872072, 845453714, 42681127, 663483570, 451190000, 651796455, 98313179, 123798866, 397522005, 182226136, 124524897, 500854216, 133572114, 129257884, 836197407, 326639939, 953989183, 126704092, 511963665, 199608527, 780818646, 963664818, 160005468, 92106528, 854609120, 668653966, 427552965, 855320609, 814833126, 378540676, 546547582, 723949258, 941951823, 602822289, 306736109, 823202844, 474644135, 408544376, 740032558, 308582952, 496477452, 214306247, 435245071, 19671072, 507395119, 126939256, 742452585, 592301464, 343027262, 555127931, 49236425, 615393278, 808663444, 11606239, 45525421, 892928670, 101382418, 739986385, 51150115, 301890574, 415509028, 205923729, 496100049, 567910487, 420250332, 319510086, 945517735, 598815449, 45405579, 6891628, 707501343, 884246725, 177256464, 795018327, 414952781, 579599192, 862399116, 859715581, 425470621, 830885872, 5709500, 299452054, 800197885, 991526973, 488126071, 770797188, 51692434, 157387560, 409482977, 801363316, 226687575, 194929055, 580599836, 501914851, 663306859, 510112060, 548915814, 259298173, 660110720, 142513170, 268705104, 686476890, 500625486, 886028769, 921166434, 573254499, 427653606, 311826098, 139513063, 488397176, 246512729, 264288194, 131442429, 250652772, 140964910, 310320561, 129300916, 346427233, 555138618, 59026539, 25576825, 863062608, 64974672, 443464402, 280089269, 270295510, 954089936, 410185815, 774828940, 495409033, 81773523, 45106243, 288725613, 886891188, 680521930, 504413925, 783865025, 350617647, 738483051, 179755369, 429491559, 661777031, 381059701, 170804382, 573187256, 798803064, 558052914, 969786294, 86878817, 379146950, 258462525, 157292593, 110072937, 841114810, 903728298, 38054845, 832302482, 34891498, 432849947, 886256052, 769192276, 500082650, 959462105, 748283908, 119641328, 81282583, 125741312, 41979481, 609755422, 662508859, 871553176, 195067870, 286832514, 831089445, 790662250, 186957207, 826039707, 521331023, 211760188, 611277163, 765724709, 784875711, 743476756, 734768711, 998647791, 745307662, 771283988, 602328748, 999246963, 795752733, 927300800, 367784405, 401836899, 430169586, 448706385, 610376804, 198644939, 841932035, 286526810, 87043440, 587724156, 360064063, 123846596, 440700585, 417896991, 195646606, 135988234, 288514391, 351554426, 27757980, 214814437, 678003356, 698751646, 99427417, 18453837, 115541014, 898553447, 113030858, 266422003, 485801801, 675057353, 555843280, 909770953, 786344373, 484579850, 431207079, 50237437, 552599194, 599137533, 548811372, 777604119, 522138439, 956721158, 791739702, 931111132, 393615559, 54739511, 11443907, 317691856, 644800823, 407949114, 554952188, 147092812, 73731121, 376591644, 643736615, 497655404, 321526032, 200445144, 714998831, 708838732, 862928919, 281733804, 973585639, 800223639, 603034475, 935691359, 703438348, 315400455, 488029422, 590300791, 517355673, 279450442, 964271994, 354929090, 639806757, 52830752, 352304341, 588343651, 926802767, 905917984, 263431803, 446540461, 106568810, 974450807, 645846142, 141912747, 970228598, 689357494, 397246148, 812769933, 686285747, 680728575, 709448341, 184041136, 1124462, 922871136, 188018173, 147127985, 434142944, 222624236, 79316968, 378131713, 993701296, 41055334, 122899422, 686222579, 126277994, 182534701, 116374417, 416026821, 333513264, 926802590, 153859923, 449482886, 219894690, 658446767, 139050801, 273740331, 147404837, 524842078, 990912967, 269105933, 805375780, 767613414, 299809226, 725763682, 323766004, 808194480, 336751072, 240479477, 485212757, 805636901, 315630047, 653455701, 420426160, 937866292, 180748052, 720313157, 203266600, 660147295, 487109749, 590314574, 502958091, 309265162, 606664796, 694567161, 620727473, 968533819, 748952199, 614274751, 320290041, 113767221, 128865381, 873378743, 394814076, 500416197, 258121996, 250684415, 759304829, 295480594, 197356416, 655091140, 815192553, 252210177, 54618926, 172444182, 59691232, 33952214, 522824452, 224276000, 622278331, 803681231, 644037129, 247010902, 648370486, 988803106, 590817674, 858940070, 609526694, 514094295, 210471483, 205736836, 866129579, 387853700, 678307787, 118629548, 921325823, 257521233, 930426112, 892770748, 273671165, 576787980, 49311073, 966612630, 417674597, 718129991, 712424950, 177460409, 107400990, 526331814, 224671750, 36646947, 846744136, 183923688, 455415712, 861991468, 557411529, 910484322, 540405803, 46618468, 360309182, 446335343, 895766210, 760961344, 881031294, 927713567, 517553618, 924285770, 896569758, 993528179, 906418892, 613810285, 853538281, 760511829, 913025144, 572379715, 341463626, 854783452, 700140363, 513398834, 429964928, 110046182, 764106109, 111629341, 321389307, 823582068, 35999612, 981262330, 230067631, 747226660, 80349586, 647977807, 420005927, 201666578, 307964411, 502463084, 169199586, 119377735, 604987875, 840077691, 251771525, 12024635, 887685397, 786931628, 51769118, 608994873, 562063540, 737158461, 876020998, 397312618, 674913685, 970926520, 973224379, 440377148, 51460927, 659968632, 869339984, 22011191, 212794932, 485391535, 353796675, 764811573, 671627007, 716769022, 251075106, 354617607, 620014486, 104906829, 189029389, 680238544, 794753240, 205527711, 264245123, 912880689, 362172872, 84264746, 716883009, 722035232, 169870897, 125149123, 611245535, 918929560, 193804240, 627831614, 654208748, 167849232, 796001925, 330512889, 257424712, 535001681, 995355328, 12486864, 490545326, 337213365, 921511811, 707212380, 875525261, 26144237, 302158053, 93748490, 952335714, 806222001, 422405811, 681602865, 916407817, 110180498, 435147003, 272799953, 863969528, 725243400, 77577758, 644256755, 937102647, 765386982, 177078842, 903059080, 183995852, 15634604, 617067880, 333800346, 701983801, 591699435, 993231342, 69972226, 554202615, 91269525, 911879623, 879774874, 736008769, 558618478, 99179302, 984729214, 698138282, 254886822, 887889004, 669819253, 603705117, 171224525, 644266608, 798995782, 795559949, 142070171, 308429631, 689742595, 480671864, 191254498, 97735, 25351803, 392930112, 606491448, 460378426, 791712541, 621842794, 557731925, 920889874, 681659870, 301662642, 343403515, 637383536, 263383080, 926915003, 100848765, 349501220, 806019843, 753371111, 295914558, 558541127, 546776861, 970072013, 956686206, 501898639, 646332534, 418616725, 35730614, 20273935, 989322908, 297202323, 294817991, 861948484, 526755006, 541945797, 707064850, 669709068, 611870301, 108417204, 675165221, 325867614, 154641313, 348000406, 205521022, 804454245, 879759862, 89941349, 132660936, 175742350, 159178235, 123191016, 289413133, 750436021, 810451414, 453310357, 200700855, 309988094, 259960219, 732423670, 757284910, 963999535, 413747482, 510375589, 990990964, 904235626, 676690205, 799278196, 812905934, 911378583, 307909988, 596611016, 223355915, 403118225, 576917904, 347730578, 633318031, 220748475, 361860671, 101079926, 914981885, 599366774, 141476189, 519891970, 186653936, 230111321, 162978087, 482133009, 877304305, 382806793, 546154387, 764182381, 940336820, 278368967, 49556370, 154538639, 791668432, 552947347, 667953479, 618731677, 794333859, 483145388, 363846965, 771457587, 104933654, 201710375, 437284707, 308000514, 322296329, 446735048, 411071248, 950732236, 681695803, 848856906, 60564326, 435261206, 226020367, 813578545, 623057055, 865068125, 140008347, 842077785, 209490869, 768882417, 686463222, 410223626, 600239168, 489457236, 794663963, 554030651, 843800591, 453344201, 288131420, 852691763, 825405802, 544115818, 772489697, 696896136, 810274760, 589531328, 851233167, 764691693, 986526500, 119791939, 648641841, 938843224, 30814012, 760216138, 197015764, 669599353, 86606377, 12826941, 787898459, 241638504, 407903319, 593007396, 514904156, 707261037, 966845570, 944024152, 689301714, 849283777, 670397933, 706404240, 891853682, 820555471, 389667077, 568148510, 9470905, 656647469, 567137652, 445737741, 432652373, 824807148, 31935953, 508939944, 553909609, 556748706, 320235734, 19164585, 147788801, 96139609, 859701722, 143982992, 829822061, 559515083, 846078535, 475081338, 229313445, 702770239, 628545771, 92107080, 623449007, 443173824, 335348143, 169950598, 573838887, 172274228, 343116174, 950692608, 157452138, 326469471, 189450171, 719735564, 838417002, 167574348, 824098930, 823720929, 266617543, 340878461, 963191817, 122519715, 245762628, 396240020, 327530010, 186174765, 274162598, 312108402, 499466976, 246967162, 6869901, 374871074, 91231217, 117844154, 826410835, 946031704, 325818212, 218979663, 298230283, 758925477, 504442163, 68986157, 23870809, 986950511, 970918050, 307322873, 537768752, 516612565, 704846714, 881675775, 413405465, 172706819, 154346793, 104576153, 471611418, 367896091, 167880546, 26538479, 877973287, 901035931, 39792140, 811992593, 822202589, 184807699, 944684830, 414244680, 495692199, 486697120, 421886984, 19280712, 122020636, 698362531, 106180435, 277689782, 244594102, 192070864, 434879997, 968323599, 970171796, 672529546, 799728172, 30958952, 826021647, 904894857, 907316960, 930196368, 285410312, 17474458, 245066604, 617322321, 225779104, 908018432, 900117022, 399891666, 321028913, 879062188, 810185825, 33679073, 792774755, 130512421, 369223765, 670786484, 939915307, 44151468, 697843787, 501832325, 748909029, 963554714, 132966818, 929576150, 781896495, 262233654, 321392721, 230833544, 19393070, 377799891, 743807118, 908066279, 755272959, 651763654, 790244462, 425758797, 255226649, 598824521, 302100209, 102729101, 868478801, 500979334, 580000278, 160742370, 178118554, 412067608, 400528819, 713552193, 441566579, 469565801, 893744173, 547666253, 5227156, 122735971, 689878459, 519133993, 585690426, 305293550, 458464973, 184896316, 871762325, 231219395, 721736659, 33759502, 751408095, 40626638, 902200228, 662689507, 462445700, 320288440, 584159607, 498889424, 402803040, 164794248, 218742804, 702100820, 668973534, 575802884, 92638652, 822440061, 794586046, 552659743, 846085632, 983742558, 316556185, 542481659, 976091610, 195292617, 793810362, 865813191, 895046482, 866537567, 358429854, 711246223, 24581612, 838617965, 855874086, 893551167, 187061051, 874132032, 884769078, 102294778, 112536331, 885992378, 161609209, 579917975, 490741832, 931568884, 28786382, 833886606, 617859835, 707226126, 519578321, 545929785, 805560815, 902375836, 74692164, 376767551, 263758978, 29046022, 22029489, 570520924, 622239774, 47657228, 471605069, 236644659, 704051379, 406014635, 264438656, 92384313, 257545896, 245507329, 575257011, 824269688, 730759155, 658437058, 712411425, 913354149, 255867227, 925069944, 195836937, 446775431, 832974454, 937252730, 302017956, 109872111, 101058571, 752627622, 401397529, 213603585, 390674464, 533588045, 45367517, 958296590, 306746148, 830403358, 633524591, 509263254, 474382427, 287761944, 487018333, 287366048, 983416058, 66608142, 264735385, 595089334, 428558246, 830117287, 955773957, 358317034, 439282008, 548212554, 606745209, 588491793, 343101253, 344182605, 987213744, 685268777, 612214751, 719684695, 798531045, 172382189, 273220020, 807211142, 247826751, 957271841, 705648783, 512121322, 14140582, 475239401, 94615609, 482754446, 219096815, 742190047, 30348443, 820897476, 425767488, 842507022, 216961383, 211401384, 208972315, 47954067, 237171465, 281145114, 383879002, 122830767, 264423909, 48685718, 441332514, 573286181, 304648752, 872271110, 993602932, 725613075, 787291562, 849645401, 50880834, 312524242, 199073740, 138159411, 160273202, 812998550, 726891827, 956923719, 654936113, 482808789, 987308624, 778551978, 680707458, 670361543, 644025333, 31435833, 354661995, 805676243, 589515015, 998684643, 128564081, 406671927, 172641347, 311165565, 962040395, 439336585, 629895937, 867488785, 377310233, 849454955, 310996389, 663241421, 614824498, 514741273, 564819834, 894405046, 985785665, 107950576, 883371773, 241793065, 240857469, 572444616, 278200746, 333051781, 174840294, 246489582, 739510242, 810061335, 567854676, 838626187, 610189030, 49783782, 998394141, 102685398, 644109162, 640102623, 236698167, 150357761, 566968889, 367207762, 976134363, 817926937, 704933807, 279434775, 973352241, 338214627, 492348497, 14441047, 516194330, 124865042, 397912020, 852041280, 821658646, 767226324, 543747606, 981794252, 421891213, 919220010, 938989758, 240828542, 73294572, 725665981, 982458491, 703209563, 62807135, 706559045, 544435946, 774312284, 24032313, 69360058, 483527978, 675323472, 538174492, 93251015, 203165641, 16660132, 872962347, 172996207, 26911620, 408743497, 772382778, 200176908, 426482986, 40661663, 825796166, 231695940, 801504553, 391829303, 571522749, 906391002, 24069208, 773902011, 634947165, 945199906, 734660867, 922179286, 951913163, 160378374, 579904395, 563848651, 975034066, 761793665, 554056969, 618670554, 430856527, 107676484, 30664447, 759211494, 439750889, 674441493, 638089664, 296418905, 870097386, 670897442, 465819890, 532555467, 374768067, 652388250, 619262532, 347147191, 428828513, 745001842, 557503202, 788797715, 499224526, 978420915, 16971509, 883513383, 837910232, 932293771, 550722408, 219264436, 274902895, 753714794, 75915050, 803980651, 384625103, 933919606, 353467875, 268825780, 443610190, 200103798, 965597948, 671175033, 947742278, 689394863, 655454444, 685980944, 218936419, 401089371, 125015904, 800267592, 663320322, 492720493, 162102485, 481949268, 934938973, 657842967, 380367079, 639574124, 986871227, 822591463, 129552487, 89353625, 344371111, 687338820, 895048159, 307130709, 683657216, 130115831, 709282995, 442391818, 707668269, 723844659, 577563902, 350914410, 762027242, 667528409, 544760410, 522093921, 15678651, 306861249, 755298564, 976611242, 660971612, 924442881, 120612266, 531445135, 793652858, 728961459, 732180799, 687470807, 985195682, 373674483, 734984552, 145276730, 56097935, 353002740, 932611122, 121544313, 859687528, 401964857, 326534282, 709927356, 660678595, 273537746, 383622172, 278669936, 526169274, 583899239, 386442795, 18792638, 343053121, 169762337, 618605125, 277334769, 391267332, 158680462, 102195056, 348993944, 447971106, 331105853, 123692962, 148654358, 207696784, 782590532, 417304973, 566512414, 119328201, 486138024, 891828008, 454475094, 540100727, 842301435, 394678911, 268380687, 583677251, 380887609, 663385202, 71974427, 439676588, 439340162, 473449065, 113910072, 804442334, 553410326, 857363197, 404239822, 760209848, 166805198, 592480434, 91455098, 802891549, 747689071, 590045468, 321350605, 777904601, 200379497, 655792760, 321467535, 222909356, 463307618, 846695193, 470703857, 122118347, 924225691, 373308744, 111958902, 277921447, 60586526, 683300183, 656887883, 668298466, 394839600, 473015316, 350418612, 934081108, 905033544, 933428581, 979252383, 849276055, 259403060, 426576157, 663353221, 993915675, 941290717, 358018155, 836745863, 552285730, 506684493, 318644380, 197492914, 748077056, 440088909, 869819040, 707602722, 733653784, 753761171, 615437268, 942346606, 88666168, 642760454, 939695582, 162996533, 806855969, 469838762, 624078280, 149297059, 778277685, 998792370, 620507657, 57444412, 506437740, 879532353, 361044720, 402314271, 599638599, 711959702, 135957177, 778712796, 777155986, 713076166, 600218645, 672340874, 650476425, 937996427, 705203562, 120695383, 427065496, 584696030, 864817200, 8980679, 659227775, 815954135, 801043889, 713277403, 358251729, 818513611, 701741876, 533294222, 500772855, 471724699, 498814767, 463189171, 885513730, 253761369, 585508970, 58781427, 142904608, 498293565, 273775612, 237428507, 715947426, 267723949, 823080942, 264237765, 519104956, 894020039, 518884774, 353680957, 812558537, 349275851, 593259198, 994984772, 677153808, 903909490, 271201368, 349915902, 964816461, 250457550, 856091869, 924054440, 312479434, 139205881, 458459324, 104335127, 797137130, 160828469, 706285880, 235169070, 867924296, 829678925, 148027273, 825999116, 786346137, 48714608, 688498314, 458868423, 128927215, 707313974, 686244784, 297586832, 302200698, 303160811, 887486321, 673300312, 597478634, 884930617, 273421255, 731733903, 383920324, 555545454, 456754578, 439567575, 153149796, 638912069, 459099424, 306748111, 105375405, 489902740, 714633744, 365627725, 692286810, 572929661, 656281442, 488196172, 630363321, 457241851, 780756055, 520659899, 401195347, 311692015, 631838304, 532320812, 184035707, 499515549, 786587451, 340411374, 153439787, 371671657, 760427106, 152432022, 504008093, 83012267, 48126943, 549557377, 661379714, 725095059, 185674445, 996708337, 709578204, 394066145, 649225774, 882400934, 995934848, 715552221, 634610158, 374436115, 988426669, 538730333, 409847883, 285505987, 893350414, 891356559, 481372494, 500889077, 2739822, 963783458, 171052932, 353485484, 613392599, 507735657, 711158099, 182115595, 724564475, 888709916, 891800382, 289913862, 339266101, 882711934, 124908345, 539597148, 457322921, 930572060, 345735755, 734709457, 188597444, 165051925, 391214231, 593515177, 192147987, 24017230, 744765114, 562912146, 349656364, 677157530, 2288088, 551694153, 589731284, 757540282, 659064810, 13930047, 832502804, 38547233, 241169111, 537901736, 421951343, 802075916, 456962514, 110801565, 72017911, 674188723, 807237624, 416670766, 420434844, 256341870, 26222837, 345068645, 966537639, 206167795, 376841718, 834140731, 252235896, 9166978, 289620896, 131587090, 972752680, 518689379, 844475363, 52359929, 464589977, 156915259, 220621443, 939587649, 829296529, 164469461, 944250023, 866643474, 258467405, 391189916, 685309713, 755327731, 661878585, 660293525, 596518565, 268121047, 639160345, 795110215, 466740277, 80349517, 900919255, 325916258, 458155514, 648501376, 683552945, 696313909, 796285758, 761805938, 89566536, 347487829, 859912187, 872881894, 478624057, 995180884, 776535005, 830330973, 4225950, 436762290, 929712754, 566313824, 508296278, 203787826, 606035857, 34172286, 152210517, 321504213, 272846834, 769695179, 47559636, 799237684, 574632732, 854756781, 886351275, 391342256, 441251255, 534194571, 108224866, 673969879, 529422240, 702997605, 731664919, 143806581, 195069200, 606783075, 237032843, 535441270, 543531360, 149533667, 913495715, 299695446, 839908681, 687621375, 45005709, 965120806, 557524956, 113519892, 812330460, 722962000, 551124459, 249708065, 188433819, 204693051, 899371799, 7083721, 18236975, 177690091, 172953264, 372856540, 223481706, 154494352, 272425733, 92049659, 733415535, 356486879, 399182176, 117907719, 522635130, 312208158, 308033720, 969177941, 98386761, 544156133, 913412054, 406384912, 352749572, 730918533, 122954590, 673254951, 382316789, 788585540, 877535528, 372434954, 549269072, 481785670, 195560052, 345564667, 662426162, 574872458, 737478174, 944417872, 301261998, 80321142, 171386870, 645777954, 453353925, 152781889, 173464089, 286123035, 48317940, 673431119, 544252179, 605668162, 517110314, 424722409, 573894800, 707657457, 815934524, 809839100, 782200335, 157802907, 996116330, 416707667, 278777461, 147415040, 444965550, 154412766, 853966493, 220239684, 837748634, 474060950, 783967772, 291830803, 814513861, 446960945, 934888898, 678561911, 668538044, 787786210, 925281059, 854262089, 440961417, 892339879, 301159623, 462101429, 657873358, 111259917, 853508835, 187369355, 581907889, 429876407, 648905991, 758967123, 162627437, 288522346, 514713663, 897313561, 110133241, 513234203, 966438586, 716216677, 699642103, 426832950, 431954012, 982092674, 838260371, 766541886, 218437111, 955341895, 129040007, 178947544, 402913517, 459087132, 485481342, 403143740, 441860497, 670082858, 319536947, 149432737, 654819165, 740184050, 226277694, 139371906, 713034912, 730492164, 923577607, 118989162, 947670619, 800813086, 759151300, 79730130, 837771828, 650866984, 703684663, 803549406, 997376744, 779138679, 441392621, 407221141, 143528316, 600068533, 882343944, 31503029, 923497541, 15631770, 858020252, 531797974, 597368226, 527610695, 854955866, 541552139, 889291636, 282326126, 563234007, 314345748, 965567775, 341932764, 665853136, 765081834, 151173078, 430653845, 697657005, 349361935, 889889153, 184728536, 224924116, 413904420, 472901505, 76922160, 647487616, 909762598, 830327340, 620033240, 324909827, 266592983, 425030900, 781389687, 334695314, 176691381, 548857690, 142403975, 877326374, 650571354, 256376717, 83100938, 167681286, 970128934, 222182335, 446147558, 160187379, 626814971, 411102968, 143775522, 866806099, 970344854, 867869095, 832581085, 664086786, 896687371, 907084132, 692479651, 887882999, 782385366, 746940568, 877362908, 921873357, 743374191, 586245986, 424097306, 130378181, 542197779, 395391669, 426429063, 715795766, 291950494, 619640624, 190302190, 44943943, 89457411, 870600775, 932325829, 142424760, 775406252, 969101350, 85285101, 432977124, 365496328, 336689343, 961439678, 233423662, 207686527, 510639160, 408044743, 546528071, 335938933, 184095723, 574227398, 451015416, 950605195, 680196290, 606186930, 418355348, 722207252, 195692306, 135693693, 806397264, 901302192, 134401491, 934955684, 109155481, 167059641, 995812378, 641126551, 774941876, 110076093, 524117985, 60867039, 325000202, 298240756, 708956439, 446280104, 37558487, 49514611, 859840712, 368179390, 359133883, 696327040, 274743295, 127820585, 56103018, 493265343, 894669149, 805632960, 398903810, 474257712, 925572992, 695968151, 907947780, 612725716, 867094674, 616054308, 576360233, 335295216, 931458285, 978536239, 580585895, 491150521, 291623524, 330377892, 432674857, 13508198, 789696823, 6182644, 655836167, 824413153, 485404735, 539418708, 727628072, 691643916, 375327239, 452359578, 846133026, 131010442, 194809720, 89275092, 123107299, 522534162, 224871986, 815209032, 914956093, 573397224, 336597510, 821210934, 910761627, 803292635, 483530932, 666108940, 520611112, 479404124, 123293202, 515651744, 7246275, 654798509, 834928743, 956014942, 556858778, 538909143, 38654439, 439014935, 274738994, 10670527, 161941833, 266542587, 52189693, 259225437, 932023244, 224140473, 149370714, 132756006, 561090173, 160771425, 839609125, 825442087, 593066437, 574984693, 364655344, 712764847, 409424084, 496494302, 601284057, 251160815, 638937441, 384274033, 366274968, 315235839, 571248094, 400952578, 172050825, 958177090, 391174724, 184964151, 388175308, 91906468, 130126935, 590959516, 7955264, 918917880, 976119370, 287284118, 97527130, 883498326, 529998557, 287747455, 537074191, 42127420, 136197539, 53535270, 549055861, 857431989, 243189333, 124579347, 359873047, 167471327, 485890364, 932611815, 291951216, 620731172, 406111529, 383812592, 283246501, 322610530, 96584814, 406103323, 48196605, 710530390, 682622939, 813363517, 230515936, 175475158, 483539285, 783778578, 740752799, 755772155, 819681124, 538738545, 154394910, 904868844, 804618190, 449295853, 324699194, 415457157, 523657166, 98050561, 345109286, 688851137, 438454285, 411436609, 538453340, 936285738, 515248153, 651636312, 84554164, 835010584, 347682377, 765121196, 31356290, 679653740, 266659199, 108083177, 14491359, 690797785, 179319211, 62730380, 346152052, 271255993, 39160186, 313516202, 176985799, 791694627, 478203888, 491224326, 683115071, 791623343, 668708587, 409308037, 798112136, 133722102, 770823964, 599543655, 379973957, 125807073, 892998005, 776185602, 353474374, 792919462, 982612204, 45934212, 559743291, 750315469, 377462037, 192931512, 12877796, 783882588, 131434575, 433722865, 390873613, 867872592, 477615399, 711488596, 972071018, 495291271, 589462552, 406159920, 617857738, 649118781, 149681191, 896795845, 401436709, 282294584, 926549514, 689252045, 681826223, 635454345, 514009411, 570284948, 615734277, 891495929, 939567100, 963808223, 273515328, 867103683, 788318814, 681364629, 892593529, 795078994, 459081076, 106523075, 208390277, 900001651, 582669277, 109248905, 802042739, 155735428, 262263159, 525588490, 90911065, 284466478, 878947249, 849745019, 164717189, 174417056, 505089768, 172057176, 640345108, 696029490, 478511927, 189722116, 738075224, 263029394, 721078906, 726092143, 486028014, 330384857, 505487610, 166039016, 166627222, 402912113, 975171282, 365737674, 392709127, 330554703, 683350088, 689138248, 101148367, 408362258, 788524606, 568800432, 293393722, 460146311, 72565474, 843332438, 811146921, 425485766, 122986392, 585905337, 163996885, 86133044, 289374799, 234420941, 897133986, 725354979, 668585914, 249052912, 957336381, 121854297, 723418258, 338622788, 577491350, 871390382, 404873679, 91507141, 279687830, 34091506, 460427155, 641392825, 225304438, 526916633, 6871783, 760458341, 104902005, 198110292, 365694365, 14002945, 510900927, 537962155, 210603856, 677943423, 182183224, 82908563, 775230936, 500668229, 861585931, 598973489, 640917802, 531343752, 908278694, 231621323, 111621147, 908223164, 911715383, 443639972, 846069567, 954503148, 823355777, 411178511, 812900552, 577210850, 633762197, 100782455, 496867052, 71971802, 989575143, 298750374, 821937382, 250424543, 417169211, 801957372, 262841995, 471364109, 971096265, 944084985, 4988718, 947490774, 545856616, 762722347, 535136465, 946480250, 797511213, 194172791, 274097003, 908888959, 995759574, 603524049, 767088862, 312394984, 284927081, 399474453, 652507207, 679572612, 723458127, 775376184, 876737304, 489828940, 859411548, 907675774, 55036958, 636636644, 36914754, 38614803, 342306102, 150858917, 360269515, 227224982, 84789976, 483022994, 125248011, 311586172, 943533458, 324894694, 211954594, 169665245, 989155206, 3406921, 725788029, 986406932, 963056642, 291606631, 672727781, 538547950, 863627898, 715796534, 776090150, 751524374, 610131395, 78818388, 943869654, 493239538, 442087202, 189365152, 450406390, 463436105, 610115236, 425772183, 359866820, 289816707, 798328949, 191032229, 245417655, 368842970, 679392431, 536923537, 888627560, 812215673, 381358286, 295967072, 325636578, 929185644, 96126032, 53417715, 399445861, 15088867, 851483819, 302956919, 181542188, 477790416, 638256628, 226746802, 950679696, 405647204, 762975411, 443446327, 912788521, 726066293, 175887140, 713239553, 452455707, 230223635, 71425181, 254678270, 789543367, 753708534, 435647155, 292381364, 459822246, 909977501, 410380145, 746187736, 685869050, 620483280, 305634445, 440866879, 524044687, 411552025, 684482481, 968758230, 693562550, 885968196, 312563621, 218913584, 457000090, 172352635, 844854243, 218471034, 811353463, 567540795, 176504302, 721829063, 704878418, 828441385, 956469862, 979712222, 276415665, 339795341, 346529360, 573546095, 684313711, 970291658, 760510273, 292827650, 497015013, 319978747, 946373051, 649141920, 741491122, 166982217, 475439591, 121187507, 764849901, 250731076, 418411536, 250405551, 267089828, 900410742, 37356554, 798143892, 979368747, 672027635, 442512354, 586838334, 419235729, 910290434, 188047295, 68535211, 742650427, 712400097, 680746438, 491787109, 956190158, 156293575, 543085165, 941628738, 291576237, 538250060, 303053172, 673108390, 216997074, 85744510, 977007788, 894687024, 960065492, 477603876, 632326745, 296642770, 495848543, 731521119, 995691147, 143120078, 310301334, 634337155, 876393396, 41753741, 500181680, 399610166, 823847488, 989313804, 168957549, 745082181, 787066602, 978139689, 52797903, 37468329, 275742777, 47950698, 353096929, 609242041, 586594712, 370023883, 96207030, 26439817, 309017496, 851452177, 384783213, 117914794, 871263063, 527251886, 804016186, 264318209, 537577964, 473712656, 521082474, 271948255, 576736087, 29650739, 179884298, 416217478, 907024431, 564132918, 824732568, 828032038, 81915463, 237337769, 293982352, 405878039, 388112570, 164377420, 485527114, 693341667, 752165208, 98361086, 912997560, 22103724, 840593744, 926106269, 175190920, 532828212, 268175280, 48086563, 592630297, 904197737, 277260562, 303937586, 655735924, 254049504, 244804463, 29313954, 469491656, 227589953, 902390244, 532152205, 726429033, 337543226, 5760322, 422873157, 191714527, 64974559, 848643904, 558536104, 201470422, 376654431, 342292231, 58048787, 632713216, 731261644, 416553049, 268182634, 979222721, 298191727, 202784039, 840324968, 469864212, 440625535, 368321504, 153288878, 507332518, 40531655, 155693556, 538662532, 854876385, 273996577, 316997912, 179274774, 578743684, 668576190, 58008951, 660231886, 964199841, 441218229, 674444658, 947582464, 296842615, 589928038, 181047365, 14995913, 582766576, 868479130, 320444753, 220301969, 556705929, 507377572, 600358327, 782586452, 708340039, 488343180, 662270712, 290390905, 873129863, 557107799, 556653998, 162974869, 871037170, 380764571, 616736562, 356600315, 692648660, 22163522, 931675730, 525777040, 560449813, 582965470, 612138501, 148657158, 946502049, 959374223, 818254213, 396681511, 973762742, 400213991, 593903988, 96738290, 999724529, 592754325, 764325333, 918382006, 247312146, 64186646, 563758862, 584702547, 995824830, 120914239, 976854302, 820980820, 620443387, 153763448, 571427189, 18814760, 641967668, 350349163, 798036062, 793614312, 681101649, 883427315, 41560792, 829992812, 856868802, 934590379, 394029391, 687237682, 195029424, 353603944, 220955275, 896513518, 912740013, 930167845, 968008613, 679110581, 220537519, 381939853, 871122312, 520691238, 811815730, 638266665, 251588055, 189705191, 188446104, 437900200, 984773232, 204885652, 794450986, 111479158, 758681757, 169083606, 751962092, 726275275, 475068134, 18170916, 333643864, 524293610, 995946606, 191791460, 295954586, 738395228, 906861475, 161293998, 421899386, 388377105, 472258122, 639272584, 47686797, 589572944, 921235097, 26613320, 700150310, 66776563, 315510617, 606050384, 550280761, 242960420, 527989800, 224593113, 22982424, 401708660, 54499556, 58637266, 189023303, 504810281, 695101392, 756451805, 406330857, 522824721, 222089174, 326732660, 193492938, 988320756, 833356967, 940963929, 397156248, 3995400, 933552291, 813584371, 938431439, 87495536, 347020229, 78385090, 566204446, 655307597, 474226686, 221537509, 300848754, 908855010, 737425076, 698115569, 880405189, 410886908, 859823985, 542907702, 339634289, 132009747, 179509833, 740151137, 444300753, 253647929, 322548353, 68710662, 635642562, 990209561, 154703735, 682389615, 707080499, 836469683, 334216047, 651809869, 253564400, 227993787, 335269602, 161737882, 267792977, 936310872, 312645563, 125628290, 258543580, 671053957, 415754185, 700101995, 136515186, 350586600, 377509899, 858382596, 950171315, 957610013, 841233921, 152444143, 885856711, 970658243, 311676079, 991158587, 416967812, 584010018, 428190833, 132774234, 453554465, 374178975, 503474680, 472853426, 629332902, 918724549, 898358594, 580975815, 86867236, 620861698, 699376753, 439499553, 201222716, 296926479, 219262096, 167135588, 505517869, 519588397, 802682429, 692647982, 520359251, 529598505, 355128835, 438498460, 69233905, 764769984, 364803982, 97874630, 218231924, 803134986, 962005857, 866903516, 734514276, 563520466, 800519249, 134150960, 491928288, 763662215, 889962914, 83203649, 443116979, 232242832, 365197927, 510023752, 99826828, 238112988, 559377870, 182819010, 276348693, 129546251, 527222790, 736759038, 616440311, 369478984, 691864045, 954465741, 274434884, 51637772, 781041426, 652721839, 397438953, 268552484, 597308159, 825424292, 868276958, 829201315, 969021828, 720053872, 387125902, 419326571, 91217279, 461823973, 653145895, 759181916, 214648633, 65806343, 887247674, 434474973, 658603617, 82558642, 547881855, 615390648, 679242220, 800929764, 184640122, 143393549, 71285588, 710469160, 406072330, 267346765, 823126594, 506464367, 490972809, 145629562, 452643737, 230680316, 574117885, 523972618, 149252843, 588343657, 592182381, 500904470, 769161055, 755063555, 10021753, 929000540, 313314730, 105731757, 45122964, 599017792, 683683075, 802111283, 25094326, 88878780, 756761652, 483477130, 719199432, 426590528, 38493325, 208734618, 147113638, 195018866, 609656166, 285278189, 44479982, 844726442, 610167192, 980386519, 112220391, 262642252, 922604175, 991682726, 420552255, 483368260, 162272776, 551148315, 979292319, 947809115, 942607736, 221861475, 715938599, 563747268, 815330723, 902004882, 475595956, 733911792, 884014211, 692483656, 737875153, 480779908, 108385157, 687788872, 738272109, 587229623, 338274412, 880957350, 953315253, 78376749, 709932410, 105826586, 875074057, 896319297, 230220923, 943744935, 93909394, 113525642, 475715618, 541643629, 336729941, 449426604, 908541277, 915672565, 952066727, 634169854, 595296692, 859389001, 809250785, 649338320, 44599847, 10322064, 38261479, 403851372, 651797361, 269041550, 791795605, 839972152, 527165786, 219222344, 572657148, 92586543, 607357231, 828351748, 32282462, 807116064, 560108022, 868941373, 747577020, 544312352, 792918528, 155643846, 33686570, 409795203, 66393565, 20559982, 405308056, 658332752, 844119514, 432719772, 241110179, 600184779, 774239729, 124460355, 755652295, 799959396, 717480371, 381127904, 262793665, 697683412, 359222936, 24350320, 72575521, 144267017, 419651008, 684322539, 596298168, 181197516, 39925123, 373443064, 469598226, 292416827, 206649902, 895152304, 841794305, 45722848, 438727913, 964469753, 796097452, 148304939, 673863991, 265616795, 117324102, 657787158, 141918849, 249923260, 820548912, 732422847, 152796279, 9737314, 950458144, 318191822, 804299221, 454197332, 916870046, 623762354, 122155306, 606834852, 348844999, 903832997, 302064277, 461653572, 937896707, 806177085, 905183369, 648741654, 193544669, 184116059, 53881589, 864259231, 89612861, 795126971, 888309350, 501042366, 229172576, 270098443, 367789670, 315812943, 468184808, 242301675, 358658168, 639063680, 828670666, 798461093, 850249685, 271410444, 585108037, 251984086, 116046790, 149747255, 884329745, 813297305, 9185747, 10536029, 20972908, 521513297, 495394894, 205721741, 997056839, 690874692, 913581901, 337281961, 860096078, 258028644, 224737117, 865969448, 177682149, 214434922, 649793557, 938006996, 562267180, 200464602, 138769803, 838024255, 470849258, 653492793, 358246246, 633867371, 624423912, 16613854, 84033893, 529279273, 746806400, 344059599, 198483142, 786164490, 553556698, 779602487, 988085095, 901726759, 273900125, 174495550, 346299659, 457051980, 473885562, 257593143, 550329419, 426029194, 358422962, 972639872, 964072827, 708365436, 459569730, 820436080, 878046061, 742485604, 130245711, 294999229, 233748335, 959922295, 128610628, 544051062, 272823219, 187645956, 616546902, 179391982, 746895885, 912716231, 682053810, 842491149, 215119265, 718279954, 875842711, 642026720, 223449599, 766477283, 809023235, 402383703, 524668014, 237753485, 370402491, 488758578, 690167008, 985056637, 382250737, 382967929, 833569191, 164184123, 704993338, 893006875, 544977687, 364462914, 766901604, 705097080, 657413498, 701240335, 288033287, 106376779, 818962621, 531846261, 263242020, 859881405, 38041529, 418940438, 365726344, 126940333, 233228837, 976036015, 134455410, 836960756, 922955983, 303065553, 817508539, 837814649, 898044026, 37591693, 423387494, 632926541, 4723262, 208047694, 290480900, 127516220, 656167284, 421669924, 582923035, 311635887, 284640208, 31012611, 621196722, 557526465, 620234717, 826867994, 651335539, 338830597, 902794121, 311314987, 295462924, 488022628, 393076640, 65342868, 687759165, 500097244, 662782150, 774069956, 527441214, 347287848, 810468827, 926052480, 873513416, 904818311, 605702025, 49789362, 392458587, 298618539, 45412030, 746900113, 459484322, 171687527, 75596266, 202007452, 355300562, 599736383, 234645883, 835787154, 936190502, 555133171, 576071650, 890516132, 717124125, 170429383, 938702161, 873834431, 427603537, 582178430, 614335958, 25343058, 299589633, 259438656, 336719456, 239140725, 479022731, 851067720, 558168389, 506072430, 175123842, 275942838, 647924719, 608318957, 117244893, 949678091, 380449820, 611334558, 619627420, 863212662, 300802463, 372385755, 891407039, 633908546, 847377135, 627645321, 519514165, 222265986, 830572735, 536645148, 736786968, 824298672, 834089572, 56510933, 269521316, 920914477, 479189207, 171264613, 402811628, 604741844, 39291450, 30489825, 869679440, 798636286, 403105274, 131992939, 480773070, 881654462, 11239966, 52809726, 183463499, 6875938, 497917095, 193448343, 382587964, 172022049, 308108369, 471321221, 590710217, 634532594, 956798499, 526248463, 630570807, 546295936, 403291153, 388015691, 722244085, 802576598, 600742962, 59937652, 957204591, 7305613, 902283231, 716185665, 887357249, 241172114, 426202008, 946368874, 317746351, 81491164, 276746441, 663264662, 201775194, 775797866, 230656617, 213182583, 304101331, 552399413, 429411167, 688062215, 607857426, 901876720, 857798410, 142850384, 115151958, 489166983, 986270361, 316664155, 129880996, 463777150, 872797092, 866627384, 763018587, 535762243, 832987539, 795981098, 146036016, 558211373, 36925090, 391342635, 471830378, 873475176, 923786219, 620848032, 840743469, 94534935, 438045302, 551430468, 97225077, 554156865, 163069476, 192088754, 117528913, 597986836, 335969987, 945916963, 671624905, 188757323, 432308691, 357738274, 269658784, 972302436, 842315174, 782626505, 374721092, 970655168, 965508722, 546066604, 85686312, 768024163, 637558832, 748325413, 580564438, 602333545, 459175278, 284947053, 606026085, 326307372, 981866027, 786233594, 261658601, 101929239, 346615889, 372592432, 654641518, 173799890, 514497, 719945455, 304352598, 987450061, 221506546, 149256530, 589640282, 762892944, 851966909, 133518, 376977608, 704474736, 674256883, 987487353, 196991484, 355991871, 273739376, 713999941, 211699120, 955898546, 83312004, 474100477, 866441447, 331313896, 921108905, 606144846, 10089357, 273840316, 250276677, 408383403, 994909087, 65739681, 944811716, 655695536, 373218895, 881547132, 362429257, 323577573, 36009912, 97450678, 161506770, 100918460, 604852034, 639653069, 740182599, 758043826, 54849693, 587759135, 674205809, 262794832, 400132053, 258113873, 108525520, 215661761, 926660009, 620483005, 783117819, 736789862, 833820866, 838260781, 193129252, 583028702, 467469822, 785556565, 278613702, 51055145, 965731248, 546223551, 314164101, 646195889, 121521465, 122705052, 142000674, 96668236, 546639638, 637000667, 40027195, 542858456, 137898986, 304379248, 921636278, 175460223, 632497310, 750460074, 596487248, 229927772, 146652667, 770626943, 281311162, 899487649, 868232254, 276062478, 590632140, 13872798, 178971467, 221157427, 893161764, 572757026, 544237247, 732827069, 460274857, 730698763, 664140267, 713260056, 45125941, 897164602, 732138603, 947640882, 701743253, 126165058, 473192755, 179988180, 701161352, 558678238, 526459773, 56010665, 900690251, 912660719, 621751165, 408443898, 281346966, 505035184, 878099711, 133482839, 54618764, 375610303, 10178239, 292336657, 265561159, 721188004, 19307460, 863680461, 978473837, 954288662, 659112852, 907034505, 482497339, 868933181, 266593845, 59592430, 903629136, 213052125, 604209500, 124771918, 969136262, 846873010, 553213171, 927167594, 468557874, 652090095, 808340229, 92007394, 858909698, 984308647, 595961886, 797230743, 456563561, 207573708, 789679117, 267206030, 405774765, 506206824, 448790290, 357917734, 500283263, 713489939, 944568050, 838791999, 719754277, 457330028, 114060168, 339859521, 516879981, 748072100, 308672311, 157396897, 456372278, 243620603, 491769029, 174082616, 795339442, 994062162, 778197769, 476630580, 952706, 749620001, 920117777, 863652103, 858253606, 417917505, 107067791, 615902912, 441139364, 461744000, 638182439, 458122523, 288123844, 9507976, 213243414, 462703904, 224050500, 378624654, 565550655, 172870782, 402096026, 240547541, 735445908, 134391151, 295626383, 848440291, 27893088, 810759989, 647547774, 332265873, 907962448, 732387592, 191385664, 375791419, 145902740, 114851487, 550814946, 841480189, 784252801, 249367556, 650666894, 184946263, 97584679, 156145440, 747367843, 618531384, 918021380, 216237305, 478898666, 789983945, 821284586, 28632942, 978350469, 554704212, 65741207, 473958846, 325259778, 281668074, 561133171, 729355320, 410386637, 16105733, 820828963, 127895521, 432492012, 843394761, 454373503, 713562624, 793270538, 47250433, 802674020, 85655242, 218995160, 291732813, 981385332, 417514075, 146210237, 470777603, 755784128, 99405782, 666280051, 387046810, 323284883, 937441735, 613928086, 531026406, 363937514, 840952327, 274824048, 642750733, 45985445, 424704223, 538583869, 678016772, 166861527, 771786303, 828313644, 703653512, 327154652, 809309086, 97602636, 987613636, 664737355, 424490473, 985519811, 280653760, 300702831, 352888869, 958019814, 655484587, 363340062, 859160299, 900023606, 276806246, 391848982, 493053757, 979501466, 70076448, 396188172, 514072363, 35051818, 979674350, 292009971, 992841242, 691071811, 909535198, 768112116, 847314446, 696219405, 111436622, 490706710, 990299579, 788919226, 400105197, 213732813, 92228573, 894653897, 152950683, 477459384, 167842017, 23803297, 623864506, 709540219, 732106153, 421253216, 615114782, 434824619, 292230129, 211218213, 363455453, 293384788, 777189389, 752979528, 449038080, 32209153, 229421324, 97732257, 194148278, 508619694, 661619838, 712069768, 674955457, 409208930, 154362534, 238036183, 139218047, 92983051, 809507262, 664672478, 762543802, 125746379, 876306470, 450880170, 520751042, 191652041, 558622175, 104326405, 402486309, 554997401, 859081410, 698199640, 93860957, 478564253, 466067502, 363593414, 272567879, 160353333, 508626603, 82463278, 567800051, 875899463, 110222481, 522312716, 672945075, 188775228, 15379455, 207455256, 145297167, 11577921, 908206975, 211641390, 334313137, 540034850, 87900341, 399128225, 999725931, 185061023, 652665823, 834219624, 909445112, 446536922, 996994667, 524062803, 162109391, 769337553, 391588156, 502152030, 385638396, 748582726, 235370008, 16239971, 933040821, 989862781, 174691634, 613397786, 552091004, 232601446, 375834638, 118238964, 288438492, 335514789, 595512041, 530571471, 997607335, 432250802, 657639858, 593267595, 287766066, 194912524, 436931593, 322548101, 687713663, 517660094, 119238185, 965369031, 340049475, 810069697, 380635862, 187374279, 726926374, 8063916, 126197765, 804986015, 396170944, 671895298, 258832819, 576364260, 390490395, 187828241, 870457485, 134387026, 420711516, 815846281, 314673092, 947086098, 668212064, 337280815, 320411629, 106399415, 933101940, 347071991, 78233050, 751789871, 109504146, 962909850, 710934557, 955118235, 966792622, 755886246, 911090205, 789996467, 338197911, 607198649, 267155147, 403035382, 204369037, 944160054, 166773892, 534446330, 241150331, 585121658, 819962953, 972463668, 662753414, 664810530, 901793675, 897472188, 39850205, 26871790, 96544188, 492133799, 542154108, 173080913, 345738322, 458164377, 692624782, 36608180, 453645218, 611843558, 14211546, 622384017, 643947414, 382736257, 981076962, 628649010, 606398110, 82977162, 475623227, 278621398, 602381050, 142834104, 130633462, 252738262, 64185928, 171270688, 466167411, 4194972, 482128443, 912151424, 687375827, 372124724, 981190658, 616520637, 7778416, 244762491, 378771365, 603094950, 41601532, 508422470, 918376401, 485351341, 499662398, 536019439, 551657102, 244068641, 982957888, 652301374, 543227204, 623102227, 682342731, 198587975, 349034823, 972906611, 611109433, 238831672, 76591555, 643724712, 888589237, 367351525, 361675239, 364823959, 109953418, 173220927, 844226580, 977521188, 61172589, 666968652, 112759739, 87696044, 978566448, 261554635, 160304637, 755024102, 783690674, 854814409, 476256592, 503081886, 850184196, 412253632, 667232324, 383438751, 91214696, 195473300, 976206527, 619694671, 268047417, 199738548, 276530496, 549860540, 288814801, 534848934, 153037634, 429699482, 594117118, 626722744, 69697602, 270790368, 285262836, 348584881, 863024935, 964557047, 760656041, 502665706, 995802528, 397262629, 449502261, 99967225, 291626879, 895787339, 668480230, 286663542, 817513028, 353235823, 991003522, 593510480, 369026536, 294759253, 995761935, 258540888, 713167720, 138974584, 974850801, 983430867, 692200053, 999185946, 339626149, 623732625, 53507461, 469205550, 66902496, 968284466, 710167985, 866393615, 63366037, 311596233, 185326604, 941124599, 448101180, 194624652, 377824385, 431230642, 517508063, 136216472, 357127958, 138409136, 531321576, 872270080, 94832133, 649526258, 632570593, 725980947, 854482676, 432043724, 523546800, 781014077, 936195015, 934207339, 215652676, 381001385, 453016739, 538167040, 652716135, 737993582, 261648104, 975443586, 455434925, 926863862, 88399661, 419735827, 672636584, 401277040, 834216974, 469250637, 334841333, 29961156, 937066519, 857586080, 878494883, 664230227, 989155365, 203735074, 974097609, 10991174, 114964788, 447728496, 758553708, 449401644, 711260137, 956201797, 980852588, 884583698, 185621518, 81484308, 553674822, 719743771, 690701914, 785785583, 945631297, 92799979, 902806640, 955971815, 318946084, 659370317, 751865432, 969456202, 106561176, 951508723, 271331824, 369716331, 811637816, 603139894, 213583383, 336645685, 431386655, 418678169, 847699887, 564289601, 496716810, 214270062, 748673517, 889714115, 557897956, 319488327, 845260451, 752470461, 761903037, 975449252, 492553862, 637213731, 467465219, 156285042, 335581359, 769799172, 998267233, 774596754, 570366391, 417395399, 869463008, 304148337, 439511505, 621874440, 767274763, 63126316, 297013084, 863576759, 669084005, 75700837, 127167645, 784580581, 930089489, 879748224, 619840000, 799298190, 123758964, 541461561, 402885127, 974463457, 769373266, 42350944, 566764247, 81751542, 828167130, 557807685, 763777940, 374109735, 912006887, 767632335, 966655430, 754302002, 427141249, 967173954, 872254933, 126078006, 759902614, 169931228, 781811013, 546319924, 834456073, 913574511, 9914776, 946771038, 337280181, 639866017, 613942078, 451365766, 144866553, 869699534, 139080331, 692982137, 926309216, 416962337, 689629937, 859752170, 313757235, 29298787, 87406058, 299826894, 598692309, 582906542, 282072824, 529350813, 630694983, 21406570, 807476805, 903646121, 845961821, 932498612, 846685529, 655641932, 969202843, 403913030, 582680745, 951648414, 466319386, 60746532, 678300739, 72706417, 838151447, 617179076, 186668083, 213769028, 328638272, 192964496, 945730958, 954117910, 161755367, 233900551, 340186021, 81003004, 163831924, 471281366, 422638890, 568006477, 865972675, 115909349, 91100601, 66373790, 857562349, 398290949, 235979937, 42127629, 395093401, 972376781, 579151224, 310017872, 526120236, 185113283, 295181903, 716367355, 891491793, 710219169, 131719873, 581189994, 654912984, 120701251, 148306097, 567532852, 430800023, 977237569, 429951779, 349425371, 285391473, 235663038, 205710692, 291728778, 305390509, 377559301, 12015317, 51560838, 292198481, 431166509, 195443365, 430656657, 695830799, 111231141, 52690740, 178741948, 418987444, 190095443, 618167703, 837720940, 166959575, 937427310, 47312666, 761095850, 630423015, 975378062, 120751800, 462055966, 625895092, 594667376, 608162276, 720214788, 353660293, 775942300, 372917448, 754839496, 813142870, 879378594, 500428241, 60359814, 738883494, 982842966, 722245441, 755243208, 509257381, 999548070, 231472936, 630021593, 362637416, 920471818, 24248482, 974931454, 887630375, 704401699, 189652328, 886654049, 525770015, 782572012, 127222404, 154799609, 994518911, 65746957, 79244981, 441510142, 593157057, 646033479, 899098754, 709574114, 634785209, 627571738, 716636136, 548754351, 408999834, 964293530, 692843131, 467564125, 467633140, 84067730, 242299091, 283123230, 862423140, 8984746, 703670739, 775227543, 604217228, 769625715, 969765322, 350273487, 424805355, 349215354, 768010157, 291354896, 167118474, 407375481, 691435244, 321585439, 408461872, 255694847, 289452614, 132264957, 956046816, 555001839, 418358169, 666230222, 493432036, 708331352, 572259906, 915949010, 272088733, 470449924, 27985175, 655216691, 907973581, 370972183, 600152273, 963174712, 395019605, 113894879, 362825769, 290179487, 753770115, 790718652, 800217956, 426785121, 357706824, 608816457, 525168954, 210798868, 42166971, 484994351, 707943964, 401488081, 557824152, 888922587, 888143813, 589697586, 888680472, 629172372, 752666960, 809966265, 661737567, 711648760, 74708642, 950410804, 392351340, 787719278, 111778633, 108790458, 631793130, 691876027, 978260588, 132267363, 99033370, 839512536, 47187912, 32497330, 260702851, 49995782, 709387020, 653960005, 10879793, 98935500, 192524210, 104870309, 230569663, 561841453, 663804011, 82916190, 367043444, 233576326, 50326702, 131710700, 410050529, 60873657, 347333058, 488397344, 866742828, 880957692, 322147293, 608156608, 841835370, 34741488, 913748918, 804980631, 574115345, 664055411, 817567834, 456243372, 721384658, 742510550, 428080216, 264004373, 959885866, 453650201, 419200821, 325875461, 485430090, 931362372, 731096785, 696466217, 557088652, 591934866, 356347259, 645314962, 915999493, 858164309, 364097220, 40134483, 579438106, 143726937, 32700194, 169103904, 14606403, 206213680, 312036150, 930847624, 785286743, 145217565, 759408115, 118562988, 770998307, 472037664, 452379643, 787670417, 482314942, 446407889, 310642226, 830345475, 472565346, 440135272, 232184688, 108303369, 847272565, 942106437, 786639999, 921509896, 910583511, 462539101, 279554542, 173526787, 789930042, 556613763, 656554043, 855604183, 977725506, 600760467, 661452826, 266241106, 591382458, 249468297, 299152548, 76236904, 716534515, 347700997, 588296361, 497250029, 526525433, 575364227, 980431796, 853856475, 441232003, 54391482, 72707109, 600030190, 314467613, 56114920, 386264345, 739109688, 733672175, 713912912, 639011997, 961437818, 417971819, 4286541, 38088788, 228431833, 349093360, 861457327, 71259490, 491141709, 178991468, 641283864, 1369931, 523724324, 80231174, 564828145, 220425568, 961898119, 274453050, 644190220, 664367028, 691711457, 580001496, 524855420, 729054731, 245867143, 899472869, 814019341, 746070258, 430766435, 294851349, 533551428, 218534749, 805181940, 932833853, 346799410, 941344792, 58173495, 814472631, 871221081, 206366692, 936166620, 727718782, 751702917, 737336129, 982825557, 28514905, 221760376, 180134729, 290166521, 496446880, 732919624, 630263678, 223563820, 882106440, 159412394, 370548321, 594943174, 577671485, 821957058, 826857700, 899690384, 833404250, 351859174, 306645980, 420236737, 599734252, 27257541, 737882957, 710243934, 597879084, 132316039, 336746432, 917447273, 737524258, 912124491, 722391829, 57032950, 387231393, 809535589, 105172455, 598186949, 547953149, 320023958, 411097525, 960608740, 184068459, 536593706, 570951524, 231027058, 873496328, 272487788, 599316506, 856494287, 668493824, 197681063, 922738653, 489627298, 114413615, 724885523, 659471636, 436473435, 251059624, 378809233, 191598889, 181882586, 400320606, 778797052, 934891237, 392160953, 576866607, 405815787, 355498766, 490787505, 96918407, 512885317, 334038252, 10856085, 206801413, 619259606, 946262406, 641637918, 390560137, 589979811, 168723352, 878470866, 342577287, 227016131, 802417676, 824590581, 396903003, 382789836, 381404962, 995909807, 223381532, 160050780, 191462278, 812265354, 839018222, 386237214, 882877905, 500684843, 187932881, 72509768, 144660609, 760913013, 818605787, 169551146, 553945894, 652446747, 656224484, 854749366, 923697912, 955186785, 259534351, 598515948, 418089999, 526169555, 586240191, 583372571, 453540761, 810808232, 549895337, 187822123, 241197412, 698996189, 835146101, 113060567, 190862402, 248275237, 464726115, 973818493, 628564266, 82916205, 762269657, 886903467, 6491433, 69832554, 135740029, 945713067, 307279165, 172744140, 820869230, 775068047, 151517112, 200964787, 942752300, 188247733, 835731515, 536640572, 378794559, 458262326, 397051348, 463550159, 283334021, 661588132, 402452182, 994363275, 581589026, 934425646, 384038329, 567360195, 808916762, 124449412, 740076984, 719490826, 683540824, 438964244, 573084091, 961357197, 313430040, 661153992, 921996709, 145006320, 103148708, 249422256, 607511668, 839642361, 485113135, 29122536, 677837028, 49920427, 45773024, 391863273, 622710129, 792730247, 921257068, 122045418, 9338614, 90393818, 138695870, 700801372, 391622394, 909483020, 216869665, 152960339, 505221257, 581953995, 717743788, 797091523, 514667873, 690301347, 135367513, 844520695, 136633288, 484675860, 442746535, 227327238, 771332778, 847453731, 316957173, 554245879, 282262246, 428968669, 626735957, 822130625, 457022467, 173221693, 859994371, 655416641, 703539828, 360472533, 539425101, 321642770, 613815965, 219246630, 478021391, 123684010, 659915851, 754756219, 83530478, 799158426, 921191855, 951187239, 845593844, 677619315, 763329954, 472093408, 299297229, 572772762, 170077209, 597062743, 194417558, 313298937, 5961199, 943890940, 790819299, 763179051, 862374882, 910314450, 136333174, 771022235, 398130964, 672584345, 218907395, 319510805, 756264210, 544224548, 664024091, 896405800, 692597108, 61839808, 908681421, 339843959, 158957872, 761791116, 377463068, 885966786, 620194153, 572738831, 143960848, 654006503, 424891758, 434589754, 289123425, 479339977, 249711749, 358499743, 185819856, 787085398, 368236762, 223430296, 211490532, 822595130, 545146828, 441770787, 539707647, 181568645, 873766315, 477781487, 13047016, 834083921, 177791678, 638464216, 444636632, 812844490, 922278384, 77603238, 277363513, 779772280, 889380594, 550219632, 561783767, 202979833, 263198275, 782831095, 588271376, 291659957, 890637163, 962001468, 782561719, 244905875, 361267485, 708580347, 78330744, 451722062, 272395600, 682431986, 457865663, 847271807, 722068047, 661514968, 581921741, 872270888, 80696171, 526542640, 572466277, 245955992, 425239999, 116831378, 249055870, 897694315, 135591054, 26559854, 25890960, 710930356, 869338811, 890651185, 930120988, 556303489, 50484512, 376640831, 851044787, 425350246, 359956914, 168829048, 553190239, 929882609, 628568048, 940585044, 9608321, 433027528, 2006510, 805031111, 676207062, 858568903, 795175271, 909875709, 741416519, 170834524, 374822633, 164919339, 43309858, 961970934, 724230164, 530836130, 799064000, 7971668, 626423803, 211985809, 576194525, 813750258, 845175399, 685326365, 393529769, 82414361, 884585143, 57407788, 656578335, 125910365, 62362555, 34015577, 504556338, 108530120, 88394756, 450572024, 788264387, 465969262, 259975970, 659767823, 937018086, 795646487, 355850678, 500117500, 300831499, 222829427, 655386044, 945127868, 310206674, 814623009, 67367753, 65137887, 487615191, 693079596, 141718126, 546403564, 614437532, 60547270, 184853173, 617397403, 729019979, 68219396, 305277291, 656288035, 380939013, 270043322, 617497199, 456527300, 957351936, 974125359, 437933552, 894972266, 265783410, 316446896, 703724290, 169817834, 7362973, 401019600, 130296283, 648719772, 132891067, 387507352, 689185274, 254900387, 357281482, 410915146, 536274914, 319601573, 178743963, 754833829, 491760626, 51563022, 979702490, 831404216, 62928149, 294531676, 417991754, 379379705, 627947947, 977405203, 189891924, 553276652, 916914414, 375007743, 971828962, 329301482, 674092491, 89659995, 85645132, 574521561, 455001335, 626098733, 516855399, 813035534, 939744523, 179414099, 913493604, 85119617, 625930071, 789298362, 501854662, 506266197, 34849536, 556483445, 959026272, 61511617, 477728768, 198752967, 158491352, 155320989, 523811301, 283877189, 841829028, 667458637, 743155577, 665288029, 886358695, 138955848, 781760295, 428738695, 525274575, 386788601, 731392632, 153910225, 996247713, 521769964, 993118905, 333225338, 167131045, 579252697, 525481938, 766544704, 489508041, 151117292, 91913623, 605243761, 528161276, 788695604, 178654818, 609201354, 149888720, 300918294, 77266472, 987678602, 120547276, 690470703, 832110286, 955701585, 923628611, 559578920, 822283985, 130510270, 695431256, 179759327, 244338149, 917750099, 546243415, 201435492, 176222833, 892542476, 560900446, 65143785, 502569193, 694570805, 505714720, 177952920, 404034275, 867136013, 94768843, 308877896, 677350002, 396619566, 952054117, 576808618, 257113730, 373513748, 371779681, 768981037, 269086684, 555498579, 782368401, 830453547, 810432885, 43937324, 842592794, 68630158, 749414446, 265935447, 967855797, 766305788, 560248567, 247209198, 61516120, 743687586, 103742483, 501964289, 747973284, 72873654, 877696701, 969060130, 273615113, 169919117, 771705495, 449398339, 868945512, 354026102, 2867443, 389470163, 237408671, 58996811, 544947988, 177925430, 285895895, 380001150, 527214573, 612118972, 922459830, 225771409, 189990187, 245408299, 734765790, 754618285, 611326439, 57321459, 968490158, 764355323, 954087996, 120641901, 281808040, 931713134, 485691472, 947787860, 488478383, 919784698, 323994059, 46025053, 298243091, 836621247, 379316148, 581842420, 682954640, 837869898, 289798713, 738797858, 920538802, 967821433, 224188519, 504775262, 490970868, 727364659, 316007959, 624477876, 90763404, 232895350, 593223884, 19312985, 776507541, 946873661, 987991213, 994912016, 200940118, 270207691, 127002714, 606957402, 168555484, 460421149, 882792408, 527486945, 504055230, 239384233, 962423869, 41612963, 271854913, 867222198, 167280986, 661216811, 981276691, 29633491, 237302968, 218144643, 954811631, 461762994, 384820889, 860105081, 331915025, 172263039, 344271414, 188281023, 987816222, 148831858, 571532249, 634109055, 958810003, 109303715, 802135924, 475743056, 276032914, 842996030, 572289433, 953185303, 665030016, 251682571, 631433567, 773627090, 319964194, 410678642, 110347682, 945163636, 768152853, 224904074, 734678476, 851627955, 175475950, 45002265, 753180956, 590032888, 337226225, 956993375, 914761894, 939955170, 775662053, 756915770, 221654479, 168357257, 366067368, 377201421, 549363922, 429613208, 528014943, 781059218, 59003792, 188877517, 465615265, 571305910, 164954970, 311898061, 661910186, 140715362, 156825796, 944468603, 151822566, 701841041, 642276160, 852802700, 107806974, 367643656, 802129300, 967292131, 548722310, 568600780, 506732095, 313407285, 230122841, 831562598, 560767112, 619960825, 267310695, 57098488, 875360860, 802012480, 685161778, 874685275, 282323160, 501573091, 643556746, 298493226, 338617478, 190732454, 644876335, 664448895, 983921104, 334567278, 84740532, 52301772, 650337631, 294411758, 129610866, 93241317, 53546231, 828150619, 422533669, 911620590, 813544369, 47475111, 993033621, 496415428, 321794632, 866457045, 995043196, 812036536, 739669750, 794760555, 296351149, 774378312, 575947850, 810799364, 511569652, 423308963, 816484879, 240808826, 793341477, 802584556, 522860779, 318249331, 287909902, 946791987, 67493777, 672211609, 162032736, 847809265, 177954784, 914577814, 220623983, 113882408, 521961547, 883847234, 803621241, 309740546, 810658796, 278871524, 156733694, 50936874, 651147851, 44248735, 18431640, 292460639, 373170753, 752519106, 227543934, 999634, 355647694, 740352040, 987956100, 393909878, 846980166, 849249480, 434506460, 902610192, 273645676, 341840651, 176202407, 588199230, 811119742, 349973325, 707339061, 668721071, 319136982, 66966199, 368425180, 392452928, 437451554, 642508970, 711605444, 182931980, 613113785, 701863439, 147052648, 534420804, 988298604, 670521174, 472347795, 315770719, 964370258, 294453413, 620708243, 237179402, 358447493, 954402271, 366483012, 349038046, 273800846, 717895869, 767293251, 209941279, 767286313, 664553434, 74854749, 631107031, 724172947, 833625891, 116305676, 748575009, 24636390, 827379177, 82153260, 665348954, 939896757, 396904640, 679839215, 274058672, 910992471, 851029581, 55287650, 820232603, 722470882, 149603215, 772016539, 418801487, 459910342, 573069475, 650529068, 4336071, 186492235, 517815546, 315756990, 160166757, 962799019, 909173139, 600596333, 591611140, 992709343, 911327677, 315771892, 355127597, 357362972, 847099762, 845853815, 878089918, 342266489, 764579623, 344113395, 94504332, 275294296, 541321172, 433448900, 290095917, 940323373, 331603290, 392824726, 450226206, 866794368, 277220790, 530675352, 417136876, 944515507, 718000984, 657613075, 22406165, 332087646, 616375684, 6082019, 204560015, 648396729, 899017284, 644328032, 993927989, 749451794, 9899040, 509481076, 95830048, 470810014, 908997862, 875627668, 580767664, 220156118, 845456432, 653849992, 917459636, 731699100, 449997576, 407015829, 950184887, 605733224, 984821211, 627814420, 365986858, 999992747, 775784863, 292017480, 720013630, 893956194, 928354337, 382942037, 969481038, 634957811, 57212406, 32989069, 500282094, 398874276, 693761624, 417899501, 143426726, 724180300, 963662136, 112639267, 168548330, 609511042, 362156539, 309859760, 326954931, 479966686, 94058790, 753542058, 942433065, 583772122, 707518189, 113559199, 26213024, 704609133, 708854309, 832514037, 317540999, 827535649, 725278895, 165210824, 558509993, 181921754, 863259983, 298329044, 625487305, 122042087, 285154070, 910833876, 102620113, 80020505, 761690731, 888882371, 492910482, 794439438, 334576352, 279600154, 885211522, 395672796, 612107626, 266001433, 456602929, 858200518, 162837650, 924858739, 451107738, 981971427, 983706624, 791611319, 509995205, 796157012, 521609825, 819041958, 165729332, 345803786, 858220780, 201900057, 112411045, 513023191, 478110901, 679097216, 971303350, 529193094, 252028961, 938940207, 596090000, 868009313, 457266880, 378869591, 644782804, 455450551, 702397930, 26335575, 451980651, 391888834, 353264029, 605023627, 642619452, 446771827, 319498091, 761932374, 875583363, 650896261, 697184663, 611099679, 152013412, 184795032, 465440068, 851927575, 912384189, 191071669, 473939355, 929185741, 467942982, 936529408, 830937813, 379019066, 327493352, 383591335, 81096659, 158938206, 392864282, 457125042, 400656980, 287746105, 608419226, 830953721, 639242393, 404277358, 163775262, 254117273, 516906151, 644149603, 82931749, 114376173, 90462871, 999251743, 29654776, 920382429, 516424747, 34858427, 812089419, 28099464, 725135969, 406118049, 52207637, 478807641, 818523572, 857978350, 307526608, 116924069, 472824458, 13454352, 273768869, 525991778, 867086963, 75461956, 674424881, 860064464, 650813910, 715693135, 954109377, 551848136, 99658282, 650372282, 958276100, 466487888, 993496764, 919144596, 243351558, 709289995, 560811244, 649982357, 4390447, 816336764, 99127986, 733940894, 401877953, 83566206, 798528449, 417333982, 980348623, 184769792, 103910125, 972970499, 951970908, 418354077, 418021743, 182434322, 535749728, 545572563, 41449759, 270578449, 634687203, 611579320, 881527967, 891386411, 782050044, 669307001, 919236268, 366726807, 93004642, 622382999, 955492165, 325251084, 149875587, 211446301, 735413398, 805899310, 708696957, 928837056, 575752838, 555252662, 862954695, 279222011, 411352253, 959289499, 395109110, 591908387, 982736022, 792448133, 265104196, 918366088, 460937935, 542392691, 453317899, 909835939, 219004405, 535362248, 963212801, 451738985, 67020205, 150550290, 201709705, 839156176, 824574653, 821655257, 245177566, 242956218, 322897424, 614103781, 975406545, 531219559, 763346921, 393839509, 498467240, 984668342, 177103214, 416398821, 45435252, 749604128, 600447239, 876193917, 156138152, 817177129, 900625184, 998071434, 342566262, 548172861, 766384257, 965812819, 310557031, 153233081, 191492014, 609061430, 447324929, 389575825, 620466938, 800166606, 533012471, 6246392, 72444456, 862620713, 55784487, 149168872, 526749531, 67766503, 915440266, 938037667, 347411479, 242892564, 396663754, 126936222, 499667890, 455801858, 732837612, 662765160, 374351470, 661107885, 382922446, 878639625, 689755570, 584002559, 377429889, 886823946, 846428660, 50502318, 933553495, 599714569, 800076269, 429366231, 466260285, 800220154, 442404511, 971875523, 673595057, 883986946, 669596814, 279819592, 749952052, 924334416, 492179916, 707688846, 310908093, 679061082, 99270183, 933469447, 371200963, 971601788, 633921485, 669585224, 561842218, 734824021, 640197230, 661983858, 367643576, 71565838, 69397934, 982497879, 175068292, 846533379, 615431756, 367080366, 995982287, 520556414, 647765976, 956624741, 660880575, 469678381, 232723581, 251139075, 277624289, 120120803, 541591977, 445167593, 474568111, 170110235, 491339062, 809812, 934649271, 543263408, 107292352, 153079383, 488769943, 609875171, 839592485, 177033669, 886180562, 205814364, 79073610, 42178034, 704442341, 350757053, 640156720, 34759123, 623201737, 239329177, 792810565, 516299923, 274664807, 433343757, 997584725, 23436883, 350459727, 53024087, 73810243, 747962041, 275115622, 48109039, 108920120, 558324361, 325622359, 763645495, 721785831, 651877719, 305196590, 714182051, 686010396, 589647222, 834081060, 473777431, 136568239, 283037241, 372917882, 229619557, 453217216, 432963756, 970619326, 747833521, 919601049, 505925260, 677778683, 608158689, 748908080, 890552997, 239709387, 115764530, 857689386, 91930311, 33782181, 231817910, 432568575, 255931731, 940163447, 682096040, 24840958, 388701840, 538284937, 389458630, 128862247, 767680410, 941277781, 693743960, 900987091, 30180610, 166895765, 420195276, 228183368, 2582689, 4956944, 538133062, 565408216, 792585033, 973056741, 597720488, 256772071, 545835803, 365393472, 328026380, 152147038, 940329738, 915242802, 380501803, 233660699, 854506561, 217884943, 536736344, 472136442, 559599461, 984855569, 31376487, 416621793, 838382589, 121415955, 415945891, 735433835, 89339969, 694427130, 528271636, 824615263, 421351823, 53632827, 853644354, 464354423, 582144670, 190219440, 162776755, 584084417, 455365773, 823956498, 521555460, 242935558, 287775801, 955392801, 689405163, 470027851, 367121794, 825235688, 524984302, 427174079, 103062778, 592270538, 50532825, 301717147, 537222818, 494111564, 362069366, 476681629, 293926932, 91307738, 501726835, 323874385, 296574249, 968244545, 337887333, 811940033, 231857978, 699962773, 831108858, 623343124, 25988356, 177453634, 151771379, 840176602, 372659414, 945308326, 977838807, 515561195, 657527916, 258217789, 939653641, 94106911, 815713992, 923413587, 347499545, 794458209, 862598756, 196201888, 212924649, 52294452, 993141221, 287809282, 589399289, 550748181, 563920825, 158800485, 332740360, 499192752, 151824382, 722324641, 298086401, 528737028, 127909869, 495861194, 783287953, 610475738, 248650743, 978757438, 414975751, 413952934, 467316558, 890345257, 500824033, 128142618, 511935308, 865801185, 589718295, 492682812, 94251322, 76195611, 706690019, 356193361, 659332531, 159048100, 398000233, 313981502, 410971245, 662940969, 400301806, 520374713, 337365633, 469498434, 406258383, 324895733, 896204845, 473524444, 870675736, 938631342, 724533825, 777538225, 327707421, 523137618, 464084242, 425463777, 856963542, 960068228, 785763087, 232080288, 602128518, 501177477, 422733417, 570312340, 643809749, 545241776, 940416045, 202162423, 371760522, 653883548, 385093632, 894472074, 319359318, 549646498, 396269582, 960034239, 521115060, 355096820, 45264526, 71432210, 304198320, 724049584, 785750685, 671895096, 198234410, 167186203, 653501091, 361889269, 36173671, 347932020, 693925715, 817543303, 93348943, 801477872, 613381261, 273991667, 157273127, 569331788, 654101701, 28130055, 808572607, 864196103, 147123350, 355744284, 909506401, 511707479, 734741128, 728787277, 280351203, 748746271, 826073070, 594674387, 674727197, 281205624, 708311135, 805043403, 346524884, 702786235, 152583924, 29428980, 937707600, 573844431, 178853118, 803672061, 961817314, 259391362, 948448299, 569660262, 579647236, 460492629, 106432725, 490436544, 983892448, 487811144, 303127279, 438867779, 244711749, 474064077, 539023960, 332202224, 60977516, 150995843, 189231927, 919107702, 909247762, 385023476, 157323552, 338690931, 3420521, 209841934, 782984167, 83538678, 673439874, 288127914, 388368183, 296949853, 973108509, 367489, 382991588, 956462432, 88853371, 854795503, 167892594, 571726746, 846829699, 353084015, 742416049, 588718487, 776307789, 95950544, 334111557, 960681130, 257797921, 334846110, 710812501, 240224996, 38373951, 853514654, 372628517, 567687804, 380631739, 949210826, 950161273, 877685106, 203071594, 335899322, 301575905, 306537479, 229640056, 892908990, 602468261, 809013249, 384713636, 832347857, 105389848, 333563929, 205494516, 340386473, 899308575, 338891647, 946354365, 521735233, 845172372, 855748390, 68899369, 960194471, 51359738, 863740943, 145345262, 33444239, 154064554, 174316780, 19434928, 361686162, 456479504, 11148921, 900620702, 890215731, 678215627, 854726651, 530812371, 754708052, 961852107, 828720221, 971621838, 62261427, 237546126, 226786634, 795523510, 893854740, 406303713, 890081982, 496325331, 755413333, 863452812, 466608083, 640667456, 440681118, 365616337, 760037889, 405745392, 628998545, 77211467, 234930897, 258459770, 139306206, 790025804, 147808671, 274643941, 628611308, 391165530, 168071705, 966041255, 373628773, 248183454, 443040771, 812367850, 362946785, 928192969, 147665579, 97457807, 652107728, 626770895, 392054442, 655852452, 214106142, 655619597, 331988942, 819540749, 488945977, 381228639, 857834477, 457771377, 242799377, 107099837, 574650458, 476806113, 57137278, 813958661, 923895053, 285481833, 830771995, 429596747, 993169766, 870769521, 298097251, 653774197, 98106991, 524757998, 806629997, 305010669, 569172263, 241997648, 288766868, 138887618, 579089414, 111555841, 159055376, 349002779, 571804882, 609409216, 418143371, 233447192, 550418212, 763733968, 636825206, 719525787, 441692807, 741173170, 488022487, 448101058, 869269895, 415924142, 492541000, 600881132, 421220808, 826208433, 640668133, 825055135, 449852130, 45862500, 321848162, 438512548, 958009449, 589349951, 987792072, 349807164, 713935929, 887930281, 385177496, 102922669, 244487896, 333643781, 313724505, 31751631, 555999648, 199439399, 987913594, 930365286, 776853203, 229096327, 879328540, 260479889, 498561472, 67119982, 801346376, 296697304, 398377023, 723286150, 480465429, 798729145, 823531098, 73122343, 435732529, 822212206, 459419058, 831735157, 525403505, 546886072, 801785796, 485659015, 162205585, 135156594, 285761314, 179858380, 830218933, 259233455, 569943884, 849280367, 83120461, 640960914, 403049530, 972315160, 408013192, 598729306, 8283970, 485082118, 688697280, 749508072, 601452200, 242268680, 301326764, 375749107, 994232934, 639377783, 796044546, 194671621, 247782991, 98785043, 357259810, 849767680, 613962554, 945311483, 94629609, 546660007, 213969249, 569590433, 755365215, 49871511, 955372384, 372639872, 506790975, 996433805, 954514564, 569064225, 79933356, 815340743, 854852133, 120120186, 520610508, 260720996, 516746510, 408077842, 809414631, 929894522, 608799006, 285524895, 679353131, 221779584, 455524402, 172274278, 637106886, 299597317, 827714072, 244188001, 387534829, 435283091, 184917192, 294887957, 197167084, 475727367, 75203021, 398374757, 975471564, 839110431, 338723257, 974040121, 53270883, 391276315, 458522151, 660330173, 142035340, 902703169, 822840511, 450061093, 272854939, 479582445, 753961022, 542486763, 753033179, 382422069, 271381800, 188900532, 880782432, 281506938, 916803794, 739658246, 435724798, 565798314, 669689598, 809334900, 806206721, 145932288, 924370, 232125182, 227582991, 459182757, 452393162, 551757319, 688043795, 901947225, 747462290, 964069915, 874786449, 114093085, 162131069, 196673873, 856195959, 921615041, 180884298, 759348736, 31458923, 372957097, 641511048, 687637792, 748223669, 736848833, 19845203, 513432331, 239524230, 142483028, 895628594, 694459973, 364036317, 364507048, 390011100, 32973694, 571845940, 700816527, 781946824, 612693467, 410333334, 659674247, 691783071, 890334770, 512233056, 717753132, 312119720, 651058840, 337219643, 812634151, 14396718, 835455702, 691203859, 888759802, 172785766, 637823620, 771896322, 709970139, 404451975, 688620799, 115609902, 128618313, 965051321, 875662839, 435895688, 180228776, 476562519, 105017908, 546274202, 3066146, 151152648, 214894986, 474745445, 738138632, 685320230, 751624912, 580164933, 447096002, 776969198, 708966734, 145709935, 815510308, 356436661, 685923212, 449150892, 355729561, 253375524, 301840891, 538053630, 838894378, 281693721, 202564970, 411117764, 979731627, 757005293, 951805760, 157289131, 352618629, 539642131, 241121303, 723885946, 583158765, 715091121, 976818951, 208318643, 660930441, 87890726, 849034126, 933300121, 130375637, 958824051, 568055806, 644777986, 604316333, 266234601, 443098192, 662017832, 176402015, 388850458, 130007074, 267426812, 398929260, 759725439, 673954009, 928814902, 722639298, 599700370, 599005692, 144694401, 83956548, 430006525, 965527222, 315488357, 100946817, 140314573, 301435443, 693782574, 172229431, 511061280, 706176382, 846594564, 503257526, 643296813, 989416162, 605756839, 346332816, 242929567, 926517699, 812533551, 957081397, 547374224, 615239937, 968680936, 929800747, 202580468, 776088249, 710096635, 45346317, 95332238, 417338575, 107005484, 867988036, 428453749, 997948770, 248494438, 751937333, 216085994, 320495343, 73436013, 696274144, 493614173, 998407615, 191365452, 491916897, 283346539, 625279261, 169197706, 266357957, 418972168, 898726816, 278019329, 780694606, 471344025, 164782075, 377422032, 241096320, 553622276, 221493067, 284331042, 715072461, 171544279, 879637418, 674185229, 561570174, 733672340, 630411222, 82046655, 313423700, 425543455, 339863453, 799122548, 780466485, 419777148, 815303475, 991101280, 250488365, 203454429, 85066059, 542961507, 496676, 711276259, 892497734, 512901701, 228017171, 363117356, 390536563, 829668979, 48912282, 125548573, 241180510, 978933065, 636700184, 45038114, 282708167, 952699755, 80365201, 209303162, 964772804, 500854110, 558167898, 250803734, 366255999, 201828266, 681291070, 469965298, 52526000, 54795013, 40454830, 501285170, 141194272, 72538361, 394299744, 846161253, 778600021, 295794223, 861590782, 42636043, 828870979, 171448717, 295978241, 806743155, 949590835, 87248476, 624341805, 458902643, 750239420, 234606965, 822403581, 857619834, 869184810, 132607229, 671963394, 717797441, 486467705, 915929737, 473596992, 877856607, 689994460, 708107862, 761038994, 575205624, 269044654, 388440771, 366111723, 209782, 323865625, 73534914, 688816428, 40790091, 782986865, 384146774, 682200901, 873702357, 442829413, 950198185, 939166345, 384850483, 525087354, 234871363, 233786409, 411679388, 942180302, 60686164, 145830403, 253675970, 621574864, 943362044, 438106036, 244816296, 330068759, 568346754, 106317844, 494413601, 568989229, 545418908, 681974974, 912538808, 428988911, 692409590, 520484839, 720915623, 872864320, 14340242, 633346643, 83684132, 508353578, 628565124, 960678921, 947591707, 92633008, 283650253, 920528278, 982947463, 790719941, 83809799, 790453689, 64914863, 604947684, 294196142, 640933688, 888460668, 717493795, 877069029, 543000467, 205632034, 921777188, 80278334, 421835680, 241791854, 900221950, 994149402, 760142758, 897000532, 185207709, 627388963, 912051644, 712871866, 114017240, 622075139, 817266688, 883156667, 515175077, 193140464, 435920486, 597790188, 573585594, 676587923, 819573599, 628508028, 364382345, 560148126, 366126166, 707521844, 518014728, 140415754, 751030828, 428065101, 361086672, 374786742, 923530100, 414453140, 492841578, 429026956, 24738668, 46184771, 579993094, 869700942, 715001692, 542278602, 882193474, 625227147, 7344801, 20333824, 598021716, 50139602, 24776936, 377685163, 515305291, 346589621, 455850854, 285580910, 393470358, 59747970, 690740713, 123703308, 361005931, 344191967, 76982928, 785807291, 240933590, 982846237, 453813837, 130919394, 631520518, 962540556, 852481979, 679990021, 336056782, 743337549, 38882619, 478871896, 938111340, 637989968, 316083817, 839113806, 504256576, 802624476, 586275057, 761475766, 244942763, 692038948, 576830044, 825048666, 715414023, 125311870, 985995666, 657775530, 102880066, 279911209, 272809542, 740216555, 979114973, 530042951, 550554102, 431734320, 624937464, 205658860, 240632103, 97418372, 782758784, 360712654, 944345843, 570673445, 243460003, 205998438, 66806669, 564592767, 120557014, 202842359, 614701557, 441283915, 573133560, 834853887, 5841128, 412255850, 295702458, 128502469, 751171185, 595872984, 504005362, 18794831, 38826730, 130771119, 506000403, 30044638, 951328110, 123004640, 936866653, 94722382, 831620210, 843304202, 114193278, 983650620, 873658047, 440944993, 226675872, 879401056, 352144228, 756847041, 944422763, 698887012, 311945906, 429432689, 397979696, 21893416, 7606781, 524270461, 848184423, 430882071, 352695132, 713561602, 375571642, 833660894, 26678810, 62969948, 158681560, 781804336, 528894679, 299573500, 943983941, 670371511, 889586746, 552076788, 351775915, 680525505, 444858577, 921767402, 438477399, 139794799, 784903844, 574685342, 545006536, 652956775, 246541535, 221433896, 708725553, 609457394, 80174135, 87108252, 97622872, 97771385, 796316134, 452246139, 395955174, 618547681, 374942459, 787325437, 7809795, 829869204, 229688842, 544683340, 457903835, 123952782, 460869882, 906024063, 35644154, 645997542, 277487384, 424083912, 461999077, 184664421, 308392227, 997426876, 203539933, 818700674, 555287358, 544290127, 52711641, 57841775, 25859083, 812061197, 725412230, 721932290, 626735113, 241499596, 576029693, 340889874, 525506316, 733932574, 894068438, 487675149, 177924649, 303367256, 560603546, 219089940, 119116810, 238694789, 742803360, 779818338, 616012350, 887354814, 209603262, 583339894, 675845063, 575499191, 531680923, 344472273, 869848233, 735863859, 267892478, 998208757, 93444158, 835995823, 423159803, 692338528, 22480503, 160838650, 139163893, 434807665, 580553294, 501424219, 459687394, 824987445, 494059531, 574238123, 793917434, 867086783, 860150445, 133726545, 458651013, 816632975, 548088565, 924540011, 683851003, 820326385, 433892031, 987525017, 114563944, 297422247, 409443659, 874386318, 892463267, 135973119, 557897616, 266460560, 154801308, 972414301, 318677817, 956674135, 813330438, 425441602, 70546577, 424731470, 357280563, 193115092, 80686701, 856886409, 841142553, 336101699, 118578583, 231993450, 584827462, 647124565, 889658987, 145287957, 120704256, 851192201, 711158413, 422076832, 469494262, 706249409, 370126241, 625688359, 299722011, 362661523, 298613640, 915291307, 914585164, 853607605, 61938586, 271126704, 917047899, 970152538, 744357066, 808949953, 443972628, 580782387, 540173944, 510553987, 390184319, 178376842, 944164419, 959828607, 769790985, 343283856, 952708171, 87810305, 896354171, 315708246, 293437305, 123902114, 850350477, 806356772, 334986246, 543500636, 652293291, 790410990, 793287287, 945885324, 534289562, 522153122, 626247923, 858416210, 800453420, 425639401, 955740475, 988411774, 100522553, 748522642, 56840999, 198516447, 109170432, 146756471, 556227948, 401653702, 49376648, 644754179, 330297245, 483365083, 936202281, 525868907, 152953072, 476421576, 650529052, 532629989, 785545273, 190704704, 889570941, 658397575, 873434151, 747660823, 60137140, 162044629, 674941508, 869300949, 21864961, 112782616, 560889876, 521660226, 193072831, 162119391, 42021152, 903755745, 853551559, 195172455, 316291352, 706623819, 802931459, 224006524, 192369639, 994392097, 212490781, 540344902, 463191620, 85700370, 639287859, 575417878, 133177819, 826885636, 779850345, 502776741, 83736965, 533312984, 207359642, 896657182, 176097995, 935750723, 462985996, 162925403, 936619196, 673538010, 609508394, 407644585, 907949549, 942219507, 180554205, 242902935, 288985282, 911944906, 22568707, 287046858, 206723035, 337050721, 27063939, 402326020, 600100719, 126877916, 270576623, 977304949, 76924131, 757006538, 946884081, 376498193, 723366527, 217670338, 602028107, 137400744, 121259103, 275041019, 241546665, 559587351, 482882896, 191796830, 519865677, 181424812, 309114694, 510772008, 494052052, 693665776, 556163089, 951493101, 343150412, 746614483, 884612805, 829643586, 636699669, 100986360, 565461649, 551431730, 720876603, 497790127, 216855959, 828816063, 453444783, 65495492, 83157743, 575739023, 736398892, 468732206, 87372573, 291716976, 881468636, 463373866, 806263284, 333502043, 644996855, 459381411, 775933795, 391464930, 94273705, 946567897, 836584862, 893967660, 336875213, 301298317, 600290412, 222134365, 992693927, 241818955, 888458664, 384199311, 59820897, 143854099, 477142542, 335557627, 406419311, 87035796, 878043708, 706328706, 816543419, 406070542, 260834822, 882533968, 547494261, 725915983, 597171802, 39385388, 700879065, 633584793, 382129226, 343257221, 142003550, 414128663, 414443720, 777374016, 814328103, 644165744, 26094628, 261981417, 332975368, 221078095, 250720922, 956881403, 96307025, 233222930, 649384252, 885867752, 13518289, 865148555, 46716813, 685623468, 562985152, 178476563, 911828, 263443997, 231646635, 497650478, 635105512, 236229388, 230163449, 785527856, 701492722, 230369656, 628454555, 718131494, 101611077, 487699518, 909464785, 124304528, 232395913, 765981472, 516230266, 413420350, 81233043, 783760249, 422504305, 346818272, 324006521, 174275107, 37424872, 631547308, 120168180, 966451567, 322546591, 675075421, 875929885, 850004689, 978298621, 376354963, 523196734, 844433021, 776017884, 315099615, 890160561, 926377781, 577774890, 543822347, 117552172, 623319920, 997502070, 835274415, 576861089, 155267581, 781219552, 237095617, 791598227, 548142596, 721352106, 907902610, 523410919, 839485128, 658904487, 892859115, 405499912, 667304949, 964119046, 182451405, 12516575, 255094496, 436721020, 232677597, 575265830, 685682842, 469733738, 708396617, 546665666, 899493413, 15538946, 830125590, 915865676, 367689411, 877043520, 588229275, 343835651, 501714930, 422786454, 636589704, 250309748, 862538823, 764128404, 642504324, 945153951, 616220558, 448404416, 523871804, 618209061, 654367496, 129407287, 970927172, 902555163, 57085110, 183442593, 139128233, 753968976, 815679666, 765825544, 335722850, 545203101, 358997673, 365162410, 190836120, 111051325, 984450197, 963915598, 138630349, 566414837, 161954782, 469933734, 410870876, 390751988, 129020890, 757515975, 796759126, 749005905, 992222502, 740497791, 255459840, 379063679, 245275265, 250640466, 334585410, 990734389, 930724429, 528195168, 365297345, 880685350, 625810424, 544229282, 282979432, 99678219, 911268681, 601802701, 448339423, 295841159, 538619119, 584281912, 739443745, 439887252, 563257343, 265558861, 616310322, 968974992, 628485635, 457169875, 628522320, 996692796, 329311747, 45276065, 196215674, 869897738, 989836122, 466465567, 330692077, 971899213, 396896704, 391773244, 112499687, 240033078, 20330634, 734260881, 571312388, 633311562, 297522706, 156974212, 181198819, 288597691, 727575143, 205962121, 278463762, 579424065, 48686158, 345490287, 479043366, 472339, 476361714, 717787287, 588375338, 652203398, 277804087, 809944620, 473530332, 207568981, 515659039, 324814235, 866499690, 193152998, 189299392, 745563694, 993279752, 740172251, 140859890, 504772065, 570700261, 60664036, 385100766, 444397783, 137362014, 159782468, 616210871, 207852989, 283718034, 56109533, 331720071, 312299536, 755184041, 196672244, 931460766, 175537836, 527031551, 167107031, 604551605, 91470280, 412589842, 738458187, 707621144, 683101679, 3385548, 636316452, 102099114, 666239314, 837106364, 715661390, 378470653, 853980229, 81853172, 650892771, 654337900, 161887632, 620941115, 248584546, 463666425, 276104072, 807574304, 912750728, 351301455, 165582394, 599402535, 928569897, 937791727, 78240094, 536871994, 908301221, 221316991, 333799752, 790241273, 564396003, 553035409, 768353195, 55786102, 332445790, 745002571, 971953550, 102988490, 403225625, 903969967, 649500500, 605205789, 120153289, 102390081, 439423901, 116992927, 503613096, 485924439, 462963447, 110782240, 179588783, 440768756, 574188369, 54932062, 921084231, 307810682, 500982314, 366927042, 452447971, 988319977, 834720474, 672861987, 236478105, 40816328, 396492984, 911846701, 176617913, 821544266, 328274539, 890114475, 776864134, 246410977, 109505607, 744557403, 745472812, 384815752, 84073947, 923437208, 46045475, 294974226, 237916096, 871562951, 821465185, 708125713, 620961721, 782348752, 343098969, 846779828, 978116437, 726557617, 851184144, 373283236, 812981370, 277949132, 851383819, 324947062, 774837361, 933501087, 884393766, 222848207, 668201506, 874735188, 964266608, 358978775, 141138912, 259984466, 155982000, 97956113, 79294922, 554730589, 38214789, 979521065, 36537835, 311847681, 295840601, 922856901, 934211186, 198181094, 243709620, 318230579, 659168309, 250512673, 816662798, 89738948, 214357220, 492064291, 163251644, 370410320, 250990383, 497781926, 299541071, 757918564, 515520725, 560961594, 863291813, 324686135, 708529703, 195105397, 595675316, 502784834, 62426796, 134131726, 179247822, 461314108, 458970309, 345555494, 630160059, 889173446, 530029428, 87483917, 359055378, 259871732, 420723114, 452292233, 249531237, 38411509, 192134395, 185165572, 411213165, 242709593, 170529815, 55664928, 206939048, 696045379, 732020461, 945818491, 454361096, 291019655, 123036341, 6425920, 361624303, 166076738, 897912809, 18003671, 264182437, 225466586, 104114860, 857086827, 339872408, 227897391, 333139116, 493977769, 345136920, 952257531, 771304193, 610084390, 331373639, 361478434, 289763180, 454390215, 827898386, 862565688, 718334361, 638089413, 614888974, 938404108, 287722851, 79958659, 617287469, 965078213, 186318363, 932597497, 761199987, 688803434, 381456812, 188669404, 879085502, 520786269, 411540568, 309806499, 716373578, 158203825, 398988418, 484533626, 365847316, 879177300, 196481519, 946111138, 34733739, 152506431, 156774298, 461700930, 901591510, 149142795, 910056793, 698230861, 794912854, 280244167, 21854269, 780983787, 12183342, 85362216, 790288597, 365854215, 324086220, 337450360, 813957095, 198503244, 696204029, 345260232, 561323431, 921024356, 621279000, 181780151, 441799903, 521143409, 347818104, 299821561, 886918116, 124809867, 93218459, 584606840, 407456805, 58810955, 408477123, 954284331, 658970999, 649995091, 782131441, 802209303, 656893241, 696721901, 119486498, 115799357, 936226384, 131301022, 741088787, 410838794, 560470965, 947597772, 601825690, 851433490, 448320448, 93604582, 8494906, 666267503, 241852924, 88878289, 985498127, 544290729, 637831259, 149792295, 615564298, 485260630, 172202283, 378164350, 687178962, 173084091, 144283702, 265828236, 256601817, 27211045, 755887552, 567977334, 164624619, 783440928, 568202296, 445023000, 730338001, 949224553, 226693376, 731671589, 729055310, 263142471, 546787438, 559204427, 293638372, 627251084, 809526924, 88064675, 584558307, 788840060, 740200667, 404738175, 829305304, 170134046, 473946582, 350055334, 378851281, 787736908, 726925328, 523898874, 299239210, 813839743, 733084404, 263321548, 498747018, 467990304, 376795772, 46982074, 836812959, 259805229, 641686092, 360586729, 290631401, 544496142, 247080742, 458517843, 722270779, 922200257, 890994151, 890649661, 439728258, 967724543, 721565978, 253549899, 958767552, 612651373, 998056237, 560340978, 197576394, 484535008, 470091683, 733369262, 682680183, 89125908, 44450966, 764499999, 268561183, 224109356, 72941839, 154244586, 22673880, 965130445, 677795383, 180706823, 85113798, 384550948, 602534450, 215294824, 38131038, 795328630, 54515440, 276135160, 168704555, 22755556, 662684177, 271808756, 936519141, 733969545, 214925420, 92719809, 339393249, 545427886, 994188412, 79593740, 437667407, 739733716, 429733073, 571546994, 846214434, 992664033, 133704097, 669267316, 301991809, 346007948, 818952617, 298189617, 414398192, 311598669, 818376314, 177816987, 6147886, 256599457, 316435680, 634644217, 997986183, 849491485, 364735953, 161554534, 802932245, 542311278, 452868190, 504513337, 395851183, 677035085, 81128846, 826372111, 881284829, 379193439, 545080608, 969048444, 933202243, 232570327, 283005435, 687262007, 576843868, 857242441, 603703748, 45909053, 416880560, 94743559, 181122269, 698568209, 103880800, 847025444, 513374396, 286807396, 182439564, 418486363, 792637535, 605384592, 14025605, 153201729, 79581444, 792065432, 639500484, 608780228, 716694418, 632495186, 121467922, 221965179, 578077006, 105218328, 366456000, 53864140, 550233644, 799097937, 259931239, 408468121, 341746968, 20165580, 771904741, 774042158, 17705220, 144368759, 731435265, 65282559, 912999220, 313430299, 409014262, 69134771, 661657404, 536511969, 486825391, 203398618, 320074488, 345438252, 773838616, 593835361, 395167134, 323478131, 268573852, 433702755, 206872747, 389875975, 729982384, 730428321, 930066211, 175482255, 293370017, 570266288, 210350590, 43147908, 52930610, 366471862, 167726059, 949991604, 347901577, 708650902, 734561389, 872620003, 859341736, 567500179, 797350534, 30053597, 410735001, 264719455, 875746429, 358358934, 417715143, 357937223, 636974896, 357466078, 966155641, 591632004, 533042403, 434062763, 709199878, 964559689, 742248781, 522134344, 270101891, 722941690, 884876803, 534177334, 487621857, 290084403, 633424080, 810788054, 531429382, 880011962, 600301612, 525258501, 69257032, 111150778, 394510326, 123981624, 15988947, 329328720, 718903839, 380556857, 748884509, 477549454, 161703416, 164262858, 968647329, 214674568, 24337716, 251771335, 903003613, 420076551, 306292453, 217107499, 571528790, 873878845, 613121717, 8829871, 80494983, 650798307, 270876583, 160846031, 203213075, 418944797, 227960480, 58468526, 212811094, 358745605, 394854070, 700751918, 534712, 126410149, 266644418, 8660136, 668071224, 143769554, 588183077, 931022014, 256553645, 332537248, 869173177, 591196637, 174510250, 953354824, 960102705, 122116529, 229670787, 507487152, 521089650, 268005380, 796244702, 193338181, 919983943, 732319081, 656437866, 729565178, 814553482, 765422321, 213047389, 389272894, 937904843, 138867415, 574246418, 602514383, 197379334, 618720234, 885429143, 737098575, 83024481, 988160712, 567765441, 901127538, 767788076, 986226289, 305900053, 230775445, 57843325, 510372433, 748650919, 210126209, 139234140, 642538387, 239667431, 817538832, 463119937, 257935185, 394297586, 370805782, 400790622, 696649762, 31409008, 491648991, 238544689, 69441317, 678814107, 8056267, 515991083, 183146860, 389488719, 922595124, 218739846, 196093352, 886757250, 330372110, 252745983, 768301724, 723829999, 116203830, 666626393, 437867123, 966460730, 386355330, 232407263, 927481868, 687945983, 151906237, 265776106, 973430471, 984765044, 146827295, 120303511, 456782625, 234107693, 242023076, 827895763, 788358185, 5482983, 320680206, 215314166, 26700119, 829593594, 894930994, 681091111, 888016510, 795558159, 388647762, 457437469, 486334093, 318775677, 450084765, 408485958, 19905921, 695609438, 644229731, 964322768, 250391602, 321694227, 161915475, 930204006, 555450874, 8119446, 159883013, 622089734, 370249780, 858118411, 107756565, 286493605, 602330279, 470185211, 222275300, 836428985, 216441284, 749004672, 360266509, 133058467, 976880403, 629047223, 275277947, 174320334, 768552179, 257771424, 193061263, 34602877, 984908159, 610579962, 258576011, 872623722, 426732728, 688198288, 256431747, 68352521, 712003630, 556053586, 679053683, 339874975, 207612941, 569192372, 563021428, 452942625, 177033341, 421615101, 669192776, 527543556, 351705794, 934106723, 472073695, 524135718, 400375889, 177746527, 720705299, 965626504, 2684723, 753669467, 891641031, 978808985, 622109832, 501147812, 475606853, 51312455, 576867744, 713132362, 961936205, 935500552, 374634192, 869016914, 560119319, 759487129, 980263018, 342081315, 907523057, 328693317, 411324969, 279777533, 591518556, 65339635, 520124011, 732306159, 883448213, 862671216, 349944151, 875687507, 313583278, 257138930, 506090522, 204388119, 917733719, 847447410, 700216563, 755571447, 728545637, 155433204, 780953091, 816194737, 553988595, 606590371, 817228135, 51552980, 64085305, 45283263, 186669341, 300715009, 175656363, 947866034, 696917167, 596572610, 391359779, 160453108, 271136060, 627374899, 785349865, 979526522, 655719484, 956694940, 94433062, 793027202, 646992598, 359191207, 439500466, 183712050, 976229806, 30007782, 763376855, 593626078, 731416457, 318056444, 654549751, 692578618, 548830949, 527584663, 606753321, 376759345, 182781721, 419355030, 182218897, 631434529, 562503301, 796533135, 351885669, 549420270, 638558570, 419428893, 277766975, 57944173, 771333961, 444790079, 95633591, 941909901, 79759258, 330412749, 673348006, 880370077, 153281189, 86128550, 871806623, 962524608, 787342183, 866425590, 107381753, 885054307, 319827777, 965298610, 743860041, 831222668, 235480460, 73589497, 172133785, 707246045, 600847025, 509342094, 955132599, 499321190, 143852114, 745129007, 140745123, 788327144, 988770255, 845683108, 826022232, 555065531, 790284741, 571154144, 774577436, 605307380, 88549678, 459954756, 768942123, 416386087, 280649444, 293850515, 328276177, 495113788, 753841837, 393930047, 603915279, 157881358, 20044538, 522707469, 648254838, 752151437, 20339971, 26172118, 400448816, 760026292, 8878002, 145985519, 159440916, 367389310, 298177322, 677256039, 813817893, 332904617, 577330391, 661564633, 624750742, 93280615, 879960147, 840101734, 709872074, 386373276, 734847454, 514458584, 99591389, 355229007, 379234936, 322903857, 75924214, 827047545, 66631163, 139464676, 807072592, 280098283, 166312030, 941523785, 52418601, 269608421, 93942710, 616282432, 954165860, 533612113, 230517343, 873833714, 289013981, 126358928, 908971843, 776811841, 362632084, 422018485, 367398699, 73090238, 31570812, 609601499, 845773407, 831665467, 214814935, 595813168, 502678743, 600006733, 761711335, 658836462, 188762952, 575610110, 425063468, 539712052, 651653430, 966117446, 629425121, 966374393, 93601805, 675027888, 940594614, 685080509, 277911731, 813534793, 418624538, 717274006, 44802715, 104856722, 621698007, 308757839, 514405840, 949225350, 90130902, 748490491, 982636356, 569763129, 484754758, 971082161, 129706174, 804708786, 325768611, 788141024, 125680041, 578835797, 951644980, 31770216, 716679946, 795278719, 948846834, 790094350, 339226738, 47198913, 577059069, 340392929, 290558345, 674243338, 477673617, 869042808, 618138726, 542232845, 215615880, 98440294, 943316335, 339016247, 392075008, 708977059, 472741390, 568111987, 634760856, 165073161, 432409442, 446862819, 789836278, 66063054, 237048667, 306027717, 757404627, 349468442, 57672092, 272530594, 383579437, 548126169, 719490050, 296343143, 627219834, 183002185, 747913710, 176869186, 998454954, 350447431, 199866079, 423176756, 177669284, 889924115, 434418830, 564640735, 826131455, 941745345, 725270253, 582048133, 47848382, 736989446, 576680390, 62730731, 914528031, 911791341, 109672771, 707936361, 858534160, 140481019, 308942776, 920469876, 603647146, 728046043, 414758433, 438975250, 314091103, 923699976, 330629618, 608878945, 486318157, 861005703, 17687552, 621312440, 41602077, 538807001, 707393184, 365737256, 814745967, 355166676, 170571834, 138858279, 763537022, 801600070, 476663956, 489837706, 741735205, 420213492, 11230115, 517098255, 507386742, 388782098, 534854471, 479553792, 966420560, 901699833, 710605816, 587469974, 956594965, 123732399, 709675957, 223533568, 615574916, 191492888, 503360700, 780483122, 62426314, 289513046, 518878049, 507334037, 528715658, 820407511, 322661335, 180699851, 915999732, 722292722, 652617153, 818302395, 36002478, 611396033, 791530698, 897720359, 470051936, 946135894, 922249930, 560625516, 472334361, 479074522, 500981458, 521896544, 483506418, 236262193, 952993803, 477632986, 620667950, 264129313, 878115367, 454828135, 441240653, 534184932, 852085005, 509269953, 125075971, 531143851, 172385713, 181195262, 331016287, 684420185, 31619326, 381049279, 657959586, 333463955, 113862106, 180538203, 496545086, 873399047, 169650782, 629841775, 198995825, 256126530, 800001775, 561207647, 851119037, 981172105, 87356180, 792408710, 389114472, 235687828, 278780929, 329485017, 354060515, 991105315, 762471566, 496783347, 24311085, 542039835, 240290750, 458547357, 276737202, 484794443, 821428580, 848327909, 572133333, 701670518, 563588894, 147330626, 501592503, 63616, 900632881, 897165447, 89757420, 868760521, 333454337, 88572608, 203491174, 206369901, 147572611, 148079828, 195439427, 381479134, 852375925, 803883995, 731571197, 793944, 996475439, 909313235, 557319820, 338845101, 831632137, 136837578, 18927856, 668881698, 24024112, 104944754, 622625015, 557525066, 470637255, 249354316, 891399233, 982019229, 907495241, 670325978, 12143927, 652591618, 880609456, 135881372, 991499067, 776694279, 731053921, 496511979, 515323419, 904017466, 714285190, 300532070, 334461453, 63268322, 174841660, 169100321, 395042473, 342525198, 913878548, 298133352, 597516758, 709270162, 266343446, 535032584, 556961170, 69150204, 917690089, 476826003, 950041254, 305468999, 381930228, 379774382, 802406879, 676630814, 14393061, 237271748, 878685844, 425629241, 36131163, 304432077, 939015177, 35738559, 931130641, 432399484, 88833898, 983505753, 900083563, 288202075, 433324860, 7085066, 79252041, 965405126, 674239243, 340280013, 754633817, 135657682, 552645775, 54142816, 538681199, 723772127, 162271906, 467476427, 605066811, 128891575, 984740539, 741568076, 877878916, 810752578, 819462210, 333893977, 982647454, 879067501, 158250789, 505373924, 125732747, 547039832, 917135153, 409635145, 659915774, 245842438, 481035016, 767336529, 717096265, 750846735, 230305336, 192368654, 346738635, 868250717, 96129554, 343009964, 311444175, 801993028, 246051114, 326554212, 814793405, 327326955, 954966576, 862658902, 197637828, 429564169, 927409581, 244798768, 359017136, 986394675, 636518991, 456204908, 46754604, 856768550, 441801232, 576422214, 377801230, 46694043, 130622845, 371553893, 27623881, 532335652, 763353686, 43732372, 752597780, 489865089, 918915313, 802508826, 742335338, 450236953, 726210200, 742574014, 492830462, 464099824, 590887067, 958928164, 505943450, 109135321, 563029763, 853362394, 828328958, 752134992, 360782699, 998695859, 790512940, 633623777, 383876286, 66910974, 82896157, 428561464, 274106363, 763966760, 853249932, 95020816, 119504476, 759767871, 296964143, 621277367, 179989686, 911278180, 702119590, 858747150, 366483119, 771486655, 93774402, 623639632, 926688785, 187662770, 130848175, 901883448, 910311975, 600972064, 150912204, 466143940, 618185268, 282047656, 574059624, 502532532, 650129007, 420344422, 27244497, 626673209, 823915105, 398552917, 178242412, 122849156, 473696015, 265440304, 367961272, 903217644, 386957252, 479900783, 208076894, 964250138, 560319512, 105190529, 101099777, 134344017, 838820974, 862101906, 901201685, 718677224, 630392382, 881593756, 632561932, 658753642, 735587503, 347085926, 535291440, 623422503, 759525463, 661543915, 769627065, 849490853, 92863546, 5939743, 291161051, 893368208, 268900214, 393738042, 85024999, 232494291, 602529925, 285798677, 857832344, 648825978, 307342806, 318269068, 625265281, 966983459, 738536137, 130695089, 377162282, 521428921, 132038892, 951353289, 74583524, 658305694, 684858876, 842132733, 129282310, 789215833, 560780472, 198175969, 955092154, 320692252, 990477921, 901678318, 64844838, 823801025, 666959444, 79005321, 919068342, 157971484, 91068728, 614491956, 219415672, 270514547, 651669915, 994440911, 194414863, 124906913, 478077826, 895221187, 425295768, 235556483, 69238913, 902255378, 918673234, 160053138, 700799483, 660827805, 989973508, 15604551, 290954593, 267546439, 827253304, 426822523, 837615607, 995471430, 764172371, 629126361, 998243179, 1243187, 321610966, 723956341, 726788696, 651425400, 763181911, 588761330, 401113842, 499869256, 365122426, 139402281, 556261044, 558391768, 920141256, 934926346, 771650230, 737806563, 696870116, 290626064, 41853351, 327858170, 574515778, 600140278, 790137254, 559561224, 496224287, 997421476, 390537077, 179888993, 148446523, 315537494, 199609858, 403968916, 455301037, 350993657, 189974473, 119308787, 212305462, 927409684, 4744715, 86563952, 298990601, 366672701, 969381557, 433313373, 768488365, 277275646, 171464509, 577487587, 447299877, 396598038, 767580943, 172969673, 225038977, 449684015, 418072236, 807050541, 110838313, 123325745, 595901463, 679471046, 657841177, 790651157, 606686609, 83858123, 162685740, 499884243, 933567234, 545315168, 967499955, 306579951, 133979410, 869776334, 455776129, 642874515, 378573994, 990209722, 158588143, 49305264, 325652661, 637573626, 657276615, 654757636, 95786561, 21580783, 244140215, 921094168, 419288917, 423572903, 217144124, 785435666, 74656567, 206987566, 310236752, 974612836, 169299534, 390863083, 355066604, 66375778, 650264118, 603584972, 952410901, 84786464, 733549931, 653655025, 785155854, 329536765, 80587059, 890409558, 472418291, 886441248, 934063483, 74724892, 820904735, 176092343, 795514000, 223299273, 280885209, 475970798, 489507790, 504724138, 158826157, 167172668, 579959040, 300794423, 411034069, 269838591, 464649512, 929610499, 711931333, 477890283, 556243109, 923537719, 151936998, 205234992, 347339961, 34143783, 740057059, 766688838, 28792282, 917774011, 212516065, 437797398, 770055033, 333296484, 731396497, 519053891, 773395774, 870212879, 324475899, 747249757, 890709460, 438102684, 647137200, 204774267, 728073477, 139520385, 806172432, 81999922, 436402087, 708566865, 351005122, 746361245, 308614076, 878421320, 769173010, 651142912, 43654552, 507230293, 206014473, 442426152, 88867824, 838583245, 160039993, 880462705, 708352114, 886001923, 718216765, 650027457, 544436425, 110486491, 837559915, 647063658, 199836503, 517557558, 682974608, 978289807, 445004542, 782841232, 17382302, 236851247, 15819743, 176690594, 459479222, 751703710, 874713522, 595923566, 783405289, 380498290, 394676360, 351812681, 862360067, 450622357, 389144487, 763582053, 58146739, 204608872, 143656240, 519377689, 236363595, 693153285, 41887436, 592461901, 171553204, 661164984, 115173501, 454968108, 754893437, 27595563, 473813912, 227144158, 138734652, 715615559, 534839269, 241508392, 697274219, 492610420, 408510424, 808746278, 327434636, 898741071, 224046861, 356254146, 413786666, 343830610, 734476683, 409656015, 671361642, 929913947, 813592090, 297952174, 405357304, 666110142, 7776649, 502878608, 819736176, 562023179, 751686916, 772257558, 836693430, 877088313, 467110673, 270047103, 781145541, 130827748, 792597184, 416780297, 928220985, 916253967, 573993953, 327859697, 485925913, 894520189, 564047556, 470454621, 811799778, 146017900, 105887025, 957179433, 594955919, 692861327, 865077754, 890394105, 455237014, 187939864, 546116297, 120881599, 526316097, 934321585, 357654071, 834336581, 702312829, 251633600, 430149069, 612451958, 758956443, 713755420, 819419088, 877935459, 452301801, 70784956, 458385529, 144227683, 589825648, 251377629, 518535077, 52932439, 433591542, 726867523, 718292580, 737622698, 142397013, 407067036, 436858594, 4089458, 162931465, 423911366, 732288803, 326819497, 799971371, 912790822, 849432043, 331253377, 378111846, 790906617, 49583161, 244374001, 260921741, 306639923, 642908429, 819003828, 641212440, 56488670, 742150344, 646230325, 767041833, 221393186, 247176718, 273804967, 268557967, 769263310, 781461701, 948574456, 595810809, 704382832, 402159824, 449203938, 990270551, 136363364, 951169763, 17978191, 510275666, 855235908, 318769498, 167492663, 836383199, 369756391, 209694794, 456393681, 34440438, 394439101, 241930793, 957746597, 314070134, 994487990, 825266291, 563833422, 259265689, 229724985, 295042604, 657353276, 465579389, 457927294, 921013332, 962552059, 945886446, 578374706, 141104125, 155345662, 287045930, 322554710, 761013331, 343583313, 230552314, 833950999, 25083552, 437598764, 735184561, 313082561, 676684334, 775108012, 598115186, 339605279, 384166538, 349476102, 269777474, 684638932, 568233984, 879535059, 445116491, 873302420, 238616381, 350808025, 565707071, 301364151, 331305824, 296399154, 116687631, 995360569, 559514253, 391764582, 765420791, 622653964, 106561176, 483043804, 907968311, 690734434, 382205343, 232966728, 569804374, 655455727, 852279103, 649755976, 672743054, 336591161, 494477799, 260063198, 286831217, 178937979, 233375340, 311676990, 882689395, 785363476, 140195693, 184878939, 256280140, 929009607, 111356021, 914194121, 36143403, 81324873, 272018194, 289717469, 535354081, 768981521, 554728377, 688543223, 308172877, 432627181, 999460568, 428411973, 221781415, 639318832, 175537481, 567201206, 418528592, 687259954, 231996778, 175336433, 782814690, 500275345, 766733555, 452278353, 610434067, 568603500, 713549633, 973613621, 556604463, 257942794, 669004363, 234759113, 618380318, 898809601, 321866793, 525771270, 909508940, 675753136, 227148577, 81697483, 19607909, 822816325, 125622382, 275275045, 843734567, 184544845, 225148540, 707898363, 664718901, 579362117, 408252381, 931447264, 320722644, 520242593, 506591635, 227260472, 220533234, 452475685, 234497512, 27865991, 937690041, 354025012, 793450721, 708948778, 333888566, 701597027, 424385396, 964857345, 186710051, 163883181, 236127866, 442402755, 867503376, 962306267, 401249009, 532908135, 937774097, 664420014, 752166795, 210225202, 677436373, 425587239, 215837147, 556043450, 261878460, 231837563, 175214093, 738490347, 957556600, 196884274, 68386290, 807780345, 37752724, 76068977, 177639951, 202758374, 458574244, 488778841, 355096376, 12934975, 88599734, 30598733, 419660027, 168028056, 982310400, 435690700, 585732765, 104412913, 848264056, 464871593, 973777160, 162816700, 843369386, 217113239, 638110318, 250418196, 56921089, 254389005, 567995414, 113471854, 900655154, 187277357, 902885683, 181357185, 341887419, 833675878, 527676795, 460327431, 73482775, 284412647, 437531689, 342502088, 371959372, 56280150, 355908384, 225666062, 368053606, 980705640, 676489053, 136092558, 420253051, 818595713, 123149880, 30627696, 507814688, 35704364, 84421885, 583684724, 483328804, 153621118, 441642639, 485472715, 378607264, 175317958, 717534799, 401974411, 130841317, 589225969, 448821159, 691352250, 694697554, 979362955, 101829149, 654992727, 971235309, 246643552, 95178634, 412480012, 450656718, 661391965, 118523480, 746640866, 588426520, 182602871, 137693144, 198232115, 680321589, 341044028, 220298270, 711107771, 731361351, 171956689, 21290438, 777964855, 325230276, 152271195, 80318915, 604346109, 905186473, 595938883, 114343206, 332905094, 732407901, 960956007, 701630150, 277579740, 449460967, 449589421, 386096876, 583189096, 721282756, 804106306, 100786090, 882052480, 949387308, 792668168, 287921838, 672000642, 847665246, 440922535, 665910331, 121928327, 643949542, 404147154, 198335212, 508609667, 306498569, 111246390, 998354680, 913744048, 906192641, 481026420, 530918683, 878333449, 360434965, 749763915, 368108397, 699717161, 209790392, 235810202, 592971046, 381260591, 488809457, 383984166, 175258212, 841010211, 493095823, 934945065, 199889846, 962079497, 36389088, 28303277, 643437878, 72822872, 19092257, 855002606, 604966622, 874116327, 677718845, 714939813, 547243921, 845133662, 619491216, 458010622, 515195890, 894795118, 67278473, 962391126, 709064693, 484466194, 696884676, 827835749, 645696350, 880531675, 684960577, 840125137, 617512134, 463595272, 890650613, 579641837, 921514059, 349194022, 14131300, 90019121, 343653544, 349978454, 106689569, 276391495, 496148529, 31464688, 372533861, 23583044, 995256253, 186700238, 572956220, 513069137, 190894293, 797561102, 983605164, 193921472, 903848822, 752997965, 93060644, 410641028, 593468660, 144397442, 604916167, 472888109, 696247760, 349542693, 266245538, 553321763, 630896489, 553668175, 610392823, 717302719, 113594575, 996287896, 629365615, 819190573, 612874808, 401673701, 924622284, 669557542, 130346684, 338444065, 764431482, 889342692, 216832942, 308991526, 86994511, 454987114, 967290172, 240678103, 390849765, 853279701, 181543949, 407863738, 947971009, 111809784, 803806677, 180192188, 123843562, 435908598, 63493489, 728146530, 22834540, 883170439, 874637607, 166209530, 165041657, 102601591, 659032158, 814833076, 215624431, 196128456, 542886987, 207794141, 153215856, 636616424, 882911960, 39790807, 596885983, 684564946, 173356839, 350012520, 543972001, 853342677, 304303200, 471741208, 346804632, 131890197, 183043223, 264671731, 181617956, 315199418, 441753103, 735136662, 640718352, 570881250, 820184291, 964446418, 804134593, 581367055, 717055565, 793137041, 718271501, 191410054, 480277475, 451207092, 246614522, 982170534, 369204846, 809275372, 138538975, 79382200, 384192668, 412976067, 183028539, 319880634, 898608337, 630214599, 228316727, 153703544, 121754340, 591082657, 620309352, 783677344, 995470032, 476710590, 682307032, 650637860, 492973659, 501928703, 318948486, 275649936, 201717388, 985535700, 819669650, 742743157, 745761488, 782508196, 512798651, 77298405, 354969746, 211243374, 532446294, 668061209, 658161476, 653629930, 705160273, 374109392, 764290977, 911969693, 712215712, 521156109, 523355769, 490548680, 594916532, 170039298, 407488207, 676188652, 889343130, 212388296, 370952340, 733847039, 285500874, 600401054, 170465150, 970207408, 750378477, 360298724, 114464325, 918184728, 877787978, 99291107, 120311565, 207810619, 989956451, 476357298, 492245428, 698150182, 41793159, 136063605, 205965180, 272792737, 792841798, 865486966, 950648169, 729866617, 243397017, 862486247, 297275878, 475871991, 796294829, 506921398, 747003759, 333679162, 171306383, 714211278, 873686639, 291096592, 88082568, 320803905, 226396825, 44714214, 233689460, 493326662, 164143388, 914248392, 475247015, 433087838, 406536237, 98376619, 921101651, 367439261, 676108531, 753558199, 103022247, 772086530, 114322315, 946926257, 112662228, 942141191, 449823871, 640476762, 445700843, 370578173, 370404870, 527134068, 192707179, 104603205, 670865750, 84268138, 177448728, 157788151, 595161756, 647118685, 107374113, 660363816, 386213262, 524411620, 657522587, 598155457, 405829659, 182272014, 686264358, 626238332, 370737244, 629682993, 501850651, 832631694, 178719559, 817871289, 289672058, 708363338, 365685148, 966036992, 951993413, 967381910, 537333522, 561159361, 857500643, 872758592, 405160991, 751448784, 932966869, 443634183, 367902213, 880064759, 609559454, 183963326, 668603989, 287608179, 344148785, 243620121, 741624517, 210007718, 727715761, 340997041, 829479025, 679794854, 687244921, 615884462, 248609195, 280798014, 754103540, 13368207, 443242315, 834231683, 979026533, 580173116, 665456123, 431654404, 633352197, 975939152, 258732030, 342626992, 778234808, 359011521, 487985181, 976254794, 602452946, 267476143, 960472343, 283337230, 130544390, 230973256, 780144173, 94136047, 373262148, 262380220, 576992213, 454036659, 277488595, 936227231, 241739168, 787374316, 274802870, 578802332, 793538972, 574594936, 690265598, 187010335, 850530354, 632376231, 505941231, 990187145, 141184335, 617007139, 885063256, 468777228, 335507984, 145318137, 706570449, 997717845, 822329217, 421611004, 887285346, 329153472, 615279844, 367676989, 846047795, 873220503, 619178462, 956712046, 654956315, 417066192, 124517020, 813549532, 476329873, 851577767, 661535427, 407293655, 37858720, 240437813, 818738243, 72610621, 992771759, 293762157, 604207041, 893158066, 638520517, 546148091, 454570099, 33935849, 582683209, 85017279, 614969779, 596847592, 454588723, 593364585, 393624396, 91995744, 293418456, 884720338, 28051238, 916886113, 169942159, 246532245, 973919886, 318061130, 418359576, 441825812, 600962249, 102468982, 87451286, 587658406, 522716187, 2781419, 957694478, 838394076, 670044635, 748291349, 61204799, 593368508, 701671279, 654383747, 847694859, 602001200, 563814393, 343491872, 874821554, 812159931, 500868424, 625009479, 953613207, 744013601, 794775202, 45734928, 214942903, 494126722, 464693714, 530887218, 660648608, 394677013, 594019584, 824021977, 279663141, 788922553, 995625268, 635159871, 271572666, 64549676, 382474965, 64845367, 962777379, 314482785, 686487676, 189974861, 820331260, 414963852, 476904498, 735029367, 436935154, 622048415, 107499333, 134450293, 406868872, 745916217, 66783, 94276630, 539498035, 863686996, 559499313, 465259264, 63796560, 14517935, 562843941, 98711711, 673610830, 922405133, 898308404, 11591694, 302296471, 70170234, 21891488, 265245439, 525240496, 769323619, 690941046, 183054362, 500217260, 891402693, 246501179, 279433453, 984031261, 177465471, 353930370, 509009890, 770624083, 938416900, 274204731, 651859440, 37267676, 477108725, 346770863, 884079059, 552223502, 325528081, 142524228, 236466029, 578504333, 830500859, 672236219, 424615483, 369685644, 887599872, 627508802, 31692120, 695751019, 364269444, 925635325, 366319097, 968445319, 197518680, 430757508, 187594303, 234795030, 103281521, 401699834, 491861287, 161262362, 150338744, 140947916, 155831127, 827896213, 159365777, 18862661, 597864083, 470720795, 379993285, 880096977, 817621370, 876264860, 377748663, 193591535, 340535192, 740417041, 906351584, 924178818, 355858898, 415280499, 899157176, 821665572, 34921979, 181896905, 157302660, 431536009, 696684509, 282836621, 153009540, 478749080, 391795756, 566765192, 59901169, 843474093, 497985715, 480986785, 27584927, 793393676, 566007850, 754340914, 768821354, 578141765, 717674364, 156812894, 252569275, 64128325, 897750866, 207379294, 255392441, 122054494, 327258618, 825078189, 624644369, 984126154, 771327690, 238816289, 527549305, 492981207, 565341808, 579036024, 780928890, 777812236, 752365290, 272586785, 141324876, 881963555, 989799908, 675527446, 18667402, 549505880, 200906702, 232983482, 811019962, 522994679, 699696413, 592971145, 849798846, 72135677, 751539935, 230509979, 32852136, 963175869, 362351668, 353061160, 156206429, 263518055, 397352198, 617385102, 567210463, 416946065, 339191552, 258918897, 625739410, 652895894, 923844704, 866842183, 878329259, 206801999, 829983481, 216295966, 495546194, 304258744, 645360620, 550213495, 324656433, 424817780, 473076435, 101403073, 887130370, 313869826, 497782344, 376092718, 430322871, 24821492, 402291298, 978449847, 70915111, 161854130, 901718280, 111509259, 495958377, 731689738, 713679880, 433798818, 430083675, 667771368, 590959146, 305828825, 485391255, 656173713, 882865247, 654939558, 925393199, 628263978, 189140058, 197406063, 105985781, 133080804, 502964191, 735286017, 31225612, 218589986, 869074687, 535033821, 691251903, 708770485, 226203092, 746760458, 181129923, 16254141, 323483330, 587443449, 324757689, 510560051, 551139244, 626559288, 823031429, 953103999, 40194234, 979883557, 643618669, 303672658, 676971246, 680396907, 965231438, 792249417, 443827388, 230454929, 314887798, 729773845, 263259560, 724298055, 350635386, 669504807, 960307197, 413089745, 749870377, 880659868, 891327955, 554480060, 857462142, 809572415, 209288036, 185753251, 12810953, 839103044, 210226476, 629365058, 8294734, 718760708, 93282963, 176338380, 694812672, 11478995, 47366224, 95321934, 776107912, 667999493, 80397986, 495373548, 921096954, 319382485, 743403865, 812382774, 209473687, 233643854, 980657304, 523663084, 918491464, 59527596, 852406804, 732626325, 415242074, 662943433, 798667588, 597202076, 306310238, 231676512, 462794573, 565605322, 106513309, 458714940, 658514447, 811454283, 506457085, 961027720, 708001080, 101976692, 680147234, 466812858, 218095150, 519422526, 279982197, 917365147, 123107966, 381127363, 704645188, 740580793, 207471679, 929766300, 828591925, 247225459, 168132219, 740364149, 203237078, 779247113, 751673018, 507621446, 371415934, 864918598, 868609147, 388647489, 473317389, 81023691, 884934116, 114694859, 100875116, 809249702, 582880729, 509210019, 82534681, 341485225, 965428919, 581950500, 983741906, 241881531, 657352589, 37149820, 330740393, 923916855, 91602079, 269921018, 754034589, 245550835, 403134318, 548839511, 111370602, 619706846, 820034940, 648713339, 851823348, 753484451, 669086692, 280709122, 135954404, 228936147, 636593453, 166557180, 693090922, 519990840, 934963299, 254969863, 155286372, 294074413, 94347172, 670216871, 271827070, 737831965, 839797712, 501143758, 299341681, 930447720, 696556596, 936229101, 342981573, 577958637, 11136343, 901559703, 780810821, 842375849, 173795443, 533208825, 158242773, 802171908, 454892246, 433795036, 953603711, 508831484, 873509885, 615450113, 771183980, 483753176, 209438766, 103983709, 584981173, 286770836, 458049199, 297854749, 248283393, 659240095, 20014950, 469967046, 424968946, 442295223, 112039305, 543408753, 735854009, 725141411, 976145220, 44009161, 856439745, 570157363, 997230013, 377536761, 454858143, 763982817, 558361824, 955887538, 396380259, 92981646, 51016065, 455277909, 559934264, 327370879, 437158694, 47246746, 492006181, 297135785, 813520519, 710845974, 675064731, 530418938, 503690268, 647372396, 163178812, 326905036, 286047703, 26131476, 90988747, 219795396, 985278191, 348166061, 831695144, 31169223, 172980647, 762204937, 989563476, 313167868, 596721977, 470737873, 957096740, 770369841, 576895325, 273386124, 255180262, 166144127, 211725052, 336617915, 987741720, 863702551, 285534564, 860486958, 306936991, 558181527, 58653582, 566350343, 620261672, 248719944, 825557145, 663037168, 98521989, 182911129, 784363200, 362498682, 360829920, 41846710, 501525334, 21516573, 582239605, 722041830, 414026834, 268880076, 334441055, 993384455, 841817844, 326552029, 644649071, 249944044, 192727813, 806143978, 125167164, 896285510, 433369271, 731916869, 19953720, 31871894, 518374358, 37962253, 581963190, 763706661, 365705260, 419471937, 39491018, 839838820, 815851642, 103039730, 907768547, 683028023, 267245608, 529144582, 979689181, 202842346, 466333404, 210802107, 332587917, 794012219, 972696532, 590977759, 306503934, 389114183, 257826871, 657572535, 672075213, 362759579, 46333874, 495861911, 158199437, 479497071, 117824730, 389287613, 244933705, 212302061, 260051276, 475095497, 410336345, 621296859, 957114207, 210813614, 988723348, 188856804, 329812224, 986929439, 501221920, 766073783, 751588647, 216074135, 651311494, 399233052, 212510896, 887788332, 273441553, 891675551, 101846992, 785562758, 95637045, 668694879, 665610266, 262120903, 537360037, 581234880, 183172211, 368435585, 781848061, 286704513, 902713160, 434604607, 764631675, 603433906, 168409481, 353395135, 919463713, 62969710, 569959137, 592183382, 223917268, 178401965, 57132876, 868722802, 282794400, 723892175, 339903358, 910582956, 57292852, 323980404, 516079896, 450668286, 880767627, 552279954, 889956812, 142931614, 765301927, 566740740, 962220814, 606090950, 911982618, 607399300, 609837112, 825961548, 519480947, 303385341, 905198867, 156674016, 24659720, 736878401, 723640281, 400315183, 150774339, 63800126, 847208643, 172431094, 231538835, 78173080, 123459675, 839590820, 681941628, 475967096, 524539696, 469822701, 971106645, 223440166, 683618331, 438761370, 157449473, 402021826, 588922622, 131162444, 356321563, 926574226, 881790398, 428642067, 240287364, 570174889, 362980536, 648318569, 323265106, 47917598, 392745500, 901557051, 550157839, 252849657, 170722948, 590662443, 598829955, 195557252, 905080897, 101936282, 500274790, 342133324, 638349230, 539684540, 606828891, 994323353, 694801274, 137701226, 905162584, 84532689, 355844617, 744318332, 500901201, 338908643, 847034290, 299576757, 41506538, 378182407, 990528340, 367484102, 278171222, 500879177, 51163799, 593080549, 222358196, 646297426, 403371413, 643311910, 691165802, 934381165, 587718844, 47815641, 942644465, 712429078, 848879002, 123084636, 227413931, 516125232, 499275016, 852970673, 691122078, 71634824, 223005672, 29724119, 165748123, 713758281, 9838791, 124129328, 926855707, 981712528, 747958456, 91715686, 530119891, 620234116, 279770082, 490559190, 996992496, 710578362, 39161441, 128373827, 297166897, 837262721, 586188699, 735329354, 599040322, 977303785, 703213870, 820107322, 356964947, 736232924, 497346344, 935270275, 39493168, 435462356, 497546903, 707203727, 63742228, 359710974, 707305935, 247318705, 423708065, 755595568, 118343738, 730344535, 30288494, 507228597, 272526330, 847966851, 36641561, 71841039, 713276457, 145353831, 205560368, 687741420, 970630922, 479347973, 964594791, 182910060, 494208322, 434390492, 168291418, 577055095, 392813397, 973890170, 409665887, 53347647, 110638808, 255919765, 173604815, 476799757, 999010423, 580295335, 898097377, 705465896, 768506361, 658091029, 178068281, 724470779, 980316306, 849467985, 723575933, 190854524, 833197975, 529478591, 778803405, 505869333, 636252199, 436811949, 435879078, 540180938, 462494321, 581553504, 565037787, 232695716, 230143038, 16139962, 148202473, 707004075, 237456159, 82460843, 330440870, 278349726, 812254226, 94722977, 992395691, 444062672, 223691315, 171082063, 887522562, 266384096, 232253233, 822229306, 970104397, 959049084, 761417634, 571344156, 492089146, 373875060, 282268374, 154959498, 627032025, 863858363, 216310053, 457235666, 309865508, 756627130, 653504508, 251033307, 867436284, 415507124, 963937296, 951674345, 30777808, 911767600, 322745441, 721050968, 579611303, 308606338, 961939984, 10247291, 881041484, 694933849, 255596012, 162850585, 708072173, 970951222, 590932932, 969042210, 253147095, 559834717, 144536139, 475854676, 216280088, 521895824, 39007678, 805687899, 599638412, 39039259, 174785630, 383613375, 760035713, 109805120, 547134767, 286549702, 961659589, 236528432, 512318290, 680038201, 669564185, 81346747, 902372854, 574778350, 80941031, 625574329, 334333945, 782459346, 57319703, 401079775, 557741558, 242441151, 434799820, 729107435, 72885491, 547493587, 144166453, 451006401, 933759176, 271669049, 884517310, 358623925, 439682991, 589166559, 930267472, 157671448, 30274928, 631884517, 124054696, 778486479, 558584788, 193522955, 877878745, 913613342, 771810944, 421595857, 307541414, 189173573, 689065639, 464999517, 963574876, 902805498, 556348580, 256572909, 660623097, 739531090, 726858872, 737570393, 641856247, 964197364, 774143532, 136880450, 919433536, 729871957, 681391526, 837992012, 259064245, 587105856, 644583875, 761331969, 976984508, 693315497, 278227970, 720896909, 130987909, 744935756, 875187115, 412925914, 32282066, 226981983, 726493782, 368533232, 505617654, 612624177, 715447134, 316060825, 46950738, 24073490, 687389831, 71134857, 745266757, 533337492, 675806815, 582031873, 742117248, 281871420, 578977581, 36718342, 368498625, 790656732, 249280744, 355576290, 637328593, 856667319, 125041655, 599395638, 162469506, 284920819, 909527293, 658378503, 704782648, 579051421, 21396821, 897425450, 548352598, 415018318, 357453714, 342874783, 681976431, 705571245, 406045113, 245943118, 719205784, 584162097, 393939802, 916775805, 726241536, 811560210, 319460402, 700681998, 272361815, 465515737, 849625915, 464617457, 803641902, 28813638, 181075181, 347296927, 571124260, 48491211, 734604552, 765085839, 754424526, 974835790, 218868120, 299861906, 151451323, 193023275, 550978847, 229097951, 924396419, 21188549, 214698342, 19241473, 988988863, 551778723, 411772051, 210132323, 224505568, 922604012, 27440163, 607101574, 499560168, 333970799, 812350075, 133219526, 39350699, 39457901, 926031237, 998790151, 600637533, 792539600, 820590156, 621122232, 279318391, 312030215, 845154276, 723445393, 795205025, 789652909, 364493444, 779374041, 415774972, 891851454, 320123089, 163182202, 740782687, 524012402, 414251914, 858168386, 65079059, 908961926, 752436909, 715576187, 753605368, 60631441, 929554927, 406912895, 828570593, 137105447, 226498272, 930381466, 412241012, 575972895, 871983553, 266447497, 646445513, 151121619, 37152372, 539409256, 978103493, 217909515, 749663900, 80217204, 206938805, 259182460, 193219927, 534116218, 762487843, 531279397, 105077196, 805344663, 870848469, 584396027, 910221936, 790312965, 120218921, 141975690, 214047042, 781169257, 505549256, 694110542, 387551253, 905596119, 272398488, 53312322, 996766436, 95967553, 17219419, 393810870, 301679472, 418431219, 854158531, 655295621, 604835376, 902229917, 25842579, 883377926, 591643635, 995930506, 339401095, 99498651, 963692509, 160427284, 761100088, 304498762, 602175168, 392096709, 610418830, 691646729, 556846266, 763442480, 114581172, 414514914, 804635479, 177740817, 807267898, 561144476, 645058893, 395166312, 856296131, 215470915, 154820124, 259339748, 445121709, 464611112, 30191122, 428207270, 762422588, 522320643, 975947720, 355027828, 518284840, 890075532, 913799010, 982609702, 568525599, 33052456, 544846475, 425310746, 757868472, 332323644, 202832387, 125464202, 301890738, 283053247, 384233706, 31140647, 250721176, 114312233, 792852138, 264605273, 907987045, 84844956, 252583450, 427944043, 269616571, 690932108, 567984862, 524146659, 906372062, 810095166, 669355311, 988732624, 53042528, 828094026, 618706694, 270903193, 221150980, 809348697, 801493546, 240610441, 915794435, 338800985, 863525242, 781619142, 329219460, 653515966, 704980434, 95359266, 303391463, 719458454, 872374617, 523797821, 249412480, 769598469, 598174473, 542219184, 909346850, 863234850, 699823120, 532894614, 81471997, 676135775, 878984861, 509907321, 422016227, 542578128, 720583529, 868371644, 978713265, 99254827, 471668890, 842087159, 291460182, 761227148, 425607863, 484663282, 692900707, 331736087, 124638516, 440209941, 304717122, 660064328, 239080405, 884893719, 937735774, 385049554, 5403788, 312850238, 534451493, 164722831, 681104816, 82889171, 211841236, 284427557, 787398061, 466636174, 345147039, 255236136, 285258371, 39371636, 40899562, 305623576, 331646278, 837964791, 141134763, 72269097, 392483086, 852297548, 350260804, 716737166, 72013229, 393806093, 237771023, 401878794, 662884280, 123661102, 190769064, 598421259, 74602756, 697250769, 101751961, 636321645, 656308041, 885121172, 277255150, 517313356, 337300727, 711567361, 859244128, 531077742, 427981832, 377473304, 706381634, 672090385, 757104152, 947263047, 116379575, 964267407, 614118908, 732962183, 319487283, 113921148, 867470178, 210195043, 996035006, 472391720, 939830973, 576378931, 36149291, 870891203, 170853981, 558780000, 365351020, 578705001, 711888521, 410707306, 203340590, 872692202, 532608508, 208386675, 359466941, 440713752, 619620367, 886264324, 76174510, 706066087, 500258854, 488875432, 77909861, 319439027, 314504817, 899520934, 282982020, 287108163, 120964976, 843412778, 452424155, 480764589, 556898045, 169320967, 194749922, 161391291, 681237081, 120795420, 257354462, 404863333, 146051159, 273577781, 425397687, 363105322, 596364579, 202722998, 124416222, 710848976, 605802841, 21651097, 360211997, 419104434, 43061113, 993167327, 831713951, 552909656, 798690616, 4182801, 906406798, 413398678, 860126599, 401596131, 698163779, 305201293, 323996874, 762432611, 78915663, 56912651, 60191662, 337649171, 462841153, 968069022, 514066648, 958077459, 74985868, 855457637, 270304769, 155313066, 289865128, 448154104, 237838057, 422635386, 135551859, 232249624, 310642964, 513345560, 315892341, 808744324, 511408860, 529798883, 957921508, 261953763, 125316457, 836700035, 260308715, 889741331, 524268028, 648393657, 696455314, 125804169, 182543213, 351517010, 846305944, 423006841, 177881979, 833524413, 816183873, 443843297, 419086706, 226125176, 441228088, 117695223, 90208349, 527187190, 76177798, 844533669, 688941529, 258758030, 102147933, 316238520, 40398290, 984990570, 670723669, 967473690, 263966691, 798408462, 188899865, 753889767, 840569305, 715261664, 769816749, 217265837, 894943730, 460132012, 742111063, 581920825, 391849540, 771319647, 97792959, 376414729, 284309566, 838972120, 99521540, 913730669, 76560715, 169382720, 618365279, 301602744, 951771239, 452042699, 611694102, 303238631, 543064451, 974164225, 438418716, 963969724, 32892664, 963464518, 512021594, 939021236, 975553424, 729594937, 326412287, 640686311, 481718468, 920310630, 643616748, 748107095, 263234010, 728471097, 465543214, 411786980, 820971268, 21987154, 766429585, 168060677, 993157317, 384170529, 536414942, 810129475, 256145638, 212870250, 200229787, 907237951, 323019303, 300591862, 926890636, 986085225, 407976318, 190235645, 758416025, 67363915, 666891693, 198941057, 754461590, 483069412, 885828461, 894034235, 122647308, 346482853, 761594773, 68516959, 185117585, 528194221, 912431807, 218279465, 600458930, 298992844, 918030634, 634038530, 919805324, 676499001, 608658990, 994345549, 174646096, 868706165, 703206570, 992598082, 302019042, 109608272, 382576191, 561387183, 559614371, 749692670, 811156697, 654492119, 589982639, 189340458, 256324864, 420490928, 508487063, 789294007, 910337017, 187331131, 864157814, 186482566, 548548014, 876817200, 943147413, 88784073, 481821565, 143563633, 740439855, 849467392, 917409063, 560800926, 25976082, 268892270, 524263040, 974253547, 531753682, 736572491, 486796581, 951200099, 527713687, 746041864, 410449189, 955027825, 943262466, 244434906, 436372068, 60832550, 572931886, 435976233, 58663750, 708074245, 49855195, 937083231, 967565131, 6972312, 169652419, 214184534, 153783233, 985202044, 220938794, 746382513, 852733281, 329836009, 6157413, 501924243, 133013889, 119158076, 295665283, 472206503, 598105235, 101920057, 398876327, 100625381, 64601413, 103935650, 948309928, 921259284, 999240003, 224110339, 932688854, 236021520, 467385024, 206804530, 161853216, 913518783, 909055664, 33044311, 642770355, 9186385, 205426976, 12083587, 503309767, 393381687, 484409969, 979404123, 791171623, 447599408, 853902837, 64599644, 669071239, 730830444, 157906206, 728004850, 747995282, 870464315, 674354018, 121029068, 860701258, 294202162, 951091710, 358167062, 201214378, 700518548, 133590651, 402734001, 885057354, 626459630, 313874018, 130672294, 230653850, 400056379, 103123601, 668081067, 681493317, 509601529, 122692383, 784340810, 597368194, 952391953, 89101761, 267815755, 258728087, 84217360, 938800184, 991849190, 442134811, 895473191, 824246847, 137286035, 243139782, 941478832, 279111595, 791269986, 518354970, 395664290, 360087170, 272269254, 712861577, 819446341, 962845142, 410097071, 794847613, 221392188, 119574009, 134085135, 747008764, 944902217, 279614166, 638225749, 255108824, 138226245, 5382242, 718235208, 57921728, 970543252, 297766895, 232398511, 198058658, 725007453, 4250732, 201522301, 324747506, 750475192, 479131328, 800038205, 789015592, 622647397, 800856060, 765746156, 61477050, 250473408, 186145094, 771715822, 867520396, 760387765, 183273479, 113688217, 472002949, 810166486, 787488049, 747840282, 670789092, 306704145, 308677628, 584670919, 144257844, 60104421, 820650964, 245567413, 313442901, 666810196, 614789822, 554147740, 493193440, 282769488, 879758864, 275329231, 718527044, 538643163, 47871449, 270397287, 207379603, 736243911, 139805738, 735691908, 758610191, 320624537, 818762338, 69803567, 641056399, 682983480, 82067092, 956087525, 124979438, 984294961, 171341326, 784042721, 381146585, 379562677, 854885302, 902672225, 396841647, 919380576, 785830251, 439483127, 794492521, 25983116, 761178199, 44869002, 280158360, 783050466, 275912585, 192250519, 993006260, 26921985, 596230061, 19859468, 441461060, 528634130, 152709243, 793027809, 707383354, 14207645, 225642765, 878624677, 505363995, 478286072, 812409550, 186088854, 55631797, 735322925, 638233224, 656293293, 232468850, 591891921, 337195408, 567030564, 721025518, 784164015, 651825071, 797712736, 732422092, 193511360, 472934925, 71791523, 820060463, 615494481, 352457319, 244604942, 550134871, 841367728, 92157036, 771027480, 800592278, 62206754, 615227138, 841409967, 328587963, 412961204, 153189538, 453869166, 875860809, 795958725, 806622279, 403896570, 896029241, 83040790, 804539125, 686591085, 931476571, 889918548, 489009749, 962803509, 273816245, 808644238, 419081484, 876285525, 258928707, 578271778, 78745320, 881984603, 890469305, 95551137, 593696822, 501948727, 482315242, 276235989, 855585597, 746238939, 188750389, 14731289, 586024171, 161896657, 42789437, 153714070, 519823965, 444711633, 244427296, 46718123, 903833028, 321141472, 710490381, 80009985, 893881412, 863357633, 387150626, 600498436, 406983000, 888615665, 630460813, 701938587, 881312475, 225741993, 837862313, 42324807, 389276618, 381039362, 52622035, 950297068, 453128305, 205940026, 751373523, 713128051, 189464226, 182487633, 110474179, 344786227, 502868916, 766728416, 387141325, 196770836, 426878256, 178272330, 784740053, 467294588, 485245471, 353549774, 406763645, 89905855, 707865493, 911390793, 538680394, 176472077, 176861739, 395532410, 860239995, 643828459, 534026986, 848781654, 550009601, 413837729, 834469315, 78702862, 148582605, 570610648, 797913761, 119708983, 32868142, 314758140, 193032443, 891243440, 140843301, 463878933, 101265728, 987764698, 614640787, 440876886, 525104825, 359621274, 320478690, 621672033, 573081155, 634696083, 283479249, 491456933, 427593680, 835395212, 232480522, 991505163, 507165321, 732327591, 197443309, 117856511, 873922063, 430122117, 253164700, 371978629, 935250824, 16494492, 844917063, 329774392, 270883511, 408631743, 961901709, 516610794, 402708737, 150310777, 199412995, 998068111, 468566999, 210936298, 121311492, 553462678, 41493199, 570698094, 694361752, 231576318, 93842510, 623555780, 152080571, 634862976, 410906, 501813169, 550309934, 481446127, 688481541, 654969615, 388945049, 830642351, 377698233, 410060570, 872938319, 9965584, 429389745, 787512378, 244266210, 789189685, 488728379, 419209597, 544239671, 128351804, 301408882, 784497092, 202985839, 623350496, 179169718, 108344642, 863841879, 246503905, 607278998, 745852158, 86100690, 538408614, 191173844, 704654942, 716534186, 642832548, 451999458, 690348173, 924087315, 856653116, 806935234, 628525840, 799414975, 85151370, 480191355, 397940350, 634616938, 836054293, 159154957, 715731135, 458393588, 799326661, 705450504, 769449408, 474041547, 903579, 118329717, 127886648, 892858469, 377842900, 177641833, 343757129, 875745006, 502582741, 717219381, 125645281, 102293580, 377532253, 240767220, 94620061, 189707271, 376734447, 370616064, 746625075, 615460312, 939710652, 304001761, 58284407, 529311131, 709324131, 234647427, 85380560, 655621275, 525064401, 433779207, 707776694, 620924946, 637864872, 613893003, 302315485, 24883336, 35732231, 422740885, 166579433, 545890908, 777637093, 799971920, 892433562, 991663651, 747743262, 582336058, 670248109, 403894181, 6564410, 550293478, 856938214, 452433932, 789240433, 606845380, 881458836, 356300542, 273873114, 198863144, 55314381, 523543165, 357685056, 242847985, 694942997, 571003223, 261452270, 163778332, 428224306, 151968753, 638925693, 644659760, 228935974, 391903372, 450647736, 315111206, 226021495, 310689937, 248653211, 425008084, 414080702, 875459303, 365106219, 221305294, 398522998, 106718952, 690631917, 809427353, 663459493, 293427194, 213281715, 897291285, 537363862, 644254986, 284227272, 543229643, 361470371, 543353838, 602105761, 304438604, 487668550, 128971990, 647045756, 378620246, 958260996, 24442720, 870052758, 149215817, 461456803, 255501754, 484403954, 177227021, 128562183, 256938742, 360908565, 482758454, 346139046, 105623977, 661331645, 866352112, 262895745, 470344637, 591879079, 783134675, 880074816, 571522489, 984060234, 353362203, 844569332, 724289412, 979525586, 228764589, 351102593, 965134173, 149115558, 491933689, 816938793, 67702462, 599148645, 279580569, 82967057, 509939302, 558208245, 766185708, 807445217, 805836877, 349545476, 905950788, 788887136, 222674823, 650938774, 610763213, 961296384, 322716711, 122665965, 176193808, 86645134, 227834430, 286449054, 550856173, 11333430, 35167872, 289412263, 554606128, 265179968, 88338953, 308274191, 65578960, 676956413, 385068143, 611762592, 632228734, 755198822, 663109887, 346813879, 249762878, 413506275, 616628544, 201658282, 767799442, 970172040, 348738739, 735062637, 850711934, 900743123, 811080408, 545456959, 656429799, 755045106, 188676020, 929845351, 800367373, 70413901, 786652897, 582445161, 866545958, 362402889, 865666785, 283761734, 825488526, 384238459, 21591225, 698699632, 975448517, 743411056, 567820590, 400975014, 539348901, 321624433, 786382913, 243950373, 465263120, 396082897, 761758961, 203252300, 112341054, 25497926, 370255091, 320373273, 520861497, 15787140, 281766388, 296780854, 266732650, 970127974, 59246860, 164316168, 965404983, 409101007, 651950694, 355300206, 784010737, 931641138, 342924821, 60314016, 328557074, 937095910, 648177729, 682899178, 37997493, 131210925, 84985705, 914140984, 25787633, 514281918, 39481318, 899316343, 877843115, 998213459, 136840198, 203437398, 995139524, 409892044, 503928774, 95562964, 538874018, 246697875, 414038602, 732699145, 139113320, 334396981, 641483849, 865137557, 656951901, 932832723, 826012974, 951216536, 836762371, 280118139, 251877453, 436854494, 48194379, 835048152, 505234732, 744876175, 711011228, 194271787, 276764327, 961807019, 959069039, 344787246, 482949723, 3495186, 13998332, 941213678, 968854037, 579916974, 480837924, 569509340, 347930835, 236814020, 511198979, 834666965, 246153844, 431599371, 570794013, 679721371, 397649621, 654130470, 939181248, 202609629, 300893990, 709819166, 566784455, 463706628, 459971368, 34247630, 674133443, 816693907, 413657615, 160531153, 840223376, 969146589, 896654586, 918176772, 430184372, 681917108, 548979691, 37183997, 834562747, 440713224, 849785992, 837004757, 84434784, 519361558, 916278790, 685235294, 482090241, 441341678, 910087709, 987420360, 276748571, 821484337, 698069310, 697369201, 595997501, 375223562, 553720736, 288202716, 910346822, 915099527, 804998824, 435356261, 24364317, 969044598, 747769467, 535345914, 781763338, 188461772, 652733310, 415956213, 509909504, 784285427, 442365609, 627179024, 224488827, 416634795, 9838177, 705056837, 555192925, 294877736, 298608606, 561654885, 685757976, 468226502, 730677913, 553208779, 297112424, 163532539, 458741144, 761836089, 943541752, 616513266, 289867721, 773800318, 439419723, 719175620, 439168025, 167823676, 392848435, 63089676, 724683864, 594595883, 890664409, 695734499, 651289188, 448310573, 553854843, 508113863, 155786786, 444755557, 11392475, 948643193, 280249319, 310736640, 875129089, 365056775, 302669314, 768391827, 847208433, 50550449, 995378894, 28197734, 696019429, 396200858, 659184845, 860730214, 396307216, 269187056, 707505353, 770545239, 29169807, 28271241, 406593678, 741125426, 458201986, 433376779, 901094563, 846246896, 270204904, 610772665, 119593067, 265219535, 153966162, 764463771, 314219719, 427858201, 902436284, 968036429, 551638427, 635568985, 168986606, 413568879, 9603924, 626169472, 648561699, 684474937, 670093200, 297879675, 333918456, 940703977, 462401863, 561420522, 973263046, 83324135, 531155591, 43295998, 444703805, 424200502, 940900135, 356326928, 82027286, 821626411, 869846804, 260466442, 986165800, 387699734, 439524635, 814632222, 584881967, 649230729, 772980576, 657980197, 158086518, 696661524, 457079845, 555042279, 830269287, 590697746, 315182165, 450352956, 33998483, 909372084, 239449115, 433166392, 728027516, 290832711, 43608177, 860665408, 674364543, 100524581, 377762608, 625051272, 700392742, 47180041, 581666305, 944680827, 823433643, 734366993, 161657204, 861186438, 888490138, 65889809, 26471360, 548703522, 519215156, 335855098, 68210141, 815063833, 553307725, 354634682, 212640979, 838337983, 312218505, 626407101, 646178747, 929319288, 403000759, 661928227, 617558359, 898538270, 55534248, 941057309, 231408357, 566462538, 908916201, 336510822, 367972625, 739870098, 527270865, 423088362, 707721471, 762215225, 470338730, 586861139, 60439756, 209620780, 781108560, 9936881, 403356145, 948241265, 312033341, 261013786, 825315030, 893452472, 709829703, 636946140, 393835767, 644179436, 67237859, 439239129, 993400908, 176214321, 59026673, 561830397, 554781803, 912997939, 709504533, 240360602, 12368010, 904285106, 157051383, 284255606, 689239458, 997065041, 575254070, 212423502, 499832775, 296324972, 805809727, 690416692, 42559228, 413218164, 129769397, 755002337, 640246798, 812359592, 801499620, 724494435, 667987792, 452042855, 155106270, 31782196, 713864985, 395886936, 732231858, 484610534, 691126414, 713478129, 173350058, 364016008, 908871376, 530339172, 567598641, 546839462, 745190738, 71260158, 944674310, 364369595, 770112320, 138230794, 65741067, 127953196, 564697355, 485827148, 140868450, 116268312, 133752511, 866286005, 17396074, 453163249, 959179912, 52040543, 816662473, 462822370, 481380414, 477990799, 737695248, 799618035, 885523228, 283037417, 449775495, 840754542, 750399445, 111788063, 853135035, 255534980, 186886476, 935908400, 733024112, 862052538, 651999524, 456346636, 683458435, 416493126, 641208992, 652478352, 327170784, 759039733, 779049888, 673717684, 9272541, 156602179, 278162981, 98758006, 144772770, 461853148, 274962166, 525979357, 130236118, 479179308, 783754205, 833714253, 814758535, 526700804, 49839512, 938615499, 496410343, 624210360, 749641413, 587508912, 323546784, 245487223, 98714500, 896752310, 336158896, 398340458, 187654856, 708818446, 191079286, 833832995, 962859849, 657704426, 494344004, 332040532, 644922823, 317046180, 961356891, 484733213, 994585389, 927519696, 489545051, 885000760, 473834170, 5671725, 595982439, 853379921, 518573745, 465788440, 763806886, 151640925, 640483374, 641109750, 769711807, 972249223, 618478703, 583009429, 873828638, 794172343, 399712101, 559218002, 441934575, 380948192, 787662925, 84035160, 504530177, 433283941, 953641515, 542320168, 535565267, 683959780, 999258059, 638383145, 628600276, 583969084, 257873013, 130260644, 364506025, 191602139, 159384321, 389866738, 756816708, 321844985, 384810359, 563440252, 29840548, 622062323, 808340590, 795575693, 511071729, 16257857, 664351391, 920837472, 84294992, 533595356, 866866690, 689355770, 281144553, 251214063, 782232134, 688175727, 603842972, 309501444, 68514467, 832947796, 82972221, 537617096, 813592385, 762223037, 62606388, 252653075, 335000136, 235876311, 258806474, 539927875, 463318220, 409924598, 50223946, 502244844, 589178997, 782164855, 678322722, 422234463, 386907403, 446904768, 493208609, 22205973, 873851643, 400677481, 563398556, 752100857, 317784609, 984505413, 993652016, 520821932, 593381508, 27905692, 954019861, 488932671, 919568366, 689071811, 865905534, 65178554, 700757179, 427496172, 712580503, 835684696, 565860348, 622812849, 994019963, 402933049, 87287751, 943255225, 159383691, 437904390, 937799061, 794629616, 323422359, 785854063, 442052888, 85569915, 89988843, 211533601, 777907252, 816328230, 130737877, 229383067, 332456469, 892491275, 319633252, 450198681, 771322523, 142799294, 191171077, 481320161, 322414771, 790195395, 942399283, 861917774, 443746798, 168806132, 194591960, 348750241, 472642404, 198708384, 990950580, 364654435, 600042433, 297290989, 557718807, 439221679, 464617175, 154419802, 461101583, 666297800, 79716951, 871596390, 22464260, 495140874, 315948410, 590727854, 783452445, 291861899, 647504909, 331413000, 79422301, 986424442, 189236480, 353934529, 372008653, 169062495, 20745273, 832215589, 845997164, 242219389, 698395163, 790452358, 149932358, 545273000, 278599114, 475104661, 963481730, 789619825, 503346992, 187256829, 651358093, 123138536, 692694859, 514822867, 574089846, 597040838, 413026360, 597935765, 42220064, 250750388, 356734963, 628594790, 802636269, 228393297, 761959971, 926308745, 336037560, 272421759, 301490713, 867127154, 440059690, 359547823, 708033629, 292261275, 634684649, 990339322, 980427739, 541457404, 325366112, 844990456, 866956007, 104114657, 777734880, 314849340, 441919024, 214315787, 91677860, 997868644, 22217818, 590370873, 862323222, 517900740, 874351099, 541783223, 10628465, 300231155, 263592958, 855793027, 200289634, 592807458, 493010917, 680942899, 880597175, 666230666, 310362821, 636075370, 842214328, 46854585, 13391637, 14722020, 573549681, 722157120, 730314556, 424256693, 307510404, 347535009, 318333299, 180037919, 363266163, 126984544, 912366896, 978678768, 337544972, 40152786, 900610560, 532549777, 755257298, 979388334, 241205161, 399734332, 368537178, 523314754, 186528244, 81597672, 713151983, 12429023, 699490970, 213843523, 736908533, 661904997, 761688709, 116667586, 746362670, 879856747, 970911433, 714860628, 365468692, 381851344, 982427585, 18218953, 316731640, 347670362, 329247772, 70627705, 198722012, 440579050, 743773606, 708053293, 803277049, 110645565, 482087609, 462294381, 938100877, 18261110, 509810141, 456604043, 974602704, 917562691, 852722355, 27700997, 111658445, 914314677, 986711191, 489718926, 740609798, 512821856, 787925079, 797466765, 155225500, 866059102, 32471588, 475606075, 961234960, 117002600, 118806304, 119048789, 795031765, 551302769, 762781906, 457316437, 638800081, 545731573, 201804927, 469708742, 852762897, 847162920, 573081257, 348938409, 897105626, 433835113, 510853053, 627513561, 822114670, 295972367, 750613923, 410119000, 444614800, 618973392, 629062159, 33341150, 99611755, 382348750, 562144053, 408069666, 277492139, 372418831, 134032733, 484981649, 264847850, 876473340, 192924975, 449339556, 590610110, 653644152, 983951373, 192462755, 176058094, 574896574, 851266017, 653208114, 813400050, 790395176, 224058646, 574571364, 149467545, 495219344, 958728392, 652700666, 942597745, 670282065, 138504880, 318231446, 307101257, 753165498, 598684113, 615983185, 327422674, 824004151, 388255257, 407019254, 490967725, 234826149, 665838659, 897168490, 460755372, 797818387, 580344849, 300792093, 654136098, 712766423, 830311811, 512362283, 388472070, 562538121, 753988573, 253617586, 690558966, 207815502, 201360426, 185234111, 143562001, 11218776, 220532068, 705616884, 105272780, 757835212, 324542798, 511488530, 916487100, 966705579, 565403050, 116271261, 860024021, 816393216, 653335048, 56384208, 733988623, 331491703, 164808050, 272790883, 870511682, 944641741, 247017919, 183658280, 754833059, 255304603, 491995106, 182232015, 417495711, 135321895, 59756293, 130284641, 935813787, 362277861, 181665973, 241126041, 357193264, 442217318, 407872039, 259722299, 369469720, 614699864, 278455195, 862754284, 252302497, 874698187, 811960883, 223300847, 815447446, 817662994, 858390823, 2893571, 30036906, 759670130, 100363292, 662782746, 362625397, 643794576, 461819472, 63093369, 101422389, 422374170, 559774442, 857817502, 95464325, 438960523, 436196082, 660339293, 723079898, 356730624, 368744954, 900672121, 807649096, 356297644, 234608954, 119563914, 712704469, 52695949, 52596179, 127557916, 395714453, 468634859, 480687455, 954388009, 729151227, 346175725, 65361141, 627236687, 223682370, 892361753, 333243584, 937389530, 759818853, 481979163, 481153920, 227796364, 946883185, 917770873, 204280062, 337831178, 396285452, 674848020, 566098783, 147728359, 852648949, 209638818, 114856706, 734973765, 716699316, 203279141, 607976797, 738335847, 967421557, 394894424, 816415639, 412821473, 332294959, 981858687, 162844236, 675896019, 380616084, 885892330, 780917219, 287352326, 698768771, 643356538, 30038441, 543773916, 837331670, 127108920, 598646703, 977002687, 311685936, 692004227, 270809055, 41715685, 486402594, 309129666, 491080350, 76651762, 615266915, 532770004, 121897912, 577389227, 162236587, 25329681, 427402672, 919986580, 721100327, 635962633, 92087373, 151908374, 321328190, 62518611, 858220776, 15552961, 776229188, 484788510, 349471676, 554136211, 918532779, 377847135, 962526151, 199800351, 123160860, 67461521, 710872711, 558684654, 147817870, 881203703, 816027370, 982445796, 405929428, 237224733, 882297911, 175360384, 602683770, 822664298, 832946091, 565216081, 679929633, 57337722, 258786159, 477414515, 712400720, 90370031, 934094131, 959788203, 582121402, 164522810, 561765674, 51864904, 957439243, 894875438, 460363412, 603229881, 421925299, 154477832, 465552468, 974113437, 457418231, 333243749, 218174943, 426680866, 465354373, 592369039, 287496050, 329929378, 924154771, 444674889, 30687848, 946079150, 242457855, 192807865, 121058238, 862882681, 31530314, 397932239, 812426655, 204060735, 722450578, 430565050, 933389147, 91447119, 249252111, 260061980, 389079742, 565191197, 89531462, 384368238, 221765392, 132801625, 998014058, 270702871, 60119497, 560469764, 943997661, 411123865, 316648466, 105273815, 103661446, 951874851, 66253076, 913407110, 870029884, 886786292, 825596618, 654036765, 914955095, 101771536, 722793162, 455859317, 393255752, 375556128, 359886021, 894909437, 789963612, 233644186, 295610052, 588194951, 167461667, 958220896, 576912473, 351457283, 180719017, 107545869, 173101772, 893944306, 505898236, 148106294, 190389498, 644940548, 725638201, 704596773, 446034223, 92115657, 7704718, 788530533, 229632378, 172438202, 899695296, 152125281, 445125952, 778158936, 234627517, 498162963, 282002758, 498909287, 632789327, 616218289, 12594079, 687695565, 154548204, 874908339, 959687260, 739031368, 465471670, 162553697, 85553723, 603720394, 975117843, 994639723, 896879968, 21015227, 827962221, 414215327, 221211868, 138392201, 729995990, 861185337, 457902208, 6703067, 627306788, 303629063, 496143336, 488934048, 566075860, 741304057, 549981335, 924985233, 710590254, 447143596, 655182458, 118396208, 850832908, 48304977, 895636021, 78202257, 643018720, 888196305, 109891472, 696931425, 991990960, 773501125, 337346515, 140852939, 953262243, 3468950, 267174108, 261390610, 738154209, 633542851, 700907198, 461613118, 254320771, 123709633, 303510813, 443468939, 312395378, 802887275, 191550972, 137604182, 612602331, 671021081, 532470103, 659792492, 42768573, 810654859, 304709791, 76238749, 256347732, 328172928, 893351661, 915896416, 390062094, 605173693, 20954547, 658363615, 441745495, 691343121, 19454743, 586667973, 873551445, 92013183, 615360295, 15526647, 556081283, 684277427, 394740054, 780612609, 317011709, 743877108, 591683188, 427268127, 499229317, 673699189, 343781707, 672728609, 853837830, 904556225, 96120799, 681787575, 831269764, 371189095, 341860044, 746735045, 239778035, 546848880, 254207084, 75386244, 54282106, 237746691, 706638265, 332584653, 397741900, 972859129, 168453683, 594599787, 894930664, 848849526, 896390091, 785652594, 703877320, 250400532, 919939330, 86290605, 773227706, 1688448, 25373204, 311366912, 842168601, 980729840, 354414800, 713132637, 171786722, 832409452, 238714247, 272895274, 869758440, 80318311, 122006762, 495061318, 572142464, 315973776, 55500207, 392694148, 574933301, 843661849, 665044923, 914793845, 44408642, 88548166, 580813250, 388342487, 396739109, 992192115, 842521276, 641873883, 622635517, 190317444, 395861555, 492777134, 668514995, 839140101, 605114402, 569182241, 894357297, 346959706, 848153936, 714319588, 453195521, 177805672, 601188245, 856053203, 64109234, 33562165, 415229006, 125348555, 741538935, 636751771, 392007513, 167590999, 643662514, 643066877, 782023825, 373005623, 627567278, 280961407, 701797857, 903979062, 888609942, 395297178, 567404887, 842614693, 563598899, 234446132, 360464859, 633447662, 190701998, 916785331, 929186860, 970060819, 72537548, 273025430, 382862542, 184550433, 942567933, 893434472, 361407547, 446737237, 330815909, 467504810, 886584221, 979208052, 105079993, 254793513, 296424152, 357799984, 327442533, 741159444, 762458777, 387379497, 93575049, 40863327, 252175577, 249545659, 751305831, 920459955, 344031813, 113247517, 734444541, 366746933, 811724351, 507914242, 587179579, 495825563, 957156590, 948624163, 518911928, 84669961, 24529105, 298342383, 336206681, 512623431, 494400082, 691251298, 470431405, 883196199, 767401674, 258230352, 397306413, 156548509, 786847838, 933490229, 57312345, 246866809, 842638891, 966876883, 534533336, 152513605, 230465295, 462675927, 886821194, 779239136, 851650242, 703719431, 880694159, 257908851, 926823022, 83281286, 619193975, 759146013, 817971382, 505212413, 876791002, 553757868, 887101107, 986595914, 976313449, 739504226, 896931316, 432151513, 849260787, 367839378, 953107518, 506303865, 810571485, 161820951, 971703859, 538989247, 280173115, 816466027, 177102144, 97190859, 221519578, 490235458, 29607779, 864308869, 621846117, 348961591, 816586038, 693366330, 153040649, 57809817, 230569652, 74782603, 870723365, 282997310, 750070237, 789284883, 923787247, 10425958, 126572060, 891004172, 226383263, 119071183, 811281792, 816875911, 313401422, 438007772, 228180458, 160402772, 139003600, 542008477, 422941777, 323252139, 861422933, 438528558, 454797388, 491037544, 130665662, 194954794, 598387914, 300920786, 787365728, 530943945, 983953704, 47182714, 825388904, 721610567, 285679689, 655777182, 70806176, 463322361, 336099485, 551329578, 259160876, 751337392, 167475290, 221295751, 14153278, 896429638, 645971374, 62294022, 456783104, 768231544, 684360288, 917963274, 224147423, 528338911, 680654469, 298668156, 321044186, 74201323, 433303635, 427345603, 12440215, 683106034, 602591974, 15087097, 532632283, 25011248, 658935401, 338010536, 461041991, 195618306, 476924030, 664889838, 258874999, 765928458, 518761259, 336225269, 498975011, 951173898, 248420891, 105735931, 59109028, 79421783, 81055675, 97375550, 769931422, 618428271, 509396748, 498485950, 596335709, 315090574, 328443761, 842987112, 172897230, 220004259, 786594826, 819625380, 296392193, 434861174, 898123847, 536013245, 164850317, 861325023, 126944224, 911315812, 976657202, 398974295, 950393946, 320311453, 422682500, 206852049, 359460819, 520732920, 62265543, 589486087, 428747217, 833821564, 688873776, 902690138, 377473027, 216898098, 498636737, 523832298, 595582051, 440495202, 188037902, 184638357, 297102098, 793842798, 648069802, 42665922, 256376552, 766590238, 18472774, 212644033, 706591457, 533223717, 691651355, 848812140, 870290936, 661771703, 763770166, 963734460, 231602756, 89001445, 184817232, 677104840, 111354698, 191413322, 614369236, 112726931, 33250676, 514813448, 634893975, 199117009, 906862827, 524127943, 443936489, 151861752, 450547090, 241969398, 985635898, 869122737, 940178373, 850011953, 10985129, 17229498, 923537103, 639250561, 360215911, 863340498, 647850888, 424472903, 462595123, 735871189, 458886741, 299927847, 270407589, 744072545, 377408036, 478386726, 520731573, 182730263, 940015009, 759122859, 260860916, 360324041, 404656671, 902842963, 692943134, 370439554, 784164500, 825218783, 898015682, 596179591, 60437471, 642470176, 344351274, 428644411, 854591683, 654161335, 598316452, 799559898, 646494054, 237259437, 141884036, 902849906, 377428060, 450947783, 451382521, 549544783, 144205313, 73072518, 657353360, 767914453, 135009226, 668869020, 920201255, 501109267, 867719556, 251270475, 773902246, 427134298, 935214950, 118491920, 586234369, 828161630, 975878964, 636609556, 331712770, 910007234, 667951382, 761870630, 277963121, 739543177, 162110589, 484537834, 273968328, 537148193, 984232851, 260181163, 977271581, 511832684, 284510864, 549686101, 919621912, 147691864, 986365007, 567096611, 380208657, 200445612, 538837985, 374102855, 700310743, 708741684, 274389261, 358860973, 696114791, 56832545, 937671028, 118437024, 68496074, 483775455, 13930465, 280325245, 695498574, 897260520, 505855281, 823953034, 569987991, 101560096, 950770223, 403118001, 945226841, 86932250, 774809854, 784005974, 296693683, 811793724, 344101818, 956390712, 424783541, 720666116, 488901438, 696269448, 491782830, 386754230, 678404185, 179357187, 698063653, 87936939, 164653231, 296628426, 590232952, 154438971, 510990822, 718239507, 100687571, 523837592, 151197752, 293885382, 440754698, 803906717, 988908098, 526189333, 174699259, 295791642, 481626987, 180380242, 595410309, 532865453, 378040422, 720789156, 895660201, 452462269, 556901759, 431782500, 199626293, 334023352, 309861391, 793642521, 950684402, 184820701, 388540007, 417843375, 22185089, 267573253, 655204139, 846281059, 598991455, 654848097, 375183974, 470316444, 122180162, 991936873, 516383886, 136099943, 342040835, 599553878, 101596269, 320767089, 130641437, 111817817, 443624476, 116600902, 35062218, 387097332, 969410371, 295277243, 984017712, 824964853, 999795427, 311893122, 776448305, 264055815, 267262596, 71524524, 490835812, 540019632, 177490995, 673400328, 965062992, 294606696, 167611715, 177983452, 997810109, 155059286, 95202385, 727544829, 409280119, 988286892, 289398625, 385204826, 637482630, 946332868, 461229004, 332639353, 50357681, 966737028, 707285551, 645000831, 994277702, 37853683, 539857707, 592306934, 639918198, 48929041, 34295274, 103050239, 833339796, 105150127, 119939686, 55888864, 257285096, 396633885, 585943838, 747867238, 978161369, 177971257, 158160277, 272626299, 257061641, 94817277, 494110605, 453816153, 395725306, 769776033, 458202145, 138324996, 358136522, 415985425, 523924142, 573267091, 97997985, 82253004, 841019903, 456237644, 220071961, 320052130, 298020506, 766976997, 796203202, 463791974, 815314349, 619340324, 626180860, 524714603, 698102049, 245346991, 36901923, 705979161, 649347037, 828644533, 336714389, 620353385, 610739111, 857055058, 751366102, 354598606, 985838143, 795855956, 347889825, 304884122, 853803126, 999771854, 142344545, 714994609, 350399358, 286685183, 951145373, 589863806, 474846229, 60389139, 786639015, 267096700, 989578260, 51747317, 653691352, 201324148, 650760440, 962456230, 53522843, 782250795, 491719888, 825534400, 68785482, 64391703, 971324319, 336955249, 79210672, 253147507, 740491794, 270039249, 51171104, 610302985, 345721534, 989044401, 942993544, 534795675, 656722038, 435247444, 810324184, 479445386, 795837944, 240789303, 247947494, 156192638, 250756593, 933151503, 415266988, 578271689, 861996396, 990847169, 175434819, 362539528, 282310343, 534335125, 17652260, 402805024, 144224352, 561000889, 539319887, 183426548, 378944981, 971552909, 648935562, 148495829, 155010622, 301826400, 314367490, 290507469, 297848033, 355653940, 952993972, 648558393, 994259413, 848112699, 332786808, 589472332, 723039859, 985548352, 361463670, 346242602, 863070587, 295367375, 954679455, 936416897, 337697939, 367654171, 354785016, 31911691, 709314609, 212915713, 453728545, 76877228, 914047437, 862759699, 31216349, 232144788, 561781421, 127307140, 721697296, 33078412, 477526781, 885868656, 301425371, 232093946, 879477848, 856310524, 910357531, 657838339, 622142932, 659123430, 153006224, 764809935, 699629665, 82058594, 177230333, 175913000, 852655494, 411998198, 495303445, 617811365, 742183598, 15449651, 965996429, 819752546, 54193988, 338885784, 931011240, 165454605, 92165442, 22845887, 899068853, 222271167, 362234974, 636480515, 604207066, 711050527, 731544904, 88440678, 937717608, 510551527, 434564683, 914106701, 754502758, 316874377, 398546434, 639107312, 563067088, 846564360, 630603634, 497876937, 462677219, 971306570, 239578279, 336910263, 936876021, 670790914, 283167770, 132064180, 45003118, 560410678, 412705312, 613232424, 682381766, 38218078, 434297173, 914653881, 267621583, 994358273, 421958474, 98361066, 896115879, 835182559, 355957390, 861741055, 490552864, 208067906, 620294139, 494771582, 836349585, 390749537, 654334254, 37897247, 148059928, 665667340, 85879196, 255557562, 92761092, 577406884, 975777649, 658405953, 910195566, 902767400, 61338870, 458663994, 757753522, 65444707, 395062313, 469703964, 220677169, 3162597, 661647647, 763786681, 458217945, 308469232, 750389015, 635333621, 685950642, 789993665, 688872996, 14256330, 540984448, 780132371, 894199891, 714606482, 372066724, 593869667, 286026388, 233375904, 878480473, 344250562, 182218562, 331138505, 404003751, 480844043, 618480953, 943203764, 852502534, 937308354, 369394095, 365719822, 964599713, 578618626, 992727267, 315327994, 583753790, 741901295, 813108840, 231834942, 395279822, 268168266, 539393509, 785176457, 518745657, 448692388, 819694341, 793661259, 841259347, 197250544, 526397257, 776578426, 641454999, 878532856, 427025803, 422550804, 177936276, 106902701, 480093571, 431440835, 591596310, 904011171, 785267584, 663412424, 312834938, 124106336, 396289208, 229656718, 616402807, 856123254, 823902709, 675998169, 425423336, 456981819, 267872940, 205393562, 234497950, 264795372, 176200600, 962297026, 291920617, 360386070, 641173622, 745921927, 996082912, 65126720, 26846050, 3720757, 849251787, 583672173, 186527178, 675125125, 461114938, 68233200, 506310647, 918526085, 638572405, 88485492, 599002279, 318484147, 808619849, 263342205, 719534953, 355669734, 663042623, 657066830, 484750930, 909523354, 716517756, 833228424, 475480486, 188753806, 231115161, 744279315, 691045235, 344533054, 237354063, 740211306, 946949205, 685793152, 336062766, 172518416, 330202225, 27802945, 187158634, 191096882, 118563597, 185547788, 68960319, 62266225, 764104202, 96729670, 192450021, 516921251, 761794594, 942308466, 513591313, 573467448, 488054509, 552960202, 249687571, 215999627, 475561635, 361902018, 843689076, 429024527, 171697368, 522238770, 140309927, 616161513, 433387655, 699102536, 728773939, 308616058, 788232173, 942390441, 543942389, 417708452, 23520122, 133186587, 105412006, 589395109, 352067852, 938037750, 613694808, 941493138, 789148368, 519675973, 794025850, 529696888, 135765066, 758093411, 785833727, 141189698, 497305947, 339387847, 143667813, 244969869, 774019361, 935834724, 974060360, 699054907, 322156469, 346239284, 260195599, 456057233, 3632621, 30717981, 51403, 406229360, 469326499, 484667159, 720379348, 252463222, 64348534, 31112333, 837834125, 104386502, 206049006, 624063904, 390888728, 648944178, 134717948, 799340820, 939790585, 807531354, 400717372, 717178722, 292343910, 823395889, 820126607, 282208951, 474463055, 972458249, 627304016, 809857112, 234904063, 734251339, 819072007, 372863127, 644213544, 112151768, 469010536, 48000551, 212135826, 475448915, 556011370, 346315276, 299041679, 78132039, 387702779, 731350780, 20165884, 135414274, 185202120, 534103162, 606735692, 687646365, 344570997, 838218177, 284149678, 104319866, 988398155, 973419112, 724577937, 468881915, 730416443, 341766311, 547596188, 203802964, 98161026, 303013094, 857867853, 265966635, 650032533, 358590505, 505572763, 399698278, 157574144, 293823841, 632252868, 626844052, 645253906, 513206114, 816445384, 87713537, 210526813, 249992259, 554121622, 360237726, 75031389, 489686994, 227754054, 375187973, 771253018, 339584291, 151017807, 431159396, 933602991, 532603852, 882065519, 600999156, 135295308, 251521675, 565105984, 747769016, 740727220, 881729787, 359417163, 951835285, 741368209, 318661105, 682072821, 253695221, 455749052, 127380162, 33181497, 122564042, 335868738, 263874258, 520383388, 82130076, 739139622, 794132025, 335667819, 549830406, 296580104, 405572716, 411175313, 921766170, 858857463, 497112332, 15085369, 941734558, 498044825, 681549553, 312701237, 92479064, 930245816, 700330078, 40331588, 356343742, 395383781, 973401758, 181299522, 962531143, 910169877, 901741796, 225160981, 243753707, 504756239, 139282909, 685001292, 3824783, 894069331, 636021528, 940648906, 387369503, 526786859, 138106593, 583648505, 512469776, 111679229, 449932735, 976446862, 212958980, 644176535, 708270576, 582191633, 62141097, 249297908, 895626933, 5814189, 655788260, 95666268, 803284853, 405817259, 190115729, 731255003, 100089940, 455775469, 693467260, 269976784, 500993563, 537302927, 37749998, 653356767, 500388369, 874738844, 442671058, 976098791, 11186364, 129017689, 561814800, 717915939, 828295491, 149742010, 576055817, 395968228, 857240270, 40234271, 807593532, 809389448, 743578570, 100006849, 133382632, 263194763, 258503262, 830306643, 956057034, 308938842, 10827653, 169333086, 951991457, 101405041, 598533051, 470990438, 885380640, 314005025, 270680049, 366275115, 366165537, 797592559, 973238134, 492110559, 430693788, 546166278, 38570399, 96476386, 822573949, 633768619, 679771809, 445418681, 250786661, 535073294, 863220452, 996157509, 541483903, 669727004, 291790686, 883506235, 396065459, 319342056, 108360282, 586549537, 98022022, 187786335, 132215085, 325759150, 479618591, 410832221, 861469106, 757816247, 960937136, 793133990, 569405756, 847681160, 884243867, 876469445, 458213486, 207341679, 181112509, 443891823, 254437849, 465692150, 789624549, 942854627, 947195155, 733367247, 543880454, 595576036, 302301903, 806062817, 938221410, 305695243, 781572224, 558129040, 738850478, 410291402, 861882033, 258572077, 531915612, 446172999, 473811184, 747147811, 329318662, 572661240, 557918376, 497219623, 832632515, 919971021, 344850691, 526700161, 110234320, 749895503, 48749485, 103333878, 695819393, 125226466, 507777515, 100209598, 65475921, 892832978, 915326535, 207535719, 82643682, 519944903, 969177617, 581183430, 502751894, 131446143, 610252399, 743468216, 59443166, 199551176, 571765060, 588130995, 38832643, 974298322, 75946589, 122855863, 511245562, 892604922, 405164936, 741996531, 281623706, 983757648, 327055080, 48537408, 430899434, 40804720, 29637071, 635972285, 542751762, 217229549, 302545169, 233897402, 38112290, 692196345, 587931937, 152310908, 829853821, 376109728, 506584047, 625927504, 823577915, 780366367, 944621818, 258006945, 726171255, 449352064, 372185502, 875153875, 975381642, 599038163, 587695909, 949016467, 503293531, 879468835, 549249674, 709073444, 572752039, 533896192, 573423332, 141378396, 593710699, 95825369, 503472652, 109691642, 847493062, 804348551, 926950757, 98532096, 64702828, 889697507, 296998876, 789878383, 919831383, 706485677, 856792940, 47076543, 295519029, 692820230, 923721719, 630470693, 962119604, 480050422, 220395566, 813662872, 301301741, 825885226, 810522240, 94924043, 554889171, 439507813, 655578191, 50710002, 241341047, 884609197, 968020998, 569092529, 536545670, 181301468, 614776971, 424671713, 39192192, 984643597, 433360267, 707759696, 366658121, 833168620, 505273597, 891268175, 747721214, 376280039, 156257852, 882084688, 715114534, 653440589, 151641693, 123649550, 601758916, 815480868, 626973915, 561072440, 880852153, 10547039, 755128655, 762887316, 818430194, 11697671, 105102612, 593914090, 816669655, 13945748, 572738939, 962013770, 200475913, 767219482, 351045185, 74518112, 769544916, 922896970, 521134927, 830976861, 587408592, 813993907, 14510727, 572721577, 194313082, 998434750, 333308733, 280190864, 846261825, 587468999, 448486536, 501328844, 706589944, 477045229, 418333320, 231529558, 273463617, 651113102, 243540216, 660585764, 331655420, 746616710, 276469940, 510202385, 476548111, 464457280, 891225718, 12978419, 935512104, 771141914, 641831177, 229817170, 619488258, 718926914, 915023997, 111549111, 111088042, 109769136, 8105813, 243885219, 950768658, 381642123, 990987666, 736726698, 123254909, 536243375, 286611750, 704592489, 84239483, 727317499, 875185498, 27611420, 938847731, 738505600, 110037557, 354622176, 769576964, 919207977, 642806607, 869096504, 913954671, 891507302, 35023714, 705284525, 7419267, 467028194, 146922784, 354954796, 698915901, 142212254, 614361693, 580387545, 888504641, 986116020, 22679310, 832451220, 179635583, 879584155, 890281078, 556411650, 131256139, 258731948, 803850237, 340786198, 304313640, 205562582, 441484078, 679039862, 169861360, 421001551, 763228644, 148137212, 17383553, 655322112, 950485602, 342372350, 306161493, 313876552, 650281976, 666934782, 184663824, 868236642, 733065404, 695288472, 722273017, 182965124, 822440481, 671928981, 693521915, 279074753, 277263497, 101556951, 458380223, 391169456, 175018565, 172018468, 813148930, 262381580, 828709146, 570302564, 507565035, 356195021, 486665487, 910181822, 960987815, 203301849, 251184243, 49700285, 252409744, 517192898, 48820136, 271314891, 998288770, 762979583, 721851090, 684355581, 367949702, 422282563, 626621038, 909801563, 33448242, 284804537, 697161137, 102153274, 344487083, 203887076, 245231993, 846109279, 78802439, 544475525, 601169862, 486957674, 150759095, 421122146, 168466258, 704842639, 99401092, 742225439, 507725711, 467549202, 377160602, 396376535, 703691487, 207747298, 208411547, 598377347, 183427594, 409466291, 300988473, 401794348, 521388639, 531149224, 638677266, 186464428, 464501314, 584289538, 133957686, 914813773, 726946951, 694455282, 658292012, 126146831, 677377605, 50592915, 835398213, 707533009, 629212243, 848964819, 481129528, 526736209, 354801911, 207691396, 553470988, 458438646, 179289146, 381117849, 637884050, 780635054, 755531390, 750601118, 752308590, 478288910, 233494973, 207481041, 954714042, 459039592, 562274443, 617795093, 783437954, 605173669, 634904658, 790889319, 856589629, 395106489, 534036459, 871606746, 820526063, 239642191, 220356698, 150504349, 632284522, 601224811, 462115292, 152905647, 608034992, 795424633, 561392988, 788433920, 924448062, 592455236, 505725417, 212957638, 373019882, 978997382, 73209032, 301073268, 540234537, 726849540, 269169404, 856252543, 4788800, 730258037, 629374682, 781435196, 751830810, 923151059, 608037853, 999963082, 123891845, 164278255, 98566492, 561126210, 94430934, 794931663, 88865719, 185726211, 253860720, 20893777, 50774123, 815200836, 607525193, 487254434, 829306470, 460079398, 966710055, 366508682, 433642561, 441540713, 718242336, 869427823, 711178396, 438234059, 311872873, 508592042, 853633757, 384538685, 355512653, 62856664, 658491214, 154994325, 313136990, 929718188, 488628102, 190104596, 627340710, 519843909, 339020422, 83091234, 995449352, 801070865, 532579584, 765377818, 729372197, 873867195, 793145062, 935282369, 461725413, 460848596, 710635110, 966435000, 304691536, 297874354, 720805465, 167108597, 235917343, 488061153, 200520805, 53127920, 55447066, 327127181, 478825197, 121797270, 118390932, 324688444, 761177608, 124923225, 301077703, 631824844, 695867503, 388165968, 139415316, 934930036, 490274947, 385771479, 107882870, 972922811, 464389020, 616823634, 956662479, 450101360, 853578431, 813698556, 525178636, 693728359, 867861978, 231686414, 679535985, 448609417, 920353782, 836330234, 792179255, 282789536, 419141163, 321677413, 842465595, 270929833, 50422195, 902996835, 909292279, 613045234, 342051856, 852164229, 176585231, 287849514, 369786839, 910760740, 992125821, 85149159, 196232661, 492814646, 940873044, 390752401, 202576548, 401808586, 757550253, 572044121, 108709407, 354449807, 702004591, 990742694, 512963529, 999102122, 556263889, 487681489, 921900697, 915710501, 988643182, 336773006, 268412975, 278242430, 544304737, 297155301, 356469131, 373561450, 507763803, 974653301, 882499225, 762951641, 673691709, 688063616, 883432867, 434732093, 567423935, 480652884, 348288101, 958365019, 81329377, 191544432, 349981649, 259401802, 480141927, 684991097, 588501777, 350872486, 258907376, 437498032, 610307303, 434064203, 83044976, 808855403, 721247998, 399693103, 307474012, 703791389, 101824397, 382077211, 353859873, 429726682, 589245170, 730828708, 162556814, 222554678, 829241869, 96851047, 967378891, 928256420, 450128420, 784743113, 979439988, 977473296, 45897337, 362171194, 127543864, 290618116, 644417696, 899831104, 558468019, 621835297, 289427619, 701571809, 996711255, 862508740, 161363880, 93899283, 385756904, 294354851, 96281734, 237567925, 474298816, 517543211, 124234571, 118498021, 95921684, 438139634, 347311246, 677647364, 389015705, 38208710, 473577245, 198342582, 555859944, 895069084, 625455611, 282545320, 469139331, 982360671, 785002655, 667534558, 218482855, 189263333, 884589410, 244543780, 657560967, 742006528, 211849189, 718191453, 168996556, 421509894, 235692635, 78308290, 929124385, 358079107, 197708403, 581416750, 357986252, 310875786, 963956364, 221269362, 36765253, 540891669, 956591627, 315374123, 186931610, 606183586, 55442513, 142441111, 667451198, 51946650, 696739037, 364512061, 111735585, 265673422, 387889451, 447090093, 345293715, 286696408, 715558598, 839494441, 596534550, 908890066, 224970569, 282223797, 357934392, 71568169, 870897121, 684327881, 513005691, 607573218, 422453607, 386430985, 985995880, 304202368, 494303030, 142761051, 606649903, 105682194, 688284532, 941608328, 878031954, 996465759, 866732614, 562631957, 270256733, 300580746, 930578887, 157271427, 862261860, 722314086, 531198167, 694399975, 455957001, 916938048, 484166073, 783735572, 364568703, 182453989, 694620506, 242133812, 439329707, 403541028, 901341366, 842741195, 655885063, 574743122, 866784548, 575920401, 744888093, 969034850, 915395513, 193303547, 452025287, 969487786, 54755880, 823207448, 881219300, 417898916, 448220913, 301159335, 394524418, 290952425, 940884421, 333185961, 920889530, 294934106, 865667355, 23267423, 374953769, 936630064, 315184325, 65866051, 301524806, 610359307, 937942111, 242684452, 510200583, 7908836, 367230739, 987381144, 136010777, 652793620, 563545202, 255997926, 892762161, 85033146, 249956421, 139863953, 141986880, 338220266, 866550584, 195081802, 739357853, 718826066, 971434740, 216684445, 500892545, 655231957, 730267999, 858590490, 372144373, 345751512, 611680286, 747507130, 731840459, 780748013, 365394661, 353414152, 521201094, 7981237, 223234084, 416697929, 437237096, 62015438, 231899991, 294948701, 439773276, 653007213, 524572548, 947540845, 739587972, 319726613, 627072698, 815183391, 487452177, 208875519, 669712818, 58643896, 847675060, 564758609, 651531290, 938165986, 232056746, 784374410, 450060739, 821254104, 871532874, 881312355, 383861983, 602006129, 311683197, 939647215, 496535173, 614025015, 109079156, 10407775, 54462285, 873809989, 924248607, 660002512, 654846392, 817341358, 436424822, 636438758, 254791316, 540679610, 393560813, 589220712, 819321503, 77742481, 743177249, 552340655, 722418709, 878279158, 254130427, 291416334, 427351538, 782270176, 132054949, 752876240, 138503799, 986188673, 273186106, 682888698, 709136874, 668329730, 660898794, 617408743, 663554185, 338749516, 641183114, 842092508, 205976086, 642883173, 137464734, 794085832, 879921963, 180528945, 770665792, 903798777, 151384579, 583370132, 149087200, 801408002, 431476715, 166278515, 32586959, 21082824, 907250955, 252152268, 8535644, 681441170, 761938456, 58042389, 457159957, 120433293, 10628715, 508105759, 719141855, 239131174, 334155604, 338440616, 917719826, 535150018, 650411815, 121380712, 359600827, 4302199, 21751145, 713016359, 873399298, 332196652, 991866773, 77433165, 631344107, 220369141, 469316749, 407840243, 43808751, 572989311, 477000118, 847333181, 918976570, 803224695, 836021763, 202367430, 721381444, 126827946, 142482197, 371060294, 899552644, 537960589, 988070767, 416125960, 627449566, 677243267, 200231382, 495540139, 645471637, 414661675, 216540169, 118864402, 690955358, 640049754, 209749475, 906279282, 200202014, 783134748, 250492983, 754279188, 241607242, 954044983, 330198800, 797843807, 132110286, 858123800, 689177568, 9664334, 607907689, 927750674, 537123194, 676635885, 743946524, 898409062, 428775503, 330263908, 100404627, 118870019, 125389507, 417980954, 856778837, 219991228, 855313414, 368425642, 582633066, 1291998, 889631540, 73081193, 269861354, 510042793, 45855767, 901528001, 271858050, 689895147, 833228021, 383837521, 161092827, 434249520, 601783290, 808573871, 427139703, 531677786, 133855794, 815156930, 292656174, 212056389, 547692529, 24188602, 962819183, 309567807, 212026588, 136032792, 598447708, 515246742, 657677172, 604155708, 420049005, 893804389, 659940325, 798726398, 555522302, 639866339, 662576945, 634991736, 334119182, 819299063, 209211926, 518201019, 157403963, 456969245, 959102928, 274760625, 522751853, 627726691, 955905651, 840939400, 989220131, 348303781, 993005591, 978086253, 955803184, 534594424, 610633029, 867523965, 280525061, 703676669, 923625919, 930743928, 301129998, 750852199, 155686184, 662602343, 742048928, 23439427, 709184700, 879341431, 773427735, 465297626, 575128256, 56015637, 703109688, 88334064, 517968791, 412773391, 48994913, 437576881, 451256185, 932152274, 584277894, 66666684, 543018440, 479347624, 575635916, 404107377, 241530623, 842700350, 145563053, 820676575, 291799381, 703013475, 781161697, 424646589, 897384963, 211853042, 238202291, 228877368, 743878490, 217148189, 192800088, 768131964, 955421458, 962302322, 72672451, 552048900, 611220880, 712407306, 709450035, 420375456, 245398043, 208477467, 671461506, 955630896, 786705781, 118604590, 273632682, 908125968, 273365730, 375978614, 55354559, 764073904, 847581321, 487615388, 993636873, 553301645, 231043653, 57833368, 606764378, 587960538, 36838980, 987533862, 790729793, 509991139, 90829630, 937028398, 53700699, 722836533, 706997508, 834465929, 445821533, 132824139, 686028721, 405630291, 978443350, 778950803, 347891079, 555878356, 746603342, 886865930, 255205117, 525875675, 595010984, 4167407, 9246187, 786107365, 40286234, 489144616, 829515786, 111490045, 267034805, 305732622, 279519733, 26657230, 974617386, 231798612, 763848264, 373820155, 940481092, 287091443, 548943370, 49202147, 122232787, 399149769, 590882233, 176906248, 476797868, 875914353, 662462214, 500785999, 709844218, 94951714, 874076628, 764543548, 253098754, 206617956, 178189399, 644403275, 412330258, 15013727, 450550705, 569972898, 224010737, 383308361, 877612622, 530749273, 709648522, 661416263, 919727554, 665066748, 719100027, 875489541, 607355344, 466618862, 82254101, 561196778, 240046505, 708434379, 886774610, 419867671, 96868420, 3786751, 973185663, 64874129, 744652857, 918487146, 866812608, 273953780, 135099076, 682281550, 547283571, 984928966, 909853426, 549819760, 31840230, 212529947, 900360779, 797398831, 650839780, 447667769, 334543275, 977563243, 874891692, 407488890, 872967761, 511837370, 540230844, 527151910, 888625496, 7540494, 163559067, 641660940, 915015668, 944243629, 50757817, 844925878, 503313718, 702643176, 561585816, 200105118, 11931874, 794565514, 628664573, 482695366, 835755555, 804551594, 517293990, 355878095, 215864943, 990438267, 638001017, 424851784, 536209683, 879100805, 833545183, 643666732, 273280368, 602296153, 790963498, 776389725, 944420821, 909661866, 535863993, 177271229, 842233503, 991237972, 918641959, 491355734, 60159864, 128113436, 49081819, 472232344, 126686451, 507490908, 154232089, 577749552, 204893204, 502157272, 323959267, 862275784, 736606644, 5513796, 800130313, 565393700, 8677226, 334451391, 760240905, 488748862, 28726000, 792846092, 861475070, 652763929, 264852231, 581820991, 775864309, 279259058, 588798491, 181379442, 496601933, 119634858, 517190265, 463487221, 361814600, 361705217, 180770363, 958486264, 827994947, 669809018, 690880731, 464950819, 336171024, 612102904, 289759580, 572807611, 893830433, 60984143, 816601064, 272882113, 137458327, 749357922, 103421482, 812625351, 858553121, 183536726, 908733542, 502879014, 46021520, 285859864, 667791083, 66791946, 575893886, 221753251, 904625297, 294959761, 469980855, 353060793, 692474454, 848781041, 669065256, 24632864, 194545076, 511835516, 924613041, 496304905, 858316562, 196212127, 530460321, 321191281, 385071042, 310161368, 661437024, 45036574, 527037085, 777238853, 986274061, 711890975, 700157624, 547166522, 241866558, 955382451, 868586341, 898372302, 193639387, 520235761, 470434576, 74252382, 956337792, 384647834, 992613853, 352376349, 91410201, 536826489, 934206045, 226135327, 103478996, 313569019, 267759842, 569457984, 581441772, 337956978, 291385678, 644155660, 8740852, 908351588, 556740159, 358018281, 376019441, 246467335, 830309890, 267875225, 299434805, 973295585, 982294653, 831346554, 903699803, 796682611, 48119112, 830718938, 671039183, 488703290, 159654752, 694210706, 8321220, 918744213, 777744582, 421293906, 941502553, 575385687, 66016638, 129697201, 429873398, 436381151, 568039791, 518399520, 983212716, 485964768, 951065542, 9073218, 686722005, 785579746, 678919649, 299927775, 208890752, 27445535, 350103104, 969160349, 143264757, 170061944, 266767713, 639820972, 230142720, 326257214, 510116560, 926556354, 184382941, 618316007, 111905228, 542630734, 18760725, 760983308, 939834314, 434826077, 64171242, 331121579, 23185164, 665925048, 81980450, 548574505, 462005749, 829226139, 765686864, 976111839, 980665608, 335215422, 684240398, 724624992, 189536560, 635646773, 419206145, 118798071, 154933869, 852870280, 939013249, 327575876, 688996250, 723574606, 697225269, 866163424, 986434503, 824536461, 111667555, 454007759, 372283001, 599852211, 106695859, 93497272, 327943301, 570858865, 921528433, 963761134, 398321962, 906604535, 715761981, 725975153, 653455191, 52019925, 815107110, 686553113, 326165975, 487687116, 185584958, 185485839, 712059421, 912256834, 934150963, 634558197, 235916160, 141315385, 463720441, 751834400, 366977519, 999380860, 569788359, 432972299, 657113716, 940098459, 825214512, 24731260, 841822525, 564015231, 753552104, 883097543, 52546414, 551979396, 99673505, 828800569, 17234676, 456530907, 634813166, 460260102, 71585553, 931366735, 696898784, 360713249, 676574008, 423464903, 939678949, 70807560, 616693861, 321481613, 75511485, 781634556, 85661196, 601677958, 796274845, 215074179, 908390443, 585700746, 833463895, 880028838, 631075433, 761157963, 804900768, 26529433, 203422011, 596500230, 42725003, 709134476, 915682046, 540794002, 910549761, 450781966, 781791587, 424231346, 64377027, 432278728, 611973797, 555817538, 944051403, 298030427, 981174378, 20925298, 556157528, 565875150, 162126374, 662141704, 996960787, 189936996, 234483468, 328558871, 174934614, 429965555, 873750551, 901881924, 720405995, 20716567, 670059511, 301659505, 427791886, 889691952, 568750328, 682336864, 925903691, 739857992, 343568492, 164008224, 297638316, 449862661, 869703295, 278427232, 914598159, 932614808, 983046038, 888216903, 478949463, 359827895, 681146927, 294934550, 961211992, 207654673, 309927392, 239646672, 457290186, 699936661, 538140097, 80121826, 701391284, 685173580, 86889690, 371604378, 161957236, 28976230, 704311067, 129388455, 618049380, 201573632, 161697162, 682353515, 460288112, 536397824, 417080112, 421386842, 662928458, 176056561, 823872046, 683551744, 424779370, 36257395, 577061444, 152076199, 684499124, 150217439, 42091788, 657046218, 918498182, 365438870, 126238659, 771577760, 750776007, 864837343, 770966716, 628525772, 448585140, 63523644, 541459819, 935195423, 140067714, 979429295, 818416647, 914339538, 200890136, 867108307, 389492504, 408117765, 36864555, 427685721, 945464189, 480947149, 242963363, 712267987, 126098855, 519376609, 47658501, 7784704, 990956839, 329342362, 575910211, 62660566, 165046786, 700714254, 448860747, 883520493, 13764425, 971124246, 911380173, 859555276, 201959143, 154479500, 16472333, 283612632, 206963673, 537092246, 630343763, 767566075, 377144547, 450307873, 313956352, 660422173, 484592331, 202032100, 160284890, 950036430, 78814568, 131295924, 430744450, 959610506, 179179411, 424933041, 808717535, 47957838, 485476504, 558247563, 983049233, 35818333, 45028331, 193863383, 422651090, 764732277, 668311923, 586496635, 905426096, 313855352, 179513022, 590019777, 392476613, 393940413, 804843972, 684811517, 95403794, 308700002, 106021039, 658381558, 663334705, 969567059, 746744449, 166379493, 143460473, 148455984, 43457034, 391088477, 906306325, 828847143, 463038322, 735654207, 497667919, 875925763, 745021352, 881160836, 2110508, 184934665, 775309535, 598221909, 467332586, 726772363, 866445195, 371779686, 146753382, 202483236, 83336868, 698451805, 162822788, 591029069, 135098258, 515861029, 87153726, 986975542, 257458279, 772772599, 510198722, 87427815, 718857085, 482925898, 133716817, 373263276, 410152833, 727525786, 887786481, 963206845, 563815964, 9667709, 169132346, 716396292, 836183245, 379100344, 133337311, 31866919, 78230489, 872510781, 226122296, 339014213, 15476716, 628803990, 315406983, 44646908, 280150273, 631651213, 329175301, 735866429, 338153878, 958565346, 47903516, 539163590, 228203965, 405530673, 433031743, 491149827, 360255254, 561031242, 822908194, 228775820, 200356431, 487466684, 727272923, 119379013, 947603778, 834412289, 37646569, 924871565, 648112956, 23623193, 271354607, 359839836, 240417978, 205019684, 878002129, 607518938, 683483501, 735318227, 69356450, 973354888, 755069643, 919250514, 96203433, 473173484, 536833814, 295625299, 406928304, 671803899, 22706499, 762107752, 105762206, 686522454, 304774943, 765476071, 160115162, 860948317, 547241802, 634953335, 273981159, 468582699, 258787547, 190066495, 837114683, 734156283, 267528323, 474088715, 695929525, 982710048, 299668298, 167612504, 945499174, 135231157, 149710248, 108409509, 207684097, 613115234, 81155076, 131496638, 380600852, 881351384, 320876074, 552777661, 244261945, 27771693, 38840069, 397227513, 630363069, 764824983, 44872128, 378819013, 236696440, 223191419, 484424410, 546574276, 686204844, 597948319, 765895729, 543556588, 910358808, 877235818, 723626877, 567265837, 995687518, 811188874, 362962173, 820394103, 854451378, 65974815, 694113972, 84619295, 161816937, 945919092, 839056364, 869750043, 73729013, 128604820, 50723830, 547060843, 650071395, 445733830, 443704173, 383356142, 868167150, 907640120, 278953594, 200057527, 441238624, 292417155, 537937569, 447734784, 657254840, 262459096, 200687570, 590885104, 10774604, 940274937, 954603056, 198380192, 469467122, 433650849, 359476048, 844956983, 33188672, 351100070, 737955830, 250880030, 389289590, 3530506, 272360522, 791297202, 72097341, 978889471, 563472819, 885051231, 215634243, 932800220, 595384646, 651159859, 643191754, 512862635, 170209547, 651271714, 974400445, 645383845, 465953944, 914082064, 104474715, 676190400, 477260640, 355651217, 913099003, 895065955, 650353208, 690530816, 219185363, 289666460, 932940069, 498767467, 496528426, 843360826, 392635818, 99031472, 405141702, 448928517, 45453309, 641965954, 653973196, 522432971, 742689843, 359221340, 226310768, 568722076, 732734790, 722068962, 3828052, 361358161, 276344935, 393132557, 937317205, 698057155, 165157171, 622155465, 500336566, 355968295, 864049866, 458889683, 706375184, 990661562, 587796847, 849211888, 300242271, 207092324, 296178732, 337795372, 987261234, 841673198, 612289484, 842158349, 870335219, 420011125, 744551064, 810591215, 498671360, 68145338, 637419470, 501035811, 330040168, 215504079, 36814145, 489844337, 670004187, 62398349, 420717934, 178992634, 125952870, 852863051, 745777651, 756199561, 225916777, 994701167, 198989276, 959979921, 328714363, 225388803, 980191866, 423823641, 340161922, 944396457, 8093603, 590008325, 830955599, 5485506, 671643540, 680530637, 130026127, 435739995, 526297124, 993763308, 749093213, 903122387, 128777939, 944582574, 595308164, 151332962, 877482303, 620351981, 576009129, 906857852, 685220081, 508263227, 879344052, 414103973, 649232491, 922754508, 577354025, 596136129, 52720517, 515195032, 999313186, 477696404, 455102309, 686653303, 745742209, 717367425, 361833891, 382278267, 298727406, 20050834, 292516924, 992875070, 204983112, 304601639, 733783745, 653823420, 502636580, 588304467, 640949730, 465058223, 446706214, 967950992, 340735003, 981439897, 810768815, 336650041, 929331134, 283489398, 390668947, 788022455, 552464185, 632530148, 52853808, 8822638, 428081982, 813076662, 662091010, 713496899, 310223906, 411525280, 940044757, 343463501, 258548525, 81654216, 542858256, 663448152, 81320613, 535649777, 906515031, 927028669, 819185571, 438954480, 568889205, 728472947, 663975531, 282488529, 764389829, 767584494, 94596744, 333606647, 34226334, 591518319, 213892312, 155769557, 228931844, 151497301, 303243907, 799803211, 143052302, 217169391, 873369979, 582370, 26841100, 32870628, 254870831, 768258801, 187466401, 461424101, 121404550, 900298332, 703127920, 930273168, 309613857, 913375384, 209985363, 874882869, 683751127, 364972643, 298520381, 989166517, 961355672, 60669687, 606104319, 834566651, 655226802, 850557521, 12137631, 748789957, 786165205, 994521271, 68392867, 823532279, 399857874, 919489917, 774855408, 54586777, 727770410, 226310180, 505159462, 970182621, 434866635, 308776509, 452764725, 688063860, 557592855, 945424656, 121393465, 51640858, 871472825, 816129736, 347720321, 291741835, 275341864, 949886329, 131149599, 425262789, 911299056, 116232117, 511206116, 183731142, 373244272, 188172416, 974034476, 840263762, 874203978, 318026247, 5010795, 972047594, 930476999, 403675695, 78815794, 523361299, 897953245, 76970766, 161567607, 189624396, 299467719, 10965022, 980402057, 159341905, 258544096, 427171832, 824297199, 44457403, 774553075, 508896301, 377454790, 901938099, 727206115, 609525392, 634034906, 939437021, 886606209, 775363005, 570004272, 336681446, 644156526, 395184799, 885707184, 141171112, 495684102, 105086774, 365188443, 662282929, 25621650, 336460685, 154916356, 315632572, 243054017, 515589799, 742431350, 77454850, 927063961, 342963799, 491194938, 638228711, 786702225, 748695355, 742710983, 689208172, 688811997, 497245658, 833155327, 69534269, 434857554, 391476232, 698885629, 248468097, 806692698, 406767167, 496259898, 885517771, 775396053, 947396538, 292138142, 925545446, 210578277, 669044958, 175373575, 405919266, 407450523, 659718425, 185425952, 199900717, 238337343, 620425840, 694916434, 99696964, 692091824, 988865391, 636097493, 22354547, 601499552, 788632807, 955692795, 19964258, 106431310, 551508742, 678615191, 374926024, 564598314, 748210403, 981644784, 710817792, 982883246, 493773063, 136306900, 544801185, 252187399, 53092191, 879935001, 398435391, 771148969, 461351198, 474159798, 574963169, 130221623, 369251636, 754447378, 900410559, 424372024, 232789643, 685824887, 320875092, 491449138, 349136616, 678425325, 634161130, 402376420, 278726480, 102746405, 15489197, 517220521, 607209071, 184018414, 625871968, 666709712, 343000280, 581012254, 661193074, 85718558, 326603761, 198654281, 415556031, 619742519, 946213046, 795173841, 224426512, 262074700, 651450380, 197771675, 132131367, 646395038, 731794593, 149773062, 263813514, 250756761, 78076775, 193726590, 246465140, 825538632, 8202827, 132783442, 746921200, 854673206, 268562126, 436160585, 504575170, 607796626, 440123055, 663012683, 639111948, 850066259, 879226674, 187299401, 396714487, 735338660, 492219494, 694514098, 915203799, 456582325, 963631937, 634810748, 696622970, 956392026, 403244027, 992711652, 417812171, 237953046, 97015928, 155069915, 303218509, 92639190, 587170448, 32269976, 529384152, 504933684, 926194737, 700042701, 965296689, 237446257, 372804710, 449289500, 927263930, 475340464, 993767905, 654930455, 436503326, 529725511, 522193697, 733535625, 645563748, 554300571, 665405646, 875014285, 44258759, 50474882, 483568075, 91592466, 78576485, 876372964, 838469150, 444597059, 314939135, 127757051, 294709094, 788563271, 272508422, 505924781, 435212155, 745997279, 512567134, 660223993, 350142574, 122823021, 65069738, 663070222, 753921880, 671269616, 85844107, 995583842, 985115577, 563189278, 93528555, 316022962, 940768399, 736663225, 709398068, 900634289, 605010894, 941469061, 64064478, 203544346, 111859549, 288538426, 502598312, 475178229, 904400688, 247265555, 113658575, 372599573, 415719459, 262492878, 823900817, 844912391, 224448957, 802458813, 893711161, 267796069, 892472015, 13824068, 282749962, 565352284, 831257019, 141797275, 311678239, 377334060, 664766468, 569393498, 884204170, 221828655, 953560989, 655463396, 907651591, 880615599, 772074083, 24948943, 259215918, 78137846, 85195450, 245087517, 679579754, 880748843, 121018827, 696969119, 548828876, 428262580, 349486259, 888200562, 345620750, 485252589, 253655811, 373788526, 578296621, 638584509, 936985506, 594149073, 710325999, 30454169, 265780398, 110954954, 630108699, 476590793, 865849958, 556994223, 603545814, 976788821, 677440927, 569441762, 490556617, 47133107, 245749691, 427928707, 973410335, 67654842, 798955037, 696926748, 421646168, 25120921, 102396860, 527455294, 105513105, 319358983, 352748812, 717769276, 860261459, 615216733, 42064548, 590015741, 550635927, 934897195, 581334270, 31984617, 922958921, 974031371, 676179798, 258157192, 390256169, 896521123, 499169006, 322079050, 60300125, 603731867, 941432106, 384620247, 683140171, 875671547, 365853673, 128809802, 170914478, 366319431, 392349036, 879209637, 720973204, 756863918, 179127440, 660296922, 643722854, 355245799, 764078010, 314721966, 471524408, 746619686, 307440203, 130216217, 508997987, 944014207, 830078659, 828296588, 908786514, 421804959, 692451074, 954219007, 722722746, 741820016, 330367641, 693942477, 789183226, 863409695, 802331977, 814987508, 531342835, 600552433, 796003430, 366487019, 6176615, 400625756, 905943997, 584056705, 218066798, 589248296, 227273728, 778437573, 366945056, 73768673, 921217598, 490742586, 674011004, 148951026, 596858427, 66172310, 527635053, 82944870, 415307465, 575582992, 253136027, 925828304, 428525974, 418229264, 36353556, 488547806, 733367634, 347809232, 337329929, 810581916, 576573940, 789523822, 156305764, 897194641, 400892708, 563461153, 368022272, 88560289, 383669012, 13853226, 915985079, 897346994, 85328074, 804288962, 999469276, 593522431, 973883951, 468606482, 366992926, 314864593, 923505047, 598963682, 665682147, 679472879, 885522860, 361746341, 368948520, 240008977, 938230245, 336023945, 281954882, 441114872, 925151360, 170939066, 315039406, 613811097, 968457852, 94032038, 821464206, 580106526, 500465028, 258641481, 590688582, 980079098, 403204410, 535306423, 309598290, 904125563, 108640369, 415209397, 964520998, 416758170, 818067227, 516548629, 642881796, 284893193, 803875128, 175061570, 428680767, 566661733, 607595388, 331391952, 960138910, 296804399, 882060816, 487760654, 530802550, 681051364, 63466876, 697586810, 508120669, 322278242, 780650460, 210624445, 195989176, 178047688, 25559122, 787473316, 186871102, 502162523, 26436705, 296160579, 344441404, 838904699, 171147511, 716242493, 308419858, 368860305, 774896609, 111393927, 966380889, 402967965, 254240730, 892627153, 573988128, 467374475, 132970888, 818995827, 416673342, 331668234, 220117857, 433921369, 344449690, 335946391, 824166165, 659871457, 916384055, 13166738, 658606569, 751579772, 575397552, 819091301, 62366135, 377944268, 690532102, 642262348, 693360676, 55116205, 761138897, 622213534, 535255032, 629511134, 745653665, 618080958, 355779486, 324874691, 756293232, 797526087, 214404311, 866386086, 503104138, 634493729, 553021264, 279284271, 246964188, 585550643, 272130413, 728881208, 890646494, 744239114, 893233516, 380764744, 357196616, 544803904, 391728882, 37137453, 763040003, 891597219, 647727076, 96801375, 504095901, 710462543, 144823245, 484167783, 859710737, 853556298, 29955652, 188286880, 276475896, 863034194, 472584655, 970041145, 47816047, 606603919, 134421422, 547948641, 238382141, 729720816, 742519529, 508247272, 754278564, 227887477, 770483434, 792145124, 665759932, 713627575, 757583151, 154328904, 648077902, 757919701, 783398672, 703974317, 891411118, 492126367, 851911763, 336511462, 113044352, 445840405, 678128259, 537567597, 285643088, 666091663, 640767193, 478642011, 765709786, 653550552, 529506336, 317786766, 14779051, 33821464, 881482978, 715385097, 103532924, 777634737, 867132220, 199905084, 800365647, 451510353, 909167930, 205078248, 119720248, 214499180, 509364511, 417597441, 319765369, 572389479, 490688717, 55091570, 182783158, 600064169, 395690645, 146301774, 194984145, 860225206, 940497177, 187610438, 543954371, 990290139, 762937888, 253291906, 165296738, 654123844, 872004119, 100466703, 640520740, 933322309, 102321353, 115886506, 66859004, 85357417, 759121478, 673298575, 603509140, 758255567, 916679766, 778296255, 923540870, 80160837, 167069197, 699373988, 587879325, 276399372, 295983743, 200046396, 360528868, 11670130, 825039633, 789970945, 736330322, 289873623, 216083089, 955919426, 583733161, 669840023, 999716928, 483764477, 381579462, 863552401, 210486206, 628548208, 174805690, 605274477, 980268415, 82661213, 43792825, 344989164, 833884470, 44757380, 413684931, 166042610, 220195380, 990318402, 914084455, 561264956, 46364383, 866770522, 171530485, 589323690, 442230936, 794811008, 475839335, 149136529, 507682903, 596215078, 271764506, 84304194, 181572336, 265493317, 845469589, 391978918, 450564747, 992798395, 835883967, 703408832, 92555756, 167091150, 712672503, 438906544, 368908759, 122462726, 521522426, 589325374, 223078961, 501532815, 715042508, 693290479, 449545268, 499716778, 801929866, 396713884, 665633101, 96300780, 608261390, 910567408, 246666114, 6912281, 43539822, 953862365, 814468533, 873557864, 863224368, 570821931, 233567529, 453117566, 487967941, 112317609, 524407209, 364864915, 446283832, 587560449, 903800686, 333245301, 984986494, 246078799, 171715077, 596578913, 156145195, 995120854, 769875429, 332171259, 480069737, 299077920, 23646509, 292899592, 928671255, 273631619, 361570911, 222998278, 4542943, 215695262, 661387643, 17882991, 315439360, 223501768, 4849884, 340886554, 262254761, 147499742, 107317636, 40249333, 759266928, 959768478, 464721914, 848596048, 874700133, 104402549, 355025995, 188187573, 544302425, 787240660, 996589924, 651057936, 292811115, 304981112, 864886678, 46957743, 104309930, 738508941, 643014967, 95286458, 524211369, 824334603, 823983551, 213878106, 724750113, 266614806, 66887788, 28879639, 217733802, 156993486, 963216971, 213387513, 8048010, 110807721, 502667242, 463604765, 440784576, 784609489, 516987328, 25443734, 753155955, 267365276, 769587717, 699917825, 754473728, 234767134, 374480019, 833262200, 784166370, 977508124, 334100199, 579056361, 637605200, 279150222, 124636826, 584615396, 275985869, 535535714, 516852514, 348447035, 845458281, 164770324, 629563228, 704966439, 397392922, 916474257, 244660069, 89027883, 990968199, 239746808, 971375119, 981498697, 50884479, 200329860, 846785916, 92816973, 362838081, 248213620, 508428146, 734266713, 197921740, 424418689, 403108766, 13086688, 17474579, 250722497, 105666196, 872953267, 993146109, 811023948, 730651560, 805513664, 700500666, 450649587, 911959123, 474912529, 523052829, 379243266, 59083501, 170426103, 102603542, 586514359, 317653820, 440045663, 998890102, 338781318, 767305210, 807179584, 825358699, 759147088, 996404937, 818714491, 514051058, 187768255, 575949442, 549805988, 435226345, 589485967, 809802423, 845716429, 120870004, 397459240, 821853675, 955199408, 785831508, 469221881, 676368589, 814570521, 518723439, 435160926, 633094646, 310863811, 103224804, 721082413, 29194383, 353400149, 4924426, 649751648, 608011406, 554818330, 223614071, 590626207, 933909260, 515845847, 631935920, 595582002, 67647684, 113305875, 243899508, 992269625, 143759210, 357657125, 76386985, 397354355, 463766783, 336389398, 550497690, 360273572, 307030951, 298330297, 506102789, 689542520, 421258191, 618042114, 457656738, 949093515, 121341684, 755510716, 692113469, 789819386, 589701849, 735530495, 557924445, 137380103, 982964632, 634265788, 856810996, 976038641, 483163402, 431536289, 414598500, 979592750, 397473809, 884931251, 31848836, 941996816, 966974117, 840636806, 610856721, 667762183, 804706999, 478258363, 164315475, 290822259, 118412690, 309183427, 336725000, 228994682, 728716350, 927039224, 978966641, 592896687, 880600005, 443903944, 484300301, 193545684, 196736291, 934169742, 699406749, 408630569, 388857315, 713608311, 123792035, 814009521, 710374517, 24854548, 256313701, 921748904, 38424452, 931386408, 983270019, 913383145, 789309723, 234767392, 409927398, 691172471, 408661796, 388281344, 247842515, 459371602, 942254115, 978952247, 602282569, 741384185, 680912648, 346238928, 279844355, 107132093, 205528567, 332931719, 827389047, 943581911, 106579325, 946815000, 325233774, 190688816, 945761566, 948807087, 674324787, 194345114, 606300547, 66193104, 331859546, 33185093, 653379711, 593537262, 717344206, 19928328, 654386494, 844328163, 959267799, 5433215, 595044183, 242129888, 212647514, 665042262, 632726326, 169684882, 169578475, 919601139, 738104974, 144456398, 693701990, 302917047, 321444674, 574435592, 4832612, 281062415, 697605992, 277177361, 626223061, 91420734, 663391013, 649481554, 397231219, 952416953, 252448329, 926205282, 713126927, 52407369, 429106594, 95319140, 461815431, 257026572, 1220387, 612633291, 92971393, 720702164, 104099083, 337296374, 211749641, 88304718, 670659125, 62508344, 139882779, 399063826, 254392529, 989686407, 686672733, 966587080, 200623061, 288829417, 916298828, 583697700, 515821647, 900439360, 316785184, 604775327, 232033168, 884175544, 253678111, 967492268, 869334678, 153091528, 344822974, 18550391, 512339363, 593148432, 224841958, 415358324, 414461186, 479426359, 322803005, 709585467, 385681609, 603263862, 392696691, 597074660, 418836924, 178650343, 786821462, 824300785, 457746890, 936410482, 29838572, 644140660, 99185070, 28111379, 677283169, 120566082, 664981419, 324850703, 250118487, 341882189, 707388738, 913989234, 508594396, 466861942, 435489834, 837510990, 437280455, 844826301, 993250568, 93100411, 709434308, 204730597, 410118773, 823484558, 354886062, 220628040, 853610820, 689532547, 995645608, 402861407, 647691501, 853072065, 181927759, 356879119, 717669008, 478440587, 455670824, 666188631, 965266320, 160946253, 96586365, 497622777, 816544083, 364460841, 623222949, 689708276, 832957018, 14659229, 12555565, 11583920, 247376940, 511189974, 957961546, 77254100, 929878959, 480088594, 421620902, 540867580, 665540257, 330647072, 6601330, 680254732, 928604994, 556301271, 730432064, 625095536, 624002545, 537403747, 195664083, 353718549, 929738329, 771155709, 82793924, 980168795, 340148982, 36547839, 963327571, 153074364, 737805333, 729978210, 248890838, 685248020, 548037747, 784113761, 112613799, 108774008, 878725750, 529412074, 126508859, 916214296, 276091341, 206045241, 431022003, 224664659, 130966654, 757345741, 658804082, 631577234, 66739425, 581560052, 547096653, 273417867, 925425784, 971690987, 861053963, 286282170, 856319571, 550218596, 683537674, 154421794, 403763168, 152667903, 12427980, 820132724, 682778043, 347177225, 499397680, 786874134, 61715196, 218556990, 640910133, 125510961, 374310571, 336550224, 401884524, 156208447, 812876530, 435252915, 491916421, 333573680, 988809186, 395890094, 486457290, 955845289, 590971396, 849422428, 618007294, 525693895, 508181551, 561903293, 562473542, 478967350, 841245207, 166472195, 703964572, 873193064, 123052466, 461176491, 911382220, 944677750, 89079113, 793101973, 846528678, 816126417, 798928147, 880568288, 792604553, 263930247, 937601546, 577511007, 298304004, 856212955, 528429247, 936977635, 999206663, 617226556, 595859092, 147001912, 656091577, 731690195, 104641547, 149967228, 580191441, 88425395, 579444226, 782987337, 70955060, 747364966, 606613951, 761232328, 556121089, 884933260, 601004237, 393355742, 116401911, 417277339, 757489471, 949051155, 321329516, 590748750, 161889161, 21621759, 413059502, 429017528, 630577137, 646924864, 638599124, 588227064, 988562647, 874659981, 743265420, 798108650, 924675315, 770130209, 620546678, 468717189, 369941146, 642641002, 541839702, 300784040, 786702349, 985656152, 209304055, 363240631, 65942846, 515369369, 116845211, 920623460, 783435291, 956494982, 13896541, 797103620, 533817559, 757175369, 286647655, 26273977, 498741416, 74443688, 652044783, 324797794, 338265767, 7207449, 422721697, 711632297, 158284168, 141891810, 194618384, 926847849, 847718259, 161440440, 603186227, 634409913, 921303268, 277929464, 910214812, 460103593, 415275834, 903934994, 26882995, 612197486, 774157394, 209651542, 656979101, 467342605, 575354129, 624181167, 267619397, 41322006, 481526575, 728342528, 401996361, 438236866, 916276679, 449629920, 949938747, 53837733, 175087098, 919282410, 615422201, 225915604, 464743682, 27585456, 293212876, 380192904, 420262202, 992374765, 331242232, 867795205, 432277670, 757689146, 735995455, 765840762, 702598627, 369718451, 309244439, 425421630, 874870270, 888919468, 591401912, 490441244, 375122750, 853916845, 609736135, 174251245, 96925976, 171435937, 520039326, 792073487, 556759208, 734206920, 48684419, 6223000, 397489579, 456047419, 940541852, 133715802, 471546931, 566567803, 560156019, 260906902, 359245939, 105006352, 867996807, 845440134, 345516849, 22381310, 257150665, 396998172, 865665699, 592292775, 21944858, 840555766, 617437742, 118379235, 328811782, 281225765, 195122020, 238550934, 670874836, 667751954, 113762445, 305023769, 883589190, 160331554, 439349815, 964294903, 956337022, 403726238, 805797224, 539390134, 927221297, 897764347, 262103970, 129036627, 615322675, 83924480, 940229259, 228481512, 417682900, 880262140, 15529258, 103603455, 875059142, 683981844, 389636049, 603969000, 141215093, 495690741, 816608208, 151247932, 321621179, 142357012, 700153510, 424665452, 693211872, 976913235, 961889738, 89223879, 666769841, 387483916, 737051654, 612666431, 735903511, 430436768, 491387859, 53121638, 704732278, 63037990, 505449961, 182853292, 95588593, 19871582, 863590306, 313072408, 147758651, 608017434, 143086254, 726480822, 343185778, 793525985, 375256780, 476318091, 386993670, 896511645, 49453901, 75785454, 807415541, 249292818, 842571300, 685908012, 864228781, 199547750, 662685225, 990283122, 849947097, 682992739, 119039027, 645296143, 444697534, 379228245, 141051048, 480294628, 471855993, 240883812, 801596804, 266294216, 703784372, 14668646, 2524206, 383294782, 967539068, 651950465, 351954115, 885817566, 13680300, 600240801, 572111215, 690894239, 116256607, 884029272, 817541845, 522323212, 933989635, 233592683, 607025728, 518480284, 152652280, 604856998, 189468165, 665345691, 926386314, 606076123, 365966658, 514660816, 354819208, 264322587, 895179839, 701114226, 498517212, 373927139, 218231528, 535811967, 975382115, 913045037, 781582472, 667298712, 776127738, 202868944, 98326327, 46431345, 156865636, 546075926, 773648633, 331109324, 175975853, 306312806, 602105879, 886740195, 889950596, 862567225, 725998372, 99518091, 536361792, 926505833, 984010908, 81375369, 122926067, 391550426, 333209312, 163857742, 89109000, 709571812, 157572087, 890384208, 728466116, 889181303, 387236925, 705759407, 877559875, 557573197, 375274371, 674925034, 234321479, 812051174, 156738491, 839266494, 844649105, 701857817, 115952871, 787737961, 716012301, 749638267, 45796767, 458375314, 221788625, 408717521, 88491578, 983822377, 571068821, 738410839, 450023842, 115582417, 26794019, 741106518, 916879145, 674812834, 559315716, 611630861, 906114285, 794294264, 657821901, 854416721, 799957043, 873320636, 412824842, 184876589, 143232097, 586715618, 283303345, 486367927, 178171774, 573451231, 90297646, 435488227, 399937748, 319797125, 815515943, 890873888, 461611225, 246178465, 83141619, 447309997, 403111100, 102361266, 445841532, 191807693, 922441038, 786025802, 5250075, 236224599, 762787794, 48235435, 279635746, 490887225, 505762115, 802143966, 438428850, 363194694, 221991394, 354903277, 447472164, 991938758, 324546544, 546059773, 488000783, 171402187, 888191187, 858085770, 486364487, 264323716, 986090851, 662779963, 506228395, 593355624, 532410429, 79821267, 804548876, 327333305, 301619701, 629740730, 317372487, 913040945, 288990655, 393745108, 752839291, 164156305, 635469396, 374247622, 300439272, 461414080, 71555768, 432893902, 672099019, 433602262, 732941698, 899562689, 50490364, 833925053, 762889394, 207876590, 329179552, 557276440, 964455799, 489631842, 504776450, 610359280, 245555587, 604067494, 21203188, 584672231, 864964543, 491244016, 769862575, 346298708, 161476736, 289711164, 367608266, 413255628, 652584290, 62944470, 894209592, 302516355, 969189186, 976397594, 82255857, 207101454, 183232652, 59916879, 837713827, 211293850, 817044807, 594552600, 554899710, 697132926, 399464878, 517668677, 502740591, 134345837, 770357780, 873746282, 748531009, 201542278, 484846291, 866664262, 6304415, 294355172, 319867862, 325879935, 17807667, 490105795, 362502130, 630817681, 891868439, 675395578, 789887411, 462304390, 547364439, 98124579, 743618938, 163033363, 719812540, 547659911, 407580041, 923423714, 912685088, 20280404, 91518558, 811026312, 813961026, 432117099, 817916050, 782087926, 913625162, 662636258, 713129313, 808367305, 33634139, 448952005, 895772956, 586144626, 606649851, 541763214, 492732732, 60210144, 891821990, 629827178, 166415142, 29561581, 517744928, 122567477, 506435398, 612231089, 603492483, 378639688, 581924772, 581203611, 553030732, 15459269, 876500834, 590446447, 848362286, 73103554, 587914486, 410403430, 600680491, 186368590, 704383826, 493874812, 201793513, 545842216, 163594401, 90595921, 621734729, 573276885, 840686011, 588399853, 851810944, 14255429, 545623687, 572852502, 491298576, 797880355, 42186513, 446152237, 656048078, 87949594, 168077847, 523863377, 518873403, 209272779, 610141320, 909686230, 276025145, 745023329, 468287318, 768836296, 713382000, 517216449, 993496936, 935273270, 184049955, 933994792, 112589481, 836341139, 541131481, 28768459, 631291, 889170373, 469694116, 938803184, 706976871, 330556918, 371103766, 177145157, 165609770, 751365918, 134554596, 259376692, 482688719, 985307780, 245917608, 998024431, 297718628, 943891324, 939262058, 860968340, 346246711, 106053520, 113828383, 784971747, 773963274, 64039358, 829980772, 691587057, 88351965, 819497141, 731558372, 779717047, 472873869, 936805070, 9678624, 168374349, 404600231, 501904722, 555333793, 943978875, 899118010, 272272766, 156718196, 561858827, 948827926, 56229036, 57291455, 473924360, 567538598, 676722390, 557881079, 225809052, 903310979, 788687672, 611047653, 98373003, 257507764, 720752231, 483071256, 922940428, 102234850, 233508203, 349467148, 25467371, 439146262, 982364111, 251402985, 896876547, 350874746, 418304353, 426518779, 803317153, 451374872, 84583700, 252195099, 834773638, 875256010, 580802248, 243289758, 230387298, 668833207, 977589602, 156107416, 948079061, 521395706, 301878606, 627454662, 405396630, 280412446, 237570553, 691763368, 493806514, 391140482, 586635686, 840132490, 705788309, 54004600, 332689097, 38383818, 292628576, 644054340, 976303085, 814519415, 226702175, 553521430, 875713003, 878696264, 112237753, 81169165, 816547172, 322933734, 239093877, 738979895, 578847891, 447965105, 620944432, 498674724, 359694965, 876064736, 552011759, 935059707, 366136916, 576784766, 860325490, 85913404, 660190608, 72881727, 710865725, 39654530, 940597352, 645246285, 614990850, 854346330, 410971466, 907409208, 278120146, 847539492, 548640803, 839272716, 103943562, 45388111, 405129485, 3927147, 583751266, 390258396, 41218552, 946284785, 50126317, 122632923, 710671857, 782062733, 166339529, 507004528, 418349787, 485588557, 899278418, 730233310, 679515674, 596213150, 613598031, 190989652, 82617285, 466578284, 314841534, 471430064, 21648380, 434957359, 319303633, 513348783, 652347422, 993904102, 273262716, 251381097, 32414719, 444546680, 268439937, 320829529, 864320392, 925460149, 146696705, 635755440, 647790437, 727341640, 20701164, 915019603, 362384029, 759953849, 790887945, 773271578, 772887845, 626566556, 730315534, 761714450, 66390201, 423680134, 683566256, 994281431, 447602918, 962539836, 834671827, 33031278, 90764191, 984548796, 914305061, 895503450, 783512106, 264338811, 298880389, 100990828, 966110514, 684759878, 686689533, 451204185, 565302283, 959175723, 614951085, 600419894, 267482520, 510425780, 553667457, 27648760, 360175002, 509085124, 760453582, 716893283, 724122578, 998230593, 280749402, 752546782, 338952201, 247890719, 566992841, 85744692, 307105324, 604675531, 724856773, 127325857, 570837511, 170703902, 519503514, 311469953, 192512540, 50435104, 759312372, 863653852, 145177187, 421728439, 669672316, 606039963, 668444646, 957245107, 199765807, 510569306, 877120656, 865487764, 91489912, 950356918, 666928514, 825874498, 594238624, 946381087, 416203933, 207576183, 59174600, 388880967, 767947051, 315258439, 405986629, 17113244, 27797867, 750760358, 803424216, 336657704, 420006151, 661121687, 159563910, 971600531, 398450857, 832893753, 76063591, 420878986, 334087896, 704137957, 654116526, 944104486, 246153036, 238954217, 728091230, 679834998, 860875216, 565302428, 496924177, 465331715, 127954701, 78673393, 565253273, 735570217, 971480904, 549674622, 500534820, 36037028, 593207748, 886362981, 640454148, 369366822, 797638488, 898408425, 955105009, 599045618, 254824591, 823167157, 404655942, 208221400, 68260705, 790231316, 62071138, 504859042, 429952392, 604142530, 814240831, 688839906, 636665338, 180909501, 539528681, 105924900, 385426657, 245636889, 359362010, 39074181, 564504756, 601320338, 892695393, 894780580, 978366702, 281571855, 246598763, 371450344, 322364662, 222919649, 757891643, 877012812, 579015991, 355550548, 422995244, 319848047, 378561549, 76898215, 692638672, 218772648, 901041291, 477307037, 403175617, 496934360, 954156515, 550575830, 222344736, 205140202, 358568889, 150074514, 855471008, 507653959, 716009036, 364880625, 559636794, 718502606, 167362788, 194619971, 242774130, 364606440, 702025368, 325045468, 306477563, 88367328, 922653531, 830449833, 252912451, 331689228, 673076438, 197796299, 299969150, 402816452, 213084830, 676940934, 647095131, 354650953, 220140726, 750643777, 446966870, 547192029, 29760817, 684682973, 938119755, 509678203, 226983263, 795921982, 234185231, 951197404, 211772687, 896746244, 443894270, 21412324, 133802936, 848248312, 920203928, 198399807, 138218404, 417114379, 851374245, 229022541, 567297618, 554796231, 89047111, 25895359, 714820687, 156077045, 438569609, 353474360, 861473438, 572551342, 63349169, 428981837, 141002792, 431367194, 148017685, 917060976, 364671067, 286306194, 629720119, 436053512, 920781626, 595312978, 583829138, 779907015, 744585575, 260874237, 100529671, 260499179, 14404607, 128566051, 358646993, 937546808, 752121157, 883167119, 687264259, 541072038, 872015643, 836228636, 608945437, 231672888, 3440376, 234979783, 80444037, 777809937, 358759502, 82469666, 226339619, 77568060, 947295540, 272566288, 684513392, 535629458, 946300333, 545020817, 263692183, 680402895, 410606236, 536188019, 124033960, 148221968, 186827230, 564470632, 411585192, 824594022, 11369881, 224743814, 441001618, 473115532, 727021233, 438971498, 871662666, 267562271, 970150842, 154158952, 388813536, 154736110, 139474198, 351767801, 409180797, 769410081, 230454304, 620625873, 841349640, 590355975, 600525059, 768792515, 219827016, 199030949, 348511504, 951420951, 888977171, 455169885, 232989459, 712942269, 819638083, 670979613, 484002235, 161943935, 200774101, 601596569, 167505866, 77457160, 538986847, 867924099, 314027134, 774019448, 469492132, 453407009, 429253777, 527513661, 429158426, 599184174, 348613232, 707441869, 711412922, 481115216, 431376047, 336570981, 571864590, 912601474, 410608891, 248872681, 87087513, 892464177, 622391166, 491842104, 769001077, 32282319, 860923486, 300380403, 817776618, 796497289, 615660000, 494566273, 297291849, 176406998, 918208429, 955845395, 943333902, 298069514, 354864435, 671369005, 405298500, 151224611, 369469494, 537005817, 101991098, 812720495, 566694416, 84227253, 510425145, 533300398, 302133589, 189042202, 521878244, 995632015, 464198998, 851940219, 362328493, 358779514, 388280460, 209548466, 85939534, 805670744, 451824589, 744880422, 655927284, 581480025, 232595893, 617480495, 282395485, 954865014, 375635495, 441431767, 151095965, 951189061, 462107624, 199351691, 321922483, 659819220, 86980419, 810554506, 799877307, 80731101, 931588172, 544633481, 192682505, 799886728, 351044560, 322477835, 293464587, 497488032, 658254755, 94937677, 181366693, 482985008, 517904815, 321812172, 598849544, 644072744, 657980420, 86687066, 285550618, 868474446, 324072915, 377470573, 38377014, 573974581, 3653658, 871973045, 130611980, 458266073, 165438092, 13716766, 270619349, 248928375, 455424519, 667348552, 27986400, 567266375, 167599955, 358779962, 12632073, 757703357, 594332978, 827576664, 794592069, 408296214, 501582754, 610386206, 619547756, 369580342, 189730880, 67002, 797343426, 976513011, 386799949, 33168004, 846492827, 825475497, 910233762, 907602993, 278227757, 735019173, 734155270, 873412822, 181045194, 39548976, 596649892, 418517867, 860464501, 52214632, 161714975, 62656319, 690545377, 636127111, 406577374, 491491542, 159193299, 248269799, 491057618, 202430799, 806597910, 367631009, 597083009, 433428858, 880933779, 266787055, 228342177, 430807043, 537044290, 517959592, 703384399, 260306592, 445012844, 446001954, 104183642, 296633894, 453389524, 20231738, 966876580, 294506318, 357905183, 720567153, 252667099, 593068189, 817940266, 222059439, 849934426, 685719970, 520720923, 964116729, 446057205, 576343999, 464749532, 14915996, 459295930, 205879078, 307978884, 26986358, 48375275, 287174619, 401790855, 434223150, 314430594, 334635003, 907601251, 231714133, 668558217, 103177193, 419506401, 50150169, 364776300, 780758912, 980127286, 947873594, 915922354, 802454786, 656115155, 220137115, 455660874, 960519322, 890156022, 682350794, 104140371, 942325866, 533098550, 294387928, 129403798, 562269579, 425291379, 8347057, 857934960, 352427684, 813286023, 782852600, 167513432, 647308985, 503344945, 35396605, 961487732, 34452926, 261081138, 981765626, 363602825, 116467642, 367488946, 517431336, 806475097, 340947470, 483737985, 698127846, 370507902, 428356469, 335460598, 723673834, 117204301, 43391506, 704018146, 479988903, 745916647, 879099188, 902519222, 796122646, 901480806, 282845985, 882685156, 666989120, 305471231, 240672947, 697086959, 209444094, 397039275, 64285218, 336090600, 954592262, 193682696, 192782840, 623940996, 482928180, 329957477, 165935202, 1554803, 472308632, 595254720, 640531667, 903335830, 55079530, 206477460, 869540757, 445904196, 856286821, 383869450, 919942862, 356499161, 836229853, 113325235, 313153711, 721802954, 419700217, 184131954, 813550179, 38129856, 665926765, 61167666, 955248062, 528320420, 922699160, 55947814, 5288281, 383748468, 521747971, 903478886, 607211802, 960689372, 817808026, 510121979, 500060774, 714676005, 756428072, 25793501, 91645807, 832134496, 530043289, 794888929, 671250468, 897016513, 215189779, 179727729, 963816640, 690650347, 502121573, 497929641, 289733167, 98257219, 102630652, 713141567, 779000797, 418227832, 327660985, 102491594, 153637051, 658276700, 544752252, 364890559, 185145018, 544839930, 597108838, 282738761, 971154815, 100104814, 453333437, 443564169, 435069404, 651366058, 349789864, 234000058, 243255081, 816591833, 576705465, 505192942, 857224650, 308175934, 972398977, 368761945, 653473499, 339566187, 74861569, 800862786, 683904967, 834461751, 584801307, 19602711, 66609411, 397696068, 859005359, 46004610, 927482902, 788487420, 82999770, 624042260, 531708273, 722170237, 655141615, 596113247, 175958586, 899141384, 927911850, 867039665, 952122511, 556098398, 228923286, 440463855, 449364912, 643696612, 593197859, 113457493, 258788037, 468044421, 390499951, 329533672, 120893301, 747638727, 577403460, 692909570, 935336553, 989088089, 328604226, 703313641, 140679884, 482352453, 171185567, 970860081, 127346898, 615032000, 844957534, 405545159, 763467460, 305979739, 868218025, 548060059, 810650196, 828604680, 171595858, 110020240, 863547841, 277258666, 611655593, 637018256, 296938048, 978218643, 642128446, 860860182, 656596252, 301868875, 602399223, 983717228, 904908535, 513308025, 110428982, 622544180, 867360249, 458069576, 46763200, 227118692, 626360509, 551580779, 845562839, 336134735, 928831949, 889005457, 186274586, 145604660, 78891111, 489877959, 398770409, 293490173, 997839531, 689026349, 466952793, 33483119, 991807859, 865720140, 478304386, 941281151, 23191755, 22875172, 561404957, 531466632, 52723478, 675728921, 80011438, 786855859, 41419211, 738296312, 972336411, 664430906, 490514510, 624085025, 585732378, 842048169, 323898107, 429605014, 137286351, 566160020, 280071678, 62527532, 598234298, 714144331, 607028457, 450347563, 158355467, 180610224, 789213612, 141699113, 461787761, 451167653, 960571083, 882555450, 569115623, 79900706, 715499381, 398113441, 863143513, 684594419, 833174283, 383374877, 729385583, 233337444, 35693080, 71544602, 381146411, 247940572, 188790106, 832230442, 218057431, 486140965, 272321088, 916977490, 320078814, 301778058, 996858080, 574948389, 121326209, 526138676, 420232779, 962639647, 41664975, 817326167, 273567070, 229044288, 382763634, 55435807, 434433563, 110770512, 51730759, 988643708, 29141469, 988466007, 136683156, 785775446, 922617431, 469361977, 358618150, 356234156, 592496745, 184062344, 271645013, 906252401, 390409108, 891521044, 666403757, 508005977, 176532977, 113291228, 972876554, 534839342, 814991414, 350946941, 655755248, 223709522, 186841717, 304625290, 13710409, 554252916, 352551383, 638937362, 502321687, 164171479, 189789340, 402369805, 233043993, 343962482, 19610365, 25828111, 179481420, 913042570, 383932700, 321375823, 349509889, 3207121, 44399760, 547462209, 680045856, 856648924, 226818706, 147470544, 740037592, 493043654, 788706107, 292291286, 412547970, 677133855, 274464495, 282156618, 208308442, 142973521, 790936204, 840022466, 964221755, 685292544, 202199847, 952896410, 19532516, 217427909, 647024496, 507106721, 846622268, 150548988, 500278553, 166884504, 518521374, 889867150, 658553253, 699725685, 510112994, 920830224, 977223244, 936366187, 338203620, 478822977, 552289190, 173037260, 988797338, 835178852, 252815061, 217977175, 359857694, 929445935, 426642991, 701429357, 57861691, 733262079, 119340770, 988692866, 524142676, 146630020, 807371214, 932723458, 390529093, 427292365, 672784191, 103861695, 967048214, 523872617, 579074730, 567896569, 477256926, 307823933, 55478459, 664349783, 195643055, 930061519, 968960189, 600440452, 239386760, 819437485, 275768307, 518963289, 292674569, 134131913, 962421513, 656696494, 11199248, 23577860, 117830298, 987056429, 164757448, 80817959, 248630086, 575691485, 967527028, 401918695, 690149033, 898171886, 976076906, 230724528, 83571765, 777879972, 468281531, 877616312, 130788682, 280888554, 367344529, 782548250, 659903261, 569562562, 302585229, 314665964, 94098213, 678161205, 658793795, 573615918, 620568991, 575740548, 117306871, 401819260, 732668000, 489506433, 641994760, 694513161, 738438060, 306976937, 380014254, 998459958, 120960076, 189187222, 962328188, 827862948, 976629025, 867446108, 991671768, 173171767, 472215638, 62616328, 962134875, 852072785, 943116226, 326206206, 649806549, 978496425, 545245703, 953238304, 694091296, 15746768, 941448746, 861763182, 686273135, 293026141, 539675008, 859663251, 358478174, 557668672, 412695681, 462316633, 89918820, 559555465, 302185653, 262753481, 634527889, 529285528, 246496692, 360968140, 890029527, 498284487, 352784040, 567117995, 138218849, 488414979, 58637963, 611072845, 24866016, 92443859, 718692822, 578613175, 525746041, 784280447, 155549199, 36349867, 683385719, 81012171, 969804779, 62877946, 749436852, 267391880, 131540151, 80216175, 596968249, 400361864, 30307437, 488361677, 858398875, 711859433, 163759378, 367555026, 885491640, 398595735, 641441600, 74283357, 984139081, 134340013, 178399078, 572460811, 923820405, 238643542, 452792743, 762427097, 266592883, 119558904, 866997457, 149031113, 512042411, 531389674, 808892408, 161792669, 917358168, 835719849, 57239750, 187003476, 105439916, 761612117, 399315077, 987997888, 565273993, 952380555, 741760599, 624638534, 219493932, 166076829, 90764500, 797072455, 528247211, 174037380, 1878702, 835004813, 979855564, 669727920, 399256114, 797177797, 213220798, 912975907, 4683741, 572266603, 720384971, 554474340, 979449259, 765529060, 304345581, 103002731, 871945761, 56257853, 869398819, 857945697, 460708172, 169513079, 583880277, 978711245, 362830562, 741593037, 366840507, 511426140, 444393353, 256401781, 507526880, 115438927, 804394819, 704064949, 384914129, 369628238, 390135916, 998214290, 481321873, 94168720, 100383939, 72449900, 61776947, 592723757, 316777207, 475821174, 758806200, 517264620, 536520308, 455786204, 356052015, 875913694, 562488406, 764578236, 204810073, 692728437, 83605242, 75072616, 424837133, 891744990, 12790487, 34825777, 884348746, 648805801, 166612931, 594778171, 173741334, 182098088, 825980351, 892281611, 471503250, 781973129, 584655904, 636411048, 482942356, 371389456, 734075604, 115349188, 912414283, 179502410, 544195910, 315010826, 777168520, 951625282, 341997456, 775136654, 749623670, 160829, 717308722, 216091699, 247312108, 788521545, 267248066, 837533581, 404915398, 526020047, 167129658, 601693477, 197569267, 345906108, 333481725, 220921224, 682583009, 398676648, 855609729, 41426517, 710609099, 258139813, 756073644, 781858413, 743460883, 708485784, 193584860, 672278091, 753884702, 899443095, 841738476, 177628161, 113241458, 827227456, 849063738, 786662551, 265786573, 824608000, 319635801, 37791041, 666636913, 231483281, 532718844, 217839829, 980477982, 875760764, 670226869, 69997118, 134263371, 73885876, 53614885, 638340538, 56705019, 845657331, 626836818, 319036489, 416988997, 233340468, 542931013, 170711915, 617352188, 403827381, 379838780, 820929797, 881215206, 824550044, 805431562, 625535044, 78332598, 417167332, 813778840, 107358443, 714733523, 443437550, 702260651, 371234297, 469964429, 841161990, 281406941, 379306989, 865031092, 68563070, 18210574, 639362656, 731757259, 122173451, 642325135, 364709252, 253054711, 23574649, 116882498, 28889628, 576419398, 270139985, 416552546, 173627269, 112636345, 395973592, 572017359, 348485938, 212915469, 332283392, 427593338, 368774634, 174901390, 797059419, 374701565, 582696004, 646256258, 865410299, 788571648, 173607625, 916434575, 957537760, 225291973, 505079204, 180411779, 425203212, 912162381, 951468590, 353495536, 962410116, 213571687, 71343656, 294316218, 229457945, 247526439, 476339092, 369702551, 83280114, 956688646, 22260850, 324978687, 962211315, 428611262, 434882850, 468934704, 71007065, 955849897, 514030985, 400246873, 740914289, 473939105, 903794556, 776371257, 422001968, 434399358, 589790628, 931356959, 269852841, 513912412, 592995243, 108550683, 986655985, 413621775, 574192214, 893443352, 523466069, 76410716, 3352926, 742272763, 864081784, 943609032, 432567624, 113653059, 388145500, 24568179, 824261781, 409702471, 779555454, 83263803, 674418418, 192535164, 895244456, 335725383, 326465745, 471250392, 245037017, 881968144, 374611668, 148740412, 525228405, 980163913, 494538045, 943316576, 385830297, 23521795, 215728193, 175567124, 406483666, 603985598, 67708157, 590875750, 762939214, 398503184, 242907730, 540340066, 170174070, 918767958, 75349308, 604562874, 982386888, 345270641, 954331612, 230387242, 106372000, 827622285, 571335557, 121199287, 962159923, 658507108, 756302211, 607972533, 488701764, 199590678, 457700146, 41379186, 765623808, 826898437, 837897451, 158353099, 84283793, 846926889, 216089725, 474779455, 407557306, 192705747, 43814323, 61511593, 199377777, 231175391, 688913595, 261363416, 952007749, 686522590, 910582151, 281262792, 92983581, 87254038, 489050186, 104328582, 58491854, 171303747, 487021518, 768321429, 315491659, 20325521, 402582470, 478959716, 493218432, 377988931, 59028811, 646598883, 372371139, 721298339, 977320209, 999652544, 47855623, 422640962, 684149000, 960396486, 63768246, 70319405, 479352764, 600759020, 403400008, 465272966, 484403354, 15413536, 637117044, 889583523, 11236574, 13986226, 207918568, 345211205, 594740458, 13237814, 929593993, 23094948, 461269311, 733643981, 686380430, 239741477, 475018581, 181608637, 9637941, 44615026, 584688144, 73540777, 897164183, 155807853, 404509706, 234287046, 20805230, 929915512, 19792203, 592275065, 198192015, 652764589, 461797804, 396375942, 543679443, 569126936, 316351045, 110207681, 607714686, 589652318, 251549036, 430070168, 719654594, 908887282, 398713929, 863798152, 648262980, 221173495, 110999402, 682819237, 533156611, 36880953, 750779346, 566337267, 714107668, 5201640, 301284644, 566997869, 460954518, 532198504, 392697772, 563010814, 153893591, 493302815, 580737409, 905994073, 42395113, 582721872, 41966938, 240050325, 484316792, 810586512, 465212834, 228501964, 217067083, 748578971, 54233865, 810861591, 875400692, 975947524, 319059282, 267924308, 916104545, 686789330, 320854321, 881815164, 925089428, 537660516, 544994534, 828567858, 168516449, 144223710, 432222676, 16705836, 472858000, 91284508, 312176940, 287896670, 973504567, 153889247, 405385643, 366487608, 200493411, 149329783, 153332169, 272827619, 96092842, 776903737, 78984006, 584871342, 656772937, 127286159, 127637388, 796078281, 526800836, 740251806, 425295592, 243922534, 686957101, 338751297, 144498163, 124584760, 554457995, 102477488, 487200663, 235504779, 937374256, 463801092, 446048503, 464834560, 862289936, 781214464, 519916793, 901917157, 63282746, 225040281, 911119802, 649497415, 558376936, 977250612, 246434225, 77311514, 504943905, 488753019, 492155782, 337178873, 807403955, 810415467, 103114471, 979799768, 439283621, 374288393, 370899696, 60184057, 296617821, 709731201, 382590242, 793841631, 428315909, 729883274, 241754889, 443994869, 189989740, 234271569, 370195235, 377287299, 465417151, 304459260, 192475119, 98518371, 828848030, 505260603, 984434947, 186112153, 170326736, 697565329, 128205479, 390708585, 193680201, 25200284, 793212899, 403288327, 872936977, 445394157, 809366417, 759330601, 179030367, 932444752, 312627509, 670727817, 410812388, 915642473, 716540263, 146756200, 528480985, 889147950, 356373523, 611445945, 747396490, 507636152, 277270701, 995937316, 102362821, 273215641, 134175061, 646376353, 871410830, 844474439, 907963288, 282310427, 364359052, 942077219, 77957456, 532928020, 876315608, 277367402, 351150132, 273684707, 619262479, 378555496, 836064162, 1803693, 767251439, 599917400, 685024381, 55028471, 69645258, 870751732, 307693317, 996407575, 481167899, 34218555, 762559509, 330226279, 804727854, 314544400, 602188666, 967860719, 730187068, 551794583, 641041271, 136466807, 762801153, 125616860, 470450026, 925998006, 837640133, 878827663, 110823295, 545232370, 907796740, 190810038, 438327151, 593411821, 263422503, 843990353, 978430494, 497040054, 517215286, 32911666, 429263122, 260572668, 595909739, 850352662, 797800147, 935428859, 29076510, 463780348, 992256845, 546574074, 625128065, 86001673, 420714850, 109654281, 969884867, 765296605, 181206121, 116404080, 160795184, 898356057, 665880949, 781938473, 334994532, 6587132, 310958863, 44592965, 280213921, 357716310, 860124681, 135994009, 499706637, 499719151, 853667808, 493098748, 502870553, 29541361, 956894988, 302478249, 503044962, 159046417, 726080857, 136114534, 68165714, 626386477, 224570021, 200837711, 462706769, 481527159, 607910248, 366826861, 205577317, 650753592, 929460917, 507963213, 750319668, 671975849, 920486911, 425309116, 715294851, 695149890, 378945780, 874373042, 337926506, 724702393, 32461524, 943434654, 14913963, 169902660, 256122514, 454743550, 348976281, 484808963, 855010935, 731926288, 530173250, 808036474, 742225297, 41063368, 194385236, 26049311, 15909914, 170842301, 213291832, 823579769, 521567348, 390949146, 685589722, 957389345, 4481812, 712548591, 844629986, 889899132, 520351288, 22804394, 813665669, 524070929, 298676063, 408195210, 535155639, 980570922, 158420511, 22333532, 649587286, 278719655, 279999569, 565628680, 980133136, 607756118, 137503248, 185494036, 915440083, 245583579, 880488482, 658907817, 89110736, 639225657, 53679469, 78993927, 766902205, 3948112, 62595040, 646626117, 98023899, 949998188, 815353099, 889990837, 19793246, 294894578, 252519539, 111692657, 60084560, 416209996, 683883144, 574388229, 931300219, 119976780, 664847521, 741310757, 312905180, 687084384, 417695820, 756507990, 932571195, 130706098, 426316197, 934858397, 952738405, 710495981, 142834285, 117982053, 481677540, 547832275, 825945503, 668141299, 706029549, 224222114, 257695143, 524334402, 113608006, 796980702, 442459979, 570877652, 181659886, 362336148, 394704717, 814093109, 325419089, 56843666, 364541143, 337359957, 800465355, 464834499, 850377754, 904458276, 353851401, 654855099, 626893408, 679572906, 686554931, 574032441, 709377378, 586621132, 931202678, 773884563, 473620345, 331152542, 969629435, 153493028, 880470630, 382182996, 349020447, 956015421, 20552141, 451061202, 958394384, 630456333, 320661248, 228347525, 292221751, 398302355, 834516270, 54450561, 335730512, 483460728, 446819782, 604765196, 136017547, 553455642, 567292406, 999123911, 688979754, 733005751, 793352630, 299951466, 293920776, 586077458, 815283273, 797856619, 43250112, 584954684, 886759153, 733837227, 50185874, 95827733, 778743777, 811643545, 264145188, 292235442, 803783642, 200616800, 855011714, 3019609, 4004075, 930989957, 216660582, 160314182, 800338547, 708304707, 764221017, 723950948, 551456963, 407756905, 78088018, 823009342, 543996083, 245593440, 363885375, 882145540, 592616302, 85081566, 225075769, 48421259, 768993136, 349139033, 170246160, 494577792, 601274772, 577599655, 301163962, 926310662, 859891753, 16161595, 642719086, 594623039, 516048701, 838315185, 133019931, 528803513, 737705680, 24476943, 971630200, 669185046, 377551019, 413623365, 825858327, 807710461, 844088151, 301105588, 456069202, 140312576, 798762443, 437182235, 491232866, 630448081, 450089389, 206794551, 314469431, 594108986, 992176510, 801713650, 187193178, 153186755, 334363219, 539636933, 190838794, 262151051, 941959698, 453743854, 721164160, 91750601, 44944548, 263582400, 825694385, 714696349, 295558659, 132539863, 410697597, 34241317, 553673450, 134057364, 247298753, 709951730, 955767809, 867663410, 857951205, 143712017, 778291456, 732816206, 94195000, 860329570, 525430712, 17444629, 508718174, 953443287, 328426147, 684653206, 607005401, 814477489, 51583241, 387247466, 389257573, 357490020, 739649083, 934519945, 16273943, 109553231, 616285656, 811573391, 94358877, 591267698, 361538688, 255586186, 885692291, 610468304, 583712010, 363099744, 198640495, 60372812, 199691229, 885661390, 284111613, 622079693, 763711416, 848827519, 723792817, 908785713, 821181928, 953730993, 715322949, 115268517, 463461169, 142035971, 619908533, 801896248, 186198904, 988167495, 708971813, 746914532, 980356752, 674074525, 721027988, 829577239, 570802128, 831091192, 788544711, 92818665, 637212931, 492028314, 451239740, 62512372, 239039111, 654277890, 157898861, 164559104, 44179544, 806297789, 569757644, 54858539, 795632867, 295825918, 360508689, 30874787, 769271964, 749472627, 511651621, 57996539, 434361637, 671940974, 666511725, 931510669, 781388519, 925732143, 568926189, 369195613, 460547522, 107786451, 170107328, 394338414, 31509527, 769372076, 872279097, 610312289, 510301484, 93967614, 817730755, 213670748, 657010002, 369474845, 421744652, 972754848, 156015425, 42273968, 696251124, 579778831, 293969155, 962670231, 457265594, 818600617, 275530997, 623239385, 93022626, 8649740, 346082941, 561932488, 824986956, 168058677, 92049624, 222467346, 282342502, 90059428, 269580239, 545328824, 519862579, 513341238, 619139481, 377563693, 873985732, 370766433, 892998470, 122509369, 28258441, 861868238, 307048877, 176143813, 456036795, 26157691, 134884125, 752181962, 534608324, 1059229, 616598652, 655152723, 950947749, 294512821, 464266287, 99658510, 119210147, 154305742, 24596880, 343542080, 979237572, 590994864, 190444635, 183496564, 957346549, 510410767, 438851317, 72653567, 850509829, 817242179, 751743166, 227446821, 980796850, 523323120, 773295414, 478520774, 875815661, 873349293, 82299439, 790304664, 232161594, 718483569, 99762771, 665500714, 812816980, 915566180, 793281152, 542667880, 193770917, 232737917, 607178310, 214063116, 103292711, 68123837, 541786947, 576795383, 281929810, 680829747, 289194642, 168687470, 44269827, 384936553, 695122975, 429318629, 301711281, 214634848, 846609585, 644419791, 981484426, 775898760, 251535257, 603580273, 320368288, 664306940, 614083074, 975890458, 555673743, 141300317, 787710541, 843490287, 324118706, 747744059, 531930443, 363625869, 735759290, 588549877, 214438465, 769501850, 383697063, 781349222, 107426201, 672372397, 778240518, 684349419, 952868008, 292185516, 398005313, 84208868, 282475687, 68122909, 535367542, 225364105, 548026375, 873625033, 343629497, 652023705, 952151891, 673885373, 724488035, 57107885, 712319185, 799435946, 161477727, 30235941, 994074281, 689029671, 488937, 937986164, 962256674, 395172045, 143727268, 329480004, 469297292, 527418101, 13977452, 829557599, 445660187, 51798300, 495366699, 69706073, 700728304, 598021003, 457503176, 282881004, 304001327, 838717462, 460093135, 984923722, 917422314, 385464514, 306407394, 619836321, 853040662, 346987858, 976872980, 179994664, 86896529, 17838923, 46259029, 40817786, 920681849, 28768657, 405392325, 468907451, 98417343, 925654260, 438785379, 124110531, 484202204, 894300223, 125725419, 35812860, 454867497, 839240929, 973350705, 930117819, 570858629, 924228586, 506967669, 520079107, 286971495, 961383074, 476631863, 281119179, 905003009, 267946827, 987308716, 803892092, 109678120, 573897399, 385318417, 835235825, 238177008, 870166853, 940174102, 482654477, 956776932, 925107091, 962811860, 339319725, 154051380, 455907992, 705837250, 377108589, 36491630, 883677884, 484308447, 560781061, 93011883, 215415275, 934915885, 548797046, 828332569, 239943480, 24103957, 120323298, 570939224, 968388843, 942606474, 899113532, 134228265, 371367329, 434438086, 530096410, 956838712, 268537991, 376057520, 55311561, 359601233, 346150539, 768862278, 638324021, 746574977, 40004207, 883513741, 666281380, 858537098, 610527124, 420800562, 537565119, 675506654, 620239808, 487889202, 321165170, 586685582, 44248153, 597431435, 950380980, 357363743, 140229014, 830905299, 721392730, 206672904, 325803106, 757930890, 862054482, 518186344, 944123398, 789870211, 154069501, 415879761, 635148840, 688374726, 833091327, 834197592, 830753941, 130072908, 203575575, 599620492, 691825845, 607984819, 924711314, 828835206, 556612639, 605385304, 212785373, 224253063, 228020938, 430668223, 205048438, 450185021, 201802726, 771844902, 411877574, 678943595, 520201563, 695212117, 94665133, 49000171, 852181549, 484815180, 656654694, 582346248, 902336005, 372402519, 860749881, 518586326, 206802430, 207285483, 103764285, 446626175, 383543167, 615938141, 517465785, 129053669, 404356560, 675196947, 587745674, 332111048, 33821140, 244624338, 323006532, 490978036, 370727350, 397496481, 613622958, 360461067, 905013575, 823737372, 606845310, 600077417, 448379177, 915770386, 411727914, 894991352, 969276101, 528266165, 933081249, 654637049, 640429643, 189911859, 368230008, 710168071, 439563333, 14341782, 600885451, 786849870, 97025750, 183171459, 948846563, 2772732, 535055746, 522658570, 449801502, 375910545, 166008370, 442245840, 146933294, 493084537, 882371914, 455143018, 214837394, 382857144, 870339649, 345247974, 813621836, 915287233, 61066910, 680207420, 18929125, 672355101, 76186569, 85947584, 671398055, 38360839, 23664967, 184356670, 608901622, 685745141, 391667931, 88341793, 91563971, 973758586, 533960932, 275708992, 961270392, 553032890, 720881898, 427248264, 832876466, 950206398, 361620067, 167465706, 809885966, 155749310, 581205185, 864322241, 86445085, 30598087, 240586106, 919425088, 889005236, 639499531, 721893151, 986568197, 51226754, 44604826, 547336460, 746848515, 77738589, 22351105, 575904428, 460223568, 386127278, 506514335, 214102615, 996135144, 620449790, 644209095, 209047969, 750459277, 602370608, 424864849, 209792735, 972391658, 878251029, 142977334, 218864606, 578814820, 57455114, 15153463, 939681067, 353005197, 894603102, 164489498, 141248838, 818014508, 864572411, 913554465, 107418290, 989445008, 504966028, 720545483, 968948554, 742617429, 637733197, 653523551, 950413184, 838363358, 707414993, 784722859, 456623051, 913187117, 590216459, 752287516, 763322122, 775736780, 615692005, 300017860, 281383998, 170901229, 766631389, 392519554, 777132789, 672876685, 269385754, 904443644, 157503265, 976593761, 792530858, 335510281, 33169859, 527598201, 428407695, 927009868, 160289929, 508785924, 183034481, 50905054, 445872376, 376554263, 625045391, 551413147, 577605558, 499615347, 265639332, 413815088, 302818576, 407394329, 268836235, 487721798, 593650504, 136235392, 189530455, 122469396, 110851360, 640395931, 672108806, 423490002, 829373030, 96789575, 351619351, 113405232, 964528693, 770415906, 300915041, 579957044, 1375669, 323613117, 293358044, 628380058, 492110686, 602775845, 301599838, 416096465, 872383716, 727422545, 935940292, 974328064, 563080430, 457614617, 962980488, 129745533, 286062867, 286818140, 156882924, 51938807, 244175871, 444512954, 53387602, 77280743, 86218097, 386623097, 237819359, 788218222, 886209338, 205899545, 987762781, 88858940, 121607496, 240076903, 658075569, 966899817, 817336456, 161637069, 268793493, 838505343, 904417801, 744659656, 146489661, 720232383, 633493647, 44907056, 865419717, 606446582, 998278398, 490489772, 307607910, 847025585, 296147085, 994986468, 302252555, 350456584, 18791577, 611053305, 838795140, 54251439, 249267148, 766562144, 848299899, 673806351, 312790477, 689012009, 961679045, 719593343, 685991839, 18948575, 948962020, 247282325, 272601737, 885428914, 962316873, 290652823, 217472516, 226204473, 542946607, 578100889, 904561609, 420181571, 986675592, 360085484, 641907589, 448637781, 715187055, 187050015, 108161305, 17546462, 308307850, 760923980, 686045757, 484314795, 227090563, 665900184, 961313323, 773376533, 229972714, 27826397, 130650546, 819367156, 91822216, 944742745, 890174815, 786125799, 847615590, 275330923, 584084370, 704138253, 871368630, 129193198, 883345456, 374773285, 88715527, 728675192, 616769566, 740925093, 366385835, 707903193, 234810304, 432840235, 680174204, 825156380, 256029611, 154927580, 552288188, 948843217, 108510385, 408229734, 735961861, 750053202, 558835197, 218796548, 562111096, 316872013, 399359138, 938899557, 997091704, 142729197, 970265341, 920003536, 941684467, 766815890, 611198910, 808018068, 181850690, 284771365, 707521115, 262739215, 958085364, 411008968, 57845282, 525528463, 851780593, 641633038, 86942857, 166336047, 674601904, 92059253, 171674033, 903670434, 204245929, 100471172, 66601554, 295039106, 247866961, 870026161, 695265814, 424109047, 854478912, 852447909, 848412380, 94134719, 465561978, 508804978, 490722400, 705571864, 299630674, 81260845, 457536592, 656856910, 508272665, 568584847, 801885928, 112943957, 386528734, 128693423, 93478411, 662987132, 21589948, 116087151, 527383898, 543190823, 92985855, 413394485, 463932506, 287688989, 112837933, 384629921, 150638820, 665423245, 345509418, 691912049, 637258958, 606494603, 937435684, 540237434, 615337649, 783419949, 446569294, 873053505, 939630174, 356297857, 193303408, 400065315, 918608170, 189880256, 459331657, 323911880, 830093902, 668491705, 239050364, 767235698, 86332556, 875593161, 217871981, 1468644, 139142747, 542624090, 762582776, 632179467, 335286585, 790624488, 226209606, 473586079, 408606549, 69631551, 897347070, 806369299, 420214064, 897856103, 566487342, 215723830, 617192621, 430150248, 332886449, 937856395, 910246239, 548480236, 112950147, 382637631, 949545206, 75758905, 976565967, 778227630, 48341146, 905175717, 987065795, 132364139, 228086352, 543738497, 761496932, 56936575, 653354376, 748643499, 564745913, 617744971, 935311210, 462950617, 162984497, 321391523, 363692888, 835552362, 258193005, 451812909, 376287969, 37634777, 850916423, 496244806, 860715690, 623584292, 994456862, 84741408, 161348415, 732877685, 257991971, 145066480, 158213431, 201491592, 511711803, 958085464, 20519155, 998981888, 346320474, 891415126, 813734147, 987423237, 187870590, 172144716, 520069844, 47143368, 317182157, 69760529, 134225527, 304917053, 145443476, 920822166, 298234673, 31622451, 61302569, 4306695, 543383812, 349157209, 872180407, 374753951, 311539606, 698386530, 376204688, 698065996, 149280988, 133532692, 948242533, 149990669, 326163835, 388117493, 756566963, 995740009, 111604750, 679883222, 697411520, 63407325, 728458009, 490746987, 802053332, 762740527, 213166009, 651933336, 778567787, 949491858, 243705628, 555128863, 114578947, 644345898, 798908997, 64751745, 966807726, 570262786, 468766072, 887923741, 728841492, 506997017, 368192199, 905785875, 662147060, 628576046, 816658890, 865395740, 808687961, 526652281, 977005561, 962356615, 381068103, 183262691, 927324563, 251761233, 785519480, 497310894, 715539511, 25181295, 934358413, 368798993, 892041620, 347213631, 324745643, 546129822, 698158488, 758592887, 270300766, 952833107, 113207341, 282185053, 985871955, 703169109, 446727027, 890591744, 224702023, 942436310, 973055923, 866469247, 611169567, 329375551, 963658944, 862750876, 781123436, 658452399, 149741724, 294742292, 525038959, 789878868, 773587680, 471927623, 136419000, 932039630, 271517665, 391384720, 953695995, 2971923, 278067014, 740666490, 876001298, 732935788, 194486935, 654194989, 412865473, 899064896, 711582148, 930818114, 964123787, 624896300, 190300768, 983107696, 62986237, 614261929, 381455928, 358212645, 592982778, 235662817, 862092589, 295964451, 261448232, 190845616, 838749294, 947408021, 874694387, 93397539, 894610782, 433225328, 948223961, 691143884, 482774883, 389222396, 114829088, 835714275, 966189548, 753431546, 417286820, 201013921, 119021941, 200978135, 499614741, 649341128, 701931098, 134003353, 179393354, 926950877, 950477717, 599955978, 346833263, 232717224, 266926962, 604567272, 984528628, 428880118, 507314161, 596706264, 124699996, 400066326, 53688256, 519200900, 544509983, 358812664, 779670790, 959813905, 786606035, 836580971, 413551397, 60111888, 167395187, 614039479, 424696755, 924421044, 438114569, 851377952, 806518411, 383395341, 323294979, 487667219, 478361103, 411241235, 516852225, 281460003, 93737036, 618786397, 788917170, 193430761, 143307264, 2164161, 924136952, 251745353, 19484262, 158550860, 33125183, 862622684, 818149089, 647052843, 105434164, 570619020, 706611582, 320550179, 688722828, 93751123, 694449766, 648822524, 515671795, 732238899, 599386226, 437572132, 669808592, 54139535, 704263917, 296169291, 38389396, 905599922, 999616964, 594800105, 488717083, 108335519, 6052672, 341823466, 108360120, 856855052, 461053569, 283947763, 296541104, 270992387, 638736842, 153233432, 942790221, 922832597, 266687980, 251827701, 699327201, 31215913, 200394020, 946934023, 855427408, 771657325, 336640802, 567404412, 337980854, 162773319, 691653076, 574818129, 691191130, 968021214, 347121423, 54100831, 528549082, 373628693, 805095469, 825393697, 394686185, 103421073, 111609355, 709936439, 684446630, 252536657, 168882888, 912329829, 912810018, 428710922, 498036347, 469741602, 434961867, 965433315, 608082393, 91871542, 526048278, 721817456, 574161629, 29222749, 785484051, 484173672, 460619298, 813534650, 625135940, 94382912, 229977718, 914182681, 549547768, 283681077, 64013063, 306092811, 778390602, 657830062, 147998034, 761325977, 964308779, 229337009, 393355696, 533084239, 100826610, 926438337, 512529454, 599608546, 364326784, 534563369, 962389015, 930454344, 347822780, 490063433, 382765486, 747710422, 579031631, 1026900, 786637991, 993780694, 399554995, 982157125, 304687760, 427115511, 344286786, 257788274, 727272644, 711518028, 917176955, 819918776, 751621182, 279032556, 289332654, 143115846, 36032004, 31635283, 683306716, 857972459, 29016985, 759623493, 980755104, 169013292, 637849414, 945648540, 372287527, 493343065, 399146285, 601954298, 889544789, 326711398, 949152435, 249188001, 489384977, 733256332, 396773917, 865071067, 928723419, 528718186, 957191070, 416490083, 542559390, 764908524, 395948324, 626245824, 811288393, 220324403, 209733024, 916097120, 404654604, 956470602, 453800540, 97347758, 556884349, 513966334, 339085661, 927113985, 250591062, 154971470, 218240349, 554927955, 503910304, 542105397, 136590107, 418836585, 908248646, 641700691, 294919975, 133688357, 93082589, 943018309, 893369804, 146848171, 525338069, 773497720, 840247216, 533828010, 526627437, 245058637, 213317617, 545143590, 559183735, 471990716, 308127608, 92636295, 713429733, 581182723, 157088705, 96432760, 968047548, 564565633, 142993832, 282981549, 912273069, 685374672, 869709829, 525578369, 294853225, 86348245, 183269580, 760849895, 173936273, 827095796, 754160870, 383842361, 350776382, 752735332, 986183297, 664078706, 804542929, 766189198, 582125948, 117176759, 969470514, 906255961, 937731104, 688812976, 640273444, 275627282, 156222435, 348185940, 158071167, 435389933, 863587967, 922321281, 585026697, 104113032, 783742778, 66448271, 497999775, 120148392, 976827244, 251180956, 293656340, 681640483, 337405291, 727743135, 236130860, 657100059, 816650556, 250962857, 785370759, 793211215, 10377468, 678771035, 147062932, 456551260, 160228817, 118740827, 683183548, 977015839, 529861712, 223872689, 56514256, 601372845, 410644343, 644797618, 6577637, 25075827, 844920560, 79966127, 903616028, 450161228, 338860374, 517487921, 936632090, 687748066, 167214572, 152974839, 103549727, 509765242, 410559542, 784742434, 299866936, 187558918, 611645943, 263975735, 818861840, 404689346, 958436085, 936225417, 259414283, 631623051, 390795, 577692468, 867408694, 637433771, 208077576, 935584036, 598134914, 817744170, 226321774, 545175232, 691740160, 200883228, 909346705, 409211507, 351327157, 982381616, 160433135, 479700161, 182684230, 992462828, 335470241, 516234511, 908609811, 158075849, 67693521, 768735265, 840613562, 857055907, 292944315, 957587579, 536300840, 473640517, 954951797, 260708965, 76475769, 25680229, 228456847, 880225665, 918475821, 659289661, 620105649, 304035331, 201588128, 495496427, 302283866, 54202432, 177705069, 984692138, 695973048, 995818499, 845315635, 872557337, 744567924, 524692149, 8745613, 134969972, 378388997, 863710901, 521151598, 988257849, 423670587, 814549311, 469263519, 344840508, 337986467, 14523615, 811568578, 75435604, 150758113, 701538634, 554361422, 753297686, 99692668, 228931918, 688560368, 956749939, 697412562, 167648764, 448734794, 39268043, 892207478, 714339589, 306505304, 635900198, 549038036, 35966396, 166865291, 713960269, 665084642, 912081228, 867151204, 212152316, 889277402, 645861468, 920891005, 247847738, 360761925, 490868834, 731456719, 119668047, 519569718, 476093656, 255025274, 746433106, 745689757, 131780382, 906482295, 996146261, 379583782, 9630603, 672323309, 328758903, 49516719, 59263003, 592127029, 387125017, 967477664, 63044276, 699865144, 757706912, 190662918, 395845130, 300312706, 349695425, 879753065, 938653680, 425480319, 856549844, 554779742, 82392990, 655602674, 671584717, 488528331, 414380668, 400104467, 425195174, 859348418, 254991216, 504338641, 192585851, 627944029, 167015787, 15254539, 792971694, 210684149, 21174244, 959189921, 996024682, 532701131, 297351810, 919536851, 499575371, 654279103, 508476379, 579790587, 21848999, 777403496, 378611342, 704091597, 863847130, 8224163, 431526370, 664143022, 667726645, 140928690, 601484989, 644730841, 599982346, 932877120, 479722275, 578626390, 270062652, 741194311, 102600000, 909185557, 871197405, 328127370, 859597934, 279372807, 277867476, 638525813, 835026597, 874137069, 292794770, 36049911, 567907699, 921170185, 586283881, 224310809, 963257291, 821311814, 430234343, 603895278, 11081745, 564654874, 27080159, 952993360, 22051398, 709225744, 138087588, 923308841, 937096369, 393532388, 636518540, 808677315, 435150953, 639888100, 300376998, 100211649, 826560720, 454959120, 497954075, 109993716, 435597534, 969771716, 845502986, 866244522, 2634872, 114738144, 177414459, 861806801, 13415112, 882454196, 18692257, 57553221, 8315969, 274797517, 868764975, 599153870, 963507382, 360989670, 231803772, 96456332, 502979004, 954251592, 160187625, 172336058, 334628827, 757020097, 653300432, 336747904, 453474601, 736911361, 978768874, 757275656, 278709500, 558933693, 177877462, 759761995, 943829392, 717995891, 696564295, 925827788, 553630392, 444597254, 194550675, 605659313, 411438757, 460590257, 359381515, 19682935, 463129467, 277954910, 632764736, 867860259, 552458423, 665992293, 784669008, 802972812, 107521644, 18319647, 607191595, 500411747, 952535462, 776177381, 540093440, 857940198, 321348086, 797638074, 145713142, 822741627, 37938898, 791793016, 19105565, 819311280, 850022907, 599270996, 553169716, 382817368, 633926484, 294846273, 974905823, 456760638, 239959522, 396854410, 975465949, 881761233, 538689487, 411775531, 589068310, 448780429, 829880677, 367590333, 704001750, 688927952, 185866638, 603893708, 163608487, 166805639, 964382301, 515565753, 7655607, 987689194, 592935190, 124924080, 537404994, 90773390, 987078972, 858472483, 820150990, 512357521, 964771724, 288833985, 455647147, 730820226, 768146928, 862568509, 568744753, 611108222, 411137081, 925978548, 452566732, 613331781, 736956822, 129079488, 569607849, 101565669, 225576302, 546694817, 932907621, 392550155, 327116339, 518828156, 847201876, 195041710, 838645749, 365536743, 905283316, 984951388, 196439095, 736354007, 957405831, 600124753, 587156570, 924134940, 189124011, 572779141, 122069131, 813995646, 296858577, 340908611, 406852198, 490571801, 79362351, 710347614, 753342950, 218198461, 746064646, 426128817, 584476142, 434942486, 828133076, 41433296, 183229828, 616636205, 5967534, 928054797, 266376221, 665979039, 583132586, 261242234, 271848982, 303815452, 833064300, 192723211, 302001407, 63830597, 478578983, 932903535, 145575460, 989340602, 170730493, 136199162, 584991742, 158274228, 683668112, 105874693, 195442240, 145356488, 409303108, 510828247, 667427862, 505847482, 499908657, 580207965, 621629700, 847785165, 271079557, 872756084, 928739681, 168088519, 877365281, 505704448, 38065678, 982949512, 362374586, 540764079, 797645740, 488698020, 168506604, 798767172, 846687077, 435758503, 43280544, 55584838, 694236400, 151170723, 871735049, 139881150, 602150018, 34272530, 168117184, 932578064, 180045075, 290608042, 900142956, 407876480, 645915890, 60326789, 114838522, 978505635, 270334942, 79011431, 9730644, 528571699, 925100345, 887407671, 522306891, 263849651, 18378404, 465625980, 552433774, 657292936, 705882557, 25815150, 825037601, 243212270, 619478293, 218082537, 714713571, 971900842, 945288735, 497562744, 791242604, 389202736, 782367972, 113341146, 675338882, 750427250, 952823699, 348472385, 271746935, 130512263, 691164984, 622467191, 767964328, 74152728, 709891286, 885535786, 991835822, 666996956, 346081740, 989258976, 591409100, 756005956, 559099945, 292530557, 481169071, 902719613, 125516489, 817369818, 97944231, 729845547, 148089842, 301478124, 22962033, 881877867, 904763370, 687466006, 864277411, 910393519, 91302362, 888076477, 950878697, 911191017, 933012876, 434349652, 55519313, 997978495, 611588135, 180447054, 465401806, 387053645, 933872846, 507259190, 197583277, 121779759, 884727943, 829758956, 117433161, 140748139, 798878138, 670144348, 307671626, 415697818, 317420341, 649052386, 938243878, 213121889, 209337231, 353539336, 967525592, 468841451, 278244050, 13068318, 500935884, 643946564, 474867029, 812674198, 346496399, 232091338, 862612407, 479915052, 423004432, 917497919, 120592101, 871463048, 430549126, 158134076, 655770025, 342851558, 53319640, 203134572, 466733151, 191223760, 515790591, 531963248, 563352894, 656694519, 733166528, 335088573, 85771142, 256755205, 941490711, 302166919, 149533607, 558128332, 625429423, 45090964, 287578329, 57842509, 486326154, 845181759, 133217835, 728723594, 858254117, 929147481, 993239438, 457103441, 249629307, 630167810, 907143743, 42784710, 217464074, 493523498, 422968641, 892632797, 713699430, 639972991, 5374305, 367627471, 708355646, 336588004, 198830136, 666752000, 376051974, 329734522, 910254446, 334945197, 834548258, 296950463, 918368728, 429951626, 479757269, 507579865, 825611116, 526529309, 349594480, 120945197, 359372575, 496719624, 972716037, 332698746, 424715083, 950180297, 271042277, 489370478, 343088023, 775363593, 703997194, 857165056, 822184240, 875331752, 944930207, 434366261, 272998773, 500350723, 144166708, 781127779, 671987864, 259962984, 570461518, 559932601, 886990749, 439666032, 705068145, 795567638, 904529215, 562272327, 960722694, 653404715, 563449531, 684504427, 480830742, 870569902, 320346708, 516099628, 470928417, 835931848, 317726157, 430057332, 668503535, 93478910, 719737937, 264392892, 708221660, 396305660, 842058957, 753041434, 326300735, 238663158, 909535242, 949031778, 574539221, 373460658, 937323598, 805702782, 504988612, 928193816, 461862939, 672595650, 628876591, 954251359, 783174399, 196353655, 775952443, 963547521, 882849469, 125157995, 799313735, 194173439, 856250552, 171738069, 498840093, 422825377, 830499291, 157551451, 567432874, 320188322, 680656103, 927927449, 827079288, 273127976, 660696778, 293046791, 488443224, 553312025, 889580521, 652538413, 954273920, 506791544, 326021369, 45320845, 440069910, 484641864, 165982221, 807006880, 270074218, 894211537, 278862770, 742355098, 549439735, 651931171, 715214632, 177555705, 289180537, 231093929, 272205725, 853249809, 310704343, 117506851, 773832249, 686056393, 524679633, 248795609, 371201389, 77880016, 78213454, 594786802, 231309868, 376582181, 818485766, 186790999, 307451837, 936327040, 654177554, 995151879, 120412538, 532804296, 913024563, 763297418, 60235351, 953688957, 650701877, 441953791, 649885835, 503437932, 275143762, 273534636, 507890233, 770314174, 385111852, 210801696, 67026352, 406887354, 367378182, 480373586, 624073046, 60720426, 713311708, 297062749, 179599784, 807279906, 152910906, 212773392, 497724891, 171370959, 866181149, 713519182, 312157429, 875714367, 502480554, 343225786, 793122396, 326419076, 880338383, 658024997, 583677338, 831183975, 679049083, 452553230, 575076807, 677025595, 896979692, 49385534, 759557127, 989158725, 249142558, 384286868, 750752963, 152342065, 702515689, 765452184, 327427181, 617224245, 605038567, 841520407, 735580897, 108417671, 109567477, 493337723, 332870982, 314708780, 354954992, 253662797, 393954775, 885400292, 686692762, 17201, 575046941, 275807772, 769674190, 895627675, 842344991, 583450231, 657945960, 713987814, 162640472, 783651848, 49779274, 991605605, 717760275, 230304536, 226494982, 405020824, 557977744, 119842449, 155045370, 596160570, 123102400, 636964400, 3059044, 165644074, 612089083, 821699125, 245042968, 677275059, 670541103, 468864121, 417586872, 505512013, 381805532, 499475763, 49495314, 940558793, 843130244, 383442793, 335420401, 225284713, 482052948, 562246273, 491967752, 615725647, 857563430, 652285520, 533436184, 508446268, 853087873, 988981839, 221707250, 175033072, 731581917, 311506417, 643996974, 246883017, 449641926, 454830161, 127793661, 6637569, 839552615, 707171237, 101731664, 310322260, 597286202, 922392821, 446344519, 916740319, 270832724, 865837074, 664836929, 110739048, 698230778, 433483499, 965702908, 321139671, 791452266, 398150424, 675968459, 727952863, 376369175, 645347921, 617856296, 676724464, 406640628, 516412259, 410553661, 258894480, 460975647, 414751312, 476003336, 864352582, 679933347, 8241116, 318774308, 354089448, 721311654, 716145677, 114152265, 903390536, 776377804, 172296913, 991795938, 70366554, 868208292, 858003348, 502241266, 56368416, 34480688, 66212206, 775208194, 12541925, 670834796, 849376480, 880802016, 133678192, 931952383, 974167254, 523592705, 902684804, 366732742, 320027892, 362023321, 883387666, 104258062, 862551114, 187524565, 286709448, 999749164, 162108569, 406819264, 63873211, 792417526, 203353797, 512031828, 559768198, 764801788, 16131076, 739758432, 304886798, 808556309, 195984424, 9061931, 279912422, 698301478, 258094584, 326671826, 985090890, 213914978, 230862540, 253945808, 800642009, 52967571, 122736837, 769703796, 23104225, 956296043, 44590511, 36144919, 239180322, 516975041, 203967422, 393397462, 337958047, 188566555, 757796254, 896706472, 331815397, 695109183, 515695178, 347080106, 949428541, 656410527, 336532635, 347910995, 23231688, 91642984, 803835524, 450806529, 759850871, 853512119, 731494001, 506792066, 645277675, 227796274, 559784734, 781503962, 488943823, 125493093, 35924637, 245410694, 311906997, 568252224, 562599, 930314615, 165139994, 510543798, 203882316, 744788270, 613635056, 949336731, 707339031, 633020509, 24828052, 641260772, 488894775, 755191106, 163035941, 936994597, 373604846, 506350620, 992239505, 804865407, 706425297, 521738507, 95898815, 528449010, 773021979, 22148752, 457017766, 641733814, 592547239, 489477115, 257938150, 367720439, 258121497, 700391566, 977727487, 282246320, 701228985, 217618090, 348912610, 957569195, 279895074, 580602453, 232239176, 471189539, 659919388, 344539491, 369833448, 974880139, 98578591, 346261505, 195055545, 867906272, 674865607, 863281270, 329333222, 851953488, 835156828, 259934873, 374938759, 215689240, 817085460, 184398779, 756082174, 827906622, 808365822, 801565639, 506271221, 919772968, 987858310, 486281899, 152681253, 161221482, 44386442, 227929562, 665549261, 638121053, 739370361, 420452826, 739958648, 232171038, 795617782, 458766405, 345850799, 127074586, 497330294, 438537982, 47104405, 948427921, 139583078, 928854283, 611786566, 418715115, 466547274, 533514475, 275400921, 231576396, 449093691, 837852842, 766235798, 747705274, 46337911, 306208052, 212721677, 558616104, 249780376, 607251697, 633862379, 34910001, 446429162, 768861197, 74563544, 586096582, 635540818, 977887973, 481458733, 760287833, 449239673, 600523824, 535640940, 138532174, 690590973, 974224227, 81957831, 883328189, 561846657, 134891055, 340252309, 309423374, 378019576, 495632161, 740431419, 425451904, 652210552, 752941504, 690972698, 116224747, 898796892, 731393677, 714004600, 993719123, 422629888, 941930233, 400751384, 132810540, 639576425, 623498483, 900072202, 428777522, 199282308, 674251208, 914497995, 965438678, 907643949, 814562150, 812756244, 418526682, 701555498, 169979585, 57432657, 862172341, 109892546, 690100267, 30721051, 245160745, 994102528, 382720268, 322375104, 773379718, 10698494, 197767214, 203782106, 551879586, 25132998, 393025234, 46178273, 293653188, 233197463, 420692948, 662263623, 374161291, 609305652, 997946092, 326545781, 208355562, 492931261, 966888030, 996856982, 68129152, 428832666, 66721639, 224590314, 4811673, 158465984, 282279826, 129894077, 707782178, 304458045, 246044055, 476450827, 510143070, 172105190, 175404352, 312256779, 852132402, 723799391, 978746603, 667325971, 78596262, 647194485, 343618806, 844282424, 555973672, 595189781, 396883573, 621525701, 238603152, 771449344, 543756755, 101903874, 752289535, 730446638, 507277518, 461926822, 130066988, 909042192, 481352865, 720034441, 792086572, 299214586, 294723584, 431513573, 345415356, 339395886, 361226877, 644574826, 186809888, 436752249, 937329030, 774753153, 822824080, 837899582, 115797623, 998525718, 942709393, 335197550, 675771727, 363375244, 237839824, 655926017, 103577553, 748232182, 145073333, 895796501, 309451634, 655662448, 101105349, 402767398, 492118496, 146837111, 183350345, 209860791, 8000118, 342469887, 8944014, 845326680, 741960405, 514755722, 463639217, 506344751, 823611728, 154079385, 92814731, 780832833, 131556475, 753384798, 715884041, 630816802, 138642595, 287614253, 741427183, 14922257, 796784760, 3899489, 665592945, 511001501, 354279729, 153305483, 416792196, 769553771, 982462684, 77452834, 946361246, 210013310, 876802835, 780618688, 305298842, 201382743, 906672111, 825471158, 16185075, 192415820, 302335209, 464413593, 69574821, 601698236, 813074682, 776607233, 595070581, 968821181, 927903514, 830913134, 578980214, 759730900, 329725982, 253186163, 423888446, 806080597, 750976443, 901607080, 558696990, 174839459, 409596272, 408084582, 636014815, 846677651, 573274153, 867028476, 160006441, 419307653, 358163613, 137484199, 358322677, 153014790, 109073569, 684430757, 311650469, 774333356, 828564065, 56430678, 922995083, 603474455, 574526214, 746791572, 541924155, 410704967, 304235790, 197151371, 877145666, 578878546, 8602282, 620845950, 851513144, 192228941, 184712745, 407046965, 909088166, 228032528, 96243488, 467825428, 380062493, 647082537, 922369044, 569996912, 85812950, 221302760, 193936079, 950729732, 944004158, 802767409, 458250534, 713477547, 325654650, 813915392, 871121293, 431521207, 775359104, 746386017, 472761778, 421818566, 803828756, 88514754, 653236983, 108546982, 421753786, 845385691, 547120822, 706840114, 10687429, 276958655, 11264012, 708349243, 687203476, 980147537, 973004865, 917149372, 2090676, 680354039, 212729087, 874519322, 49156897, 30309273, 787414801, 782086948, 109471411, 602952084, 568513804, 761677871, 87050780, 940363089, 418865732, 675911749, 758918622, 981117132, 829411455, 141380649, 900632460, 19693117, 475212389, 456752981, 628551312, 488543559, 530926596, 125284893, 208380174, 239223793, 885096814, 148220629, 663293629, 101915860, 872519611, 174321948, 458505722, 85072777, 343653327, 430163162, 925895557, 227373482, 356723506, 917564707, 599661234, 814662121, 672163500, 487779032, 811726288, 326203495, 574266615, 946123312, 101634180, 750094104, 945946820, 645556987, 23317423, 225076238, 548738337, 346530881, 555018183, 345275049, 486958340, 1886940, 62321675, 583639737, 267716808, 43200466, 748690034, 822647682, 589447517, 413299177, 755781756, 612842393, 678805145, 27528921, 110011971, 778315360, 525977084, 24835840, 53292976, 742537325, 628156194, 533222741, 809946249, 833373645, 321242398, 925538976, 223802557, 773580404, 117073417, 387336553, 89158660, 690790086, 489681920, 446024000, 938642300, 994945040, 717054802, 501292749, 904672480, 7086494, 886395206, 770734846, 769894505, 102675464, 510441717, 618478163, 912908162, 276838012, 276343372, 599272626, 249706602, 934257970, 131371086, 249513363, 74038870, 642578512, 318207684, 705573205, 639244970, 21240805, 272659973, 472125570, 553862176, 795858341, 883679795, 303115366, 91059024, 790903837, 117735268, 221837752, 170694734, 180477441, 153062465, 195546240, 470933632, 459182266, 88796432, 896708673, 15290993, 970344650, 826237606, 18951104, 922805692, 657400991, 500288703, 985907194, 381585210, 730678685, 719817279, 941353293, 220377964, 281450399, 188026222, 703881176, 337114461, 860646483, 908964397, 761181783, 239230293, 673214909, 777148908, 684686000, 938635241, 764267923, 334550403, 188946788, 519152228, 810966725, 566755825, 590655435, 636988542, 452513644, 685799104, 739038982, 697573105, 277376374, 568589761, 161009196, 872907693, 657166870, 930082691, 928625959, 973549170, 457405927, 759848731, 185803584, 948838874, 404217422, 39196130, 763269653, 660785042, 36688420, 153270353, 436804981, 656122291, 7010312, 417057498, 288665016, 133887923, 838743640, 110366387, 528404018, 56884400, 721488838, 82148405, 564123887, 700181452, 227228947, 542033544, 222024682, 681586496, 671667757, 957888096, 318501789, 14208129, 552603330, 968431081, 966355989, 305167877, 435407155, 322675581, 272582884, 252830607, 647145728, 644543978, 672851136, 886442924, 202176998, 295834813, 965329889, 845986703, 835787651, 783124113, 164569382, 274506911, 57413722, 200931187, 55054854, 593917737, 719204361, 222371097, 866854068, 768976010, 686391347, 506982824, 228147658, 517244413, 210839794, 58881868, 126880637, 57626861, 200343646, 649930261, 16207891, 88269971, 574783396, 920002643, 689954344, 586874591, 450503535, 451026925, 447087549, 556658862, 566781422, 881899367, 389890945, 617214018, 871407906, 322306751, 100810450, 983070546, 829190835, 587157446, 914196602, 567492014, 729202172, 675831172, 851616088, 696513759, 590524522, 500980632, 925534803, 887940079, 236176535, 345569891, 723079548, 852600515, 450520231, 713976052, 171950645, 442592173, 198361199, 965575571, 985304860, 455931803, 566121529, 190296771, 998396889, 851132735, 414109464, 626237046, 892163834, 531675760, 314418432, 420956708, 59222757, 746621998, 256085970, 984827477, 206751569, 864877797, 751312687, 307737914, 159568910, 662411561, 455887255, 832188567, 867730120, 980606661, 418990957, 670355440, 65854425, 534221386, 715429724, 352615913, 55869657, 465843497, 107941207, 16184288, 625443940, 61058394, 63139389, 67943525, 59116412, 430680321, 60495853, 180774176, 609438904, 932898240, 412685971, 41567543, 371323238, 496769607, 213539557, 291436455, 902102657, 991695628, 695754687, 12397967, 68427284, 598933294, 675072612, 46218410, 828437772, 342302909, 178686833, 891029986, 605265044, 642675055, 945716380, 410574294, 520905517, 598196407, 360273453, 708729762, 710023065, 217975774, 481620671, 824928328, 31145448, 453174932, 277521107, 941420267, 732239858, 135339540, 445692648, 440935039, 707184491, 396920988, 297740157, 175771685, 91065297, 262869028, 559527253, 547352955, 228165247, 257374073, 32178533, 322749098, 820249286, 245176294, 863831517, 734784693, 416800853, 992357580, 58582178, 407684970, 915354065, 534085843, 656060952, 851941057, 56146668, 107681536, 13730432, 422441556, 35741949, 311165709, 59930640, 343144036, 31142378, 747223894, 947239385, 170160426, 19083894, 756632667, 258902289, 457661345, 661818304, 601632536, 520508094, 398464198, 617252655, 460631749, 806976475, 789875864, 425470336, 873675920, 196434265, 50592701, 525943894, 598607861, 896884963, 888793612, 483608555, 221425389, 61568264, 571280821, 346621499, 293987373, 698078106, 770755623, 90130055, 318337019, 931028288, 103766682, 6536624, 454995780, 435740500, 319042740, 367527863, 651700096, 109958839, 166877887, 45670916, 721987796, 172156793, 688696636, 445622655, 668868162, 907314089, 249495762, 467105196, 937539601, 269521523, 674981919, 350250491, 903240857, 415653283, 229693962, 635330421, 790559219, 801591391, 824492994, 442085530, 526378536, 208323118, 894866191, 662346800, 786845094, 873734602, 206927479, 852530379, 597295340, 232852185, 81582865, 857082176, 429366204, 990852489, 932472637, 682338540, 632646777, 88287860, 673000368, 379445660, 514277887, 264386153, 357229900, 290257293, 692298518, 657767340, 23057735, 510790154, 349445674, 168078513, 673617119, 565809075, 659879092, 652768778, 738679876, 870858925, 705535148, 250047982, 267211299, 890765635, 632220345, 873878575, 222459406, 791006587, 329600538, 32372552, 429236421, 187107531, 233210960, 213826156, 775822286, 744015786, 84990575, 240984102, 665220116, 55176332, 571917689, 546889265, 776526337, 830276899, 46536300, 874755773, 340790929, 187490687, 508757446, 267639931, 246352156, 95985307, 749860344, 643189044, 513421095, 586781821, 701299680, 446962288, 269842032, 577555672, 529254449, 777911628, 905553640, 367371660, 499950898, 934345973, 807491117, 780477743, 269439919, 889213707, 286699680, 237332658, 768742790, 725309835, 960055116, 697518710, 621553937, 718806215, 672563646, 547069556, 696983904, 242542463, 348922617, 861577514, 825888835, 43394562, 885427415, 592475089, 484954972, 568150365, 968661079, 490850715, 499136614, 953428280, 281355002, 813127660, 326821238, 781259574, 138710524, 280866218, 743890469, 861964235, 295757675, 393938214, 675324721, 435104315, 326856305, 857883470, 446802133, 479239988, 85401204, 425978624, 703632519, 511294561, 910822430, 128872171, 725227322, 631684545, 575258729, 868560122, 719274227, 488542874, 290721643, 759446909, 258476033, 457922371, 494292347, 602429760, 677483314, 627905205, 644919724, 353756321, 350411018, 769155717, 287491547, 520507020, 970992138, 46444114, 699661713, 564162433, 335359768, 29715087, 15426223, 844169956, 202709205, 373256598, 578041159, 116798938, 706697477, 359277227, 343954164, 691655967, 959352873, 998345243, 400166071, 170651924, 215694075, 641065365, 256548222, 247132444, 361460515, 230747267, 314750985, 384976480, 230639906, 583078755, 631619986, 143587518, 534401222, 981720424, 235954489, 678995394, 779959311, 634311868, 213019528, 940496773, 764775822, 739905225, 767904176, 554273888, 983228263, 81571560, 274382964, 210877751, 436085737, 253998694, 217243703, 10563450, 517088744, 213146642, 948081033, 502151036, 405742330, 985242550, 120848724, 260212062, 450751302, 944233596, 922852763, 68978, 771723266, 25879812, 448470315, 639727541, 439293069, 219136929, 224012300, 800626433, 450966699, 430345604, 611214082, 387037267, 570150858, 767938644, 56140990, 866748463, 73836304, 699269297, 586091928, 924216443, 232771100, 799856755, 544043925, 953025156, 663720186, 215992558, 213051216, 905759123, 598485008, 168172514, 216910755, 168579373, 853154713, 456491616, 126927296, 690069170, 462244077, 717797579, 986510231, 430848347, 633189265, 434669431, 521141235, 612475731, 467205870, 722724518, 499165986, 726308219, 227380446, 950274109, 854206778, 116978912, 629294953, 480454273, 250413277, 141960442, 719820513, 634400633, 68010470, 918055535, 706694723, 349245668, 942208947, 686994835, 592893049, 584272632, 786015215, 260344848, 62906116, 470354292, 263910332, 630706253, 405570134, 587506177, 42529604, 355527538, 69074916, 992572392, 498300073, 151518076, 62243594, 2876522, 466714484, 479763151, 565105412, 139511704, 363043371, 246095579, 779036810, 855273844, 881307301, 184824530, 148019214, 603825496, 541400123, 14929989, 569885617, 256123452, 840552350, 674180100, 294542464, 367918766, 197796447, 908711657, 359212714, 408500707, 478358841, 269463379, 96193319, 82404698, 724130009, 996247269, 752768639, 249024091, 661307678, 524021503, 23680988, 902489843, 560944272, 372122675, 317592344, 449207343, 313262756, 691350702, 239650905, 161854757, 709136365, 365036006, 161318233, 301365551, 867486397, 391247235, 457077755, 293203083, 772977594, 209592319, 976538942, 993369736, 364807558, 609092778, 308940218, 540099353, 496703971, 153799723, 181324852, 626720378, 555593313, 389237871, 482252997, 928529581, 127521911, 479160927, 626351627, 842746431, 777301967, 135248493, 407213002, 536266518, 52717259, 9403198, 226708190, 412552694, 786683907, 307841219, 674434572, 603051643, 237669524, 621542458, 645223463, 454878119, 446502834, 294235470, 394135967, 875839176, 612061998, 245771168, 393188356, 440594114, 375572864, 291000968, 984668323, 659507177, 885826115, 950868504, 257506924, 96169953, 454437940, 400754496, 944674720, 847604162, 616813074, 718746720, 766058251, 483127845, 528312810, 380899210, 313113940, 859918190, 416613150, 950315459, 887986544, 298906064, 775918610, 910237370, 178315912, 903705584, 669584090, 512273287, 281799180, 479346853, 448726595, 920967465, 430364942, 91799473, 302531784, 955209006, 967732716, 452205767, 823104132, 896817314, 669307762, 556235656, 966371861, 660431149, 252906313, 820079989, 446333391, 640607833, 80963543, 431746401, 754256438, 307372570, 608042659, 158340477, 246955413, 419122576, 754483127, 121548802, 254304567, 440752449, 971111521, 725908192, 874990740, 719378392, 228171644, 272813487, 958922868, 546741949, 67301104, 246519248, 521444693, 462411047, 97463503, 31280282, 961546468, 616406545, 398518407, 759188719, 922058170, 883036727, 889212178, 607996019, 733446374, 733277644, 301591079, 713321332, 612102590, 434031177, 603912304, 96659656, 778703792, 219953331, 907897634, 801473752, 45942705, 681335573, 74501278, 497494420, 134616055, 310150933, 120729085, 480569660, 944028705, 743582296, 921916219, 438526018, 755150529, 641163795, 737965812, 889635383, 143845465, 704142043, 984323044, 699278513, 65376824, 159560111, 303668142, 612279998, 371731476, 275382551, 732215306, 388017369, 517274782, 814892093, 723439448, 275507080, 353744290, 549311919, 339876794, 453155343, 793448119, 225720982, 243690291, 876362033, 499220295, 781535040, 314040898, 756442461, 442102141, 992396272, 151021549, 925428557, 593512017, 980825194, 532783132, 842712112, 133672621, 52909262, 457615600, 36053154, 79907745, 994190326, 757571885, 570797552, 534933446, 646068200, 715863822, 49624153, 532880491, 129328941, 858203660, 659131821, 226069663, 495290139, 665505460, 726026138, 68986141, 187747651, 581212236, 609787316, 775704594, 700982313, 870397797, 532432773, 25840517, 268919597, 25930288, 276818767, 268743808, 36119617, 466133500, 926260293, 878158682, 906942804, 719105225, 163744136, 854430369, 165324564, 685450254, 771637641, 25143250, 201698073, 929488394, 833464681, 903629994, 420603613, 845546046, 206874915, 438801248, 626527259, 366526787, 701683714, 208366810, 25129612, 151658050, 602356709, 71109136, 140366570, 528108293, 4542071, 519777271, 953157349, 381947489, 837831518, 618571300, 124597854, 892391291, 943268085, 93346197, 621383482, 850701654, 330698089, 608235694, 106526397, 771313475, 122194980, 985077343, 853683678, 478254191, 780280539, 788493657, 879705936, 783462703, 659627872, 41821544, 319816864, 343339695, 737395883, 461543396, 108646092, 61445948, 120499724, 572570390, 582566852, 322485978, 932730875, 193316535, 906300632, 517398823, 851048487, 621090843, 62998949, 369654500, 435791255, 691293589, 178758636, 430544019, 638204007, 761323072, 270928888, 217901251, 331138463, 898370367, 843477988, 749677171, 130171335, 248497255, 637074254, 336340418, 803178438, 824601236, 295223854, 763883666, 1022186, 283015214, 992349985, 728992566, 442191091, 749820748, 537313669, 859415088, 639880024, 62035035, 365702104, 569670763, 404835555, 341210859, 960189532, 947463640, 980138551, 439164642, 35588929, 849239678, 946466877, 183798171, 830112980, 45829287, 920965778, 220232063, 251925121, 113901551, 265707495, 953106702, 431086727, 394234144, 896656902, 998249698, 508105367, 870273378, 713133939, 185281169, 590908601, 639026805, 145222100, 629829361, 190230015, 858302892, 912230416, 751132585, 667966435, 854573674, 467349546, 30973368, 816459233, 158722325, 563147322, 539500063, 907794685, 344206365, 121069585, 70365470, 202669294, 105826128, 586390460, 671155621, 661262509, 625148892, 895075941, 7469084, 411390038, 316731937, 611847524, 535269264, 659700272, 6558225, 503281568, 600095831, 840448824, 574915883, 407477743, 870417408, 942682687, 805649455, 743057972, 612849394, 716082422, 704495530, 482611555, 384838741, 348299109, 69035676, 218774884, 212703178, 268878558, 618855186, 15094999, 408790352, 492039683, 864640850, 766128307, 689618508, 559078944, 49205269, 463645862, 870962989, 245042625, 658180835, 846928679, 884216098, 914881649, 527626003, 880453449, 391964742, 231931641, 666496975, 127479093, 147795250, 217541336, 960884677, 690536255, 801078886, 133021777, 165618456, 385412489, 546875670, 956541901, 833076622, 695777035, 67270318, 132911524, 228230665, 754864807, 887615192, 435807023, 20974798, 308750032, 994268452, 930919122, 684212274, 146948388, 259593266, 73861286, 891020060, 974165073, 795563823, 949406782, 277156196, 285314759, 799169004, 474565405, 6547908, 429284507, 640406105, 366112036, 657371585, 747410393, 64076286, 900601967, 633988093, 313087048, 706563800, 742314555, 918245058, 829779998, 818923190, 996624303, 488303581, 207214144, 147736831, 905325133, 835060655, 36516682, 249900564, 812752655, 242927875, 935915706, 250407468, 595138, 4789974, 720253527, 150880274, 635701622, 219037092, 638851395, 850277999, 849136866, 412740937, 777241276, 790117535, 55569114, 201417880, 561778522, 971652741, 357656887, 873528935, 769171425, 804941203, 893767894, 344076771, 200152646, 375556970, 158508496, 698585544, 176710212, 273960773, 568255494, 491595439, 1337554, 460995495, 496600472, 406422702, 28211691, 273692187, 345426361, 855253182, 185413883, 247981316, 560785738, 145578815, 332888644, 533017121, 81472836, 816299745, 468256696, 706275792, 472884891, 508614175, 863633188, 876054206, 426546751, 818078654, 713619208, 583344517, 534204665, 904961510, 385827810, 679940698, 709724269, 746976393, 586963893, 193136052, 457720457, 602631504, 607041443, 950245979, 404049122, 226867740, 298289156, 128101530, 136754151, 319964524, 720623581, 845245270, 588884353, 278101585, 981745286, 251752893, 347283486, 802604136, 483833528, 309189654, 957207690, 410198942, 105658145, 23804219, 318685346, 495081995, 113710953, 390555945, 537854357, 711943461, 275363450, 615802072, 819229199, 230522730, 663325970, 272435226, 91696312, 499573755, 411934502, 872745639, 342455139, 570597721, 546783627, 249239469, 918598318, 13522715, 584134382, 668282336, 640499467, 124038165, 560785728, 265401915, 505390448, 717912637, 201605423, 807755238, 143773484, 747796435, 217614789, 927210561, 224391393, 772416649, 158091382, 346022836, 809158917, 596419365, 487712834, 150747333, 975736482, 179840904, 997550927, 97968986, 970302420, 134672480, 694918731, 453618213, 156490219, 929557095, 890074670, 378423269, 947441093, 155358175, 18312861, 91633880, 902534423, 571965919, 333045099, 442275149, 594347410, 57630093, 278679616, 630562252, 917010172, 90000786, 559382576, 279474793, 976871397, 86048474, 36733813, 208772337, 179375325, 91320400, 612700143, 665256141, 199732050, 476862745, 189336604, 328336796, 736304212, 328756303, 870818985, 120011231, 166454000, 74267187, 793684471, 271170976, 89074433, 992495175, 39205044, 917159819, 543632633, 680220721, 891712511, 719243622, 123719038, 126285181, 803962568, 652923543, 614589214, 605974427, 54815548, 52355707, 581037179, 9880085, 319743535, 648345362, 661205220, 530430601, 670943128, 103858794, 889330404, 683747620, 693929155, 250025307, 190931016, 374886884, 402084938, 201107264, 526095243, 551119546, 598593497, 453313516, 784073827, 148397563, 594128397, 750130466, 923892148, 448281054, 61292765, 42921490, 405960767, 402924706, 704488138, 793820932, 154302348, 471854523, 583396286, 434478629, 727491615, 745895754, 732507224, 449881871, 613454, 55325495, 222957853, 411206950, 961652128, 812729787, 662328609, 13650905, 78303743, 107300782, 26460910, 344661631, 946106519, 591084402, 751096210, 199606306, 319229309, 994807745, 205119906, 393234290, 899447923, 747686716, 102218047, 442867551, 303396139, 972055788, 838396207, 877435811, 435709081, 114936230, 374713712, 588473753, 748287095, 170594104, 169822424, 50147691, 223117771, 904872705, 389808182, 807072378, 877428553, 930069879, 116110718, 73285909, 728990656, 621897730, 712337834, 492735041, 681758193, 838165643, 835815127, 359961505, 876804457, 436014411, 415092675, 550633638, 235743377, 783414479, 931738822, 831955192, 824724988, 553878859, 397036389, 510495989, 110025153, 822757518, 535382371, 21131196, 101098234, 691409326, 572609880, 470150605, 41271401, 582168142, 861043508, 607659729, 86422607, 1201859, 125965886, 353830328, 258836169, 812334661, 104060445, 838417661, 968130447, 450148598, 226779067, 929987312, 378547400, 206215223, 295582663, 892148216, 673108075, 447126431, 279743226, 334022824, 649906217, 438637678, 62612911, 355197067, 500214448, 594757736, 763203674, 643604803, 972120267, 377662408, 638980608, 462750788, 737413576, 95049014, 217862356, 138526236, 323352704, 508786873, 803833476, 257273439, 913030564, 654713669, 106339045, 610272644, 111579106, 99898912, 148809770, 121629616, 598371964, 749469646, 278735741, 312559173, 810419188, 178213907, 742257059, 473269541, 27824622, 314164690, 973304863, 583432901, 692013656, 170455898, 989160659, 901657046, 883332801, 64959627, 815977287, 241392158, 136192511, 304833360, 633435955, 377401912, 622816474, 22055819, 565542067, 406651211, 540242114, 439856199, 278662492, 105377625, 301914797, 994476253, 928689456, 967253704, 472179315, 121336513, 85318764, 695398913, 223745975, 457624823, 186895005, 185935083, 862989521, 655475205, 618453123, 740753692, 394708060, 454349355, 18845939, 801862540, 523317301, 52114895, 175126199, 698369246, 324390924, 99422621, 432149397, 976722160, 164967070, 845029902, 210352364, 820130655, 211785769, 507617693, 999419462, 205312971, 711299159, 397050826, 58879686, 716025643, 361716715, 694859143, 777306491, 432629593, 901118638, 700858045, 98025878, 56974805, 154711719, 42445373, 933538686, 825357038, 98243572, 675953696, 151215851, 404293717, 51739747, 613969458, 796055906, 287105515, 432725176, 701624566, 535216542, 125322512, 982772714, 311249108, 405748844, 741637890, 940760609, 41262457, 34024568, 198893926, 377245650, 394492424, 124442735, 670105171, 10745959, 8832222, 823700906, 469156108, 367369207, 251314501, 336796701, 452485610, 960519451, 530864330, 365400202, 593090172, 956599382, 551556286, 230230120, 970121779, 870865061, 885583200, 145392918, 456039160, 746786538, 338732629, 442405957, 744994872, 684307404, 851894652, 296504256, 62223922, 163895963, 154527466, 140856464, 773811488, 188293785, 905813302, 92449200, 363206208, 19234122, 287081459, 100978279, 885427466, 496475245, 884752680, 551325333, 126945591, 674589435, 632807723, 825218858, 554855192, 660891841, 675471196, 836397306, 736962814, 275738958, 599406530, 902323970, 446037001, 391635943, 915241092, 995561376, 501404862, 612037131, 953719717, 390199339, 829775219, 394665049, 206257348, 921915554, 313227970, 168703575, 337912947, 691161803, 491124965, 201160485, 820726848, 344708726, 726440976, 942631865, 480565768, 741736219, 55844740, 200541877, 679563492, 334341485, 83799920, 35201716, 541335588, 129819397, 525901718, 790114368, 544024230, 164869162, 768516047, 878884788, 676825388, 997710824, 809880131, 141842889, 49246181, 470773712, 62612780, 84025936, 534383953, 557618027, 30481257, 267459392, 906780206, 669444247, 25749087, 685105147, 42320017, 594024328, 701233288, 142807646, 836017343, 471573920, 108285140, 669249733, 87454165, 687371898, 597810370, 359048408, 375790792, 801966673, 494019137, 287979479, 661818702, 546951881, 816979851, 169721940, 438890790, 603460355, 267065873, 642177550, 62449818, 712687757, 20769589, 210678805, 697775512, 981189638, 7741444, 392241911, 713599853, 179501576, 497528393, 563125923, 614490109, 745542211, 524981826, 481228795, 226756004, 637884983, 790314233, 849636505, 336629629, 320795688, 899056182, 224102343, 767599167, 294483490, 139788697, 919786669, 892148852, 958948426, 566076078, 174482121, 998087933, 540230374, 809404640, 315275014, 577408347, 309947931, 171126455, 103601698, 395897923, 821666837, 611502388, 170180738, 797007211, 920305193, 479770653, 748237904, 338073453, 940311973, 565665550, 98990705, 823581936, 708116518, 702706629, 301041169, 29292520, 353326514, 548808733, 777001674, 44709274, 188250111, 673417120, 600876382, 15542070, 310594630, 130241546, 304191517, 152766030, 128195352, 598472120, 470160014, 79016915, 340296934, 373263479, 20842965, 277583938, 262468863, 873145437, 829232864, 489315487, 943621840, 482332761, 883951397, 873865460, 279265970, 530110179, 434839418, 773823567, 378611734, 997516422, 74504727, 68456720, 348315529, 796697570, 92815581, 819196851, 648049049, 971801447, 750131117, 507578151, 70103382, 753901135, 834958374, 938975337, 745854061, 809365881, 556865730, 291676509, 34591770, 386223058, 277062953, 441179448, 598429589, 910435285, 80110808, 926487109, 804872663, 597643212, 301035995, 654095781, 736016420, 669414347, 466816720, 21608146, 206409103, 928377765}; std::vector trainers = { 488270081, 468606876, 132682750, 769662988, 72486794, 983199484, 289134037, 164276181, 67667897, 961739318, 720503717, 482158103, 410249112, 619696540, 937488564, 522115890, 92757748, 312718100, 530881186, 314587428, 541925347, 687389786, 471671414, 365361513, 667917733, 601907304, 994963448, 641874581, 406207751, 631606258, 704469492, 482030605, 723247769, 212721997, 275220367, 186404069, 441370949, 825498953, 670502998, 285465522, 797595393, 608686598, 578109331, 883257715, 740367587, 80420091, 944429942, 243917629, 702962983, 774949532, 640576649, 73896899, 514108439, 878067256, 55794271, 991698030, 876834699, 949575648, 186637400, 128242229, 602776303, 371799936, 62821661, 732849644, 220216215, 482344150, 287458024, 528746100, 389938121, 711367740, 768663801, 341397892, 833178505, 829901643, 930537029, 831669513, 572457512, 536161844, 838198900, 510987690, 292505996, 326688805, 979803860, 614331108, 441946222, 615558699, 783647866, 879526587, 225765705, 415082076, 142161718, 521750817, 589590252, 319969018, 756597373, 199964192, 592790567, 704624090, 758823235, 747302438, 507025328, 388924527, 86537682, 176342391, 668991969, 327768655, 277509444, 688008264, 351061639, 569128052, 456828690, 474175866, 880003306, 414582499, 857383821, 642917404, 830738789, 422180809, 190339246, 241451297, 83028737, 542097803, 993339153, 605496874, 266155847, 20359996, 665146189, 119077822, 702458129, 172574040, 343494260, 389245235, 625481227, 62661152, 655969200, 767893881, 467982431, 567153622, 135639854, 697131863, 409242240, 816512707, 136893834, 579944950, 149290634, 596734324, 249088302, 536248453, 246834839, 472263957, 970598287, 400406739, 90134524, 359463202, 266366081, 637749019, 245459143, 17674229, 663950688, 849659352, 14293128, 941159355, 294095655, 492870709, 564855300, 896918922, 929221468, 659821427, 224497840, 920185862, 993129438, 877898833, 41677750, 89539708, 210425076, 125149828, 576192431, 720481734, 172712371, 955211322, 697600113, 918088651, 893738470, 77964440, 596918359, 364756893, 227439306, 379161222, 693933046, 949709243, 573188885, 263635731, 767275974, 908085096, 151509705, 19873720, 524036901, 575380882, 685513362, 663464600, 132559224, 404018966, 784810568, 605455857, 724966273, 188119029, 595764707, 479912566, 560768475, 93924511, 624562243, 835918802, 693224502, 710145928, 536069182, 721787911, 131768130, 610059634, 372618987, 990452735, 70824826, 422046691, 273751887, 353185860, 758467603, 869900236, 408500314, 37703433, 237714698, 332229539, 892076271, 730577825, 207502812, 207213084, 951573522, 60234063, 91689768, 632245323, 401074014, 132495815, 310333383, 928672966, 506773187, 250539413, 892264092, 381374652, 945113409, 441634634, 528607764, 34161917, 291149026, 469935181, 833001770, 99806612, 226528141, 974192156, 107398023, 635700065, 878384387, 643109807, 217153728, 620806299, 714474382, 137352835, 105930426, 448617362, 687644167, 837509160, 292063102, 998644331, 78835375, 216516340, 582472876, 20958409, 101713624, 551348798, 455472468, 83818784, 546145124, 980073096, 485873457, 701218693, 848033720, 392800701, 119124241, 169259341, 397893912, 440361047, 972021287, 149587858, 824964430, 391054743, 176899324, 306073180, 386484757, 152936978, 469360076, 105620686, 390798509, 536754117, 143293907, 437649814, 316685430, 562709012, 146703204, 433783233, 643706305, 269689505, 466950966, 796232122, 155645595, 174227703, 39963848, 183570100, 812472505, 74452868, 616838336, 176001014, 323314220, 611525805, 66027325, 56381252, 436473679, 561036020, 754392786, 451393896, 957797166, 647176803, 478147051, 79873739, 900662143, 303910194, 493258657, 307215023, 598722393, 641133011, 49163245, 678521373, 406123129, 832412860, 727681461, 220258958, 414529027, 981871447, 224929995, 624582790, 554913866, 844125412, 72152600, 895642538, 624732478, 292451763, 138916010, 850220420, 872504548, 81310519, 855920298, 300377802, 164668137, 775398886, 605122104, 853977488, 870708735, 418545606, 976354030, 898456606, 7963824, 402659747, 998253133, 565329231, 196105096, 837041582, 341107400, 738854752, 355462521, 865443128, 934140940, 13943484, 284906001, 602657478, 903049863, 425338858, 229202295, 226195129, 187594655, 468677441, 343314412, 595475380, 525420009, 147864759, 295991119, 804086577, 89275602, 744197749, 749026920, 564562373, 415942990, 284613851, 267006960, 304116306, 925033298, 659395891, 753346368, 305230878, 694346347, 441966102, 768492245, 917478346, 790877715, 560229150, 899623749, 860480035, 269849839, 301366277, 484769385, 71673680, 883555216, 304335166, 600577947, 871656465, 628657068, 915753506, 282031928, 61526317, 955360904, 132887096, 177725785, 975448771, 293411057, 437224050, 520064517, 906101012, 607338950, 193487331, 186505188, 696995758, 631815350, 475583740, 544764547, 460294265, 414471135, 397558868, 529129553, 808487074, 966652657, 32482394, 772913423, 762789824, 353224914, 441125028, 496099753, 570158581, 526057772, 379181093, 195834246, 654726896, 969566579, 135983927, 887765792, 714480728, 20562907, 400033629, 671190610, 878145131, 578533486, 417832945, 212986022, 716602676, 222949158, 610998377, 154448923, 819017628, 13331036, 126801313, 829081695, 483871811, 297347246, 876064067, 910744779, 568458544, 163088393, 253770534, 783520555, 343892976, 121680944, 931884744, 220135834, 796646839, 822713000, 678686348, 911672934, 564159041, 522321043, 894119829, 108859807, 457864868, 24810246, 296061791, 844034719, 711721810, 583549524, 297053736, 54557118, 194712666, 66097090, 577465995, 298779475, 536705641, 335485998, 863788232, 699466930, 16583422, 999752720, 239030761, 955638705, 206231717, 345440496, 239414078, 261130519, 859436915, 2494189, 26313313, 231140609, 735205839, 206188196, 311284075, 297529672, 202775550, 495827222, 397993092, 757697709, 963609052, 776493892, 666154921, 125788194, 182432023, 784399125, 927619621, 808548369, 941255919, 627663112, 184777903, 830040377, 921161408, 787494622, 360279182, 376836149, 588878884, 900464221, 378694622, 653457319, 263878810, 290142030, 483155007, 635722280, 973969503, 81967343, 200992614, 669275125, 690765755, 246121863, 765715407, 957823743, 381350724, 98678115, 821636417, 206288744, 898856135, 518277840, 673740481, 231300981, 236288996, 852520571, 866984171, 247115047, 971218925, 686204792, 151734568, 880081957, 927706658, 92712514, 972880522, 386973174, 24569097, 694747669, 919719652, 99101458, 467750796, 404801289, 990198209, 586716113, 455412182, 375423170, 275955283, 662044424, 381094181, 516490741, 443343988, 963220324, 845493269, 973678526, 583697932, 515927670, 995943954, 523783758, 177144448, 788637190, 396450405, 457260895, 964682243, 383587598, 26253312, 185800728, 932373988, 34212601, 568099532, 105121221, 694515284, 201125743, 575776640, 399259619, 683102870, 331016054, 433584330, 908782158, 850180797, 391740785, 799826536, 289890789, 237921141, 818154972, 123913713, 763413681, 842233914, 429263668, 574187169, 615098517, 889919932, 722242846, 558550425, 334157947, 459275783, 207230024, 782558228, 323894231, 390795580, 94768539, 87913719, 858232147, 27461462, 282347464, 385772772, 770893680, 155359623, 87445624, 569543395, 300124894, 730869256, 11629128, 284303282, 725903457, 517484182, 706309259, 105640887, 433982759, 584424685, 777646084, 165515392, 678843663, 106103968, 271126505, 731883196, 59368549, 15549476, 37794263, 725239117, 270118960, 466110491, 680270478, 147649684, 649297420, 449939361, 137839572, 467463644, 393300590, 301307215, 644678104, 200239331, 318583780, 502747762, 513686905, 854517373, 739649683, 900070362, 396359253, 11718001, 43252301, 330434237, 457108827, 566678032, 709937714, 207405256, 600458703, 918627098, 422276035, 160369129, 461242948, 558351832, 685912388, 245180382, 270763941, 63983582, 788216782, 13422594, 611159609, 695992363, 141498224, 77814110, 807720846, 18062406, 579242510, 161807711, 866537737, 353571257, 19533055, 995682018, 165421962, 442830763, 607316849, 433575830, 186158525, 284074276, 664539145, 912247168, 877262248, 191793838, 482895733, 939737607, 240686238, 830217757, 875340923, 841966803, 129657921, 60673326, 328738049, 413529980, 432831052, 897467515, 905621493, 140559047, 765425411, 662292886, 578913344, 805303361, 741571032, 764302945, 211603498, 285192526, 765349834, 635493613, 782120243, 792823818, 552207030, 624818756, 952650090, 912467710, 109152318, 79157168, 118071657, 379615184, 723703980, 816922455, 342800136, 531072830, 812484466, 343730825, 463474380, 220561813, 274410940, 451847970, 398585312, 303573493, 754668559, 805159213, 232768957, 864948295, 61821109, 132079195, 452013266, 640544811, 394142355, 447567193, 443346165, 812183258, 732869990, 701627972, 552308873, 414744318, 12702468, 475511360, 622334042, 58456676, 109769784, 846776282, 603305921, 910891671, 562139303, 36017839, 420178168, 707232546, 325498376, 758525864, 782895512, 668051089, 659785975, 944668652, 670956175, 854900862, 170996309, 671470017, 542243820, 666410085, 502724300, 814717023, 240528739, 835225492, 95259681, 906278308, 230814842, 812307772, 225664211, 706570078, 143200984, 870127414, 523842501, 64994705, 928312625, 276081903, 928330528, 237261092, 806043585, 395269818, 736622832, 921453426, 366295694, 893254907, 961221298, 476009824, 904573352, 373513300, 601435832, 750729212, 166039354, 736929998, 895936577, 974127165, 42771300, 906384052, 138581453, 449541747, 732479563, 764166064, 670759044, 166250393, 728142889, 880034972, 44425490, 168414319, 636997894, 428606788, 987544233, 844798059, 230631833, 683481114, 43717310, 5362995, 603601352, 851646067, 102487386, 404965240, 453222253, 572729135, 41228329, 188370171, 596081098, 567161075, 695963505, 835524124, 82504958, 69270689, 158171403, 267804708, 441434571, 605285184, 611943942, 968652990, 806431637, 133921126, 604772314, 531173856, 926736300, 391570933, 820800524, 36542763, 801194640, 914718841, 292463548, 440788766, 66420401, 526041917, 782966788, 983210672, 404169637, 934409358, 196575252, 661098695, 981062577, 568599389, 105618130, 863250858, 408164343, 21314510, 48569047, 40186007, 740581214, 627030476, 3568100, 651280951, 41696366, 635626531, 903576937, 317778418, 905961958, 77627249, 411738249, 819088040, 610348326, 667165825, 375834703, 619064160, 712530277, 913187038, 316938728, 910582680, 913073083, 991185844, 722984976, 220250463, 702085632, 858384540, 519344688, 259899337, 934573862, 285861468, 82886973, 370721674, 933473749, 117165520, 959803092, 686009617, 580573022, 280973422, 255396237, 550822808, 324676277, 204005036, 101699756, 405260675, 224317879, 872245703, 283560498, 116395845, 935940421, 682853477, 180247412, 426272499, 302865188, 759725100, 368929539, 171213326, 318625304, 267565865, 484428877, 231453300, 989484966, 775703948, 304670805, 572704513, 263482616, 443773387, 160258386, 682855775, 377977341, 266296573, 675330141, 799374386, 964916719, 918092120, 527874291, 397442342, 119551316, 742490697, 154601411, 399599286, 652122684, 839354686, 887140385, 925622132, 989866870, 916435012, 855378374, 765968797, 257513665, 791023425, 303057058, 222090969, 563133373, 79947514, 331490961, 315778321, 638979031, 997381022, 272957241, 126516231, 14113574, 446969009, 765175968, 763927, 676283555, 798844445, 842178326, 48852454, 383999299, 426865873, 740448779, 22032131, 666354261, 901497333, 151364772, 136681260, 659928127, 906350955, 637530830, 936412813, 735095891, 772228849, 299378582, 419900515, 949086075, 647874469, 117567840, 899059752, 654656373, 980814597, 473666970, 914545128, 762284679, 746273355, 628991050, 379370142, 496735556, 394419364, 376039595, 247455400, 284798978, 485495943, 634885862, 960265205, 255796940, 607343122, 389901872, 249590189, 959213631, 470134719, 583609582, 190588829, 718090204, 250398623, 925286774, 693039716, 216721995, 66654601, 267886489, 686364374, 475494422, 618399600, 84974898, 844955255, 547015581, 594620865, 338309021, 458181827, 750221725, 997813442, 9303720, 252896632, 738250253, 441104259, 386746250, 370649734, 206387431, 745022803, 849783946, 645967182, 484759131, 270766347, 498702295, 137512581, 408170676, 795025490, 435956417, 477653418, 247365721, 872748585, 233778120, 184505253, 105082090, 671584887, 693396487, 840039106, 619606345, 682503689, 440321346, 154652658, 888288221, 364356114, 78268641, 56392859, 306752117, 7605392, 995498292, 589566486, 144050126, 30835961, 863628804, 626433442, 529517527, 152240264, 523396588, 967071235, 960151296, 791207711, 724794513, 15627580, 857039702, 274402675, 359562920, 485156759, 866649919, 408694199, 39186213, 943554760, 507961539, 966071236, 350645386, 763494250, 543792120, 940827596, 93509559, 412092786, 423742965, 982634009, 809529044, 375700385, 367307504, 59296758, 574329548, 922577585, 172542370, 307875586, 734352182, 166457238, 88670301, 375712157, 874489486, 884174504, 372579500, 693930560, 273365423, 699451948, 36381680, 671736323, 930872722, 286356104, 843352375, 796239578, 871334647, 332991112, 53675952, 326685337, 667500190, 472787788, 964579604, 966719242, 658782511, 820704620, 869880991, 816891229, 821902869, 322731016, 526678730, 5708981, 480451671, 964677973, 949259541, 123289366, 45655411, 316746683, 647542476, 328573125, 971682468, 283540727, 341154396, 584783026, 740460571, 816667308, 963464097, 814437177, 955190400, 957391111, 729939549, 241232107, 903954758, 758648929, 29034520, 193213749, 207172420, 263782964, 836546517, 953839778, 840150664, 513981340, 664400706, 379199294, 812805197, 596298761, 129910375, 944510195, 16766552, 329841709, 435835904, 705772459, 355011681, 993626279, 103847721, 534358552, 981577858, 642011378, 847964956, 51336803, 55536597, 749577889, 829175084, 566727339, 544075270, 172472809, 887007513, 625650825, 97155367, 982203761, 763096706, 141812375, 945200779, 736283773, 49741309, 563725326, 271361236, 675731525, 394541370, 322023942, 890381215, 984901215, 26496716, 623501149, 514669990, 93661472, 656034925, 639874423, 964200464, 489704424, 387675575, 172967650, 811542710, 795174257, 122502207, 210837368, 35271191, 463428401, 512160865, 563949950, 44200759, 83584018, 162072374, 554503282, 515981021, 31534807, 277055586, 469347705, 148817156, 231546419, 891475300, 767982796, 468225194, 562826776, 44447640, 696018590, 936242005, 176113092, 577233906, 630285243, 449120731, 544049024, 706600449, 371882023, 359737750, 265259520, 575890650, 646625724, 992531654, 63986906, 935545740, 371849841, 80714856, 987200051, 837115073, 723495836, 409431950, 991300754, 856220658, 836731878, 252422953, 993012893, 3872696, 10421101, 428550003, 467076479, 641945079, 868570705, 293600157, 276283835, 732118836, 619057633, 593412170, 905437230, 641447431, 629992799, 451738986, 150617997, 672144807, 580975705, 527799053, 191100121, 714987349, 319928222, 517267299, 831590330, 967746430, 912579645, 161822873, 849666358, 215867770, 406693691, 911626706, 50506167, 606893530, 812725953, 468533220, 660301920, 921188325, 870603271, 965471016, 107498127, 705301031, 952305648, 346434448, 469992836, 760140598, 87889728, 36751721, 314910576, 607379302, 861129638, 932713685, 881289462, 600559802, 313983322, 806632400, 570733348, 781251997, 825903821, 331740282, 872831159, 559050915, 210245102, 843953758, 971980528, 722014219, 984440060, 71456443, 771953009, 473963680, 107084926, 785318241, 431284076, 442488556, 282955826, 219946568, 815871547, 316305692, 418175071, 613028947, 914873377, 149175422, 10827559, 915837850, 97129813, 5289592, 107975654, 535027866, 35868208, 417246459, 272979741, 699774043, 697549328, 948539576, 533854409, 640052156, 986285399, 424062070, 68796023, 321833064, 593414986, 817841820, 87828242, 612964309, 621576955, 460839177, 849349234, 810613524, 389800033, 807773542, 135754297, 22011243, 706150148, 162758587, 465180220, 795153926, 965331108, 619066008, 270717592, 568754191, 547094289, 445581641, 77985999, 530382822, 906503053, 247512936, 449006133, 764140046, 268314488, 369411288, 132962842, 613382230, 328245543, 767294624, 99193765, 678218741, 577731610, 78424060, 522547061, 508429318, 317801592, 74755913, 365411019, 306574234, 566865952, 778389798, 502732796, 549787916, 432328756, 798915088, 691542444, 474913176, 95841399, 359505337, 121878395, 826243165, 467565217, 776482984, 956938533, 429134545, 663464190, 674380710, 14265630, 821234899, 720826586, 632787121, 420902229, 103023346, 829523203, 888342439, 797763809, 312934114, 12782966, 313930208, 126436729, 455917427, 485214918, 325750006, 647868812, 362860988, 549583082, 786491625, 181193490, 962690232, 84133720, 48545580, 275438609, 896076643, 464453621, 395765978, 430700042, 124918508, 759624278, 408771900, 932041817, 623456959, 690573299, 408244873, 269539317, 383520806, 217956762, 715013142, 454209457, 564643630, 78281406, 996452090, 768705027, 109016658, 982481180, 339906712, 705701997, 210442558, 229464321, 411421684, 627277274, 586228649, 542464076, 416975260, 895750356, 734032577, 648602319, 614037628, 251017877, 925816995, 541510506, 493819958, 71179633, 640341815, 341900562, 147375098, 248870430, 48175784, 308864822, 999880355, 853968690, 112345742, 948517544, 372602408, 741316233, 316545446, 209510821, 614688925, 274186211, 316183553, 971596342, 352977369, 208874260, 408694506, 314991165, 542703916, 160739945, 422710013, 806916935, 919837672, 465116355, 655095713, 98234584, 586898203, 308589550, 858193163, 647898734, 754662233, 58223191, 822633473, 48881811, 968388971, 233551619, 53330513, 775644292, 738149795, 373932469, 191186359, 740562899, 732945083, 528049543, 972862174, 930579334, 336065226, 825619249, 176579696, 225123649, 927550884, 778512247, 168325536, 324530292, 496735371, 620694013, 4762383, 169507094, 220127817, 797004766, 373259078, 42454587, 955393307, 158482087, 65694355, 590129765, 626140825, 146846670, 865983867, 440537892, 675501911, 766869751, 750483476, 496958989, 543571639, 597192367, 241391499, 796957175, 187985388, 621038494, 418456960, 618682, 43489158, 981895389, 51369095, 372407311, 999629540, 978895304, 393404539, 133084883, 559145201, 697449761, 325151879, 951164355, 249608814, 598806432, 426398502, 922864867, 898219717, 214426143, 519532770, 544895419, 778665326, 456608199, 521844013, 737810372, 909281120, 816483014, 787124971, 903724120, 943451598, 947793770, 47208723, 67384148, 148789865, 873073381, 351947427, 355568585, 683345331, 550531571, 396258937, 561769705, 696981339, 736642923, 505504780, 961802702, 223466151, 355143252, 775355004, 685904705, 534543907, 958226821, 940390309, 624405368, 475646932, 732653653, 792233906, 215861184, 12923021, 332090945, 360667965, 833325118, 208281079, 129972788, 173038626, 868157214, 196369299, 433577432, 115649672, 530136434, 541927940, 968686933, 661651169, 802952534, 244280661, 973441924, 568775793, 115150438, 244683286, 944248182, 697059769, 768140998, 823099768, 951351500, 646744117, 997043386, 607219120, 715001488, 467651709, 194416104, 71848277, 217943009, 336909203, 479954633, 127803131, 912064402, 145200916, 488733694, 157257302, 28498617, 959301207, 243709062, 806909488, 17983452, 592076225, 372859568, 422294368, 320445137, 768644054, 716767933, 802000835, 943513314, 327415276, 764210619, 10048204, 610687185, 806881369, 123755114, 663323555, 211094210, 461855466, 431807147, 35042221, 905474608, 590110235, 831945529, 128809255, 335722463, 431196700, 924305154, 497635396, 972903738, 164274463, 879695815, 173584597, 633132400, 994116259, 980559488, 752092502, 952863276, 286488082, 931237843, 836001988, 896328047, 949261862, 915199370, 555531197, 734464035, 942948038, 390191321, 778616776, 432333800, 629670605, 292066907, 751575988, 306663917, 453037554, 429693228, 325486194, 707857549, 200835259, 997754663, 391940476, 533934958, 235402230, 445012517, 25477580, 556294435, 226574408, 688097400, 724244748, 867413315, 423004389, 590376932, 176734081, 206448960, 31161918, 890614754, 594930721, 492366577, 269631551, 423197252, 876575939, 467110410, 609692560, 972616628, 266882054, 166727059, 673998731, 871887060, 822643892, 965185536, 317346073, 806514369, 292255054, 705924342, 78028656, 910565793, 128596528, 962556720, 695176741, 513840178, 728694123, 392994143, 747509501, 123119862, 67499670, 968299850, 292463638, 243041385, 650695785, 929373391, 831458974, 200565443, 58718436, 138542178, 542764755, 316445150, 914430473, 552912574, 451304480, 469610394, 281955647, 214922345, 960267258, 95396294, 280516472, 898909084, 565692485, 955716776, 825589399, 325244464, 907387736, 830664417, 744920795, 638951446, 92672519, 420012638, 283307254, 141023630, 987459408, 735629467, 203210075, 783278801, 802835884, 116649322, 924889274, 735080117, 551614079, 573432737, 776500357, 714909774, 268136053, 482300807, 934351229, 755032257, 230587207, 699937183, 145310188, 354388169, 496159234, 402731530, 675393764, 39688202, 79864722, 859911917, 297446857, 91111607, 866444128, 266691004, 185928082, 109170299, 188569411, 247944797, 135237252, 647813922, 343432336, 303533956, 515795158, 308914183, 22007570, 32623621, 122024204, 286377902, 964947843, 945459087, 193564523, 880019601, 178189494, 397645375, 173735915, 850507688, 962382154, 90589590, 303263454, 555263178, 826217932, 75775674, 188394526, 929843321, 352839076, 494914324, 719236574, 349509447, 81067923, 483962621, 267548174, 974039390, 906650809, 252826925, 320644649, 332774673, 409549397, 486355035, 605482507, 812079093, 910012073, 337214106, 858681127, 760886302, 75151210, 809797906, 94623209, 549431080, 323953441, 841242947, 754069018, 213223564, 30723171, 411856848, 357241326, 253553786, 348165756, 347891724, 661662786, 420358072, 707517928, 365331291, 301723884, 58881621, 860007525, 617790274, 420572464, 787860758, 888580592, 121598101, 385715662, 172711494, 179183506, 545672985, 347835456, 759753894, 855722921, 725727521, 741065654, 937848317, 926472752, 101031871, 101693381, 579442107, 555597553, 573926000, 817268030, 948143952, 723089214, 91033676, 40573463, 328079695, 687425203, 677179679, 782790646, 5332743, 902572978, 696218008, 780692910, 328210547, 367996402, 730896988, 717174601, 246307572, 449410012, 442678678, 423425361, 500627984, 177567858, 383392624, 874745725, 354230145, 292913610, 848658096, 751550410, 781388067, 129248662, 972249336, 811691491, 172276488, 928032121, 642179064, 293920796, 525996015, 4944990, 890832942, 354823517, 497585441, 217982040, 39761250, 774689519, 21831289, 91222233, 54349623, 173828924, 608009429, 852392170, 830890027, 731590255, 687631659, 757192906, 524055306, 713995222, 34328100, 376382118, 304226477, 353945195, 776375582, 526418048, 238959347, 470214353, 443635238, 849378199, 834345722, 438110385, 229762009, 673568044, 989933278, 316721941, 73454738, 337171568, 184933745, 648081115, 502000158, 677314078, 155103217, 956564582, 665521279, 113527697, 554608491, 894614111, 248812794, 882416224, 613773244, 444629205, 932223470, 445370833, 803675883, 71096480, 907219125, 732184787, 356002002, 225347158, 222530617, 866555341, 463794080, 377291830, 515124885, 154052999, 225668964, 203275647, 408998426, 215668240, 259508765, 539989107, 626027090, 769930490, 799757278, 352773502, 789198014, 710666490, 197446098, 893575072, 753134630, 229785884, 887837461, 893009652, 293195184, 158608538, 669347895, 945003343, 109624725, 617057295, 536170244, 732165848, 505032792, 50582234, 791146648, 915416971, 101927339, 725348608, 298916788, 390478399, 691410768, 791645829, 444272232, 956107590, 475764998, 219747711, 166298543, 994756111, 816444217, 227534842, 619093040, 687619168, 490267926, 418479454, 632872350, 282436525, 238749889, 308275207, 910057596, 184007184, 810948989, 398242691, 175693578, 186800146, 739607677, 321509009, 292043112, 272843764, 985271179, 622174701, 249087905, 771078449, 150844499, 296222938, 805802712, 562861678, 629796916, 343261524, 107999547, 44870790, 964175596, 34870927, 235408527, 19003187, 453883873, 30587014, 248768501, 489974534, 199837740, 76041003, 762083480, 764460510, 239620150, 765810604, 397168952, 860063425, 190619491, 542603672, 334442785, 674695548, 164932416, 672638380, 561729635, 702295227, 430462816, 359178543, 576469792, 574274308, 21160992, 681072783, 454484487, 695194165, 497565388, 425918103, 933155391, 210127706, 317659288, 822846344, 430007538, 898260429, 971619919, 189979903, 330938187, 697860850, 517425696, 662688735, 247652354, 122607901, 812364012, 894229919, 505379374, 411932108, 7906027, 795926861, 792131638, 650567179, 72610332, 30570413, 881666459, 157072140, 291467980, 942541619, 384754068, 89444896, 832181741, 219794795, 316190218, 336658447, 568930816, 82067594, 566546682, 522170220, 40962157, 59182376, 10489692, 273698820, 175493339, 805336460, 42350055, 533517188, 401960553, 824635711, 917134105, 275377315, 297933723, 213528094, 577578067, 451431843, 306408187, 503046035, 274705720, 434961607, 494569782, 205962211, 865542287, 506673524, 928674871, 702611270, 63930640, 108108798, 961681773, 937543059, 973356886, 365970534, 30688608, 848923745, 67536572, 613086025, 958439809, 421250994, 945695978, 220569109, 991676916, 814967362, 82307, 650875186, 804673642, 981280814, 628727001, 906123446, 385630306, 964480344, 899621629, 255287280, 410123617, 569235936, 479083831, 670857512, 627761285, 429319447, 538858214, 731463145, 66440991, 172373656, 875945016, 616607454, 669604126, 21585695, 363938656, 344420943, 712641846, 549273259, 666853690, 45174049, 662324639, 980562980, 38688743, 534265018, 615554617, 705126894, 693236664, 56937628, 380967973, 269779667, 131773744, 570377801, 515716181, 448553915, 833733639, 186589988, 248654512, 941257195, 265053193, 740874036, 65329339, 570614387, 974769071, 219705430, 821858328, 611934908, 389785272, 29154477, 681359549, 709639083, 221641583, 578843092, 773244513, 402283043, 644220378, 571107413, 701697643, 626029102, 630575206, 124144115, 90402010, 920533354, 805537988, 493401811, 203264486, 388190687, 376234207, 378943810, 263409837, 408379551, 159095144, 289876966, 120023151, 661295776, 107335658, 882747055, 710572545, 172727744, 861805861, 119190850, 741753320, 843678453, 15625003, 827304697, 887908063, 35354447, 140939261, 554399419, 844624545, 664097390, 593584653, 514013790, 830203324, 155120786, 863306690, 812914282, 235336413, 460564316, 64308027, 574571997, 394427679, 345269698, 776505243, 153645254, 159053887, 847655184, 780868829, 665085773, 557747457, 446301115, 101887355, 172601743, 17635515, 515272883, 245152311, 840223587, 312764407, 262827070, 789103108, 213999380, 663849646, 430913738, 931848239, 21490836, 186059702, 892065868, 618558665, 50019754, 232028381, 324495880, 443072218, 73879392, 218552923, 406888644, 629506206, 401950855, 577502389, 721341197, 590879876, 112575769, 481168192, 344285942, 458728173, 104037811, 907140915, 723049624, 64340595, 911015575, 312242295, 195269714, 526314, 691942434, 22467027, 591304176, 203140561, 440582130, 539037255, 296306884, 424405743, 603537475, 552699597, 740927823, 360060384, 810031153, 419532993, 133799009, 323961728, 917513662, 633626490, 388282382, 966389446, 967604949, 200814077, 308321526, 706074624, 172427909, 357855345, 443878534, 357093249, 989198959, 114460848, 547323064, 627024175, 975694221, 102218443, 634202969, 668431602, 807715383, 798334777, 475004395, 925392466, 244160263, 47964205, 521222501, 139640611, 528836971, 615145245, 363515045, 921747448, 765688098, 519627141, 745026311, 297680836, 421340764, 636206658, 502197230, 6878929, 828458107, 758916931, 844014515, 153997206, 780384422, 85730898, 965050062, 638901405, 213040439, 357687734, 631934452, 722379673, 394518137, 857542915, 193304450, 603905055, 300341523, 61522764, 698289518, 648198564, 1292548, 26204243, 269172537, 479550343, 234929363, 952061615, 334099057, 126477792, 268495760, 597106986, 47503617, 728945053, 542262330, 384158968, 42912992, 400593044, 280942748, 983371989, 407502897, 578223530, 788612162, 910190567, 71938973, 196994367, 925219462, 641479696, 528988487, 553705568, 242081573, 176745188, 774668835, 75513842, 355779854, 486753572, 443916251, 932526832, 914433721, 347767532, 534048959, 422744918, 552541340, 988413212, 581272177, 206278608, 182659778, 582954852, 674314117, 97441140, 996779986, 429056371, 219482736, 922336696, 186985515, 330284217, 822769691, 43652972, 779108089, 568595221, 641739027, 53009762, 7506403, 425157658, 820981955, 592139315, 680813570, 147105730, 202636965, 549091578, 487174263, 727338627, 376902477, 587085956, 863184262, 34316425, 571290735, 892788734, 972726331, 545485752, 226606556, 435169038, 494176080, 992401815, 242138486, 150161268, 319889415, 924514630, 149563648, 910613400, 33795015, 223475270, 624185583, 513533863, 893220848, 202220508, 822106135, 694821505, 638376348, 362279331, 303553757, 503791126, 814297179, 966070102, 981514476, 188523301, 941586480, 413262789, 812239135, 346129507, 101669432, 95230542, 853918156, 845405146, 665479171, 206875833, 272292069, 656878419, 371301512, 889301989, 240438280, 267980359, 387843351, 581978212, 486474864, 524202379, 291685876, 442599431, 114290475, 494934721, 489862495, 54684544, 497591727, 183975827, 368937392, 906149683, 312929812, 146930388, 605349173, 730275097, 570316424, 456794545, 723108805, 647677919, 213722682, 350270600, 13985363, 795782032, 297024436, 707106996, 296268982, 517460147, 251052952, 637582989, 480543263, 598955851, 901512441, 206861809, 401828810, 504531557, 779342001, 894779963, 229198510, 410472132, 763786213, 459250496, 310519578, 382043725, 139742194, 410238596, 592253630, 778686562, 879017856, 574682063, 766200970, 762059723, 820436255, 128744785, 895896584, 419710554, 301514736, 888687380, 979491197, 570134977, 709432223, 567262269, 44297516, 265643371, 802434393, 47912504, 775527372, 876576871, 814746822, 508739545, 748086146, 915124132, 519101189, 870565930, 894450315, 681234242, 714831808, 468392855, 170975629, 317894443, 106480246, 143032481, 972814590, 650003615, 672268317, 109367957, 827883780, 271585420, 343852970, 855384671, 210645180, 819312898, 801619541, 216511387, 500845651, 969332908, 878259637, 681666921, 155641402, 342714414, 472121204, 172470868, 201389047, 694675825, 273152635, 288660155, 983571911, 686155591, 362721505, 499651305, 207447466, 277404364, 151844750, 926641937, 513634548, 886850739, 321162819, 632539831, 302058353, 912708475, 859214851, 314627987, 446845694, 555191406, 511488789, 289228390, 705935484, 421554189, 304973860, 393604903, 465857975, 111801346, 359493737, 564086180, 497059182, 975684678, 941436535, 233948212, 632531730, 589971280, 208132953, 573486663, 969595562, 516912846, 24880321, 415422917, 212412545, 296004618, 811146516, 703439888, 667187856, 926500273, 539692150, 842373421, 11998132, 663615816, 12195246, 699505507, 593140445, 917055209, 101645269, 691000686, 688641557, 986822302, 309217058, 632299277, 322933835, 521421422, 654027344, 607682507, 14739649, 559838493, 433031192, 139962340, 90913243, 994233702, 706020581, 869549781, 653998201, 846747393, 809678467, 470118555, 57574050, 397380986, 452864701, 141254618, 526366753, 481112132, 678159336, 515373955, 776432992, 612692822, 151873984, 109933247, 319592310, 226576893, 620283808, 360142515, 387415483, 588723275, 182564613, 396321241, 380827748, 491794089, 721766119, 831162812, 626059784, 533695434, 574058313, 941113785, 916758515, 310566555, 295701346, 733715290, 219651851, 613498526, 979204909, 16580103, 979872627, 636868375, 890568911, 660597524, 934799463, 482104597, 292802293, 43851972, 297808873, 833608312, 808013419, 761797840, 199545322, 413955302, 228610466, 397719420, 234666649, 128510884, 331479684, 590045855, 261507058, 912503294, 105328170, 12895569, 217583868, 934800489, 705421298, 132555298, 345965012, 205092394, 33848033, 583888269, 875461715, 147535595, 725780697, 831993185, 467286845, 714267469, 730522382, 549632893, 411551830, 831836068, 886132316, 741489008, 131931400, 234727921, 740346900, 157306601, 36450075, 20920803, 144314077, 610091186, 217426603, 819716938, 816968956, 368580035, 623476967, 580770563, 809023647, 149237759, 874584008, 113494825, 370940256, 128891659, 139842013, 455188322, 198776663, 869704221, 320707011, 870541470, 207037848, 636309748, 991075702, 410393706, 660552272, 299129640, 471588488, 209622161, 78831625, 386641605, 868459628, 589448993, 610005688, 678971071, 966979445, 244424757, 281802868, 824998369, 496271290, 688534486, 201362643, 526661400, 22316932, 70703147, 131828575, 871181964, 176198638, 250686272, 254197516, 289860408, 330196945, 869898930, 705074382, 293284308, 611595082, 885781024, 328357321, 715585789, 339692735, 333686717, 778697594, 849966103, 777829974, 132849225, 430682886, 81344009, 135305660, 25769942, 32004530, 203228126, 443272174, 476177710, 705544627, 9479199, 955694448, 525760810, 212844643, 194640769, 440236594, 346962275, 775056797, 5677944, 478441240, 467380733, 42256018, 547641343, 619969764, 487870816, 52622897, 221930256, 434384167, 171724985, 764436218, 287630767, 239610498, 613830869, 314436984, 928950247, 350587796, 264839643, 968823914, 250545391, 500908400, 267029529, 505854801, 743273212, 919151605, 685917524, 650604388, 979988408, 525786608, 555408520, 472951360, 106331697, 218471467, 213298880, 970579097, 103855495, 10438276, 733386766, 673452992, 776741061, 287168844, 425662194, 816957888, 972407604, 872351904, 468979597, 974586879, 517108989, 947276274, 323169076, 903753274, 414543742, 970707961, 580574643, 823384329, 536536029, 358925663, 574072838, 241167338, 356281001, 827316568, 336698448, 798422786, 916840350, 554642611, 353942154, 876790299, 862986072, 380622375, 633119134, 249184823, 731807645, 431116437, 672332222, 497215237, 677536801, 872364194, 629554155, 392835515, 582395249, 242496671, 886742026, 408330190, 349196256, 151638968, 200676579, 440231849, 366036993, 933764183, 954681597, 412516489, 749667399, 26454111, 514512418, 317802926, 208943282, 973940523, 301836429, 360517618, 569925376, 41331483, 99241060, 588239577, 342178019, 291429863, 268327836, 591039838, 592059656, 972807458, 155721749, 960346817, 770650328, 506741349, 813970959, 94411872, 557448761, 677062406, 511953519, 114277022, 2121433, 687626916, 610325014, 425026551, 43825378, 169595928, 467854237, 448283295, 21326652, 419152674, 981819778, 138938892, 117733595, 381674216, 937340673, 202152444, 417447179, 533715813, 469233064, 732119165, 154246699, 282111713, 380839152, 309539071, 609040636, 489452101, 110421188, 647444741, 68412286, 869633633, 810870291, 199710739, 553281728, 721422100, 607631566, 624966528, 24274279, 46360884, 231449279, 477335355, 642621220, 689378692, 331074023, 419081496, 160013149, 142742691, 875663436, 828815003, 245465663, 293220404, 717734267, 730711070, 209418813, 341987534, 216257109, 816781141, 155527828, 258299977, 173444628, 59965321, 790320030, 381805389, 213290077, 422877787, 856393678, 969455811, 20277365, 63572849, 19645355, 403085141, 266519116, 597192492, 607187070, 582590949, 852107311, 526960853, 361407390, 681349542, 24665672, 11582537, 997619633, 75350446, 911592362, 30470673, 58113924, 938737168, 312754484, 605934761, 415530722, 581204335, 610754499, 928790863, 346515759, 362229565, 702531820, 902270941, 38060688, 617721261, 439022478, 790281619, 674733685, 351440246, 120249935, 12894221, 513792663, 395269295, 212833343, 460727752, 756088756, 509567462, 147747655, 404714157, 237350807, 242354913, 290692679, 352544174, 338675720, 593040887, 836923496, 806557820, 527106451, 564419539, 817737839, 862859066, 31100090, 780087235, 486700910, 822966167, 13196191, 747868963, 935028934, 954757623, 968006214, 718918727, 756182027, 914903839, 811420689, 88539218, 596190006, 964633358, 770607142, 229459388, 543336852, 441608744, 110283075, 596316950, 808477747, 14340345, 362432608, 890291935, 337075455, 259227924, 362068237, 736245823, 342324266, 399706830, 741778226, 84862394, 399928727, 688785206, 953184068, 654367830, 69368013, 868713136, 176722635, 832392223, 480185819, 573714570, 624737893, 689498558, 898375165, 940183339, 423273365, 872984884, 599213199, 58478434, 899492868, 901366265, 670842964, 224854699, 860555856, 105125805, 895629437, 312122952, 852938060, 261675700, 954647087, 716049608, 840529839, 694292575, 251411157, 244114074, 428321825, 222811492, 514186466, 579938798, 492883934, 514890684, 132014987, 981564688, 665972741, 254530016, 244313623, 756543635, 385641449, 189560353, 862177578, 430603495, 185254980, 220533567, 285029512, 189229688, 258001943, 990084808, 425672944, 435411387, 980799534, 189291083, 758495281, 586001102, 292357295, 139280506, 310255414, 531001920, 37934008, 367137436, 734266541, 481663601, 623707701, 923700012, 238435151, 440078440, 201150098, 249360196, 769226056, 641019731, 628530660, 64036068, 560918100, 383974702, 905183860, 89039530, 957532007, 404021191, 473625560, 540365227, 945430761, 429093261, 407018980, 862595050, 224253836, 360058480, 839787427, 73414461, 710912934, 780984745, 944041596, 998450256, 526567507, 401891938, 344492813, 351809421, 367406086, 629557903, 723240125, 923872202, 716406814, 858696876, 435685010, 703839651, 844670091, 367670832, 432719820, 825320017, 946477110, 60436461, 524877143, 93098455, 777763696, 84673101, 33034298, 543613311, 351705659, 298887686, 298332695, 371110029, 489723473, 631741744, 398300471, 752992579, 795893292, 450412016, 895995277, 307222322, 686169075, 296503977, 135494964, 56840249, 926305205, 955524220, 529694337, 460510390, 943787722, 937150927, 378790921, 817200499, 573653389, 21609319, 171055023, 736556068, 224169208, 649306566, 872722702, 577199391, 249700708, 284615096, 441191520, 917854142, 196561282, 517506096, 653561679, 912210286, 64816136, 199896579, 323754568, 956152928, 172246223, 73837470, 943986182, 641117333, 950449128, 337225750, 650440821, 489260655, 290657858, 300750261, 532244037, 712206527, 892333241, 385034817, 478869403, 694094659, 37993231, 962026695, 920052579, 892701865, 946378355, 747284107, 394880237, 222955458, 447840784, 652147423, 619104124, 498248457, 583548003, 113752551, 959032700, 379119745, 329014209, 565847036, 693572936, 621337378, 162449249, 283526609, 104172496, 26071783, 290044665, 236012739, 743559680, 944700403, 736505172, 507167988, 369054441, 391221243, 857366545, 338797151, 286148997, 591587765, 347897347, 79293611, 840358227, 222895502, 499227280, 976750667, 730745582, 987731461, 915895763, 350951441, 552713828, 942701335, 257046746, 811264003, 491264167, 212809754, 213302886, 908547058, 294948601, 876786845, 334086756, 240625959, 261672280, 983075387, 285407853, 981349910, 65209599, 210708778, 464275766, 853683058, 865124287, 297221516, 602903100, 97238035, 326966329, 814206894, 38461745, 166610536, 716367130, 663500645, 325945475, 647901753, 716290009, 298492099, 896757557, 310497071, 302137184, 80658303, 722526426, 734281139, 269398722, 774320844, 95485616, 201779355, 92447181, 849194063, 821302924, 496790618, 591344530, 631706587, 430060062, 32287357, 124154909, 368263858, 672015595, 926387809, 82793732, 937672462, 881694067, 694315207, 386050481, 384944026, 55746309, 704016937, 913196742, 315673219, 198669750, 993827825, 785588223, 560441741, 793143683, 763772239, 467135162, 586796625, 664852594, 159324875, 297969574, 671629969, 241163790, 578905690, 918749616, 994901191, 754351718, 567219522, 752953562, 581765770, 526013722, 741837877, 344367528, 999704511, 249930218, 78550834, 416520082, 230076175, 621303640, 832364278, 194213162, 300020435, 956863476, 955367831, 897541077, 21313800, 610150586, 461302325, 848319300, 297250414, 283179446, 782911331, 487195996, 293301887, 302431700, 176374408, 642024387, 464962561, 413498362, 686719956, 312536320, 937611003, 246297671, 247712888, 9248449, 836899921, 74086685, 572871879, 686355979, 395073376, 481989731, 57145506, 659117855, 616151473, 510300009, 726294505, 211935185, 314448612, 940246194, 857544469, 36182989, 281041873, 525522808, 753632265, 212755594, 864765259, 673305509, 52472852, 367683099, 269747273, 620583343, 431301714, 587975502, 698416233, 320259475, 455548511, 648709197, 261652300, 221510786, 16585868, 630960793, 843279469, 911433134, 651582346, 115278324, 909354031, 713911803, 310537253, 144220369, 144187358, 67726048, 579594543, 305740411, 174310453, 577892488, 540414574, 421566876, 909417974, 136174222, 8525299, 465473897, 423671847, 194657230, 441317940, 146613698, 412568076, 897197038, 866192123, 978037872, 306811563, 282952336, 446812393, 256975082, 263835135, 443401883, 792816759, 184667169, 279762572, 698853265, 637480510, 550494223, 314830991, 387841071, 253874520, 537293856, 749195176, 525866355, 786125779, 555929235, 610520553, 24092391, 847593267, 267703600, 550250310, 704412906, 106733671, 875304828, 862885626, 888353916, 69290728, 624221634, 782876044, 575121556, 171971565, 459857863, 355217197, 428261187, 72251411, 117425425, 652747504, 67640655, 225089413, 449898338, 823960319, 18447029, 416770477, 555252766, 272415224, 514937124, 376237890, 671979403, 792522202, 8079302, 1574725, 558539492, 480068461, 730311011, 760676103, 243593726, 586449818, 451111549, 397913242, 91490358, 768346214, 418094592, 884248557, 910306334, 64919988, 574519185, 956806999, 978340736, 462339586, 628931166, 811475090, 322216278, 425919993, 362787856, 850502523, 177375535, 330169406, 275235167, 791804136, 84947406, 687784983, 637335561, 426156317, 940901478, 629249802, 90474748, 648054923, 502369860, 448820700, 492034682, 921526580, 462006674, 818062254, 958878010, 856324229, 149754510, 881821960, 373323253, 64599140, 157373895, 121300747, 29739249, 703566945, 131921959, 685601861, 951527887, 58731371, 773712492, 379006813, 609363106, 898459443, 68352296, 249665760, 174603959, 732622763, 561920310, 705311092, 427335476, 776058023, 577674221, 921623908, 348259769, 471832474, 662987741, 639054412, 306217213, 173017710, 189982130, 131070479, 782436215, 391500258, 203564203, 923260850, 740871971, 62494680, 791555428, 151421021, 678564840, 860052200, 17660233, 608758468, 322919881, 474117932, 139653922, 805983032, 180902325, 375056471, 895445668, 427609253, 430705801, 922654039, 616647934, 260880128, 193560147, 287761165, 313057310, 918098171, 185172626, 166301085, 120008427, 344302763, 344045238, 267898644, 354455695, 113938283, 267042776, 920703685, 135291476, 692480392, 459394852, 383915502, 203660739, 135898168, 412627675, 412633196, 457692918, 235903097, 403707292, 160090742, 658299959, 326115926, 830533812, 698003903, 959978881, 726273674, 651035462, 568069553, 543860161, 722320185, 914510598, 890845075, 953203452, 409547832, 220249117, 423209981, 852686367, 536225682, 997299878, 929311717, 962310101, 456917101, 121205097, 874947883, 22810941, 154713943, 223364164, 129674704, 769820605, 383741343, 645393078, 595547656, 612949018, 702296679, 488326788, 435609035, 38554224, 189143513, 679004056, 947269808, 305567048, 466704544, 119693031, 973089283, 237812267, 850707921, 565325846, 668394003, 509446142, 103725459, 484812962, 187318168, 275226353, 379846613, 554976743, 399300230, 445894270, 40254057, 682171807, 404002229, 866077110, 508630025, 414775243, 512025523, 718357229, 621374794, 903131403, 877474363, 372164040, 228491254, 654565839, 894691341, 859218202, 956995155, 819980055, 883776845, 113072613, 624698094, 475174117, 961591834, 872843213, 871067579, 333712296, 174664067, 492269498, 903115015, 774204873, 421472419, 118371731, 232255204, 776389633, 446841354, 669272350, 807912201, 597099114, 851873247, 993820784, 553319247, 100985041, 530793228, 510530285, 249062400, 193728898, 902139938, 255890453, 16868059, 420327645, 995729128, 378128886, 837357370, 585909101, 80541872, 226253989, 235320277, 5895713, 122105427, 50130264, 897451958, 699724832, 431317702, 376123728, 37160612, 399638337, 783557282, 674353707, 302263648, 853200347, 287470896, 498653680, 85102098, 363295025, 924638705, 525687122, 562443693, 438049984, 386193795, 688574294, 524809791, 462537043, 704835033, 175452922, 631281853, 331465234, 268525717, 321116602, 423737679, 689213905, 847086356, 228429359, 827988663, 814695054, 271569130, 55420652, 29036734, 828792317, 961475329, 264333332, 589688769, 899385764, 273333391, 105108666, 286337629, 908863518, 255075442, 834170536, 403039112, 900675859, 272683530, 617696512, 536258631, 937332600, 320392745, 587740597, 730598430, 638693167, 568670927, 991024029, 563428687, 922987027, 345572446, 38345564, 235966265, 88147916, 14534637, 750937669, 481511520, 241552601, 162561665, 24974148, 350332205, 712185561, 528377075, 476461233, 611215506, 312060287, 611990601, 865251907, 236216906, 356298635, 563599992, 126961901, 920506162, 64847752, 235003397, 864328387, 441431572, 217077547, 879710190, 336546875, 299376988, 990965896, 902921302, 39797607, 404907007, 712757533, 145567721, 334801184, 282602325, 124869217, 904461938, 995019874, 972110060, 873750155, 253497064, 255049203, 476911180, 400170882, 562941785, 213256205, 796965708, 739946158, 863226983, 516316037, 832239163, 132760228, 117089535, 334172197, 509054816, 494304281, 707265438, 926535158, 775859567, 201101960, 147731224, 295765908, 352192812, 674261890, 607354668, 622453507, 858856312, 78425626, 733478797, 76250377, 271011421, 464813524, 514476674, 534933678, 807393620, 728779208, 783367957, 707852280, 163704927, 207252782, 259845729, 83201609, 293078577, 797757979, 461583413, 802065786, 367851484, 33739571, 369662971, 232440549, 436542839, 617287717, 980063178, 66331883, 846433771, 254704878, 659379460, 276810396, 117471393, 9705327, 811169326, 828917407, 604707519, 550772923, 355552573, 587133771, 813010842, 835045468, 264461012, 30469952, 654886823, 435659264, 933410864, 234513043, 846398402, 768481724, 206668608, 818282753, 65816879, 683459180, 949484552, 696178772, 890373212, 966499310, 51856368, 49360113, 956315252, 765788313, 700185956, 87067725, 66295517, 643719982, 249629916, 331738637, 444712151, 923958113, 282125399, 671943330, 765400497, 185845471, 565928914, 868709369, 191152624, 61368257, 45485063, 30109316, 574077372, 915947141, 222288233, 37220043, 10676627, 185866515, 161119402, 647248816, 89673011, 573516654, 312028100, 297144029, 137448391, 749929144, 443272190, 617317689, 818026729, 802750264, 389718845, 64728728, 604806573, 456459179, 256150362, 497800454, 801345587, 533888723, 546153882, 553423784, 183491014, 371273430, 247794700, 838314400, 558757415, 58021366, 435475992, 911304825, 368226253, 809496473, 260163696, 331089745, 2890072, 264192036, 747105693, 279461214, 609529331, 973663706, 708610864, 155254837, 769123148, 218613516, 654393085, 891526787, 137423770, 880983684, 731157649, 28131821, 516574418, 165906817, 935908353, 305931173, 338821302, 870397575, 414148372, 368633859, 484820551, 851326304, 881370641, 128218238, 942551158, 143934276, 322609267, 354334165, 507648363, 621197452, 65554499, 43270337, 981654531, 551133887, 83457433, 393243372, 472908232, 347052829, 90199199, 196092382, 265925450, 236608667, 458275199, 974590470, 572862352, 930183461, 53661575, 350533395, 590325773, 437852376, 978559139, 836616420, 910045598, 90430533, 828526914, 176647718, 345159465, 447182698, 761338994, 409412306, 190514568, 922643114, 818075594, 929967229, 817922259, 892551481, 605041005, 631550922, 409382248, 627066726, 255485687, 787641694, 328796719, 957704594, 845698458, 332900132, 248744542, 528359855, 135378686, 368840092, 300087625, 502747498, 462204629, 582393181, 265918572, 829886325, 489145402, 515791883, 793190986, 481892506, 629129636, 163658053, 204403357, 171025287, 823485442, 34468905, 809321256, 356930749, 978297288, 138262526, 85191266, 834509624, 703529803, 215930762, 142278565, 522187151, 575020092, 466276961, 602867321, 262316894, 205577955, 847273515, 691180942, 671011632, 549461447, 787231653, 817696948, 447667995, 620845177, 673329382, 352594110, 742528078, 55689026, 417568726, 842786940, 318055226, 29541672, 716475989, 936080563, 33656166, 196688570, 124428970, 262349065, 259828315, 146454101, 499112631, 381657332, 490432736, 611909859, 882972095, 253664772, 325784192, 963923764, 793764065, 781699561, 342032399, 848517070, 389361588, 799620873, 669627410, 649006909, 227612288, 566262141, 102322091, 338564012, 119729255, 709792582, 357066938, 450038609, 461273714, 858546758, 663058043, 492871986, 879598219, 295363369, 664617075, 229127846, 346316703, 417251570, 752706541, 847524464, 114276348, 56000158, 616711718, 474251205, 899492470, 839225684, 240348483, 926718383, 621232745, 875719497, 198422685, 834445852, 491271549, 788867769, 186291156, 325878160, 416236646, 292369251, 786087966, 783126081, 187382139, 482178151, 792513209, 738853319, 862608767, 494997528, 44677982, 944434582, 960794718, 863945519, 732949326, 297677183, 893950117, 293068566, 35962661, 905329483, 563987719, 180158307, 519582771, 149181399, 532514681, 180858850, 429904258, 272571037, 944555627, 55416848, 650219292, 125485110, 642161423, 848775682, 749439373, 164100194, 68198078, 732725741, 690585792, 725226751, 764217822, 354933064, 923355807, 981454039, 834094650, 749836659, 334271680, 37889373, 88554464, 375035877, 936704603, 229759587, 699230808, 895886283, 743236802, 691447211, 5443116, 404971728, 861044548, 491207269, 427088407, 481883756, 310575303, 910252578, 542379766, 812178218, 579689934, 262131352, 439545129, 291939747, 616124319, 527741230, 198992649, 222698459, 780588414, 146115907, 632473331, 221030734, 377023936, 769485944, 760175438, 587534972, 957549731, 608555300, 693098909, 817699457, 853024891, 911368968, 449346550, 348012912, 64263800, 935972090, 745162736, 954871974, 454453363, 612929551, 280435129, 65152897, 695268632, 113394448, 381356303, 166324683, 508803064, 113556064, 218495209, 353568139, 863917359, 172837789, 680456751, 431871705, 258564734, 169725591, 421708918, 648426357, 230022185, 912613000, 299093771, 584311762, 811766849, 681206501, 824603157, 939630090, 533031085, 64496838, 425678488, 623846735, 294682451, 633004570, 697306118, 353202147, 170363275, 923046613, 253047830, 70006769, 504163710, 231232410, 918476633, 269147882, 302972173, 720883908, 79899583, 122138558, 690915480, 375281231, 93631988, 780452151, 310940643, 403720320, 23283619, 279796385, 178575786, 465151281, 159861935, 704206063, 213387812, 457721427, 724484637, 944216545, 642913793, 497093868, 417980584, 1343860, 93167698, 931467683, 183305280, 63096641, 653152247, 662586003, 460058093, 231698376, 771459005, 3193474, 520555224, 898018811, 777958985, 229271277, 623422217, 46202042, 578515455, 300516331, 935358107, 308371060, 976378743, 446791634, 331744913, 388712020, 225740765, 453137985, 10669980, 683028892, 845526417, 963701607, 736813815, 316961098, 868108172, 328438013, 248185319, 469879096, 734818380, 381050611, 656521978, 119377544, 511944099, 178893897, 708078849, 881590584, 307782613, 31966334, 35962946, 854915153, 382098212, 927875196, 809191908, 521268895, 97509647, 342620594, 917874295, 654453120, 547596605, 533847035, 481182736, 457863095, 80977890, 583020879, 675188658, 430475241, 632709641, 52998992, 788975137, 787475430, 699987855, 481666354, 727459322, 171504185, 669224695, 134145504, 940118363, 673964609, 712351, 274485519, 177139651, 605119537, 858720416, 808538861, 795941545, 64313259, 973123396, 887319114, 232909400, 201127437, 713976715, 544980248, 636006460, 857943362, 779273779, 601624161, 503223818, 652725724, 943591309, 438777288, 2564870, 912178120, 966825729, 936608238, 97410941, 975960023, 336829273, 622706767, 564069713, 813874747, 109372031, 355217682, 885675235, 385860205, 569897921, 772281676, 704132306, 405676055, 620473403, 86156652, 376900625, 12792781, 717321869, 319638316, 590109956, 76175285, 196202531, 632266432, 399252338, 741854707, 330415223, 732947521, 867023743, 76205793, 513949132, 598098399, 708274424, 399749242, 136919078, 193394665, 621535743, 924463538, 177454457, 108059474, 509568234, 888183562, 675076377, 116622840, 459999981, 220365270, 362349600, 8718115, 673330989, 902303934, 78143654, 289420780, 69634007, 656562393, 286093791, 616094744, 772260575, 539068677, 3615318, 124800345, 835489159, 663045835, 617846467, 645631812, 221681112, 351240406, 906276325, 204569853, 732287303, 412624779, 846678985, 16768490, 26989914, 63196372, 937566236, 361008654, 850369441, 722824800, 401176176, 951154005, 827769730, 456272015, 742894236, 804750817, 563586519, 911145768, 266253675, 177756099, 833671211, 194431487, 906345483, 251040452, 75270961, 756829616, 446754546, 479687324, 715883435, 258253671, 983365408, 28738483, 417970592, 618852361, 94738589, 486257652, 989878648, 932979324, 760762768, 832405399, 550129879, 507727318, 67845907, 53398490, 255833112, 939777454, 629825536, 432212266, 589104519, 885680468, 773902027, 652366899, 301430554, 621008772, 347543610, 515178254, 748209514, 177603653, 136952775, 758067038, 690438608, 562934766, 955439616, 137253844, 574164940, 511784490, 199956650, 785665618, 233212608, 94418997, 685927197, 916648647, 689449881, 948184762, 778471852, 196938593, 212760169, 902881423, 262673018, 694428843, 75924395, 886999283, 626160042, 609677260, 517608028, 819283822, 582809119, 74337532, 375317195, 225509068, 965645270, 999419409, 966986022, 737447999, 677734228, 405145382, 331198241, 750377307, 755533330, 897438507, 486048444, 326321459, 889980074, 362320951, 850416856, 133367311, 977961511, 963896552, 244108934, 999194763, 962029268, 67707454, 264533912, 938651458, 252341001, 504196652, 991487115, 21953782, 205501792, 668265391, 931600357, 169035526, 582689903, 668372422, 70120802, 864398111, 173477784, 231264033, 532108793, 124056383, 977189623, 821916586, 213205682, 792884080, 974962735, 413982402, 23011371, 328137045, 408456106, 576729906, 804012492, 827601452, 808074641, 729628928, 518429388, 180177433, 481483413, 462507832, 428730327, 970642371, 992846267, 774731131, 825840547, 42784715, 269434174, 287206041, 934112946, 543061494, 369940999, 317540269, 467614017, 249231851, 406398879, 842171309, 478792440, 720687541, 196104016, 221200570, 119740176, 648323392, 800129286, 887884793, 63975659, 962093794, 559918485, 967687701, 262898458, 100331421, 817280861, 376428603, 341263110, 432733236, 36914173, 486673748, 786068035, 975331812, 430686760, 200031853, 592594487, 891100494, 421210204, 719494212, 480717423, 37058358, 326578314, 980087718, 988731133, 183334686, 34774059, 606859902, 74863549, 535039903, 878359213, 851086407, 793642310, 339459917, 81033192, 815422709, 265880193, 349180169, 948270211, 652599008, 99742218, 92694968, 317791376, 931819794, 6879723, 611688977, 949471875, 269585775, 7532534, 63634252, 867612526, 850971554, 382516187, 388691610, 781263707, 41126202, 985710279, 459670690, 787628962, 813441595, 784717814, 565760552, 532327389, 397179355, 770970461, 666867527, 627150413, 829347753, 377525264, 494196493, 478257489, 853091078, 603423609, 169228872, 785179364, 183786943, 230414936, 692687824, 709159019, 274505123, 921807690, 724217035, 560090484, 660119539, 706766050, 448078351, 451032181, 455732617, 432069251, 807022997, 498310865, 824233093, 725932212, 13874843, 260023445, 28724453, 999071658, 91869511, 249562248, 571866580, 13198185, 158511676, 179361170, 269722426, 156844935, 938530088, 535050463, 185351535, 355372668, 731008461, 63511450, 330782473, 940921624, 640988468, 860288457, 45507804, 662202845, 267176017, 72812695, 368670510, 711623003, 8448155, 340254546, 813094903, 353336882, 158065250, 408837351, 333952446, 322368968, 471812025, 444572591, 881075578, 897925185, 140409287, 655134317, 852485908, 873758655, 655173405, 846092803, 486805508, 884888635, 404236682, 302487474, 225050955, 664603432, 238730716, 979011065, 655038396, 133969719, 904485178, 934827875, 732972621, 791884176, 11238440, 189560588, 75975161, 855694045, 305843081, 850192535, 96897976, 937366672, 829596925, 279429313, 556876682, 923618509, 90614737, 754916566, 383621653, 337776137, 251239147, 220222315, 277922648, 680633742, 253644051, 522924276, 758512413, 395006101, 292058241, 700572827, 811143130, 629397261, 553366471, 348036433, 151386857, 732557735, 314714246, 834249397, 260586478, 91547691, 32055271, 568779954, 890888243, 378638091, 896729525, 200421138, 800167455, 241297972, 323819801, 246199673, 636861955, 181228289, 209043877, 884488480, 755573937, 683120784, 168000874, 659502756, 308732781, 135830727, 83924950, 804410362, 167381878, 74778973, 174818419, 281290422, 265227144, 983483129, 130504711, 838825420, 826955455, 904484126, 895400705, 743675451, 664802196, 16808827, 87082015, 284005680, 955469042, 192032524, 699317282, 930186230, 28546695, 481496228, 162455606, 629294828, 150669148, 119096652, 196337270, 837556800, 638468616, 21375365, 511772827, 347284641, 532519799, 399085385, 660739541, 235487671, 414746171, 676995712, 771602756, 219793708, 89200820, 658940031, 329025375, 34006128, 813974322, 717240914, 764043594, 107635086, 708955171, 101074430, 539133093, 835927684, 372397249, 137814321, 820912301, 69662827, 137756658, 700089652, 37687746, 96752461, 78282736, 951857429, 579340400, 743662579, 183890814, 49820045, 342231146, 86893384, 628133763, 855112743, 87176456, 92086841, 308896123, 106127550, 909369048, 167016858, 952926020, 223778481, 581190160, 884226058, 188089302, 545584637, 941190702, 131331281, 317441796, 298968039, 70259465, 341984951, 147354639, 280987711, 944118144, 239472572, 283497253, 662206900, 537252221, 923522191, 507069823, 729321169, 207370514, 234338977, 62820298, 532391092, 233625045, 890780244, 67582691, 328095760, 58671515, 804743642, 293281076, 912473395, 701946456, 103336114, 67859122, 681190701, 209673901, 306304983, 489993426, 119258860, 949936548, 592987573, 647137910, 597774733, 997684979, 792819907, 426897895, 371201971, 295114278, 573553497, 849930039, 486083061, 712185000, 878714966, 543343640, 181295455, 846665034, 740613677, 122441128, 35111259, 332014997, 493279434, 614295415, 151593610, 821063560, 250414179, 590534275, 784084896, 433695299, 933513490, 660399067, 868073883, 5041503, 270689105, 372273641, 893676588, 560931072, 925564740, 417823472, 365034580, 515377376, 743569844, 50759861, 572314799, 350932050, 542054070, 336601622, 787079553, 85562156, 177989123, 831770813, 133545842, 672518166, 394104369, 661974969, 361112707, 967175288, 821338994, 195726579, 533288087, 658738632, 779927236, 320193836, 729485764, 649192053, 767578135, 222206335, 157613959, 272738855, 200154633, 73770724, 280186031, 129569493, 591139214, 796806120, 271958805, 661707099, 391225251, 234309667, 691411188, 493252702, 288152837, 228703474, 366336381, 741954247, 49051979, 919155954, 347052607, 47862148, 316743123, 729762469, 85546732, 332598215, 250730611, 315883159, 966887663, 271170584, 145359175, 817865021, 540122924, 861143667, 235014116, 905196286, 578622486, 743706717, 678863139, 442212995, 853115258, 928667715, 985352373, 156917709, 974587207, 892206922, 716537909, 372703593, 730322341, 915665902, 527487932, 242753320, 98069345, 246589011, 801519328, 312624735, 396950419, 613059784, 850321390, 673892599, 134824464, 257438638, 277656393, 212745973, 924653070, 297743627, 85353146, 457973972, 199685393, 357214362, 37118432, 564918094, 388433292, 522171970, 503093051, 456242317, 16888325, 798563492, 369448036, 936033185, 377177636, 575536491, 752903677, 607632082, 885391584, 411266093, 561968391, 979874769, 359465491, 161642832, 743837642, 172681043, 804568777, 674290217, 924417816, 395400073, 99441898, 742039104, 634995795, 496554713, 87448146, 512493263, 220866167, 976298177, 88122460, 382204092, 686513084, 365049902, 701961763, 94681444, 214002975, 705977315, 239685605, 200574303, 157331170, 96069316, 246054222, 603589327, 951500986, 513121668, 441836825, 563664215, 265251228, 934188113, 591567375, 715395970, 308707714, 483296963, 139666100, 600820715, 792587752, 859122364, 19198869, 140688611, 688100443, 329898135, 553315221, 776001683, 602297557, 300473261, 488249465, 706863473, 906521655, 234232996, 300350600, 308544956, 57605076, 952294662, 913392934, 184746376, 410472719, 325435662, 278208239, 646408723, 202501730, 57984645, 184605367, 714519730, 429162318, 234499779, 869795947, 994290934, 491507887, 871411797, 312235569, 119857865, 165569348, 888709671, 496700408, 281085650, 616301450, 850713037, 509916992, 42916507, 974946067, 905072871, 493565063, 107562896, 362025548, 410691237, 441199407, 909270730, 222877459, 267576901, 273418816, 557753238, 481868905, 646151758, 501073704, 726034724, 742406142, 129155649, 47675124, 699655272, 487697746, 188806147, 807574702, 398279097, 98886711, 997819897, 553700922, 327894839, 158370541, 291848846, 121185085, 95541240, 682879626, 280445384, 362182379, 328678866, 595609147, 27363602, 545874960, 114968793, 354167489, 745447995, 942218298, 218697025, 566203668, 622862771, 408152436, 921449560, 896217871, 669933461, 603974828, 562241683, 845563195, 457189228, 298710665, 788222361, 486710152, 731503374, 470140115, 701812448, 421600183, 605019131, 921610097, 833379579, 181374594, 877984580, 688849464, 187624370, 861028060, 600700043, 406576844, 968099919, 243193697, 984286853, 108832147, 426641984, 800598225, 858506582, 36263963, 12405760, 513899331, 831799801, 863213661, 840978498, 333346703, 910684264, 980962322, 8196536, 482832779, 1731188, 838677527, 496393796, 261961956, 434660095, 47291914, 38358902, 418920461, 888542673, 682739800, 413293539, 992165513, 620307993, 473947964, 531609771, 948739279, 551783230, 833747553, 303547739, 857093939, 301276487, 427374466, 86923095, 391559726, 176421903, 429136076, 961906669, 121910978, 498629206, 803304399, 950104515, 751375466, 684768290, 714669556, 406065260, 907862401, 322787455, 197111630, 894509653, 713318176, 581845600, 324505603, 724225945, 994363786, 212969017, 784284602, 616988357, 953882796, 594188706, 5735604, 987387136, 212063640, 571270898, 846313337, 911793333, 693651902, 227257877, 873116972, 206064539, 387212355, 379174852, 406576510, 994199530, 48767552, 816507476, 743738954, 816927580, 450622794, 490083358, 149273478, 419515106, 122608657, 301281013, 424401986, 910608800, 284734422, 521656443, 736071660, 73204174, 679380129, 640863542, 315808877, 652948418, 613596655, 724280680, 40432423, 146347477, 137117105, 760354319, 367657592, 224600730, 187814770, 30864220, 895862565, 684807686, 544242701, 135860913, 843209937, 539316274, 321142891, 528242208, 791446996, 925959257, 239215462, 139293827, 539320441, 115029792, 606761850, 591563877, 671137435, 244453825, 576908539, 579845706, 851378388, 703498774, 564473844, 774228336, 808512034, 391404353, 524818748, 918152167, 262001456, 796559560, 874952279, 54236087, 881793315, 821342046, 919823585, 580117561, 740282120, 63913222, 858445577, 515133251, 119520331, 290612100, 597569808, 970414382, 656590627, 906373070, 941145591, 428917470, 939188183, 9402363, 399063870, 60749605, 224052035, 755045097, 104761829, 554739754, 800651643, 661762857, 481669213, 696437118, 514727227, 525022376, 834558407, 914277113, 688981774, 535301738, 436628511, 196159575, 633656845, 882804988, 949766465, 814146541, 506850237, 415237156, 55867533, 493987128, 227786353, 264584642, 389473844, 44838593, 847546554, 326838368, 260933361, 671451500, 194108459, 815893433, 847692989, 783900454, 587358512, 873103289, 442429868, 23746057, 816346979, 132402677, 326178817, 845780026, 968286312, 40881751, 607572476, 785218867, 187258105, 215861851, 266618911, 44169210, 919179091, 400285778, 610402154, 367404562, 206063930, 303869899, 550428715, 199462876, 393189491, 8933800, 606296086, 871371753, 304310731, 693386477, 746488008, 523155045, 369195155, 1840793, 55974056, 33453842, 416257159, 842703617, 653831444, 173271881, 441731814, 451123201, 897495259, 54221322, 326129666, 322111104, 404118708, 809921495, 78514998, 736733036, 514516232, 752997919, 786738629, 89370178, 898369302, 22054078, 629340373, 965058946, 203889605, 309954231, 524063544, 368868082, 876770194, 893060081, 944758644, 390756031, 301676473, 119763571, 970203429, 164394551, 811462699, 808809726, 23867509, 860625700, 507839039, 296350513, 266497851, 800623314, 765315262, 66693058, 477824127, 180030378, 960972399, 769734613, 321361667, 334856064, 370878205, 765349348, 744083168, 455463387, 22486424, 903995887, 270982378, 517403920, 686557044, 360474586, 752448508, 59468648, 787965869, 493290991, 76114097, 675308428, 97781030, 725251990, 64303249, 605243305, 142747637, 804680582, 878052870, 60235341, 351458128, 218590910, 26567792, 26670507, 342476041, 195839598, 491978027, 21036048, 855318626, 902266313, 636130173, 991113053, 229179516, 393294190, 380922661, 980576057, 872848390, 850928747, 392574290, 55992081, 317264069, 3725533, 991349268, 660643555, 748315139, 456063283, 409618405, 71274752, 388028657, 479190290, 750253176, 946662323, 176299850, 481116183, 424911888, 162389322, 114598936, 849179183, 478061739, 969166102, 315610508, 223122390, 862104897, 115282939, 588114571, 42262296, 423732358, 657932136, 756700082, 46404534, 634934767, 781211062, 590008344, 924242159, 514636176, 628233336, 995842931, 896214132, 306460586, 223942526, 360045960, 810307711, 296908763, 545954166, 108113446, 113362691, 155092473, 914424081, 956454531, 575498793, 685284763, 100297377, 267490623, 782318578, 769226896, 757002963, 435562065, 205076975, 959587536, 326460207, 910778995, 809145430, 812714595, 573572734, 281672578, 320146216, 709023312, 162554930, 890104182, 861195639, 461147139, 930017761, 508363256, 720667161, 527993548, 381725252, 143805676, 711601816, 157773216, 129245475, 964037006, 979707474, 48425883, 54234075, 627478090, 931841200, 914663481, 793930604, 148465064, 823050611, 495815888, 109528056, 871065559, 824140949, 145975893, 644386096, 83073606, 582030275, 898175203, 573154592, 545083317, 494342852, 194168962, 225901661, 722776853, 811669291, 206680487, 21982423, 910438123, 623064605, 306472518, 547955331, 461860673, 878851136, 573367518, 201933251, 171207621, 690419941, 677626721, 38501441, 40373375, 404872673, 370802769, 145211663, 986719028, 314528949, 507950634, 812180776, 249728893, 328151088, 880512787, 125862154, 477489356, 921499735, 166201480, 394005634, 520561428, 497629502, 253193780, 306915612, 925491910, 715372207, 472677375, 97011546, 528818056, 89332688, 389212519, 519597455, 603753965, 128042612, 48582354, 884204192, 869031449, 27067245, 31752169, 327493530, 147268222, 284190741, 864084978, 789459331, 936672730, 55734148, 935004151, 98536291, 826067494, 939670619, 579049790, 32258916, 51606649, 699310672, 678367780, 779979055, 89078226, 304328115, 453647686, 960185428, 760101302, 829111926, 333607894, 537115694, 458881307, 616097614, 573656365, 172495460, 271020116, 750422933, 569869328, 651717604, 632860234, 280144446, 181884799, 718577613, 99695991, 505942968, 256133612, 231989424, 97385930, 583184233, 695752800, 825245087, 917629413, 553437423, 516469428, 958251479, 429427635, 791123349, 930959866, 42984972, 584763690, 130989029, 638919890, 770845895, 414187265, 195710537, 452630676, 255759132, 291039708, 52568727, 271095221, 107432513, 407920942, 546855540, 321692948, 816813295, 331143730, 443585569, 698112905, 644614575, 796058707, 417632003, 977767290, 968157607, 179348286, 974403778, 697611798, 25696024, 787823277, 205425526, 360052318, 848676908, 912908238, 474870910, 91580268, 898912543, 647425885, 688415537, 350031077, 906593700, 341687725, 302797983, 376458926, 853532203, 359449954, 853869949, 521145538, 17913241, 303602518, 391385682, 648620894, 776836002, 981657713, 313744184, 294276032, 23906963, 358327538, 466124618, 843039954, 675606925, 806580327, 89942239, 17921776, 905993393, 646631762, 856376642, 903900261, 850128106, 530581085, 264968514, 18475743, 118486225, 668846749, 308175856, 4519325, 237341434, 611468868, 311694375, 257235045, 70421569, 816729658, 399467375, 549933180, 459309337, 70889424, 568402904, 698679579, 794161514, 705277731, 854187762, 139028791, 834637924, 506042032, 682255015, 731902156, 568587376, 274327311, 819356852, 956213331, 235204770, 168034165, 736320375, 927024075, 636428004, 835983438, 37226720, 277119681, 276251915, 76043087, 796341955, 545591602, 486743048, 140890127, 788129214, 305008615, 885648424, 77545486, 993389778, 775100431, 732878570, 580886838, 643608204, 674422985, 172038812, 919314979, 402119780, 615682108, 34523960, 48374812, 771482790, 673727404, 192893358, 964166058, 311452133, 752598439, 771275925, 617356540, 854795251, 398141013, 614483970, 42057943, 269270228, 944906684, 920775491, 678464591, 562302750, 693164982, 973511187, 459101384, 478401918, 456645964, 413441327, 341993252, 28294404, 413486535, 58414911, 551906656, 861673448, 247598314, 106340275, 492017186, 344219955, 27348251, 403713311, 960044531, 208512849, 834109283, 310578212, 659791018, 775856013, 770713194, 237459094, 706846546, 521279249, 373672368, 714415669, 927284547, 199537345, 801793618, 217300594, 17528304, 57038479, 510460202, 677442314, 978567392, 583930066, 981596336, 475927100, 650470217, 397712399, 208954581, 883436470, 118334513, 722934484, 12189464, 832119745, 642601758, 222057589, 651999285, 165690692, 92061258, 24184580, 400700222, 955096802, 950105234, 247210150, 614618702, 224978661, 307000304, 486695332, 144797686, 24042975, 319034310, 181609600, 866373097, 514084989, 474277911, 541896221, 300339359, 816420149, 883192865, 401097880, 319177687, 456323315, 845013599, 17880821, 953973931, 229210325, 646757817, 201603115, 383512779, 10734137, 273072309, 344022948, 350405423, 413913207, 811517662, 429060176, 467611706, 679058588, 585898182, 757538008, 527268059, 972308439, 63443954, 806541845, 363261799, 416928800, 567986615, 622583779, 539703217, 510030636, 652254731, 501510333, 3805776, 680878892, 503111742, 625117954, 18553173, 913759912, 501634949, 993944297, 541285122, 463402872, 16249954, 169793463, 899763919, 500602464, 665285987, 897881311, 883453751, 571508498, 628933552, 162841444, 284068841, 959744955, 339985622, 987737323, 536191420, 13851754, 665067504, 463510811, 881713188, 641109409, 858617836, 904609580, 301472609, 56033017, 544134605, 109532791, 990575345, 735565666, 479421921, 115858321, 256474492, 798151431, 941016598, 919902301, 529201660, 241650000, 53349704, 819833305, 640820040, 977127230, 823105709, 291069933, 908680109, 594844052, 742278759, 733000943, 3617773, 623101376, 347027341, 319578601, 687571092, 566151132, 720991484, 419274624, 377920567, 226164428, 187491961, 600720354, 944614508, 549308166, 606460642, 345038008, 335406456, 997818028, 991077682, 401593390, 258110525, 525776277, 640248501, 584281612, 870395832, 306857191, 963188998, 621085844, 698052320, 887904468, 672048199, 51358705, 661484439, 838359670, 517726792, 39466570, 921715672, 505908102, 959610226, 729079772, 658505045, 697950497, 270051836, 99807944, 784190525, 3498600, 815605343, 601908230, 58792755, 301326826, 51888103, 964881610, 338166516, 906390583, 180391985, 755264989, 472559587, 707343883, 931787479, 376452560, 90753165, 437035830, 121224035, 60671252, 605208250, 944507561, 170461057, 805574560, 676837456, 169293651, 862222492, 168595700, 97505024, 450695923, 28228085, 521857609, 759255784, 846162700, 545212137, 502577117, 745499925, 530679953, 468498349, 122973502, 101833611, 627929658, 177003503, 752823861, 788277492, 400742179, 275367717, 647960245, 552952315, 134553886, 368702953, 179345213, 626755364, 776237434, 229556582, 42065276, 710266912, 334556973, 374297754, 989339658, 793847514, 85360648, 566540320, 108335920, 757205008, 568520863, 210806862, 796489562, 351678192, 939727603, 888687609, 81589490, 292320471, 12645482, 743338995, 616752763, 697537355, 279249294, 380200905, 893829307, 219966835, 599893035, 680797221, 937725890, 934812833, 93905566, 404905277, 306544087, 900870970, 519816575, 384846974, 572585138, 483740455, 612015358, 989690576, 191336409, 995250017, 419936174, 32831142, 719862654, 856631810, 928144673, 37823989, 504975170, 831400293, 917922194, 742741996, 380252208, 646195553, 137596187, 991607015, 153041487, 146913276, 679650085, 955748834, 60179963, 36279245, 45874209, 994415112, 599417471, 387532119, 841203859, 943135384, 519299312, 318115100, 578083862, 727640411, 570670071, 876571465, 927450040, 87766194, 46060844, 107190628, 299014298, 103944247, 908505391, 829840943, 783227873, 398217510, 486207755, 965283623, 219737921, 21361323, 430528471, 917099612, 800382946, 485312202, 460451680, 226094408, 620033227, 261127825, 737830927, 491424465, 974473990, 574333636, 658180915, 827204287, 694484440, 468331563, 237349674, 94019349, 277530080, 923232700, 634191036, 849302366, 921137156, 448216439, 728099505, 185331674, 750435286, 791865555, 459274005, 260440816, 751001709, 574897308, 76823850, 749697779, 877991796, 341066585, 499178482, 597069188, 182370119, 509791167, 317314841, 238258996, 843783232, 677444977, 750006103, 745583637, 924398111, 570626690, 592503271, 426154157, 651867801, 550135722, 602790712, 488204507, 925755682, 842659444, 314204578, 446752685, 830347989, 917963174, 297580077, 47421186, 829419038, 184991921, 568828286, 410176051, 617639757, 346586405, 753096273, 262202512, 240996402, 202538787, 996361609, 996681363, 139372851, 618861067, 750867683, 79808404, 207835368, 1738855, 983152338, 652524369, 896767813, 937133424, 93168679, 311643556, 48424690, 608111370, 626599803, 306195442, 216823819, 499852663, 879940261, 513307561, 236266926, 216580638, 25066088, 693175723, 734498832, 72003863, 758319486, 109808717, 787510725, 681926835, 625729592, 79825550, 584561074, 680164086, 170222395, 671431183, 669543695, 655060505, 465062387, 966304072, 137862716, 451603519, 642757120, 397459276, 328294009, 665185611, 567694589, 571270242, 800933645, 613238291, 708473434, 59898568, 881475180, 880813353, 611759544, 290604568, 527853432, 901607022, 976845330, 529649922, 700135019, 427484556, 265413851, 21204663, 668242815, 253484830, 225859490, 954423809, 529162884, 809352096, 719774632, 744192853, 42957104, 434406792, 992521821, 3785300, 975472892, 500621681, 491316786, 134523264, 375763073, 812586389, 386607036, 5433843, 756438246, 45471160, 139409632, 45587076, 499944023, 962077384, 317569096, 315698181, 133873989, 751218455, 148890456, 225960683, 421432450, 346000102, 642512001, 340111240, 190153829, 633813143, 135298811, 86578969, 227539186, 86318363, 59722468, 725796977, 889732046, 215748985, 146937603, 318865903, 657922798, 365496397, 402689151, 494746475, 861706265, 467268610, 65268989, 597818309, 11094631, 21998800, 694925441, 448918949, 705962970, 883126178, 540796610, 664114001, 117051451, 227220710, 789229742, 425668465, 985680126, 589577987, 941140183, 502035979, 138223798, 318366105, 269474595, 364859695, 932404455, 815404327, 996131943, 544519543, 503908092, 407419403, 289416521, 573566014, 277437308, 642558937, 785605765, 929626368, 861026992, 31788595, 768920363, 374092438, 190933410, 883066046, 127683705, 818582696, 934705245, 273645825, 722161862, 7136010, 571024554, 602501918, 350499563, 973106883, 734294607, 284463165, 427163380, 406370776, 17713755, 127354179, 88236932, 653764126, 324408394, 56019822, 54165058, 365475872, 436436404, 66481528, 23498199, 164896590, 829698549, 284444135, 570428154, 502354027, 240356641, 879171790, 503597431, 276430521, 742357554, 498916395, 326801496, 897718848, 372760894, 129709327, 751202678, 131692321, 913777391, 555928496, 280116087, 230874096, 783322193, 40257574, 606636126, 221749218, 433574089, 970332318, 674143629, 280466505, 794884329, 114148393, 644007938, 471462266, 515082815, 770348426, 660325022, 959237670, 933561461, 239304188, 98226685, 539326563, 515291193, 397995226, 929251097, 876613076, 808318377, 343434784, 447755241, 794811039, 356149546, 788978516, 508986628, 16114259, 670875713, 671589907, 119878252, 665555492, 412489614, 60197959, 954488134, 544370862, 366604160, 38222292, 133145747, 736520808, 859268295, 879884534, 171764961, 341571986, 276721821, 645910496, 261577634, 559557926, 913112223, 541070837, 583488145, 912438241, 874437930, 539771744, 999517951, 650311449, 962593199, 872322537, 683734902, 453143492, 721212778, 686103641, 722308339, 603564080, 152848112, 939184492, 919365584, 114706985, 162840305, 987561870, 622750758, 544733007, 249517815, 108310656, 466908214, 774290266, 890045733, 17492028, 407339199, 70728670, 501766153, 194768644, 572950648, 69075614, 82306728, 631355936, 872175444, 255054060, 931227158, 643791533, 990588281, 633915275, 355614029, 946416655, 79103112, 20409817, 774737149, 776033724, 398083616, 164513167, 339491152, 302581299, 229439737, 542466174, 226669864, 488083777, 810119660, 952481783, 935140988, 332135998, 237879903, 917898342, 36033455, 388164774, 170775222, 56662147, 554123025, 530500458, 940551689, 249388699, 996608289, 68732504, 769359890, 78290368, 441369414, 304481133, 420381432, 54237788, 111798188, 384976119, 153112210, 974242003, 462907045, 899152316, 399534012, 628732569, 657293855, 764920937, 107415790, 345189050, 855688512, 466764432, 904627838, 373985088, 117842685, 113601813, 131605445, 732027198, 815604238, 594030214, 944773995, 206770581, 727771120, 593434885, 754997222, 364639408, 435993094, 650421772, 824495805, 999899747, 332078695, 539484489, 606002289, 700703468, 438196962, 553554483, 273378883, 391759540, 454237745, 128912559, 490639863, 572253662, 129271349, 175279722, 970649717, 301470897, 78781174, 379995197, 41930382, 439989353, 216010869, 453151184, 5398624, 757646599, 943217312, 658653934, 492552629, 702232037, 200788866, 583491555, 716918851, 152778501, 544362045, 200937832, 729787882, 199506835, 523242447, 467581035, 612022355, 226583744, 635197329, 414349760, 264448883, 822486958, 611796131, 726568650, 802278102, 231344213, 514172733, 486339440, 487006734, 487100084, 226806576, 656174568, 439597932, 62965600, 120688395, 982942255, 783611763, 878191133, 662304511, 199233537, 956195074, 242243082, 655824299, 617462760, 180847211, 484424822, 629427948, 924676271, 764979048, 428414243, 684394437, 586044552, 706862246, 239558818, 226918885, 723797381, 173509492, 760040281, 39222278, 869656211, 324994468, 670417540, 561752934, 267382837, 446347086, 362470387, 285973335, 814412020, 490397510, 768995806, 786564595, 338874630, 513285001, 587290760, 271509210, 879358405, 938825571, 404621607, 147450249, 183603487, 91042823, 533053304, 562765560, 930570919, 436288347, 362096761, 421535456, 972966043, 688497493, 102180337, 942322149, 474500180, 864745475, 817599179, 224907499, 111540631, 79458412, 185294988, 911318371, 907432168, 481264197, 505515811, 829871304, 667851497, 474135330, 719067140, 819196673, 185711528, 902520051, 270671271, 544820478, 822331564, 262392967, 960771693, 743044066, 953447765, 592046346, 224519374, 803365579, 23227266, 381233316, 595915447, 128847332, 559615218, 351443273, 118129003, 27508233, 80326770, 715250605, 750370070, 810054051, 852660670, 670165866, 642289266, 350251276, 213846010, 347793620, 939808574, 495665619, 691934483, 288992760, 926183172, 250796741, 947498399, 257185671, 841432205, 163735995, 859287054, 752649264, 660545889, 95640133, 138031971, 824036133, 487065593, 644655700, 630924290, 292870922, 203070840, 34639872, 555363538, 647029123, 728612463, 538883768, 838346661, 370504970, 577610749, 393670102, 449718402, 556625418, 346916627, 168069373, 398029860, 796543772, 374870223, 975811405, 646778161, 65947611, 833670965, 743289083, 139253996, 671112545, 225729750, 905060197, 366976062, 750053553, 327515394, 406314089, 539589712, 88891592, 818156872, 880697569, 54166494, 266148067, 260689144, 943094239, 459610592, 217371167, 915373242, 425813812, 864615267, 995176779, 260102391, 779425530, 163230470, 167442847, 821035998, 38122912, 795054379, 549350743, 373904535, 88316789, 493204925, 595391224, 592819529, 147156705, 331403951, 139346445, 165116032, 217275118, 275830729, 651893868, 925819317, 113920914, 335634974, 969665587, 393951956, 568137580, 663414127, 605858826, 524337745, 639623276, 93213025, 696089705, 725349513, 366690560, 588699553, 342528963, 381396703, 379251067, 980703352, 9123704, 335400663, 116371144, 533900221, 192657772, 256551678, 248597979, 742589687, 11117458, 376836217, 409438690, 427725145, 403458099, 779367615, 798461854, 984289131, 765270828, 211392414, 351828778, 200510075, 277575713, 610977091, 122741493, 621381484, 921883621, 578148060, 379889365, 265995837, 854720975, 150386385, 977719052, 672987918, 186781943, 847038462, 807497631, 43701280, 568579638, 502758978, 829673896, 693920724, 201363810, 999919081, 263745349, 635832029, 32752009, 432539599, 504888918, 327458544, 105192030, 438373592, 773643642, 871666970, 415616946, 982258402, 894439039, 779036067, 158473729, 72946452, 914416061, 481832975, 867224413, 12720621, 16464375, 228281692, 233959911, 438754887, 128058039, 618292907, 45375455, 949836627, 262556987, 320736564, 599515167, 202016389, 343205628, 954186173, 106880793, 150647594, 579504745, 775314660, 858545285, 306156691, 268653002, 901348227, 213208243, 2480128, 837274771, 370035019, 846186883, 268726463, 341883859, 870525401, 745637900, 292608369, 341128305, 881986070, 24590910, 182256500, 304271891, 494341353, 263929612, 214402826, 840265360, 729923447, 349110170, 346155840, 633577231, 735550934, 314021829, 750913447, 42557210, 657340128, 580331574, 372186735, 771937985, 772157580, 360897939, 819149674, 856052153, 558871469, 493229849, 793784326, 218505655, 199633558, 218526031, 840915321, 100073864, 423765708, 868996150, 490809448, 400289610, 494050874, 860799864, 564812457, 964258520, 898962259, 186008908, 818893168, 122059932, 247843428, 184248399, 631563495, 631102124, 697959119, 614736615, 251284719, 280271765, 183843151, 588778025, 310091752, 525485997, 511293606, 577960361, 584487918, 213691674, 682918235, 841883018, 708972971, 708495424, 84266136, 15481363, 187342175, 257753982, 150582728, 869547056, 818299521, 75393670, 9315107, 183246051, 916463230, 717330182, 392673483, 485392092, 137742284, 799124325, 441589671, 787214779, 393478929, 85645020, 644295628, 623232365, 783190576, 953448630, 573640609, 293356157, 452396564, 374247054, 877000266, 272099762, 871881902, 497295576, 471680171, 162215927, 766197193, 554153981, 248762915, 523749846, 737842689, 289075515, 901252030, 892328113, 373155078, 338683799, 556081146, 73025997, 172743707, 723637867, 930806574, 866269348, 368919490, 88899203, 880067297, 506270665, 5137309, 986371643, 917861440, 382037614, 442255488, 159440038, 747332370, 556213521, 92321309, 98427316, 945165287, 684203794, 549274062, 28584843, 862837716, 371258963, 767322746, 934825028, 799430373, 57794343, 924947269, 752656011, 532849513, 243884113, 898696618, 103460166, 276857116, 686117706, 251135578, 257496848, 185085127, 327032535, 971754609, 529138829, 48625709, 354916252, 840901365, 156243760, 982672765, 876224743, 50313653, 354822550, 344139372, 121698577, 950476460, 579630038, 992043188, 566494423, 685129555, 379386135, 393462967, 798299772, 903088208, 702277169, 940986620, 745425204, 667073668, 279115097, 763839081, 366102436, 89925817, 157454944, 337857096, 647393553, 538267422, 474082957, 377918458, 503559887, 974228260, 288691119, 191953327, 737337580, 719278594, 669472470, 469700285, 736659239, 648274928, 757493277, 207261902, 220705363, 807744443, 301139029, 700076982, 472701488, 133666566, 848298960, 661899525, 565971622, 850884578, 658948641, 102207064, 685244180, 652544109, 283398328, 128364876, 152663370, 297303432, 429659153, 766316927, 352493782, 240893262, 168589000, 670865162, 280820517, 648181410, 997329620, 730975173, 33900917, 317118884, 726558812, 66338325, 536383588, 571803884, 239430677, 779299616, 798007632, 196283068, 310747618, 548918016, 408849, 426974653, 125951611, 768032164, 912193805, 848725300, 765057601, 963466090, 565127997, 984612150, 660018871, 455727647, 420498597, 884844980, 49767967, 493930611, 460056242, 510973045, 665560566, 123229981, 303947973, 720677079, 243138377, 435853303, 645245537, 698239776, 330545848, 227523220, 700093018, 92411119, 556511906, 519293127, 900379833, 85552014, 395399808, 29600703, 909424163, 861120191, 528478296, 769605432, 2343718, 63342834, 541137501, 151203979, 384109962, 41796109, 851894798, 341536896, 339427163, 158544732, 831904900, 464209022, 350796265, 804560621, 316264838, 356424780, 374218465, 307437033, 12212158, 750413098, 909553566, 837736278, 563140673, 736276441, 334618549, 797957179, 43037131, 184894261, 340163250, 474224875, 782510030, 621993515, 471272902, 933777584, 90062064, 906272333, 185049870, 694531757, 768728564, 899072348, 704296356, 407267804, 335487566, 343964493, 565858628, 441099720, 471321764, 718061264, 512405822, 867826015, 183221683, 228058012, 562233766, 57934825, 588620563, 62984804, 691819466, 735466132, 618642726, 881689706, 232401016, 813181734, 18874415, 879980964, 788184881, 312495968, 405403045, 144679212, 589152507, 427974326, 854301545, 743365956, 539257401, 620175718, 590641057, 457337755, 714633473, 100919565, 291191918, 621954926, 726240977, 965789657, 836359553, 29426058, 101754808, 796815139, 275332669, 180541195, 883156337, 565946315, 695023166, 450370895, 7464250, 435039826, 498647761, 628481452, 619670227, 214243635, 286357338, 981367296, 785555313, 521903566, 266857384, 125540209, 721740176, 2149666, 474644286, 890956569, 181330442, 738512791, 750285049, 787168062, 37992813, 646822780, 175617244, 651879771, 279458989, 711956823, 236928284, 811876251, 368445649, 105858462, 340132397, 203142999, 962487333, 626242827, 446871031, 923684808, 684237401, 505043445, 176803111, 172343901, 859594430, 366801269, 775020729, 507334211, 914358361, 470654532, 811529216, 459342010, 80740196, 689437825, 132135001, 700583398, 87233112, 863822759, 646692071, 196441946, 814991078, 924674886, 688416755, 571453737, 628885569, 334132410, 380027026, 593052409, 32457723, 296629682, 500852290, 396290666, 123802743, 72732326, 381362412, 95169785, 51250911, 859204041, 317529555, 767376298, 339421561, 254124512, 145026782, 262477272, 57558531, 900178960, 798715086, 894179300, 227525192, 178076704, 791993133, 748734897, 448773643, 339497641, 511938066, 564673816, 962973509, 829858516, 694523391, 518601449, 871357193, 941654986, 88561536, 978164839, 279933884, 208219893, 134147549, 713393676, 668272519, 857008796, 476647315, 447687889, 853462809, 998431026, 395565397, 342154892, 835471332, 179849190, 416678672, 409775983, 296660704, 407853377, 14767332, 298368143, 949453543, 750639870, 91350082, 366208812, 689859897, 993798849, 380834655, 922858858, 655699616, 297086651, 82533486, 269316093, 737221821, 634311896, 977973561, 759336521, 19919361, 519321059, 298113819, 528304042, 230659719, 389860921, 741696921, 489899264, 210791700, 15377977, 857742457, 924068432, 857609224, 838311929, 884899408, 355558019, 543697099, 1404830, 148331062, 757200278, 676368043, 291578097, 151451702, 745871639, 937588092, 190985252, 383084652, 789704780, 517553646, 420170170, 232999016, 83463696, 665459863, 848770010, 62958048, 562079569, 404838818, 513519954, 402098243, 793802007, 643750817, 429894481, 75045172, 807460053, 952828888, 524482512, 493592722, 527283879, 812915611, 9369903, 210374636, 761937965, 526073325, 543265046, 334044520, 300508060, 349570186, 535860036, 146842085, 181456658, 362959065, 428763820, 528585003, 900661769, 943180351, 931652340, 494069872, 649370604, 746554658, 805356307, 752578697, 642639893, 861543085, 887660916, 816070611, 678650241, 148110926, 273409990, 35632616, 278908293, 179724638, 961951073, 971748993, 603063780, 999244909, 93927112, 541803450, 254458352, 596648192, 137476334, 165245618, 156204365, 603999917, 463533850, 870692180, 967029429, 270419296, 198266787, 762108071, 651138633, 139374847, 731152038, 523463706, 343896601, 470494477, 493353737, 228762102, 671345627, 434797558, 386770783, 128637537, 741400667, 639325081, 615977579, 584746512, 714378138, 755227258, 514306284, 729090556, 853128876, 808653247, 511427282, 670924386, 841354763, 75119378, 730634111, 623218658, 982251943, 367517079, 578868095, 929671428, 62475901, 482662359, 84831747, 428985422, 192131214, 88392935, 686976449, 538496399, 616524306, 524562350, 290819717, 498436848, 783988436, 622540544, 62350671, 986444987, 804801806, 555357166, 415090598, 656654270, 179116616, 944863672, 208217926, 742384389, 35699360, 237728800, 1376079, 135749488, 956872986, 340650433, 998509290, 86987260, 697974924, 60961390, 655159972, 316919619, 570066139, 190877828, 138633445, 899171731, 161226813, 227431409, 215077998, 527219250, 353628437, 510969517, 632827364, 181513421, 141115875, 920333031, 713361891, 330373028, 657703245, 733249189, 343278701, 633437909, 726277841, 924995850, 472660945, 995834742, 67390569, 654284342, 92390224, 538893630, 893646975, 27039172, 25495869, 779474931, 484296492, 576731741, 305283464, 591538681, 144248858, 362739749, 663062603, 36528767, 954025905, 295922458, 841871620, 370701364, 787518033, 815406008, 405892252, 829472095, 943551211, 881294326, 243064838, 42427647, 342579257, 6685073, 246104440, 3987600, 331822034, 391238041, 357845053, 113266504, 454337605, 670966988, 441468909, 111582419, 734146882, 701376063, 301588001, 60274647, 43432822, 724247905, 910678675, 555846570, 57777852, 825832445, 563074921, 107195606, 51735033, 240336214, 988373034, 464681492, 105519928, 796721884, 607939203, 919693642, 457983606, 4333388, 9160459, 101558443, 43671416, 169443712, 547457389, 651201298, 864730834, 634568883, 823743035, 652702611, 808092721, 871419709, 335315353, 845829530, 7021685, 788808618, 831046787, 60048330, 694622525, 968088597, 521983875, 941097818, 973746325, 446348908, 229952999, 552501152, 242983226, 634665517, 237350113, 809464962, 867077081, 672787991, 573394721, 917097426, 195452357, 291258543, 46940065, 995618983, 848017134, 535111979, 547736710, 640394877, 43832908, 332053560, 442394237, 942238067, 217214347, 874772522, 702822556, 171303489, 279261651, 3155571, 828537799, 10111749, 482523132, 933148142, 489831917, 534582485, 353488802, 119935839, 584260140, 353214109, 927676110, 653714760, 341791614, 363998764, 324413895, 646049769, 379819716, 660906684, 265019241, 161857003, 462865661, 788967379, 159115081, 93451684, 680502291, 177656075, 57577274, 139929948, 377962029, 586137143, 529521404, 397003483, 882680609, 485859736, 999670557, 855145343, 165587335, 455876593, 194119261, 238411360, 940928905, 799130113, 219887, 463139593, 152737146, 511454531, 667045578, 31724606, 52456230, 842343931, 984383457, 40971208, 414516129, 135598344, 435555619, 656662828, 792640352, 501991898, 601960422, 843111416, 997999796, 633273355, 183181936, 220156000, 223788493, 711643790, 294756321, 756867255, 194052906, 363217082, 870892728, 170712465, 557382961, 328007216, 753906532, 760544733, 574018768, 763630339, 209767281, 338053317, 674511678, 651322470, 500479976, 459186966, 715529446, 352727053, 800465007, 29415414, 905132054, 314034368, 536667883, 416575888, 374983470, 874255172, 606310818, 326153210, 662382481, 505815981, 574991561, 183538370, 859933241, 529762574, 490630158, 202749322, 606411772, 454414582, 336105280, 953836412, 451263916, 364186988, 827954242, 243281014, 642358596, 468999441, 600738271, 762613810, 424839469, 117812137, 987089076, 813008269, 703915371, 700660301, 445715263, 377870068, 303382026, 619965971, 446593356, 894841470, 970139150, 726209410, 223950920, 530643949, 981859878, 955269045, 112019059, 403886074, 854531276, 172000011, 84747336, 525113620, 400674431, 231502724, 699591801, 209560436, 634446582, 989441750, 782494139, 612625801, 194722269, 165193643, 261018281, 865288861, 659152191, 797508170, 409248415, 702806113, 380513624, 390920020, 455442002, 677748023, 587187953, 595929251, 337622591, 558661915, 607677200, 336574904, 988425875, 113604919, 284113494, 121570909, 935669171, 650433098, 983895535, 750835527, 705597070, 972694417, 138723993, 964353954, 41037325, 205510726, 604537717, 753827549, 892347126, 397449598, 257018358, 325198376, 380840479, 834075677, 21033740, 227550327, 732981034, 578802404, 103117158, 983662793, 649124739, 229487703, 860941920, 122341269, 67492097, 824479014, 728523815, 7084585, 649305958, 819398760, 960216107, 940978365, 475074679, 518099553, 479082452, 282695516, 645451142, 531150450, 67220347, 248485426, 492875480, 227469450, 654383906, 431131476, 739903737, 301570370, 245617851, 907986755, 230541939, 310521787, 766806553, 854314921, 29898316, 303971245, 509900077, 298256269, 939080848, 501942381, 996485730, 134997525, 634163218, 290148829, 830197353, 432671240, 888783639, 427887204, 937846684, 946079417, 498478780, 297601162, 147710656, 318291747, 421639529, 25575372, 145129280, 144744283, 940256314, 790931160, 915768436, 128948842, 787030158, 97608534, 278094778, 223777942, 33169378, 21673781, 268029804, 799141194, 226904872, 45402243, 953883845, 510834217, 882401214, 992912175, 831574967, 298775415, 637532820, 20705329, 153404639, 761437559, 942601820, 822246072, 38350532, 127838800, 28610869, 137366070, 32094750, 393199466, 103193109, 561063444, 904884132, 913422733, 63334302, 513422039, 468315002, 186213175, 173987542, 285542316, 482070293, 46161038, 163567395, 134058356, 304615798, 417824084, 704044843, 156918449, 218081468, 879951915, 737382996, 79307775, 731770560, 473323625, 429852769, 249453234, 427550385, 336353944, 306278359, 285264611, 902552764, 192367650, 318249601, 774605673, 961089998, 780332848, 260325403, 970899167, 621534226, 478940947, 561190696, 133861421, 844678814, 698443401, 350247010, 14000934, 219047753, 12200006, 382477925, 61445312, 249682806, 392431698, 716576239, 538110158, 29504884, 180299406, 778242587, 611049501, 739194156, 663738905, 299852943, 670339070, 776442906, 492925635, 341778737, 593642802, 809948705, 870716897, 750801811, 731738778, 191853253, 723423034, 667806571, 6115676, 779771973, 191683358, 943718321, 100315766, 212240107, 980559588, 76108848, 270599991, 643189290, 662164440, 485389513, 454360845, 352534773, 958237857, 247627481, 297458247, 560353561, 322129191, 575868822, 77471737, 591658289, 329693178, 740332826, 723140310, 825449512, 428824896, 999773299, 41901660, 232619528, 346867262, 873036979, 435544998, 881780874, 392864780, 599233246, 582762487, 49750176, 984806749, 711882985, 766136589, 751580058, 907284219, 575933334, 412054376, 493040272, 547780581, 592592909, 561682263, 109056734, 646106499, 836772165, 844160843, 850253177, 194226699, 416822464, 399538508, 417312088, 370175155, 81648288, 825284761, 96732023, 534131394, 368026525, 626443079, 720733497, 925740430, 215349516, 749840481, 276493399, 680321534, 910900357, 461693625, 96456512, 137067541, 771445714, 402626056, 483970206, 986932158, 464441670, 142815563, 698456526, 439779609, 496990488, 162446903, 809280201, 791161015, 831009335, 850999522, 469541977, 154264610, 760593596, 532236203, 813154265, 37734596, 59222230, 213488313, 361561435, 644388005, 117837672, 133818664, 946005028, 182469667, 25603253, 16672966, 721893852, 482009131, 950986701, 636213921, 717744818, 648295746, 721033848, 292838945, 51574547, 458631225, 658829432, 662233690, 807020159, 102595206, 198986807, 611542530, 662312614, 411150485, 992761042, 525160335, 890533699, 985902497, 154854361, 998999543, 425305668, 75949814, 551745985, 364623428, 85224010, 108615705, 793542379, 375643805, 474019419, 931202508, 968601450, 609189960, 263870517, 30996630, 464503368, 605746892, 948057056, 671573166, 141834172, 229350974, 701191009, 160691326, 34382510, 193408466, 769948488, 520277349, 300523645, 264959675, 648433939, 695445888, 441942690, 37401930, 153818294, 57098434, 684113894, 331834704, 575164748, 168541896, 435259278, 627217119, 495656149, 105332118, 466995041, 34107166, 593859298, 413175009, 634028407, 212830833, 690677808, 824203296, 127423640, 669619347, 233660884, 577353157, 81670107, 544908456, 786910745, 65996818, 858609862, 543678633, 357033317, 527465912, 879734020, 622257525, 222585335, 116196811, 634882539, 424568969, 594858661, 878365035, 124090120, 23712370, 547921450, 970105715, 608661856, 249139431, 54017981, 756535823, 917404936, 659132784, 282772657, 753246161, 656215368, 35729865, 278035970, 660969751, 369880979, 812960224, 158221406, 922270610, 980321915, 833139523, 228490959, 214964529, 994490128, 196526081, 771914429, 1655323, 277707206, 354027888, 360308603, 650018001, 395984038, 697502288, 102060391, 346894327, 114372688, 285931870, 895909046, 180721952, 68142168, 527327651, 568748880, 556396854, 689103683, 127389959, 121520269, 621148599, 134548825, 40958820, 912032239, 549241038, 380992511, 610276563, 338370749, 479231986, 984359981, 591917164, 539992320, 40016041, 165749346, 544071981, 830746521, 428971237, 82367670, 70998842, 792477587, 804946310, 50699767, 915667102, 180503950, 58874076, 648268194, 988403315, 940225512, 337698032, 878219803, 917529618, 316643235, 580402286, 841695854, 18031117, 766824089, 596176175, 129319318, 814257707, 521251722, 528876433, 922102967, 629967277, 901727157, 481844836, 672006434, 864767370, 388003682, 954024173, 309581854, 436114282, 888148604, 796357740, 134735844, 803428900, 74055459, 301311307, 211495958, 419733588, 350192061, 82538579, 106767057, 287820191, 201231055, 956835967, 102136454, 172098452, 681867241, 827840580, 581242216, 289220165, 320186346, 186952716, 824100554, 59684565, 315758491, 649593784, 4652098, 97846103, 692983590, 936229515, 782367019, 145529070, 146053837, 593773858, 430719642, 322753006, 277139117, 814844198, 317997747, 455735634, 374991088, 50303652, 638333845, 635570227, 361379300, 673453228, 685465842, 136649543, 268253342, 651745778, 420638349, 663462494, 35785249, 802490538, 289116933, 725933581, 456114231, 966576820, 825462065, 4082809, 790489677, 445139963, 95305316, 622436709, 151410027, 264798028, 563239672, 609364347, 424424383, 953470612, 974650950, 540656715, 352651546, 843199647, 135836068, 360435272, 914654353, 234034938, 7038168, 883560638, 44005068, 66452940, 146674855, 921119066, 212356908, 867352804, 801221268, 58447655, 338362233, 551586247, 816636208, 186022834, 350434832, 217178511, 237921180, 413509444, 353546940, 860650014, 883774872, 428564599, 749418436, 899112160, 215040675, 680769542, 835033119, 894364509, 352043481, 89579184, 364978946, 877502242, 57616047, 125941441, 473823901, 28072182, 625010806, 166919673, 377345326, 235601411, 498697863, 547131188, 173651079, 614398539, 163394960, 298274950, 406927697, 277500686, 388169396, 463304810, 667381430, 325853647, 263423079, 41877074, 332762993, 215827041, 849090249, 134814239, 872669615, 190605859, 38741645, 296461489, 769218467, 822855743, 393700240, 500735060, 622778787, 504048813, 698116077, 491234098, 262284327, 275989259, 182937082, 398837194, 26420009, 355685378, 375619786, 659621046, 938193940, 16579742, 170469597, 578837026, 267291651, 893598988, 767371158, 648096772, 126800768, 780207174, 796992582, 353372543, 144144078, 19100845, 865459833, 179035069, 682456106, 925920320, 542241707, 455408606, 558819000, 277665304, 350325713, 88771392, 350352778, 106013477, 369837696, 669610120, 392874521, 268564117, 754263694, 115818130, 820684941, 329017156, 134537866, 68327895, 940681133, 686505492, 895414835, 94525164, 268915310, 311937349, 17014674, 290419077, 764615696, 260172099, 781717090, 555540616, 132352448, 60053097, 273221321, 423394997, 965885018, 877057135, 847688404, 900320381, 520701983, 410263759, 248562765, 659455116, 870950312, 812341515, 886500337, 80411403, 9261601, 414505191, 871917451, 106722748, 922626308, 951178898, 819628579, 623127969, 88429917, 861432868, 999430329, 961092318, 808110771, 48660254, 998602555, 338467859, 868937256, 695636681, 99126389, 57836711, 259517891, 680061335, 355348249, 33918035, 156288302, 792369128, 647012904, 705599592, 848759557, 362837228, 773309862, 971806953, 55361496, 516040365, 716269326, 943378467, 196052502, 286111748, 150825812, 781761728, 642106420, 573028231, 388676359, 294158734, 301785521, 933225649, 376464057, 694242145, 388524807, 67701279, 119074096, 203660606, 734653662, 422328256, 295759139, 566144322, 218172406, 664817623, 816801123, 569035862, 423422002, 542838378, 108347605, 264019796, 960710943, 85320001, 309941916, 23775036, 385543141, 875821322, 268122458, 140855604, 776595049, 21536069, 942919648, 798330997, 691860230, 100542469, 449653670, 593377062, 546501356, 201803455, 166404738, 571135045, 480780575, 191496896, 472932173, 338006394, 181816675, 901043168, 50297307, 846507201, 868635334, 755555109, 41553500, 313093546, 316601731, 112772446, 377190987, 598546515, 154565306, 868068171, 913253762, 88101646, 191749473, 68543772, 569289416, 596817537, 412984750, 597299245, 659742206, 212250490, 529682919, 841269129, 244736040, 693599100, 650590041, 832892248, 384709455, 998366541, 306333539, 994067020, 348406836, 602186162, 382679804, 118635476, 923265441, 29739807, 820764199, 602291240, 783799923, 596011321, 7854981, 192447493, 660606399, 833846711, 932691402, 875228679, 259410491, 313054147, 542106273, 285582401, 632460212, 707188018, 684702634, 901871319, 478803860, 262446434, 705982606, 685771591, 444226930, 914028807, 478198246, 646142467, 337388088, 703128820, 202109348, 820819333, 983352158, 825585676, 478096021, 236522427, 491961486, 853781094, 220941370, 831095400, 821933478, 641375654, 848637713, 43218050, 680231526, 640347815, 770136908, 515251061, 444376836, 988788389, 725218617, 989909591, 893099281, 655981004, 988157643, 470030891, 386355079, 388799592, 618816315, 439986147, 974409417, 237127061, 136981896, 898087192, 946214870, 960236170, 559956067, 983696983, 14017377, 616262605, 701658612, 782051875, 263815257, 147968683, 527582530, 23754699, 18290441, 578138049, 314615771, 612505310, 286299711, 103297068, 646502005, 78553410, 995545341, 932332516, 835092029, 116269889, 989444999, 224674362, 53297887, 375490767, 673074206, 286784156, 768797118, 221021509, 255273663, 561319977, 68520088, 373615945, 101510082, 948575701, 813008070, 304097360, 456976298, 397986149, 386608865, 371012438, 268918258, 462119609, 641431543, 945349066, 361960720, 846459477, 547788028, 215862005, 553727807, 840758202, 632830962, 951263065, 126431026, 579524650, 103975139, 494278072, 912079502, 156896563, 119839824, 730814684, 425683284, 735842043, 991655376, 957371863, 850619332, 296913573, 338540570, 536009271, 670849761, 298205652, 941081124, 892279186, 808753248, 44442915, 217469212, 275261681, 669936817, 358215503, 610103242, 724678360, 470899924, 350106294, 840246989, 399404761, 550686241, 796284057, 10642435, 652118129, 301318809, 943793024, 995190613, 723849293, 732161923, 951956485, 167813646, 298014759, 839940250, 481316838, 949187638, 542503811, 558463864, 883517259, 662267322, 691665858, 716283039, 873848517, 279197555, 529424676, 506224753, 815598310, 449885157, 459118687, 599725191, 6191200, 23800100, 811163933, 417739679, 754373706, 793415396, 669384475, 661814473, 386398596, 263662467, 888779378, 521046211, 506143962, 947313980, 819093775, 279897956, 891054091, 991026350, 507623715, 571769355, 983862407, 436369718, 179959579, 703900501, 365129510, 597807451, 123926727, 848481220, 930265472, 465274918, 999881532, 5808405, 47870191, 742393745, 884204564, 750321426, 433056329, 148576370, 899557239, 751644863, 27818528, 58953597, 365131685, 586446646, 913504872, 868082162, 539520976, 779944085, 1270366, 547781812, 572601223, 704315692, 132513520, 440768112, 344585062, 471489835, 450357156, 386346939, 23034140, 216066, 55059470, 233357463, 551085805, 373582540, 961681729, 990110018, 811402503, 955216983, 32393349, 762446607, 687954344, 377149140, 805160217, 465502967, 485948823, 143640238, 173074295, 998123680, 331979666, 562754269, 111921936, 923352923, 51691806, 102741786, 646699166, 677728075, 410947245, 767844015, 805552161, 929432803, 984445985, 445862948, 964953811, 555484990, 934987636, 866581133, 853046304, 170701756, 71808668, 26889922, 579743045, 192213774, 720515167, 283836847, 901335241, 346839419, 785918956, 888110838, 736151045, 469124734, 708631540, 293326754, 848100719, 874704577, 373676674, 127139090, 255997613, 45617882, 289921472, 768513539, 697783496, 977511844, 625607130, 702783800, 29093651, 343355741, 566039115, 694611590, 414904785, 407275924, 369571228, 464065758, 216268347, 943229232, 995167729, 209009463, 77500884, 35331071, 603918568, 854354031, 93241630, 101876464, 17177630, 538199606, 487960501, 560377863, 466921265, 464028315, 765135396, 910874163, 130020465, 56065629, 34159988, 222825112, 234306134, 976603609, 647544492, 190972662, 845071908, 559914976, 611331402, 663264220, 595710748, 122181187, 363990935, 922845615, 225530560, 1899331, 307675992, 313618173, 963082033, 152966872, 148712798, 626619655, 90215841, 309311666, 219052531, 998312480, 192192442, 994914171, 520894916, 627336643, 926799439, 483916718, 800150434, 887710040, 443050513, 21071288, 466478519, 82482946, 371185687, 356621943, 977190050, 143144664, 202964590, 240929926, 571470609, 242060421, 614782360, 675870198, 95332220, 555255797, 222908226, 199897462, 874483447, 89895376, 694874668, 230479385, 851797471, 283022398, 62286670, 879747189, 462459327, 226849555, 343657816, 99682473, 305943463, 134764439, 477293252, 562880168, 650160993, 514534425, 908887473, 320662921, 618899512, 611356771, 750198640, 369837920, 456059997, 665873517, 905935619, 817642077, 632035280, 15722913, 421641676, 588565369, 68181179, 762107117, 29588650, 841100012, 953779027, 607016117, 662939864, 999041570, 579292575, 188820725, 109239524, 487401558, 554842400, 928098892, 164702214, 134769602, 958490325, 680975485, 987167827, 434971233, 643919730, 617384973, 529954117, 810355832, 84498133, 267753096, 844297348, 616928937, 797970810, 925449349, 822649763, 669959266, 109750296, 850974898, 903515052, 536688432, 635209469, 557374002, 695188966, 52372275, 136275488, 295134039, 392958809, 207564814, 690152682, 822949481, 862278247, 758354812, 617953946, 631151196, 169408347, 377317488, 533682421, 186753979, 177379674, 221433229, 211843638, 335221568, 199892713, 627395987, 623607637, 829320608, 370321136, 431274651, 69829304, 827471377, 367582652, 671004744, 423015538, 670615718, 910262671, 463885745, 131508076, 493531939, 113445979, 331335262, 618241091, 365534507, 807513936, 584335412, 455402211, 259103960, 961381219, 312712430, 524159152, 231080157, 503556224, 271737766, 775818687, 321468021, 284154194, 914409763, 961623747, 551462475, 588399365, 213770922, 639812997, 607734827, 448671729, 510413992, 814591366, 656234621, 762140732, 545326327, 409688080, 180401149, 261320012, 575960736, 17180945, 115786106, 676784793, 770295793, 927944461, 624608688, 626590326, 917799116, 937927263, 19008085, 126269237, 770975282, 1898997, 72381548, 742697494, 179685669, 929765766, 830301385, 811343893, 859994636, 478116122, 674118339, 964763150, 339899624, 92431306, 589396015, 229118243, 276379563, 107445805, 852636321, 15655014, 216311808, 308018396, 778537731, 371044660, 68836747, 829302589, 739608343, 174296358, 813941798, 72443986, 942567951, 459061243, 533596398, 75612699, 354207709, 788866588, 812530218, 874006285, 758525536, 978167256, 823855423, 925826757, 753531643, 81509654, 54737073, 931300917, 530787586, 825530386, 224830392, 579712197, 460828210, 165394906, 954959917, 844208504, 159893146, 39865421, 629481728, 302044352, 188786113, 100545441, 983259069, 445019048, 72583507, 527384658, 229712822, 517084626, 425964611, 679768826, 295613414, 927749225, 885990697, 223619852, 113010292, 113850205, 63406140, 207781601, 296055474, 241515720, 340371612, 813015038, 381171092, 750716556, 743470735, 857808521, 886140825, 893731731, 793143262, 871406189, 848844133, 150653307, 511135124, 910500722, 449167577, 533596935, 985104679, 181543348, 199802871, 556986340, 577291053, 112162692, 793314752, 838218527, 747533164, 5333992, 249803012, 572068900, 671553717, 982087660, 796508117, 685773675, 666966452, 932564944, 229161709, 357864198, 21321275, 118502644, 373029706, 915047335, 447407233, 588024887, 667834869, 617282005, 924435749, 712872873, 234233466, 235898970, 328169158, 846124830, 364419323, 680944622, 620771690, 604926369, 957610254, 598170706, 580125677, 734933690, 532713928, 645231154, 462331885, 877059034, 479046320, 654644822, 219260388, 639836955, 31882715, 640827155, 638892853, 399187650, 535426485, 278570644, 820078773, 321592387, 362044670, 305849417, 353609525, 15319378, 795903873, 76688854, 403496952, 112949786, 750506865, 350663021, 150433327, 173648662, 744082450, 780497662, 522256098, 813620801, 328776683, 369517452, 954826250, 302429898, 273438604, 827909736, 742866036, 934953005, 281544349, 282435875, 582530849, 247302889, 394170310, 786975403, 227231275, 10152197, 120106810, 987324752, 433745478, 313000661, 58901946, 450487158, 471706607, 631030286, 704313869, 611135257, 910349470, 64829392, 878503026, 594040458, 438917641, 955554284, 671987920, 989876331, 50305605, 509927817, 356843639, 810252777, 323249135, 779336984, 814423783, 219976005, 478103261, 608614439, 61095457, 742021207, 214664106, 629621942, 62925925, 21371819, 247527613, 607585692, 710436961, 315788175, 533411582, 453119914, 837428873, 226108604, 723744959, 380462637, 365538497, 557894531, 141732318, 704057950, 218702289, 851711203, 787327094, 978356712, 931184573, 11109078, 924553911, 55494171, 348151955, 366999171, 756206737, 104618440, 382394896, 596446727, 177526505, 956582510, 251261835, 450371558, 95182621, 321922528, 58198655, 336789970, 950396190, 679879451, 471739117, 550434889, 524394459, 5143325, 15222932, 458842734, 238416881, 868127101, 48922031, 950870040, 943390634, 992342609, 732921623, 598013149, 707656462, 576202578, 444405596, 796678788, 125121664, 891457862, 956614824, 372549814, 207578156, 817985818, 273643303, 866149915, 157703695, 805566516, 666784191, 46200773, 348713598, 818886796, 764395543, 890422996, 430252390, 475491056, 448496062, 603064072, 324746892, 124076557, 302134933, 575959892, 715526470, 773679849, 18843569, 380487322, 495899050, 834949505, 964795391, 503746179, 453094826, 923435193, 134435491, 899879877, 862055071, 986936161, 1700466, 945117480, 319329084, 702951133, 239732341, 209960305, 164839609, 49651414, 554292287, 904645126, 602310820, 701105539, 463309808, 965231548, 190080259, 508236267, 923558534, 820199636, 543071209, 268328027, 392375626, 264581443, 771601162, 842828001, 317250576, 60905044, 746085161, 437345733, 850262718, 567743910, 542828224, 611594627, 794407588, 675655380, 806435959, 627945020, 70370017, 981571493, 596267349, 999097454, 762201356, 286466125, 895301394, 413430918, 941870788, 343970553, 839468935, 23040746, 559176580, 864669484, 988427686, 535016843, 994027101, 844925821, 645245880, 520621, 332388549, 214067007, 847495774, 435292831, 901655844, 311730917, 485294379, 286410259, 362333597, 377216290, 648841480, 750373410, 723030233, 185508563, 333931369, 753607791, 453761884, 387108618, 310119981, 462610569, 824948434, 523493383, 326228008, 272979704, 959577515, 388962926, 809370010, 18936626, 552946905, 876418726, 33106714, 169001924, 573156267, 115959246, 304853204, 341831054, 68141571, 977539990, 377162576, 597779117, 308881646, 748364128, 604701985, 654283864, 708101103, 393401362, 787303600, 422558106, 423121617, 348198706, 449906116, 171521005, 620778569, 864808609, 123841230, 437760996, 765458637, 473600749, 554341635, 660903547, 973768423, 411688924, 41318361, 519454553, 439662285, 593990252, 565137979, 968020528, 116187601, 773198993, 205559426, 531768927, 962719561, 720867787, 607386950, 670263385, 922772344, 92380407, 855484416, 216657302, 165666152, 589368824, 226538616, 950309722, 592682144, 131479279, 166422204, 792180020, 483584394, 39703960, 932368348, 977637777, 710023981, 376163419, 562799725, 225696533, 832157836, 900320382, 111811187, 947838133, 488371908, 78442480, 888424406, 738298453, 573774754, 20471423, 41982574, 863790143, 717755129, 103971057, 417648623, 56190241, 282572603, 797153130, 885039545, 505609944, 925503848, 168097689, 764004428, 204035859, 53216703, 445456363, 455847527, 460503188, 287729990, 658766976, 825335316, 502302423, 421265518, 261793887, 578081409, 611393953, 425440146, 174510495, 657228694, 502825837, 429682938, 815123456, 3777105, 198010860, 736857019, 409565896, 145702886, 345173156, 920150802, 791768588, 386666502, 340394539, 479690619, 927307619, 517096364, 415198967, 789534420, 474211726, 871612582, 407185566, 636026010, 939293427, 964521298, 551294395, 262402771, 471479511, 777048161, 743794049, 122444026, 618192482, 725380920, 892573129, 341695205, 408698305, 893078617, 708943881, 300444567, 463316455, 212217358, 621703852, 171548576, 786390291, 877823145, 448076392, 698599211, 421639164, 470836367, 957720771, 243507758, 135395130, 461692730, 93720654, 427750659, 855497388, 233927045, 729712133, 870307014, 711452372, 774211471, 839158616, 130022777, 418396049, 688397064, 755402427, 174834928, 111864159, 367279897, 319105994, 294768384, 951765791, 319939480, 93392108, 917879245, 236889983, 967323830, 46148848, 819301439, 919912248, 374675605, 891374955, 261500842, 284303318, 822851186, 657412322, 313966608, 180537562, 692589739, 116641898, 200706363, 665602149, 697809327, 278359498, 229866470, 561404560, 206263441, 70349945, 479761562, 445826331, 106685987, 656392092, 746872318, 590706984, 951305528, 750841949, 954800193, 900110579, 852848122, 649901296, 103045101, 948662290, 733183421, 427119491, 133144484, 710301732, 314691698, 38787086, 661111587, 184831619, 379821239, 359238084, 567289726, 980868844, 699792828, 928126361, 798436403, 420871361, 352953291, 208728306, 743726282, 793305447, 254531123, 668077015, 602598669, 929338696, 440460527, 219459619, 101214350, 982911621, 311709330, 382218476, 899760953, 80235054, 306185301, 523875255, 450528936, 369600613, 222716579, 893017731, 294054039, 779730200, 779785912, 178339149, 395909379, 95483879, 76581195, 152204780, 265727609, 668044464, 767364659, 949818872, 338588562, 114040903, 804263760, 495727103, 202262376, 153966341, 316523048, 14128496, 817658384, 361974127, 348722407, 618745671, 930452116, 411049855, 645649999, 214898062, 974722390, 97312192, 381847751, 418969979, 792810583, 209858871, 210800680, 183688723, 233612275, 648460376, 306531795, 282338604, 44663361, 992847410, 845606363, 885074014, 693413274, 634176380, 758681747, 922117863, 687663259, 422707219, 626969457, 121142110, 183545527, 45513744, 484777911, 704554506, 832281788, 46815579, 274671364, 811755316, 749294705, 59272053, 354505810, 655813287, 247774232, 771261703, 674051691, 291072044, 392925053, 979435366, 653226019, 590483903, 842730262, 905775290, 186648615, 713178873, 888692454, 58965952, 767490654, 294295763, 131412945, 167915050, 879801550, 469734273, 360297814, 386429202, 333759511, 446616090, 741384161, 894224617, 674628316, 539215487, 934696656, 399991882, 577761259, 623075258, 881959389, 198900586, 73964919, 444563175, 514892909, 756361974, 990320775, 401029303, 486084798, 323624611, 696644149, 1630816, 173494980, 933724757, 721275583, 335461467, 558158072, 656387434, 405053772, 455376631, 533729909, 798389733, 116507153, 124677395, 208540733, 86569959, 56794934, 820395766, 87805668, 994087091, 68685726, 138053432, 499051397, 967004957, 436825984, 203692198, 323227740, 66299120, 923131164, 346177061, 579221814, 32290823, 875363688, 855676909, 774109249, 407490151, 783399532, 251669716, 851087654, 570491749, 53685156, 221357699, 361384968, 695103440, 750730518, 86345657, 928788544, 942975986, 849797462, 141125611, 877791152, 217309964, 598862450, 404837290, 186130982, 186012383, 549250524, 174329908, 375271018, 631899373, 516348574, 967190381, 281002516, 767887885, 190411305, 908281299, 839387679, 575046906, 627385041, 194105948, 478329601, 330378977, 584224409, 127309295, 583471462, 839945955, 1929199, 327544413, 528012491, 481201506, 822802702, 487184839, 122961469, 830064489, 501553630, 601888444, 844069464, 38687695, 533649063, 717508252, 444543780, 365064824, 73492899, 966465792, 572806409, 162544771, 213869134, 578076901, 267384494, 935231506, 194620775, 598005102, 113006727, 892535626, 846857662, 415635558, 200566144, 986826128, 4927514, 630371713, 571867444, 971706542, 94581090, 125407793, 400233985, 346387297, 971666648, 649089746, 344315006, 517916810, 775438399, 821294269, 971087308, 689806188, 24190064, 2224089, 882101754, 834050297, 711755386, 924549429, 411237952, 247572026, 320149262, 908402874, 523304165, 717842924, 699437846, 339414518, 294081794, 374293426, 587836417, 852421444, 104715413, 42656166, 455033024, 665765315, 516065927, 857301522, 177089727, 995246433, 957744382, 162705743, 266525918, 699172717, 558298577, 441980152, 977550437, 696382838, 703198979, 265167968, 786703319, 574401663, 85663264, 946838130, 14093035, 561488691, 37245348, 476829589, 585247598, 720480997, 631547167, 626456981, 645640025, 99475796, 242053558, 96808070, 968376863, 223199890, 705924048, 747528320, 121067311, 734313370, 333093830, 63988265, 922716927, 438036966, 254199705, 120785448, 209003082, 737688011, 428790160, 975859778, 658803707, 926592624, 846454096, 333018009, 784977759, 812909298, 173614319, 974001799, 685527004, 669172966, 515504391, 300427276, 624278534, 533712081, 88811058, 670028565, 992950400, 646691294, 618403128, 131540766, 566557942, 735076899, 883395861, 744552275, 753879524, 318109164, 490253411, 27789667, 828987512, 989321335, 528009202, 989443716, 322988901, 100479585, 812163170, 171238298, 729119724, 464273589, 902414300, 797694481, 185832445, 802432623, 271498289, 470775199, 333887660, 508511769, 421455949, 386467148, 836857662, 256894223, 730300543, 19713606, 69776685, 664525859, 7509193, 293211594, 848946476, 647664766, 55069264, 510112767, 613028925, 866618179, 770143637, 166357351, 521261126, 894337609, 32102460, 171839318, 384218452, 467000024, 98857989, 97340698, 596110598, 24601430, 317693115, 355767332, 800441614, 63907938, 657738167, 765695644, 447361262, 995197096, 47165889, 176656624, 552606540, 428345135, 631297570, 142542760, 542851587, 406802552, 84336613, 142804440, 360139471, 861258340, 421955539, 210150299, 740880599, 664482857, 468428256, 478917331, 458074185, 182048678, 499959564, 660678161, 434560839, 611958247, 290104386, 596514958, 696456244, 760754520, 642735590, 966213021, 701083880, 825372238, 851764506, 881466726, 912067851, 746145776, 894541542, 637114127, 587293428, 539146405, 530739312, 467492831, 514091159, 308372542, 65218997, 879926167, 720036015, 765131196, 333701723, 671831513, 848906595, 125182822, 941415399, 802574798, 950184162, 648177482, 753589665, 430041768, 111360182, 616540429, 696456290, 68689674, 803174821, 874179951, 136151209, 170120492, 751093839, 470201993, 834848141, 369453128, 42127935, 188982014, 737160084, 996907839, 883207796, 585404944, 837323082, 812633059, 867577768, 143955937, 98821652, 474270782, 24571255, 608883645, 806322099, 170156828, 978114810, 446249446, 310000484, 69444733, 29469981, 486716008, 859359800, 968727258, 350169344, 675447564, 952367847, 400385543, 452816821, 418710391, 75254448, 461776726, 520260242, 933667891, 182124568, 119586669, 445385275, 849917136, 373470397, 466555416, 502913946, 382352226, 330971290, 213662990, 833165785, 374786905, 695470248, 880274717, 302690968, 385783803, 750385830, 614485054, 45238907, 50499730, 595329701, 566817151, 655091557, 721259266, 120846810, 497094639, 951551107, 761234889, 793622796, 334003117, 877522287, 979732548, 54092317, 803451685, 307468151, 526743070, 637194872, 709217322, 510077312, 110490879, 272836022, 870487408, 779823020, 325295677, 138942328, 180491606, 273086868, 281318294, 425019024, 476659573, 656201294, 608818870, 300720150, 902424858, 269460387, 345876410, 191831889, 901317593, 915180349, 950516215, 408760370, 572962296, 315015698, 27000931, 420629276, 542260801, 27217942, 721716086, 795496716, 620188587, 178344574, 155161299, 317729608, 509956389, 247420494, 405682817, 637062670, 179418006, 476530401, 767654289, 913916355, 737289205, 838932854, 282957610, 854545212, 708609066, 131350250, 238600207, 377270196, 881186755, 411907107, 69053538, 315737257, 442262925, 531031799, 240582486, 588660654, 313834535, 935248501, 552560507, 612759010, 257137003, 481204729, 520289471, 333499936, 423222586, 925266223, 921849938, 516881408, 672868956, 518137880, 652096186, 774569812, 413652575, 374226841, 33829616, 157577515, 98518037, 598006221, 594543787, 610464598, 789886441, 876361416, 87691867, 592502222, 118184037, 677423214, 734546555, 63966489, 338404155, 67990538, 713116553, 604093948, 479562654, 625428572, 956228036, 548334757, 917769282, 820145485, 125409222, 669902754, 567905896, 407451134, 540198170, 60608228, 513597763, 3990368, 658966625, 157874311, 165462279, 458684714, 212215964, 752116846, 382969229, 242821121, 647532315, 686814958, 238168607, 331145913, 578284713, 212635695, 476252006, 967564337, 626537052, 726404201, 592479661, 959754625, 966149617, 433248666, 159068000, 650385540, 243544623, 209853154, 757961956, 718778225, 518397670, 280776188, 369740498, 746242622, 656937142, 618294403, 205323073, 158562104, 668623337, 645021498, 442770821, 129824081, 717373895, 978955281, 933659288, 469322485, 839782386, 503925752, 847294793, 520903595, 421766906, 46506436, 413528375, 376179162, 51054067, 252686770, 259847110, 969680781, 310022165, 585149612, 996501649, 109896899, 429333607, 67882822, 383628744, 177226155, 850995202, 217673468, 818844753, 994588425, 946984427, 742359897, 927693349, 948729890, 634696087, 276101150, 519845117, 929343310, 715153423, 156439934, 259839509, 41623955, 446538872, 412246343, 48245080, 777532696, 552056777, 634718078, 106493313, 334730789, 541457278, 604019252, 971586857, 489624403, 4165684, 252531205, 235916683, 367305207, 273751487, 709586425, 69902471, 615249714, 141842473, 732630733, 332720151, 896347021, 39399753, 227020720, 133983653, 378600926, 361598911, 692212666, 247498494, 322784287, 904896891, 386663680, 502252789, 649609396, 164880972, 301639636, 925268327, 801503667, 810170305, 477573147, 10835075, 171756416, 846608189, 141008250, 840494701, 539453879, 216620320, 650334954, 518065289, 219655713, 411298621, 543719339, 659972927, 717589477, 725537405, 162265365, 409062326, 770862713, 292247675, 916468172, 997234167, 417031582, 841320600, 152604339, 627834166, 158171729, 799500805, 894296255, 814302675, 411923476, 146714384, 652189531, 812361725, 704081296, 859334327, 686567648, 768785804, 968072527, 223571609, 930272164, 605388223, 706619672, 339045336, 830527582, 271366422, 724118514, 557414586, 383658586, 834251470, 506033980, 1025673, 51953971, 907656736, 955958023, 53727864, 380183149, 451111037, 65505275, 620147878, 860954184, 955465074, 40856653, 179831742, 820366762, 193366158, 926774230, 506452708, 782592321, 181688826, 61956843, 585542768, 989140076, 585194317, 699505129, 902517268, 877327545, 224300699, 795990788, 128780957, 690704954, 243248715, 24027981, 42125983, 173262607, 765352580, 623385634, 804022038, 324886911, 519225360, 486432031, 249560745, 777254502, 92789408, 608404656, 474816124, 289833894, 735104857, 122318124, 58815783, 586591656, 68685268, 236238846, 663492212, 654836852, 406982729, 311892550, 293538829, 367853708, 401626615, 383842327, 270745820, 514320980, 130723642, 757587234, 469562567, 529701084, 323746497, 198854221, 325053598, 975688779, 290798316, 937701919, 27250273, 595264884, 280545016, 807815765, 140492161, 212990504, 921591451, 66507885, 595258211, 678490768, 640098909, 976703229, 560013815, 800384450, 797159400, 590472480, 522624846, 191222825, 503740072, 377438920, 994869624, 376821847, 925724614, 712419329, 771143989, 758521610, 148053032, 112603195, 872515332, 51432439, 487886963, 503424098, 453311076, 229483605, 160030244, 439350970, 830697395, 156205540, 598053041, 949223218, 483994796, 747720191, 776824352, 841131602, 956766558, 997895245, 931977494, 674052148, 922112901, 617633161, 826703140, 187496418, 383012139, 880343239, 478103117, 681925334, 272146321, 531013896, 288791874, 181984756, 705784139, 455539991, 760508806, 467082701, 200018893, 621377909, 201853397, 719889497, 927559139, 676176173, 173084644, 385433856, 857390188, 294030726, 77050650, 560765398, 793504428, 997439510, 571275030, 460222632, 621318985, 694562416, 814191204, 834062348, 891855350, 28888349, 604643770, 689392874, 666300948, 886642702, 420532994, 582339669, 269200991, 131394711, 645171921, 624979718, 539646059, 664533561, 107646768, 414913526, 700746742, 548957062, 475637521, 760350770, 556430452, 112720757, 653018101, 63870510, 349523314, 550024499, 38246413, 584063647, 793585124, 904285335, 393452181, 596250598, 893368193, 806890567, 524526231, 343421523, 865132820, 476441923, 597416297, 831546186, 375744260, 84520892, 352488570, 487315900, 441012782, 943356799, 883953790, 811669128, 834377846, 566059672, 44448261, 636300148, 283832145, 451644517, 243532492, 398003770, 272024703, 74412261, 181951440, 386427667, 785590551, 682128710, 253259341, 769063876, 962038468, 278616308, 165212080, 401325087, 51932078, 227241392, 403467789, 831223374, 287676951, 561443160, 541266100, 192177788, 22197909, 894052000, 902362022, 33343891, 185474279, 250815292, 212686094, 318593523, 95565169, 596134177, 489246586, 184927530, 288641896, 807536458, 834334227, 270679922, 925284838, 256256702, 298853283, 830072836, 951429310, 445966043, 602883147, 681822723, 517167449, 204471161, 836415331, 226178421, 656753525, 955085972, 872963810, 905985131, 417244117, 711587876, 472152421, 896814355, 405986642, 803209169, 250779791, 866060203, 213873102, 376401684, 510666059, 517139263, 659994709, 699958483, 921370813, 494341401, 196986202, 228720935, 875585027, 833084415, 442933882, 230912650, 224599637, 632957965, 726988564, 5129251, 514666700, 694923768, 249593038, 252698695, 412984676, 876749843, 436007089, 259790647, 912923023, 418072909, 54092593, 952696450, 4093249, 932636824, 531319247, 727437512, 145417235, 639427078, 502211238, 219238738, 852135274, 887612478, 363869427, 172421287, 861047337, 148511968, 970678454, 239063670, 147415806, 956595636, 573594352, 653016333, 985891529, 603162507, 691159057, 67253622, 374050050, 949551335, 58461223, 158215725, 868073888, 6123416, 194576786, 369364712, 105218442, 427368972, 391983497, 991154000, 308950669, 926737752, 30591868, 893899170, 465739044, 279365644, 264608320, 73196415, 476034460, 377209669, 466387273, 837379251, 999390512, 481241955, 663095302, 266032223, 624694343, 757317928, 550326231, 642480963, 153110910, 99084974, 241129366, 267018300, 684465111, 904444743, 817653392, 29902568, 167165972, 783458717, 44358892, 988306968, 128566604, 271737113, 103365836, 810008632, 390691305, 419690782, 723598320, 408824433, 366745541, 396131048, 186580126, 103859473, 948742941, 276381471, 217734557, 432345555, 788534304, 418022188, 65938391, 62507115, 580152545, 329164335, 929931225, 826250320, 669862988, 278107410, 402930978, 164273890, 20267172, 17830212, 303443158, 314024433, 856224566, 24854678, 536720075, 984662062, 416678727, 873626962, 78539677, 578525071, 233095810, 988575242, 640032527, 339611088, 357093230, 584475928, 536457314, 765743599, 881037940, 328903241, 399766391, 937346798, 494262504, 691466322, 842635131, 319411424, 74434168, 323933753, 979207852, 347726613, 636072111, 590136132, 917777577, 637347868, 370033582, 216823962, 242777096, 905362485, 844601835, 968119744, 7393417, 87477906, 684086724, 343853592, 133129577, 34532171, 672145991, 507798188, 795975960, 18520028, 913446, 296169140, 548848618, 97725625, 507885779, 322897539, 887489920, 965730275, 629815101, 535079532, 774851980, 625128804, 913569269, 479955537, 564952771, 918031886, 669646680, 439139419, 590888085, 847992276, 17073461, 590241955, 776827393, 616008727, 890158734, 768408234, 492695272, 705368883, 99567429, 474592425, 25484217, 905408011, 981752072, 818008230, 698925430, 944743378, 523005660, 713698641, 781553717, 170529062, 504895183, 282315674, 761234636, 665990786, 441595349, 85316116, 516394502, 942127173, 500174139, 880818586, 330999438, 302321855, 621994411, 245578233, 34661560, 657654041, 459539218, 949893245, 755629439, 211246350, 703758166, 822297495, 127012232, 387644759, 43141801, 84347326, 340259373, 506353748, 248183777, 970992547, 219506188, 27686136, 976811760, 479514071, 384916730, 760544994, 579232096, 108424484, 452449238, 604541551, 89910631, 459377386, 571903325, 380246198, 169218267, 70157176, 796201733, 870686438, 308965320, 47441771, 960848917, 394767946, 746726934, 88918340, 142975193, 928617091, 951651580, 331605400, 513490109, 84323360, 594992353, 209691952, 239495069, 952594830, 651897205, 933992566, 883176638, 210949125, 236841037, 529218849, 744012789, 585776709, 116132599, 991122836, 781148336, 586926633, 367106478, 407298099, 201265116, 486222773, 160117989, 321792960, 547474219, 50953654, 807294004, 102034204, 538294353, 80420618, 786430141, 931802657, 506606741, 389901400, 877410509, 156010002, 747774454, 931852530, 742752954, 191221866, 780654060, 307070029, 48915755, 53420449, 524481177, 687212784, 252193036, 162644939, 12333845, 452533673, 489563903, 232157171, 178752554, 756490776, 26503460, 673969442, 73610007, 771059884, 269732236, 408349131, 262652090, 848393369, 471043740, 60328391, 904411625, 528540870, 780243686, 583471765, 161611312, 720465522, 703335871, 154308453, 163593815, 706027797, 754850629, 612820027, 427018025, 979316857, 854431354, 331626624, 260140030, 764656751, 111763114, 360937347, 717382999, 372978852, 822758503, 346827521, 617613760, 715054131, 463317291, 386895596, 541723308, 200652164, 312905209, 384144765, 252378708, 398814641, 95233239, 893720934, 104056294, 939494755, 318882907, 969197253, 940818002, 941915296, 759490135, 718093304, 939516956, 356208945, 289340287, 843111900, 444132462, 537021128, 635200778, 665373953, 742143500, 950776687, 264183310, 809567030, 544084092, 894557171, 284095152, 417742436, 926323590, 118119176, 713172973, 182051918, 814539483, 740735596, 536629351, 472607702, 917112971, 725613983, 143493840, 168666286, 841496988, 191870434, 50964559, 244636535, 308930374, 337954955, 528213695, 81053091, 663168518, 580097867, 9116941, 5860899, 232968106, 117493030, 977306796, 225932678, 62189810, 742963369, 432225776, 814480557, 22680227, 444880643, 965748866, 304415572, 662028792, 699108294, 561549956, 730315799, 608139463, 3350769, 796068672, 55358997, 613515447, 380334638, 858226128, 6544070, 306547402, 843313757, 363146021, 768537708, 527868489, 510026753, 373575906, 408294363, 120241252, 930421126, 224540557, 767297466, 298884355, 45175728, 340641559, 998390802, 881181245, 791935268, 609083518, 615954760, 253097424, 393686382, 233341004, 704684740, 832558710, 888253235, 326084124, 872212131, 301337211, 483059537, 228033176, 924400833, 601452421, 161011100, 856627353, 331659176, 912405064, 231932866, 609204592, 602046734, 277452868, 929946450, 913068495, 115513665, 282075717, 942910583, 821972054, 902059086, 761683720, 427132506, 385571539, 902052579, 909193183, 285195469, 411303746, 774831216, 121839911, 998474188, 804807630, 650065883, 51458718, 36237604, 813211209, 503851408, 246785313, 314838654, 348541171, 175781559, 305579161, 49076453, 351288811, 677631670, 276160006, 776200026, 14085120, 558552438, 220225095, 326012076, 189230606, 312244355, 492758924, 249201542, 679903786, 513072759, 826208951, 300284075, 91276650, 287180023, 620294362, 482073490, 176299410, 672379870, 257602562, 82769896, 545467584, 534710834, 72276789, 962676020, 886325832, 646767619, 965726070, 865967383, 303369151, 288868556, 267485360, 615787937, 630589516, 392367868, 768648206, 523416530, 266352713, 303907266, 455068730, 153512368, 371179400, 396340616, 946949721, 904217598, 465714206, 683667337, 576934298, 209894008, 612746173, 949102849, 962177919, 749041651, 158321309, 452463067, 571024010, 333821818, 621848717, 630508075, 333435606, 378553735, 281609625, 644004268, 965211096, 556812155, 654971064, 243341278, 748913019, 778136890, 393099239, 606609173, 266681375, 86875005, 828086707, 14982069, 400055182, 167991789, 299780034, 699072799, 549656718, 114696552, 347378474, 379984639, 9314131, 767869021, 35518261, 270350738, 124381228, 528953026, 385585716, 569140172, 91032660, 101149209, 227975906, 923773844, 480961771, 163528670, 243347798, 924109092, 226741567, 80931372, 393596378, 676921804, 988153970, 395557485, 37517985, 141466323, 814769433, 390362796, 585620521, 721098478, 295407064, 648825614, 466588719, 574850523, 859178323, 15099320, 497420138, 30539679, 381604044, 368509716, 190149135, 963595691, 530915081, 695033168, 600954731, 873595817, 32624925, 15240021, 271732553, 869079497, 607507781, 528059096, 855216121, 524217343, 490265106, 759000672, 196469859, 167637712, 862196174, 773277749, 612276490, 417521990, 735957213, 240755826, 129870932, 459540008, 939268470, 117580757, 239824570, 166831451, 390516482, 775663518, 698009423, 182517531, 209377018, 204260333, 216135964, 389364787, 217962214, 588177415, 338624611, 449055336, 618668681, 988277938, 776022993, 133456038, 715885420, 682593923, 904392704, 485576540, 244654910, 219380681, 426137124, 119721669, 432132363, 495911682, 856180951, 63306070, 71650843, 410104287, 813481702, 18104916, 795196911, 725565934, 23440754, 224973260, 389574865, 883508980, 775657025, 839080836, 84532464, 322158318, 662769689, 958474346, 948494877, 440187987, 603739407, 132868841, 107686206, 980170880, 252505971, 871803698, 47394237, 872432536, 629463749, 358987386, 835432865, 299981964, 230681973, 277789200, 815791694, 514597641, 188970646, 932064765, 625055761, 403011935, 419298345, 764872705, 482585497, 997280487, 125017410, 133803287, 545719026, 391100226, 891491596, 806030254, 166924879, 690945515, 933649217, 415282265, 341524794, 906488225, 194556773, 788364839, 477950616, 445146369, 811572657, 382742120, 461021805, 446584161, 784586466, 62263700, 429608716, 125014841, 818232312, 945523442, 133760629, 156821641, 544914998, 855268738, 434814711, 172776446, 469018423, 731322316, 203762616, 604868578, 841897402, 987890189, 154313471, 158266953, 500671470, 602934282, 695946181, 312691305, 262935225, 933558858, 813131182, 959169624, 317726581, 862076514, 397741552, 491751574, 521922789, 80844743, 171288149, 571461689, 937816906, 929906338, 504580403, 238212217, 752868181, 28267754, 476692770, 729373757, 566776327, 929538040, 73466210, 143370771, 40197073, 579953614, 518703246, 229619891, 217592629, 160063910, 335503413, 957186406, 906163202, 912109468, 934850843, 591394334, 711731800, 422638398, 294887292, 261407830, 25770504, 933215964, 17034738, 112120812, 139970504, 260383721, 824018580, 598510668, 395271094, 311282178, 278761071, 772930110, 226145405, 674147182, 310864717, 47696476, 977832781, 403119777, 172564449, 957206357, 299231512, 147850392, 326974428, 258693073, 983739844, 655112777, 549237421, 845587551, 207755202, 353295693, 568644458, 269620743, 450986054, 471030732, 237342990, 570927206, 188297329, 998845113, 462829280, 674769712, 197812035, 199398915, 659756896, 993202104, 59867172, 618082524, 265256146, 875852047, 340956501, 816357547, 271326888, 268361825, 275974315, 935982820, 963271635, 491663286, 913879392, 552413013, 719871006, 288228888, 806083542, 867900198, 989894194, 438017792, 411176100, 881445639, 362786966, 542480508, 988544208, 276435714, 513964684, 784636818, 618430658, 800321258, 322629812, 659350385, 935688220, 398465948, 768525763, 71512936, 973370164, 141504661, 35934447, 435750642, 143757542, 899983244, 506809748, 637877065, 260459416, 946691962, 324275142, 376100833, 768471126, 975956669, 472602717, 58034694, 888958585, 563044959, 632886048, 494247444, 598958625, 504077583, 315565189, 536349883, 522499619, 387726978, 773002453, 377110431, 172733876, 496861460, 230290623, 138668213, 55456024, 626582672, 880512541, 433369383, 110911733, 589198556, 465893293, 800177846, 707296692, 479493860, 745671664, 423452086, 993776713, 703749304, 279234617, 874864491, 227829526, 834066289, 356810285, 374873446, 538543806, 544989284, 225066908, 209629704, 205157916, 261900240, 420346336, 868759008, 645959237, 312559028, 729315093, 590161752, 395924088, 798120741, 781969727, 743568805, 85366153, 704959809, 87072857, 882015183, 199456406, 603106370, 444620548, 829390737, 272223243, 384478902, 214225918, 682211524, 47444514, 538712149, 386037419, 461204080, 417084807, 444003809, 233279562, 696287500, 420870498, 637990389, 455507806, 234395117, 472986098, 634552269, 629944765, 741919348, 199524134, 904114998, 286498023, 564860296, 448942677, 559148852, 193081281, 153515013, 724779041, 483565899, 10328572, 922535325, 88386900, 83646870, 760872551, 865150776, 77918858, 782790045, 133557949, 589564924, 282986336, 875041972, 641390551, 644806783, 506219844, 504013688, 321868075, 444766241, 37575313, 582046201, 113738564, 488561147, 721048752, 955267220, 343123976, 101526114, 333323362, 745942001, 183350148, 820298392, 147766290, 54777591, 10051664, 645210847, 527550978, 128731372, 289219583, 314034558, 857403647, 843512083, 52095663, 325331386, 389368174, 36253824, 639286433, 927303412, 602582028, 16589128, 869411964, 52097450, 672606282, 354030192, 550873426, 816789845, 478273282, 742482648, 765840289, 559023800, 672328764, 224969843, 598492965, 140599922, 575622543, 642100349, 21450645, 329085248, 359847861, 264335375, 108714342, 170119478, 159174664, 338427285, 348031946, 459852759, 922159349, 904963993, 322139240, 859124485, 579867701, 995071735, 820829777, 485572559, 116878661, 845145558, 939173729, 970021997, 374638883, 629573861, 259448427, 451642437, 282231034, 945822398, 621177116, 506535733, 884246571, 560492572, 975273971, 230861593, 599639838, 724488535, 879692113, 954248748, 166962575, 40021930, 827451223, 124735927, 536546100, 116681688, 447564763, 791991586, 995497799, 181093725, 443535049, 238677444, 181056237, 477428963, 34805598, 13518578, 614446061, 732364015, 479493537, 200252875, 478855218, 221814663, 107326332, 315346677, 42604257, 314280829, 359511189, 737262092, 994102613, 54225434, 112215037, 740303937, 691434526, 599560605, 448612078, 921877662, 823654244, 157301368, 681455779, 390261043, 214075983, 806641357, 372628245, 435170865, 267245232, 217560185, 678764099, 968082853, 895692979, 68229223, 393881627, 57670467, 836801508, 19233248, 516826405, 611725763, 762078581, 196023575, 962293469, 610866505, 237686127, 591573474, 586734003, 885633706, 829453046, 564056423, 71748438, 87529939, 37051445, 631644660, 462498448, 860688858, 328649577, 457494676, 742463168, 700098166, 237036500, 774373800, 764757440, 924912070, 8483965, 917703968, 918190064, 767530562, 620036357, 80418206, 252609182, 428402000, 712717923, 522761221, 51485687, 526624362, 311328275, 961051559, 510601343, 364812846, 457140635, 125039580, 680289848, 914481401, 108049443, 829901267, 786593468, 890891492, 913800145, 722260137, 345320844, 573407601, 644733672, 376296450, 801337913, 518837266, 741324150, 591757942, 748380387, 968638394, 342667948, 707052813, 66277492, 810787835, 232675741, 731975844, 771909712, 199334789, 73653347, 229610546, 250797288, 37394524, 349401359, 355081326, 779825160, 430732768, 136603958, 67864127, 551305189, 764990571, 685007572, 457754634, 402662457, 977139476, 781017710, 744460214, 328584451, 127915711, 912148147, 875806270, 929906451, 968608463, 923325180, 367913861, 712749796, 657908089, 836069784, 177850052, 271536228, 634141505, 189220549, 239569387, 417224986, 158088143, 761281181, 285258012, 119382454, 683056794, 488856030, 732699179, 832892445, 512267265, 127439938, 996447091, 228120269, 847372941, 936349052, 75813075, 27509980, 120957681, 608469719, 714658054, 732734224, 307016006, 142629170, 697850330, 692019139, 987740468, 423488521, 736447955, 337753773, 156264841, 371978040, 852879176, 125047119, 657789063, 909797023, 903648738, 585262853, 299963516, 824351381, 602835133, 873022215, 390009858, 389108956, 983842662, 339544599, 141556682, 894508561, 547695475, 168672460, 984716818, 620235300, 185965332, 73505121, 767695673, 23229391, 863498932, 579429055, 518878000, 124895558, 8556113, 921703861, 629208752, 145600078, 118177624, 19498732, 87035446, 821789239, 642128666, 870898009, 666324710, 905625377, 355086872, 222802374, 830535511, 592679327, 677539412, 851698169, 846867494, 171513433, 59517458, 323959793, 85816510, 310660119, 483384168, 214410694, 448482426, 177326929, 571891917, 137075735, 4526622, 214093293, 505000114, 188541647, 719521612, 629963048, 352776000, 662536291, 651644161, 278440066, 613542035, 141319544, 290535241, 984002429, 966547056, 45880792, 856872794, 79212422, 609197026, 888973798, 599366719, 735887908, 505177222, 247377837, 737898076, 95119461, 907245868, 52066687, 732246077, 537702247, 789480369, 107786795, 721835408, 250262872, 140645045, 904073716, 83430946, 506804731, 648567447, 352818683, 807910997, 107394477, 90580203, 974916077, 488155297, 781124096, 402002127, 646453658, 640459359, 809019914, 789087951, 314709867, 722856258, 376429802, 131493662, 579330052, 805802964, 271867927, 788962663, 499702164, 745081050, 217155421, 301514984, 407643980, 360306444, 508749777, 497849562, 704603559, 245955726, 183837080, 712727297, 42728378, 291442862, 462827001, 275346639, 487763114, 80727652, 615661172, 656566874, 186479460, 941390070, 123481440, 893377006, 879446412, 912782049, 15322620, 264159504, 87894101, 567281214, 749448933, 959208558, 312540034, 419475990, 438736403, 140697484, 572455331, 28441382, 973734921, 673212334, 620333843, 494782325, 399286036, 427514124, 602351805, 949494444, 132662528, 120093341, 726193106, 167260089, 206963021, 454626025, 218641574, 809597091, 630219379, 136893067, 246113111, 921456660, 407597714, 591959260, 180696540, 898172876, 160886438, 541618061, 3824093, 734091760, 752682934, 388094294, 592958212, 846793386, 902672067, 190679188, 112405118, 793598482, 699557704, 266956383, 678658284, 562277633, 77910004, 636719323, 23813318, 197988126, 678729023, 140608014, 272372199, 643402065, 987901343, 793504561, 469159254, 93148206, 935722212, 813270754, 131135959, 327369338, 190149719, 714072196, 409376590, 493895805, 564110504, 661917897, 268365666, 300934700, 427268822, 446534582, 292921527, 124366777, 111034075, 889884424, 57354183, 585995420, 419164115, 910801501, 207565218, 162913441, 480380202, 978440183, 642134790, 715715850, 976497444, 577005388, 307286896, 25222361, 39427240, 290656387, 236824923, 105843686, 873679437, 150893896, 882755638, 419936023, 692868276, 471828980, 109045912, 147274660, 806239344, 446071729, 969062998, 287221548, 152586808, 421151268, 686390517, 794740410, 549616782, 404910952, 398718336, 252373725, 332472883, 171544408, 873831472, 393666636, 663062301, 242623734, 443303783, 280086789, 607933757, 888096315, 609264102, 179447628, 585402964, 648851887, 837381008, 299138719, 276629480, 181942654, 604597390, 262449271, 499216501, 605703398, 446077041, 354139508, 267409768, 258680567, 663327005, 374394625, 569092961, 663491624, 86201724, 69669251, 99971107, 333276071, 391132722, 335650855, 253841318, 307483465, 95057807, 493009406, 503100407, 314075041, 743108641, 3963901, 107714211, 685975281, 943072880, 850847838, 935076990, 874818411, 914884997, 243153368, 701972178, 118730998, 595247156, 511270583, 749191442, 263735937, 575679263, 737743883, 830153504, 183007821, 163028405, 418497418, 907615822, 731208342, 294402961, 139430770, 590138201, 70160544, 153049369, 909589305, 118755939, 390592560, 238034197, 489118291, 737446718, 648246597, 743869801, 164176380, 717971616, 543257744, 936928479, 678166574, 208294145, 403213119, 734319480, 824119034, 396696790, 522669376, 835388471, 641285679, 606023387, 134836758, 404527564, 282606171, 452368011, 761726279, 242840982, 180796271, 619256197, 457301925, 862478952, 747299845, 370363659, 553986439, 182062465, 358620675, 215456824, 125146077, 798162254, 126255589, 85628361, 748079700, 542698887, 749024209, 32216799, 932126423, 942345311, 736931390, 475172693, 786823176, 185618309, 56658563, 272231284, 994225253, 292864001, 586156981, 284547461, 775852225, 726873109, 826941355, 759781427, 489251733, 491977786, 336838301, 734513084, 285357543, 638672548, 175080305, 946105246, 400467039, 264292142, 406502356, 348592964, 874913326, 179485135, 29494034, 280601140, 571343028, 909157936, 389290218, 891980943, 34593815, 191293955, 853144095, 361653041, 180382034, 288503582, 443719103, 90098679, 169548706, 611628589, 896610722, 386440973, 864069438, 380956217, 431989488, 959833200, 401862750, 485446049, 536678223, 41425891, 238959208, 730545298, 692093230, 217633010, 216425354, 409279148, 886164836, 144206861, 857295121, 882291331, 445421348, 576047015, 836612954, 206933690, 300590350, 552898848, 476088630, 657182110, 319778534, 101111519, 561678367, 452576247, 960345907, 684683167, 701393446, 360395190, 545730042, 701453386, 143358066, 730110145, 234518316, 405017121, 826062489, 292346136, 271889704, 194349023, 39006924, 78330019, 751651009, 141262444, 874403806, 641186754, 820106428, 792034036, 701825784, 449710557, 574854986, 98009800, 887694578, 746348040, 270376957, 965397258, 160180277, 722623319, 779481068, 866367056, 974435568, 375237465, 975559796, 669728051, 544206227, 61132535, 968196888, 229905853, 825144582, 537881905, 816127806, 157243893, 777568651, 575074833, 90043084, 957269658, 899508306, 490890177, 893173693, 599695149, 148778343, 755954026, 712069710, 32647726, 630374294, 387786137, 409740762, 413438048, 314547474, 115553604, 960428924, 403899110, 783994593, 480855924, 722031349, 169031837, 636347088, 343607203, 219998173, 175048718, 946822870, 810471188, 483744470, 309017802, 263661478, 346790, 19744385, 454480247, 358089366, 274170819, 749833428, 792552904, 963761811, 239877761, 136577245, 201997398, 240902559, 6212787, 482500339, 735982450, 396091473, 479536040, 853135340, 554468660, 734920301, 423267597, 402625922, 3584441, 894899338, 159238424, 845040806, 474341479, 131840192, 646991404, 475895139, 709439200, 242235574, 634069928, 885672928, 829709253, 273138933, 361146769, 31018052, 92087308, 353587684, 39522072, 212851775, 647473145, 37089534, 812215640, 132641889, 843977415, 117144465, 348435458, 467204707, 664345269, 131697174, 184866692, 622665977, 41287088, 120289007, 359934896, 824140079, 598028562, 140937831, 932994988, 983636593, 51053596, 455024121, 544398720, 57351429, 356020016, 565565998, 454558715, 210532878, 878399835, 587110696, 879760885, 153779621, 48636228, 880838780, 322901316, 787548536, 209481125, 989190957, 799433653, 53441869, 720037265, 289172706, 715215858, 17808719, 975801078, 929185764, 476039436, 507465731, 122200946, 873463616, 751576335, 698477224, 9381789, 738283748, 869761623, 126378762, 616893605, 537164623, 821061707, 398905287, 353231931, 218997402, 410188756, 795952060, 77873356, 897019255, 666418999, 51312083, 162396020, 587393742, 895097706, 336600051, 828511109, 443341111, 271328761, 36158210, 177916430, 583443741, 22997787, 665714911, 77963488, 245786908, 481985273, 560380675, 953856327, 362717326, 102508030, 530775670, 465903007, 393172021, 818934024, 524667360, 878344271, 257959579, 987041567, 574718343, 343185225, 673882592, 648843729, 12990972, 418292652, 589965123, 518956915, 872100760, 186501554, 700100780, 160213385, 105511590, 873530431, 847233465, 145046982, 577382545, 118281658, 971081181, 319267545, 188452031, 450422303, 818624657, 731609757, 586713015, 291917565, 237289551, 143070269, 419708610, 740874216, 198498815, 49790424, 573210830, 852888449, 166432461, 716576349, 15588714, 124742863, 617494152, 669539653, 211880203, 821748403, 129046240, 139794851, 72084894, 6893289, 683520904, 399824838, 974867766, 884883474, 847116479, 841349781, 767806944, 662499646, 450009362, 910013461, 601480135, 997973039, 122830954, 915645897, 589754037, 429818181, 167801316, 380775672, 558888815, 448268688, 892084034, 567777580, 846213665, 382712863, 696935191, 684787460, 741153161, 124015563, 77665110, 27568407, 825325882, 607653103, 854890184, 466326580, 362467500, 932076467, 344488189, 700409892, 877778032, 749175917, 47279154, 783386629, 153431547, 462385683, 12632688, 897927125, 419318440, 89287404, 536370635, 148280651, 755818040, 622838197, 499158811, 412957320, 196969115, 276830660, 226992267, 219239641, 373749388, 230043588, 68471148, 607118199, 509089935, 750762346, 249406748, 519550913, 833063018, 961175083, 27024990, 16208249, 553110725, 641694992, 509388211, 898891444, 729760735, 835480410, 363991643, 731742084, 607531777, 923113127, 350666456, 434594153, 168289265, 278225254, 898852575, 116187466, 395806555, 531222371, 938886139, 945918970, 725165508, 465950274, 83987653, 315545924, 601439748, 581215853, 70990064, 900020554, 925376043, 672243160, 631315648, 913363755, 341402901, 607196308, 142917122, 320465045, 6364715, 614034376, 152189012, 702381095, 77892489, 297560040, 170928017, 738654830, 526676287, 612883739, 473107383, 868164379, 860411140, 229822760, 806117258, 80301899, 707070875, 495661799, 568543616, 94728262, 429456013, 919074898, 939159071, 483476403, 932934062, 335398485, 97286396, 862072644, 478415579, 270588462, 648088004, 176308586, 276676646, 772865436, 223383163, 923598139, 969590292, 8196908, 852796388, 691901777, 455055164, 450786960, 133391602, 763018472, 760279137, 971025828, 264196319, 441575002, 922503926, 915523512, 117755708, 478480084, 262719664, 343821107, 488000077, 640154810, 222933427, 837756436, 52605881, 352523520, 334587697, 891309845, 274457773, 934603953, 699056884, 446022317, 518437676, 785338050, 201214854, 42660947, 684569380, 639753598, 38191841, 602550682, 217558196, 530668690, 999814141, 695944436, 284636476, 17134162, 373723726, 350046758, 570648456, 18596869, 711056314, 529626011, 339930773, 34259519, 336948575, 112815564, 690837198, 335500877, 351432918, 816737668, 898269980, 236063451, 691245039, 121591672, 821069099, 980870777, 264972918, 333059323, 425769715, 216444473, 311999278, 621486156, 226547520, 254228151, 661814458, 829108525, 930787800, 777459158, 383180479, 706196248, 607127259, 500324771, 66173305, 989293768, 712767155, 743188097, 848164579, 979042085, 951104338, 149310674, 81265516, 514391364, 500057574, 285270754, 451416304, 165735430, 576250015, 202705868, 582513559, 314681765, 875962589, 759601767, 254653635, 934596115, 914476735, 128561184, 73681892, 505193698, 871628598, 209734288, 101044595, 541049151, 995958706, 955501715, 626299081, 739624654, 432758240, 688093820, 340878082, 693511314, 652001715, 499803047, 985667399, 372012976, 956123683, 809660035, 45426099, 371447259, 160179287, 567582681, 973294235, 560319122, 56272639, 172139541, 426696422, 473334944, 989597478, 91157580, 490501128, 287064249, 407330955, 449557574, 157663525, 650156002, 780992927, 130576451, 100859203, 224929809, 254451962, 788722450, 134999706, 190253490, 290765077, 173829030, 548217530, 140389118, 341172327, 72405841, 20877215, 563618270, 429644899, 479529907, 154557036, 772433482, 576663607, 893874011, 25580918, 197584117, 190375357, 180120105, 586012302, 329340303, 800020748, 138540371, 330716028, 374769031, 993028604, 955234259, 150701546, 706389293, 170277199, 331226277, 916420616, 351973287, 756727333, 949715917, 8041972, 838295723, 590393295, 430888230, 429667442, 321767023, 13717353, 429042981, 393188421, 227584012, 111987691, 496848074, 143743942, 953165610, 160933954, 342226212, 523691220, 402428074, 57763503, 745062501, 604828571, 323034903, 891061002, 490081037, 156881041, 558721607, 482272198, 459669918, 991552664, 910307523, 503259246, 165686756, 711471930, 774415120, 878463569, 363003957, 99938755, 935779520, 646150543, 991057603, 519669248, 690374464, 695237092, 393441571, 163936821, 924790918, 801924419, 449678074, 797481765, 931481989, 946466750, 495321307, 15536574, 788560802, 450007710, 818756438, 340528758, 325192957, 348704283, 462985605, 259378803, 102499100, 496449023, 179586373, 994849247, 582248061, 627091225, 362069626, 236542458, 793604884, 609153149, 347275851, 330092431, 924266538, 966059205, 90253689, 116039182, 434370932, 311358268, 580687788, 737329427, 133857603, 410228309, 921111413, 227520668, 892190676, 338111858, 661323648, 333781803, 213467288, 941810598, 981387834, 445037689, 911914972, 794178331, 204761241, 734966345, 569385994, 297183107, 107215327, 266388083, 389373524, 955168186, 434862209, 922463710, 314235785, 949745548, 553515416, 229313001, 373077750, 128649581, 931590139, 977569682, 54722213, 996369612, 264775180, 383278292, 641358275, 298171041, 920511692, 989907471, 899158873, 215455471, 768867819, 291831686, 77557453, 826221149, 411136708, 241459582, 655140732, 11305131, 698010306, 13577698, 716803829, 485870008, 770469539, 220595069, 234647435, 837983033, 67064179, 542661768, 547172811, 285202333, 103582578, 699934798, 683004338, 150863912, 656441151, 735216975, 161585777, 260065332, 969000164, 233630625, 161928950, 544058223, 39207530, 740452718, 426515476, 269931514, 13059713, 499841267, 903369427, 223399387, 482359462, 566929107, 260528142, 387295065, 863937905, 999247166, 699824802, 340495662, 359408850, 82686066, 4432503, 203237690, 439237797, 992477208, 482255918, 38319598, 951201557, 257494918, 418805297, 306621962, 317410570, 459087665, 38961037, 832720595, 804462748, 920412294, 538146999, 353884806, 835042484, 425578464, 312158056, 315910409, 128099287, 339820740, 623371828, 213703107, 468409250, 174102165, 786999824, 476157168, 758837256, 709577337, 969340980, 425368356, 932415667, 401498341, 179828930, 57771230, 877006154, 73643, 396536552, 648317575, 277224007, 45019561, 92251226, 490412786, 553338707, 297941581, 742511240, 169565857, 414571166, 758935262, 642760502, 476650671, 509274833, 204623449, 439806352, 364053534, 128412843, 50348030, 890947290, 549961037, 332778100, 754340879, 467684856, 822987564, 364915605, 59233715, 643688528, 431942336, 858351474, 142691312, 117937736, 461252174, 399038862, 566974206, 327629607, 559727338, 549404584, 673772156, 186746701, 902672218, 969430682, 192788660, 100745147, 528506395, 67726705, 78087392, 951286392, 368605992, 661776728, 393220608, 240821773, 350404969, 841307570, 406802119, 110657334, 399605701, 664288165, 43102475, 837721102, 666087088, 992411583, 820083936, 895380877, 44454619, 134219402, 385898901, 675208091, 852617814, 913443664, 378346550, 769564379, 527094079, 735633225, 732813945, 146221652, 2109127, 402695735, 454974264, 528091930, 174736121, 529651998, 242091710, 529774291, 261859054, 373145821, 64683969, 764987884, 80261006, 229902561, 691944269, 769492194, 530902300, 500495527, 341710130, 898456579, 852711204, 237895429, 693862508, 476301681, 960529172, 7095507, 903326420, 420990756, 504024357, 512501463, 528754669, 728237437, 291461687, 377954433, 269988255, 993996539, 870342726, 320418071, 44847755, 361539817, 434614623, 329663496, 313700948, 840504234, 547632419, 710941356, 627932867, 471325047, 100618359, 723042328, 372080200, 988929298, 217696425, 426940712, 76065867, 547609533, 813737394, 308446214, 245411405, 218617159, 800133464, 195081528, 472911936, 757603217, 617039777, 972568330, 623498490, 137862833, 619724440, 187194222, 425989003, 502343671, 867506798, 49853731, 978880715, 220606206, 151842071, 360230099, 220345449, 567465986, 80404964, 860697594, 83635109, 61698446, 944769290, 523571721, 498074168, 993380259, 582444413, 108315534, 814076990, 18976696, 615211255, 133798899, 954345030, 591675480, 238192755, 519072675, 81663742, 884509962, 120621656, 589166147, 743528427, 59758269, 842893617, 10735841, 106453371, 518693427, 950321605, 546464915, 229383245, 7299492, 306083020, 535291889, 990727085, 322443326, 590542681, 624808825, 597555447, 83844012, 767441988, 987197766, 755124395, 895720275, 175277037, 175084201, 18073723, 856613219, 178555003, 624271057, 94323272, 122861255, 800692624, 37862717, 809589699, 81797885, 126920484, 880915303, 78192032, 306292116, 118049460, 638738317, 866247206, 215308865, 123236866, 792879447, 415205178, 579628109, 539629774, 698712607, 902162014, 510523424, 284939935, 174144689, 715685360, 415293007, 668036381, 707345252, 953060596, 363687772, 928946731, 484857331, 65522391, 389897933, 893593996, 904772923, 141813329, 573130491, 532865096, 785878612, 623258368, 927236248, 122657071, 850461785, 759775461, 351694236, 667253357, 930867131, 422629349, 550018750, 787672800, 620789167, 451899102, 88594640, 640924702, 409847728, 487358278, 161126545, 553571234, 290171635, 410547295, 537699948, 597661312, 733972921, 518710421, 633635573, 288173267, 793108866, 658397072, 326808751, 440609715, 999063535, 672989539, 403844827, 219275225, 244866747, 914078496, 19105688, 521127137, 302486491, 467284894, 828719155, 485551620, 819033392, 245064686, 218555266, 241420108, 396356523, 432508356, 347521561, 390509856, 983295517, 17281642, 761106805, 331041541, 192920461, 821415841, 520864191, 273313805, 140098492, 514881828, 376034336, 639252003, 371018041, 969862589, 827481194, 307791913, 376742404, 839766805, 743545876, 244476684, 285833623, 183262673, 379652840, 714463312, 453990503, 205170445, 230546804, 130786445, 145903311, 477296890, 786532693, 307128955, 954453459, 618475942, 595973623, 925789823, 916759212, 833083523, 408948956, 61749892, 322987657, 180501367, 648273054, 20851649, 263562930, 679006201, 886124861, 721293841, 484669145, 537792890, 693990276, 156848743, 121948547, 799802983, 29292282, 285775082, 460969751, 889617179, 896952654, 416896666, 741891861, 705228363, 184825888, 397036842, 225525804, 759759787, 381173426, 246495517, 819174506, 822906997, 292330397, 611108837, 387155262, 498863172, 757524336, 186107042, 326569556, 718774932, 4044975, 462419070, 329521494, 383850434, 879035300, 670386346, 927325650, 934922417, 760799922, 420357922, 131343676, 928689080, 358703132, 439353127, 668405578, 867291432, 178237745, 160103396, 952798088, 14368967, 183534868, 373486129, 250847055, 88621345, 646832950, 213112507, 572353817, 812016019, 179981862, 454065681, 248839033, 352865050, 674011676, 479484416, 331100799, 933643544, 346035237, 957238042, 800429465, 440086735, 97144765, 432463873, 302913433, 56831965, 900081166, 63562066, 768701557, 140231365, 654490322, 194558843, 12792157, 393284701, 749077459, 156556285, 530354861, 98973739, 445026461, 479798075, 634924125, 68899980, 741893157, 768323219, 887306888, 243542638, 218367096, 706205078, 599526195, 237687803, 419232198, 679519456, 116976068, 179127342, 406039871, 192379561, 542056054, 841329859, 49009153, 863350088, 464635131, 484192562, 683972620, 690259206, 9117928, 461246472, 907407455, 37246973, 609388428, 857434820, 148960933, 163336469, 880474968, 786150390, 217998176, 335092086, 276171049, 164203334, 977429177, 192193516, 332039842, 884370665, 210761225, 903074292, 437009463, 933760255, 49392703, 956456447, 519491747, 405683948, 299702884, 543524719, 437577311, 332570640, 484552394, 770719648, 491532544, 14411176, 967633938, 583571705, 130120843, 271423763, 941909629, 321327285, 734046107, 400877436, 159737214, 336494759, 63519977, 667251141, 952721155, 899295718, 458829155, 976739524, 841312835, 317146600, 684091865, 27471544, 761901706, 690722608, 447368764, 142438815, 247953894, 43977283, 441297212, 698108419, 497004453, 453426831, 19667906, 286416693, 896581108, 996280018, 720641707, 217406409, 3699109, 975217095, 493717345, 893962666, 411385768, 519486414, 947938526, 621548739, 354975265, 680343789, 986448542, 867711375, 353597827, 393547873, 792663554, 651425889, 845062064, 373836143, 876543744, 993105436, 117139585, 798903908, 819121, 149286477, 122056041, 229515159, 476120326, 233403978, 710110684, 915294561, 657150184, 587702242, 748427960, 360393615, 1835065, 260045514, 579091903, 384819537, 754928272, 75369147, 543294730, 156658222, 260569416, 497723149, 206379026, 584510482, 923615933, 993915029, 894573364, 21858745, 966080558, 250552214, 448890700, 316301144, 389819499, 470227703, 609465246, 519082856, 442075826, 495753378, 808564764, 782609643, 569378080, 529079912, 763321065, 354489968, 261877422, 648491376, 37321625, 683129470, 322818605, 426902281, 529614661, 337686678, 565772281, 464691373, 740864163, 954881637, 164554824, 896451578, 732221134, 622980439, 235074827, 134756814, 583050882, 601893610, 197974238, 78941630, 951155657, 840297733, 125780708, 631219540, 122451302, 375255269, 968236455, 806412721, 770147378, 203755397, 442427985, 462408220, 80606838, 219246456, 320363127, 329505368, 935020151, 830335105, 970148349, 966606576, 969241322, 746681560, 536016755, 598031820, 441924648, 64177761, 54985851, 623756611, 255899033, 662238604, 654465402, 300118980, 665904745, 630021281, 768487270, 254675955, 316568548, 502060702, 17035403, 607534928, 621432119, 164770448, 447628743, 756245654, 488798116, 999989118, 693629296, 289162191, 661421768, 48937131, 801547217, 324993928, 506728380, 311628325, 311600136, 213362529, 724638589, 423486494, 705503050, 597361495, 582090336, 633340348, 306357277, 717355178, 960821875, 219314606, 843242883, 107031627, 497247869, 186050272, 68458601, 997628493, 628970469, 39027605, 45205424, 530575553, 988723768, 489185989, 533238968, 314241265, 811681651, 105408103, 893339874, 410403372, 532851172, 416751266, 973452753, 865235754, 241903494, 160025996, 203717000, 627804980, 371263004, 694733660, 453682017, 153251388, 760575087, 772530227, 652873547, 921604161, 543055559, 716284847, 890548021, 831284072, 256053419, 132833508, 326461580, 505682316, 480322550, 342948316, 103483039, 458330784, 797946091, 939466603, 482296692, 650232145, 178423646, 331294959, 285345251, 168003961, 920266974, 567894999, 872784875, 366386548, 474131611, 863600234, 674888866, 400989007, 481454928, 347388488, 861436665, 13037486, 605051472, 308532601, 617909535, 225508348, 367622021, 992239364, 867808047, 865777986, 159990706, 83611954, 551439069, 113387261, 990296625, 218060607, 97178746, 663993569, 326045680, 230724601, 989673285, 203359923, 637603611, 328637565, 251711775, 112167129, 499479388, 444647110, 802659862, 862608152, 987313044, 488018798, 114989091, 593702589, 222133377, 650054606, 263243725, 285179034, 237078628, 464622249, 342149826, 71237936, 893739975, 477686599, 475145486, 99713502, 796539424, 250759376, 694325067, 266810286, 920936385, 34941176, 66584222, 428448363, 860777409, 879897178, 911313586, 924453116, 263903707, 120979957, 558819671, 217308953, 535986983, 525587334, 600378450, 304050675, 604762002, 849383024, 566306093, 237633003, 388858313, 106367310, 871528036, 609536923, 713318609, 930782417, 103533016, 293730235, 668839357, 26167509, 384733829, 670248643, 68828805, 221776526, 254690898, 138599827, 223528123, 138460070, 552518162, 706746202, 858253436, 693837396, 51761410, 41882669, 196534823, 32728071, 935474594, 31028430, 668076833, 358746159, 749882194, 749056157, 30663377, 106501143, 895012226, 123619332, 159687107, 221101918, 475272548, 59969297, 909010720, 64494274, 150432963, 991258050, 862599150, 309085350, 843224370, 119996664, 846249334, 465557687, 458366028, 757150474, 629329975, 871678849, 621730088, 582156857, 436220634, 349029374, 156406993, 911694074, 272875927, 53179055, 885655478, 855797565, 551493963, 864472029, 257354099, 127587998, 251366605, 488632649, 776320237, 588945771, 191937905, 115482847, 375470237, 521795847, 737222880, 919380919, 470383737, 583900275, 70272132, 839979983, 90764282, 163785445, 481806587, 780619055, 548785295, 439360675, 108478054, 379094710, 581273347, 33938355, 686666512, 348150953, 398066848, 796030719, 898310550, 791792364, 508504577, 988076552, 664048773, 186691298, 872398443, 443580157, 289952072, 639571569, 513131319, 336355510, 57428626, 196042050, 758032090, 984146112, 392343508, 745317200, 22939409, 93686589, 65285564, 809300836, 965262188, 228910639, 523025969, 933302333, 360156572, 173699434, 711824960, 990967932, 774232204, 278608624, 42266246, 204904212, 284531588, 378800348, 47024561, 406182629, 604989953, 115189656, 170802482, 116848664, 265617911, 223885418, 736445520, 43483829, 233394557, 896879445, 655893914, 909924694, 870729003, 891362653, 74418129, 673102125, 681486020, 475727729, 769345502, 885130549, 745028349, 598177443, 851300620, 296160481, 646783080, 556454868, 308518568, 555797016, 510259018, 816197452, 876546152, 287174892, 184676709, 16019465, 118714604, 658167810, 947422940, 845348753, 874511717, 161452118, 338958309, 668626036, 850134506, 148997902, 863689473, 20204636, 388919904, 14697331, 33272032, 825449852, 937631226, 127421286, 263531985, 668775313, 230635951, 594141126, 323415892, 86185182, 990563112, 310071158, 135456561, 627969557, 935997955, 604991377, 320255070, 445571862, 296201614, 838070013, 621813247, 48213835, 199093670, 511571971, 818121178, 591893578, 843947902, 150711176, 727969974, 62959418, 23369795, 531307810, 844821581, 419061391, 455298823, 742653462, 385591939, 705465240, 811064892, 275815480, 944055977, 443403356, 936536066, 749816292, 540832655, 843106599, 211934758, 529623375, 186958416, 334198452, 10765635, 846019964, 44552250, 621964857, 673173125, 706761443, 613224024, 388549013, 243967558, 117842416, 458538561, 578490680, 117914933, 693221644, 939811354, 13452680, 248272729, 812821234, 246562792, 562957195, 5549547, 61330735, 319714113, 542450993, 131496111, 803891945, 429453014, 546563084, 916745694, 513564698, 775886116, 997984801, 613232310, 909706244, 729301776, 411619919, 76640077, 686873625, 387660224, 44135074, 991860536, 742803850, 411757912, 515223827, 132782745, 194983225, 617151358, 577599137, 100258777, 290229007, 505689286, 264593497, 315081099, 582324292, 552507676, 684880245, 136493972, 542298926, 447131973, 358673079, 15626682, 969837787, 680675326, 660944434, 637826485, 807407697, 437797026, 616248777, 510533382, 524086442, 673829641, 801391077, 984426351, 153061790, 310340682, 769792676, 368579590, 661757621, 47716098, 516676025, 333935374, 773069739, 241203705, 149211462, 607822547, 282887782, 227718615, 989165968, 331681068, 267475119, 270718799, 177347219, 736645910, 627075871, 482029051, 106407451, 945335358, 59302994, 862179456, 816712315, 990787884, 29752517, 659539534, 810225541, 336732049, 734523583, 136059888, 54232366, 685938467, 455928113, 89037473, 897481181, 144720698, 514392265, 604665094, 869777097, 932193216, 82220130, 470552190, 148871836, 334792682, 747803085, 396367646, 457615342, 116223467, 742885083, 534958512, 417358380, 331640175, 78753706, 886874747, 592000727, 532683475, 512042260, 846986006, 589794969, 984870249, 43981374, 415740310, 1257107, 818571097, 993856008, 72257499, 839447193, 854781892, 721695367, 433500196, 627670260, 401755033, 195198894, 592829356, 689889193, 809529366, 46013244, 624872477, 970866546, 439594155, 217504206, 278583234, 296163595, 156190211, 587787850, 161051503, 395299661, 25815007, 695072961, 909676617, 520639030, 450193863, 760578637, 613585573, 994988440, 177491976, 289784604, 926717564, 249013299, 908223273, 989955451, 354886739, 71308627, 619911782, 423642053, 401823105, 483218981, 964235031, 535326984, 402382964, 977562977, 511264429, 171244357, 790752214, 684298593, 774715679, 77352533, 37712742, 485555123, 434346383, 731484469, 991441800, 419707577, 379884550, 995080767, 639670139, 141840094, 794907182, 762773759, 479699493, 756909477, 709717335, 345799572, 131748311, 819289679, 392938324, 427381527, 957856956, 878558581, 470435922, 160375926, 678936569, 733513001, 329021875, 39480683, 211789983, 639952922, 238066659, 231000077, 227826226, 684968747, 758450249, 395609272, 150273259, 800131571, 381295343, 315679965, 101913998, 311996830, 619029833, 808722567, 504889152, 841500141, 286982929, 786321660, 738909689, 886398455, 295380705, 682294075, 97006266, 695526581, 628091316, 56227736, 354791892, 409732948, 180355899, 550204676, 737412820, 241868746, 834077695, 936546173, 210609994, 181019597, 729278616, 248063787, 389884525, 494830105, 800024390, 990283884, 928229605, 197805803, 964660891, 549182476, 652965590, 268756699, 140916361, 43837477, 170683878, 935179087, 407682884, 903573112, 834066778, 12972403, 307733549, 9694943, 850865771, 789297432, 591180573, 340124838, 913952958, 493466802, 644774472, 615260854, 753051233, 520725208, 48614689, 328235740, 863716037, 699694667, 639330988, 507626181, 856114510, 695098799, 782397097, 704546998, 8471487, 725740367, 66723229, 482926715, 486303917, 152922601, 376312255, 139200871, 875345421, 938575533, 574751606, 79519573, 879616719, 309621818, 747115451, 571752254, 707862407, 550739445, 643627609, 851202595, 361050371, 295453622, 625637855, 447156064, 36749326, 908645550, 234495552, 752657118, 653035541, 728781559, 766712700, 171399406, 927316358, 662186964, 175039684, 13441765, 409109818, 833642785, 188098130, 822793020, 299058104, 81889920, 512878278, 830828005, 861106545, 102403352, 684492834, 561073956, 245906990, 60351195, 81298869, 349484328, 711541134, 886270995, 601701402, 238686588, 826685663, 155179526, 638871285, 414738557, 171590547, 875479892, 588318675, 323510055, 73457844, 959444890, 359352679, 253890546, 566521863, 76850819, 138546022, 453539398, 566986031, 264250950, 959046602, 112019692, 630806111, 337198770, 127694125, 292464237, 933635340, 537641919, 977202225, 502422774, 640279104, 294120635, 216319873, 731790994, 208451406, 491400676, 962026999, 487604033, 477578894, 295096555, 978446765, 530344069, 786382937, 547260621, 617092104, 879109990, 319664996, 566398306, 468466118, 359799314, 223914454, 872374787, 520949127, 862748014, 505928134, 275052982, 32419612, 784727184, 204918188, 481648529, 395982226, 742768022, 182229396, 919570959, 85209990, 368523367, 560120675, 150931012, 992271222, 864081173, 776231272, 186357186, 500114429, 957395722, 92935169, 905775115, 745081523, 546150818, 11030175, 874095782, 655889476, 958743171, 840389758, 951265142, 518019423, 928064550, 992465129, 528828282, 221827407, 470278006, 104089199, 595865647, 886565286, 263295993, 246967091, 246415151, 994544497, 142763273, 196845438, 18229699, 36135340, 989636463, 324240940, 933795538, 146140524, 16385814, 656578688, 840702062, 12697505, 947320386, 558305588, 689140574, 90880641, 696312219, 867394051, 505209714, 47176828, 327319835, 747247184, 911147365, 720933829, 492612338, 97476285, 769106137, 604944642, 273727384, 270141432, 755449464, 469171917, 33509337, 482276759, 249112045, 168647185, 849789505, 851227215, 22608861, 230781341, 895786085, 707549859, 941185435, 289033222, 993281013, 230366247, 154746441, 942133960, 357663532, 589935218, 665655482, 933065851, 712111247, 983220969, 573178242, 912812774, 486065898, 379446801, 360310851, 411205419, 817699441, 520416414, 969485427, 850494724, 185931821, 834038104, 967265542, 83167275, 85457317, 489873753, 885050186, 723986283, 225369041, 661254799, 11519992, 401918781, 240681685, 657994535, 238847670, 963196374, 929216117, 769114309, 688601039, 306304220, 138362720, 845945367, 41276221, 28709303, 96545379, 743199340, 124135274, 861642395, 523630260, 844116586, 282780666, 388862708, 733931784, 272533409, 75409943, 291166536, 607778023, 29364675, 250901330, 349755466, 608196932, 85814675, 901998233, 583410209, 820388816, 787326835, 266089987, 755894941, 172331771, 999183416, 113185385, 436515015, 311139770, 914899580, 991755546, 700861625, 600513222, 505398407, 256927712, 614982663, 768931878, 475335188, 639776882, 738177286, 615967316, 998437307, 77246435, 276605516, 357622618, 15610376, 237751836, 45156853, 831739171, 520232371, 370762812, 665600516, 612689855, 693965914, 463830950, 219481846, 612415441, 130479389, 844896152, 899416916, 416597015, 659050703, 876886391, 992380144, 164229731, 103157191, 11793488, 680068506, 621035043, 30379161, 477580012, 938837102, 100337120, 762599115, 416598017, 465830495, 767117926, 866123486, 303716645, 417447193, 765719595, 279472180, 153946037, 584044181, 402910505, 259222673, 375017068, 272975953, 61526, 450001831, 124085191, 331657164, 805097941, 441298963, 222293093, 974045075, 967130167, 873623335, 613953169, 438813680, 377982753, 594309460, 9487406, 640280736, 678309564, 601286479, 199024335, 632566313, 791542760, 435872073, 140548995, 899709034, 328771284, 228573149, 391128612, 245926628, 357167910, 320895401, 435616629, 308640662, 184580136, 390428289, 96450171, 526776696, 896862698, 822421023, 649880358, 291417606, 641916287, 68920973, 765439621, 627637063, 514332549, 699819711, 226755439, 843157333, 41797972, 37015240, 988012949, 134998221, 716048474, 983159048, 612295887, 96787224, 83925463, 657798813, 209690062, 61683974, 196427055, 962315339, 360900426, 582787086, 401449106, 421012628, 489472303, 778025900, 299289365, 279796869, 704865733, 342100993, 908175638, 581063809, 505950790, 818998981, 36210558, 581767769, 97803771, 189443831, 394237276, 928314672, 902764100, 665004094, 119588719, 568634881, 646803312, 243673494, 195702248, 334914202, 895185707, 756548973, 401546373, 192608130, 105422639, 922228447, 823903405, 220224236, 525105521, 400876699, 636169214, 182606245, 785991607, 542341408, 378638938, 8704826, 49884209, 629375931, 601058637, 183483265, 724414339, 522591450, 735043637, 295983719, 881446645, 60061320, 764892391, 165662456, 824560901, 978701371, 348328617, 16893747, 25187153, 767203085, 326351770, 939114109, 96488351, 745549108, 554790232, 508772941, 298113517, 404220032, 511343124, 708738992, 920699385, 165252944, 314816693, 19814733, 558634085, 386582651, 736268519, 709100160, 785858478, 397292813, 936578173, 496229986, 633387343, 909086837, 434272312, 549653890, 604688191, 289746508, 399958218, 557317409, 991249644, 866189598, 924835025, 784486123, 329725509, 666908125, 722602712, 241522262, 669212761, 270605840, 934383877, 140979764, 873245014, 861286142, 748496845, 192906688, 236955741, 48853255, 706510573, 662743936, 112851110, 6299478, 475240992, 802472264, 863607677, 221082164, 843061302, 855162832, 756490752, 685971186, 450856055, 65275229, 312212472, 998031862, 724508526, 666267308, 888127777, 84334984, 134669350, 194295791, 797563709, 167723159, 780749524, 598153924, 818868003, 198886653, 923599904, 288183588, 292981456, 315058117, 698018081, 752347986, 951732728, 753678411, 763960346, 148650936, 673192937, 385325701, 598385725, 325973618, 540722814, 790055857, 500261605, 974505627, 879869498, 319940037, 779616102, 628879435, 768587754, 469719724, 210818998, 458890154, 321810400, 84196989, 838724013, 669300664, 135740511, 632060583, 289965503, 423328641, 234564933, 36636430, 314109345, 960172347, 355581390, 768248500, 702372562, 450331939, 622350994, 782046007, 444121496, 336272604, 723312701, 764014786, 672673696, 864638076, 603821536, 991822676, 395172566, 608206743, 914215293, 95515528, 25978398, 763551933, 719887753, 588217447, 78448645, 783608395, 560294227, 781581450, 3249360, 747060779, 679167148, 853198217, 962194870, 481352016, 219389696, 282504086, 639143729, 677855159, 547660444, 779094826, 128330207, 786856996, 989244634, 510135199, 689114514, 117372313, 283626846, 294436438, 764358554, 450819291, 323708679, 487817501, 141303343, 4891089, 930599542, 552768754, 20225570, 563759749, 641655084, 694829394, 551509361, 344414886, 742265034, 836388621, 219296815, 343303823, 659495991, 362110718, 196197668, 259059687, 418971280, 955440691, 988341398, 500208321, 333581310, 77322400, 183489286, 361640090, 720247826, 124253066, 559972161, 937173833, 38682609, 112753341, 362340919, 162891963, 504688618, 818668232, 324662662, 846852660, 360150260, 527660680, 862103357, 671838812, 663249465, 969614402, 731757162, 488837862, 433521495, 215285116, 352450434, 801781323, 980866611, 820490398, 926602273, 229476336, 29805556, 802007674, 591312920, 369847280, 964798294, 376194023, 947329074, 898381071, 527279075, 921928337, 330932441, 970909243, 907523469, 539338636, 502377816, 720839147, 251983761, 374648471, 651938147, 595808008, 948685499, 628730147, 69346118, 576677197, 698811648, 519190225, 136465732, 156365257, 312910992, 185407168, 754090371, 96296500, 78172081, 737602166, 115692596, 371282851, 693046056, 745065582, 606188557, 751429521, 845734539, 459475834, 94038753, 600963901, 244108778, 727749126, 544826041, 241506002, 117178957, 680602403, 675343994, 982271467, 678318401, 65833822, 380088945, 579747087, 817137687, 108143073, 128892096, 150825033, 206557112, 286540496, 245719315, 977882946, 24534095, 480427713, 153702209, 79876834, 111202954, 642177606, 125507395, 526958935, 663796041, 112881783, 691663404, 914222263, 756054347, 970132505, 939498604, 168251508, 74927863, 100612583, 188347471, 471162846, 523780044, 185375073, 357170497, 665036304, 9822586, 609474950, 231403738, 273256305, 139302586, 684034786, 223090990, 468418185, 444633093, 755215025, 844542531, 483204415, 530659433, 618471969, 591390561, 873814304, 260150197, 102975213, 357010303, 602197850, 894345771, 857439404, 964700560, 759003336, 405279127, 768271551, 115198546, 850230927, 403614981, 697962798, 674658991, 997812848, 692096712, 174765254, 468749738, 177429120, 12208864, 809934055, 249201935, 989941090, 97231239, 8007911, 650925228, 821992741, 800738868, 964003678, 360303967, 494008091, 947595193, 477691255, 852390751, 989789341, 496727510, 46556220, 131891217, 822737074, 878897280, 13135540, 14932744, 444961315, 40420727, 293282514, 376688056, 514824267, 668217165, 347028370, 376274998, 519733679, 634085137, 174923197, 20008983, 81242587, 937043797, 566411281, 95631475, 320165418, 264124493, 280934825, 510385859, 709278228, 95566600, 168584309, 26678807, 862741702, 555202383, 631541481, 494420314, 617459237, 410596972, 316246497, 150491467, 956114462, 53337055, 157945991, 728383892, 896444098, 714711311, 965573030, 977180726, 50763105, 296796216, 988633657, 654051165, 788658635, 828163621, 652891452, 758662566, 141695183, 957799863, 986825599, 545518276, 523316996, 664078016, 24072364, 263981772, 525030971, 519472839, 180945201, 788596524, 177025928, 588033606, 552414719, 165027612, 729192411, 291110894, 749054328, 705388480, 774641842, 337555835, 75919570, 638578665, 604968655, 122691938, 169184767, 74876112, 220597890, 728308885, 163562446, 127955289, 925394381, 440018649, 258361968, 97105714, 814483108, 382157338, 931791474, 782556412, 202686664, 944582024, 557213585, 89232950, 958438201, 497033876, 579910059, 819459947, 273545332, 343676651, 857282192, 689085916, 214348582, 877797937, 968308044, 999077545, 990775880, 489404526, 32052015, 58021091, 395875431, 529013060, 256044347, 965327391, 115169874, 309294265, 417586541, 960991650, 503880417, 107122747, 792456578, 21384701, 952834777, 101623207, 223808731, 579741616, 37448664, 658521411, 588547716, 176556302, 241578168, 905045282, 976759803, 173402777, 130205260, 823077293, 682218029, 23217368, 280188888, 638169418, 399610855, 213155678, 138519293, 381693285, 782528047, 47441520, 819131734, 727578939, 566387985, 575408931, 100251325, 180038639, 743936298, 420745943, 331200963, 327619798, 853329341, 839664588, 464791606, 665494375, 830364836, 874296626, 649325201, 84858841, 771898794, 584680404, 936887179, 471234098, 313064652, 262862506, 624236812, 360624488, 212734524, 949733439, 500460967, 466433121, 841878745, 39391024, 546971383, 844348473, 802428288, 412748901, 729053750, 392051524, 201044484, 283639914, 625118961, 537341886, 317070305, 208840841, 931852393, 800661220, 856433182, 645976145, 535524280, 21471773, 595283863, 646554638, 745082240, 321283194, 372682764, 411273917, 411776658, 751406466, 243455853, 527538815, 817065358, 859167650, 607016842, 706646138, 753089892, 652704214, 120612592, 21026803, 918632732, 684601096, 916355441, 335196850, 254319416, 267755785, 173798063, 118239256, 979867402, 465530857, 94493135, 636126198, 555372296, 193747730, 365373846, 622797021, 575169932, 252024820, 653008108, 338124878, 110560192, 326104800, 718054597, 901134069, 932509255, 111679481, 165781959, 541392543, 488043083, 808263410, 797685323, 185422989, 371450444, 965658059, 41471679, 752343752, 85070156, 385693820, 673234595, 407607903, 97448753, 106908882, 904025383, 701204319, 111169702, 882877361, 248951490, 883784647, 231287522, 427748915, 582362971, 853951546, 397965744, 853922707, 682324137, 20067466, 759125380, 364138177, 560917288, 162474967, 895089353, 352040522, 955959073, 450064437, 22012950, 972579480, 15673605, 983466730, 250428306, 225177496, 655323426, 106334194, 526902994, 534548339, 355912746, 391940911, 867413748, 789751263, 607642429, 560191207, 356156872, 310693632, 543856840, 574842710, 225782501, 807350793, 211600221, 12956878, 152968517, 327747897, 743373969, 518207711, 466448433, 435978674, 127888010, 184910201, 23954408, 911136837, 317543397, 274759465, 60663741, 770227700, 320325284, 112019360, 382601015, 139181214, 375250053, 862938739, 279815319, 655833365, 461379911, 619463040, 23341546, 793775670, 168089475, 959229410, 199333813, 194115781, 943133392, 678494115, 234610938, 613128925, 918011535, 775021341, 276252283, 165440376, 561105445, 38174654, 216193704, 402219274, 284767972, 605944119, 615642084, 350385439, 69130696, 448350723, 316795206, 407229025, 192777749, 556664271, 691095818, 765678306, 715004836, 310288759, 918815897, 709136482, 110307423, 33751525, 401761908, 151756248, 332960154, 518414537, 898920889, 481828318, 743516192, 711509550, 514691631, 888204618, 441502421, 42662042, 322278862, 277467310, 623546443, 951904013, 505846554, 313309344, 446011857, 481477774, 959014245, 244128349, 762697618, 638693169, 410727438, 828400419, 411404046, 219985152, 748507021, 926095408, 256620931, 708586547, 607880557, 273297934, 536510335, 169467101, 241181161, 924244880, 402891074, 276216312, 419492390, 12343521, 374338330, 924470945, 742986140, 525149594, 424489276, 32154079, 245092849, 137744127, 224095333, 78715472, 542390551, 191991997, 229727542, 436119803, 302441649, 574791469, 248179564, 800011796, 651140605, 458156538, 921932138, 940446667, 558033730, 299031449, 857848039, 16873106, 111129475, 39374121, 78915611, 831455999, 971961845, 93849418, 395730451, 446935372, 379357925, 440523517, 115787693, 409315415, 795283637, 362948576, 525284175, 988920030, 714739067, 397477851, 209121044, 514833045, 589946122, 631390923, 651648787, 259839865, 684714535, 916251868, 108067055, 371868187, 777394171, 303282654, 116036215, 56930564, 746808487, 606512919, 17004117, 207197340, 276389451, 646107921, 212992513, 43618344, 830860500, 230395590, 361338636, 465632431, 572774812, 515398540, 735369033, 524121075, 415761255, 970216742, 635837299, 442034616, 783470702, 898649139, 407295246, 647355068, 854982283, 585376676, 281780042, 24995166, 877345913, 758095229, 112156385, 295426050, 181875050, 763683794, 241600339, 472191611, 45765827, 788933389, 989104767, 181204122, 543073681, 670330213, 267086904, 78377933, 68412967, 265484402, 715043467, 905413177, 325130261, 17000369, 45221918, 266012549, 509946372, 184864795, 255539094, 795263077, 789397568, 511529068, 954288593, 916255442, 491372081, 894407555, 190875337, 250958426, 544954993, 353792528, 508918428, 82398204, 797802006, 671842169, 858943548, 768843023, 776061655, 446247171, 565459066, 312940301, 74779107, 346442358, 483859449, 324308616, 119374295, 129706934, 42036853, 6177923, 683166525, 451278607, 558364060, 917384803, 577376792, 659638266, 530591309, 859820957, 381927377, 634279309, 516421754, 942336314, 600339138, 547178964, 684998342, 50941984, 87045313, 148682456, 715614535, 52095446, 16448027, 436985665, 897896771, 141540962, 636923486, 858081465, 983180559, 740873684, 8387994, 256239449, 394519879, 935451753, 363704782, 674119345, 753247811, 15719922, 323935981, 570423055, 351648726, 154084727, 675762602, 222760721, 938840319, 584448761, 104564733, 387240408, 997891933, 69953592, 212502408, 719086407, 215556701, 274123109, 802768024, 1585760, 956798634, 640287379, 765883492, 259522268, 19647937, 735924878, 803126962, 790768431, 895038427, 794523419, 658338080, 718633523, 387843649, 413245401, 538765775, 274558259, 522415701, 543712892, 473849448, 762208251, 36981651, 990936991, 663393599, 939387498, 894886950, 988042223, 740615335, 972299933, 705223321, 450752660, 70043745, 729116763, 233829365, 72796431, 812625455, 220067420, 387506437, 764079908, 578962415, 466264657, 171839106, 756171102, 646845509, 134742234, 636941438, 930240044, 123464535, 450560921, 666020588, 811232769, 895965724, 753440284, 142804256, 740760960, 660081323, 518180119, 107368654, 448619609, 291096596, 32639122, 971894519, 210815518, 694198645, 913358234, 669220534, 156214988, 381534021, 693576843, 190535173, 85212387, 555477628, 558241555, 431179199, 41865074, 862832901, 178087985, 870099108, 183815903, 63247720, 454790779, 192651933, 764310656, 591446755, 19992799, 924559747, 874995021, 178660685, 596749940, 705239316, 771766733, 232819200, 173621555, 479570036, 656237375, 187478050, 5336238, 423349888, 297907307, 48866152, 889834858, 934192481, 100196676, 79982828, 552601350, 56424788, 224824015, 87498683, 991978551, 248396772, 851354216, 15756347, 462719355, 554980089, 201424648, 2261122, 46711617, 434776636, 182346105, 597641787, 130198464, 607330063, 528857149, 253934786, 804867825, 545937396, 278994567, 203715841, 825113530, 240618008, 937721767, 487002747, 991173593, 945395594, 766598665, 981710533, 742954098, 44941082, 43429034, 820089211, 170335023, 335946824, 205557294, 658983583, 774995168, 620598593, 676096479, 523340567, 700221059, 180093080, 694982226, 109604169, 545855346, 546723619, 862601642, 389812584, 299135990, 98970992, 172952819, 256075161, 538465472, 937449250, 90788477, 494058758, 910335402, 186804360, 748702476, 806473377, 4731828, 576295909, 841247659, 831152308, 120366509, 682532769, 187526718, 158241295, 642369574, 204857118, 548514986, 870050464, 357723330, 194354396, 589522462, 109999229, 801564869, 902666856, 502743039, 892849024, 998907966, 911035438, 845068995, 50799684, 214719504, 300166895, 958937588, 277133913, 669204197, 649339201, 26935272, 214339125, 778027316, 827274376, 294062799, 977727488, 530996640, 274374164, 420793399, 968894520, 325797116, 763230453, 389555657, 879657855, 740406543, 342314691, 291564620, 770746502, 95583442, 957432164, 895392152, 970367879, 103027893, 172043435, 995781733, 981629227, 736743518, 260741276, 194694885, 761511907, 483724806, 215090800, 281472804, 196186047, 926893138, 13498122, 424276976, 470592490, 82802660, 16658398, 880398171, 5227207, 47285274, 839333903, 785376953, 976425564, 693379662, 650769657, 919343575, 294112540, 20512617, 600441390, 59365520, 506857289, 92938469, 626578068, 522098548, 486152478, 96651790, 59017434, 91469548, 8939084, 711724219, 961265670, 262637194, 685179661, 972621448, 963745795, 52598383, 698210599, 221534448, 385204197, 373115704, 244029011, 434442627, 33740440, 493830024, 554459867, 571530989, 904894367, 221934796, 606875735, 638158741, 632024549, 560624681, 972987755, 175303638, 22268472, 581423523, 620778082, 75092374, 472221617, 852681134, 965023690, 730585764, 887908763, 151865360, 822923879, 93080651, 146331999, 709135080, 455232322, 158176413, 835434734, 622180065, 5942809, 329380143, 402212295, 234310294, 650265503, 539761053, 995855890, 270717483, 932052332, 785724713, 748305562, 938453344, 485746522, 788691504, 878142370, 953309307, 903758348, 767930811, 522655502, 846534703, 132064875, 875847470, 346374594, 80104434, 165314084, 553531197, 468846348, 854312867, 412396232, 674052183, 800545377, 732253782, 783458700, 813607759, 980661172, 230483470, 695306236, 151127693, 629280456, 95093930, 804489106, 131077944, 885952106, 333617250, 924243754, 798836382, 700018138, 194307213, 706460266, 873798192, 364102622, 91511954, 390255105, 107637504, 336438972, 755913917, 683785590, 482536758, 297733411, 211358493, 472467294, 73411873, 19704360, 715198421, 576077080, 215801832, 183490698, 646009462, 646477417, 417106066, 957114646, 262880765, 25550851, 250496781, 244300454, 86952000, 110327537, 424495906, 958996095, 507976214, 186248033, 917054072, 871667293, 311268599, 2072637, 62186292, 87348398, 132630736, 468174903, 463810877, 652343402, 387484044, 247867791, 421963970, 582619650, 708068468, 158897474, 404741887, 693977496, 254560530, 552400610, 866753446, 537738783, 170039164, 265743855, 430852511, 138614962, 944287107, 271538707, 517186182, 388925508, 467254991, 127982980, 131292748, 90937583, 844868679, 389721060, 454510241, 843623458, 301410349, 402071597, 239508719, 122844056, 864901433, 807344151, 700683683, 156708934, 362673419, 978707622, 844543439, 948785027, 480036296, 571828488, 615756595, 410570750, 585667056, 589545933, 861132595, 312233778, 736699002, 412947211, 825717706, 910619182, 165859280, 806796502, 53181861, 526472521, 998848720, 253651293, 601808488, 141050873, 482705911, 111473998, 512102294, 236647724, 714770199, 382417346, 849825013, 522920619, 958863070, 83289959, 631588449, 896931762, 826407484, 591853678, 524520287, 521467963, 473720174, 945455233, 832473122, 804420881, 485043074, 96109726, 933399444, 113134049, 98165538, 210757318, 415914777, 309050136, 892399603, 903616986, 195855557, 469385033, 968295337, 504646905, 171518456, 793589648, 521434753, 888937151, 21745301, 441092790, 183112342, 623935566, 995673530, 726180089, 378387255, 986250768, 450861345, 839005825, 161828466, 893776721, 448853036, 496603440, 300690507, 82669937, 303788839, 396230716, 282763863, 154456243, 168828611, 970778598, 697581668, 934298723, 569567393, 799083331, 666934056, 634846182, 178600779, 917836223, 532124323, 532733187, 409950141, 275599506, 844072616, 122926328, 786964588, 660030319, 74714096, 814960521, 714376019, 18702122, 468732402, 428943700, 139766112, 245315855, 442718340, 815073366, 26063258, 656116414, 743364741, 460302165, 324300205, 295057273, 329602280, 43739772, 560167633, 679847515, 629023669, 679060259, 164100008, 71599656, 516600699, 711130237, 370021327, 872569391, 553730703, 780929077, 740518741, 505743814, 932307650, 879903076, 560553494, 965337684, 798999124, 115600396, 205314099, 94240711, 295074271, 608427536, 316030071, 541267743, 17634851, 750808286, 44009323, 111650612, 949375862, 7588397, 364637833, 178548015, 221401673, 633311841, 517841525, 7001458, 817721771, 458745814, 963554281, 57351339, 535326423, 57706140, 130124802, 582368564, 492227848, 32510985, 435264112, 849839163, 214934599, 194446835, 983937312, 905234463, 181702204, 712029538, 417898574, 355578929, 790572654, 152883200, 546803561, 717539893, 339777760, 947489640, 772661408, 83140514, 280205556, 898303527, 98303081, 810804492, 794156532, 954224385, 893760210, 86705638, 287078402, 771938338, 882315915, 478103469, 471094093, 889202187, 312151506, 64940399, 241722181, 249515315, 273082494, 987828943, 439301474, 934347806, 450921305, 979648881, 621820085, 935765683, 598198318, 444300011, 905027856, 773689504, 684040761, 108339403, 91286195, 380463885, 601886636, 964070534, 925090575, 264110536, 295139899, 240919218, 714779141, 504493386, 405002803, 255033698, 555842476, 81589171, 855872783, 757663797, 459616328, 479386914, 373307962, 876819914, 353809875, 836764127, 430127501, 369760327, 680313388, 859000812, 132304279, 731647846, 884451953, 803770030, 160665113, 68740087, 741365056, 309923436, 73396343, 546498288, 187730890, 909263143, 758292968, 560022075, 519986935, 484146733, 434559498, 389801951, 25237374, 440018445, 6201197, 545474030, 65707946, 287046375, 867857651, 340016775, 966001029, 811514516, 862428291, 398187318, 497065663, 749155213, 137596598, 69368210, 167436171, 374160741, 886391541, 407859576, 161209849, 653907394, 973697814, 368919491, 158109214, 700175096, 382394530, 398597897, 868165815, 794406495, 430801897, 547088953, 401335678, 515830686, 819304281, 447446420, 686959656, 342383425, 771739325, 950357503, 402712261, 629324777, 853414826, 619385823, 272948888, 330116500, 669654003, 861676040, 896248691, 727876412, 115056508, 641040658, 723964956, 577926978, 489014057, 14850912, 619659123, 658264869, 453347659, 309765127, 867875720, 427235917, 471345841, 43993990, 660963465, 890870737, 452741612, 650049601, 231587168, 293007918, 698543645, 225592238, 717239106, 115726155, 348143325, 498862176, 161668608, 22842450, 528049582, 205319727, 317682693, 749402424, 658201215, 337076613, 788144624, 47187290, 651202327, 88232804, 912206891, 523788400, 876745983, 252354806, 871990633, 253788708, 164492996, 458726615, 947379842, 127684892, 273915644, 620729377, 936855959, 79385933, 902869154, 306959618, 309222262, 19453667, 151594975, 246001667, 560537218, 702669350, 750580513, 299358257, 622510999, 426318407, 364451012, 742961119, 771394650, 54902222, 35716546, 878769809, 234422451, 64710138, 609065710, 375587306, 86049564, 680454194, 702324312, 197221882, 2113745, 69617437, 619888078, 961301148, 50711584, 461848295, 728986399, 754547525, 291569074, 325060422, 125882275, 736465757, 771360835, 123332453, 956622448, 388544538, 951727923, 644945277, 731492280, 420807931, 693780661, 672188443, 846450332, 943530160, 175263137, 589280733, 706083645, 726350564, 366333975, 637775976, 296216984, 300252254, 530323948, 56808532, 365938498, 94542526, 63368646, 429741395, 990107284, 169672762, 794583729, 182483573, 913294510, 340820458, 475198556, 621883227, 834536345, 199946347, 819567094, 140795410, 166411153, 856609082, 125438324, 934951670, 314371784, 733564051, 75580831, 748819066, 498048657, 757351031, 456744548, 672246823, 265227301, 700353875, 501864819, 845012572, 858464302, 4738221, 964417624, 714458448, 525842033, 987962625, 862114056, 762583310, 846471381, 165522792, 225998203, 13919320, 685963780, 484745325, 37070623, 739222094, 675582592, 316834505, 19793499, 800797560, 375269638, 454071380, 826232489, 167315851, 10489420, 633997417, 157263334, 888274807, 363499261, 590135821, 228156716, 989034023, 479614676, 74324340, 58771658, 233053353, 41991268, 461714103, 803186042, 664364344, 470840937, 850088558, 86852773, 588630934, 422592108, 827055430, 613199792, 125648066, 370577713, 709053300, 117470950, 511808873, 861425896, 281614304, 863461781, 126865083, 481359459, 575127541, 411584521, 804787371, 429656222, 349488638, 339581399, 459330648, 708628154, 404478521, 701870380, 68728288, 616362645, 769985008, 928319666, 165381172, 475023103, 99340349, 26880863, 5176416, 75885292, 389272560, 63152594, 216657003, 55625686, 506489118, 171037418, 266730792, 825073083, 62393107, 433575805, 653190138, 917379665, 814164225, 1768240, 142436869, 48155411, 697636533, 852614897, 835969191, 231554843, 399578667, 207313932, 400735718, 218871617, 79974079, 717958492, 489409272, 8729818, 563330245, 678136641, 871963646, 379847855, 487390461, 944605478, 372105817, 71739386, 915189774, 299394348, 657368897, 823520740, 258131811, 629500637, 352874807, 499217450, 537826010, 880401783, 480132589, 402148884, 653796252, 673851076, 562724360, 160214212, 456029995, 224617612, 911330367, 217971150, 702101172, 841889564, 119360070, 453549728, 244998154, 772058750, 977760890, 951014761, 900081639, 726576683, 240758443, 595722510, 982176281, 439197922, 493295576, 379905920, 393560610, 90593180, 349701196, 321117119, 246934640, 379811065, 748439426, 178277596, 17942929, 733073027, 646180808, 446656948, 86753240, 164792207, 115074206, 73884312, 387671505, 976921759, 795187519, 296720919, 878637082, 61245465, 258939332, 832460820, 593943923, 684971825, 406746532, 687858440, 293654403, 386624995, 401438451, 834212662, 229286613, 477222134, 421379939, 992275538, 335615450, 533310414, 582981282, 977752373, 251918398, 51524564, 33214437, 973009345, 62705678, 882371984, 540761986, 556931398, 717276308, 585801756, 130392551, 585280195, 140842704, 233508141, 832876115, 71778547, 60454812, 10413702, 660256968, 514975126, 746295197, 612085744, 782729221, 285735444, 817746606, 171005665, 114711141, 552712596, 77979153, 950669709, 932815438, 86867887, 695398315, 301939928, 709685381, 264356013, 928906085, 694931132, 248352610, 409762153, 999781909, 557009703, 770532305, 41909304, 299380144, 214447004, 177733849, 370636308, 586283863, 61463574, 205011798, 385278290, 80651443, 312430710, 419391443, 76865648, 405410308, 558810394, 909449018, 328365557, 299315018, 737297049, 894162311, 113862352, 259532033, 734030534, 609365410, 241266117, 83726255, 791146162, 969995092, 754188161, 537506457, 557317844, 627106963, 681035508, 8861711, 691106175, 622454751, 201934660, 371021775, 70599596, 971037642, 240586148, 290042798, 710279319, 254911237, 821963102, 951005505, 999397296, 205712823, 669331182, 615962936, 407713901, 605751362, 298655878, 418614943, 825309782, 999281226, 445284939, 86513390, 585073688, 517400113, 256389297, 759204843, 22205099, 311060089, 886098508, 203326147, 976026629, 955093297, 251900822, 458717286, 458828584, 785610622, 242326730, 46574540, 709020486, 702370893, 889127177, 698418253, 336917617, 355227837, 16411007, 534155399, 422171147, 51317859, 732406935, 918300348, 252479716, 574641772, 80244317, 895605715, 342217502, 383701081, 544745969, 530850128, 344478517, 704069773, 26660256, 241504276, 377254608, 903140944, 52421395, 449510992, 481028923, 700244510, 989489876, 133105964, 318214645, 708133303, 460466178, 694659938, 942180654, 409078691, 114362223, 440635910, 256406679, 348427494, 612300802, 335815957, 533536848, 63465932, 375437260, 143860957, 248236388, 126406541, 323958736, 21365180, 919566284, 507373168, 334480129, 818908599, 737563146, 616433439, 845940593, 710533417, 486835224, 582337533, 627195512, 269282307, 650094506, 223619843, 147958532, 412764686, 916185393, 559843024, 430747454, 987213620, 706792566, 610076502, 648821144, 367464378, 775274798, 472082886, 305801400, 682551486, 790811012, 710071671, 313695993, 44915398, 196671785, 246197870, 937435946, 713751408, 363399557, 614012053, 547591506, 459237686, 745272587, 789407079, 48511076, 310807094, 769826379, 609443117, 157418551, 901043921, 692341785, 423906950, 790330082, 512008978, 713799056, 977176305, 809624113, 258647351, 748752864, 357739293, 584412369, 380702683, 374277590, 792762107, 135696641, 109549719, 828310730, 949707722, 858255770, 691888910, 345989634, 405590823, 334866272, 680704010, 365403137, 67585873, 308287512, 700922408, 824095293, 788776755, 289594903, 333484814, 116457498, 710561265, 861440152, 872853624, 139242933, 305190093, 931503382, 11684164, 746946028, 266228443, 188252042, 447448896, 942757653, 718714078, 990216819, 219675963, 485279226, 152286172, 722283640, 731362464, 285898034, 279255848, 31952026, 835802647, 516982039, 372818416, 946132606, 639290803, 563226379, 410821364, 336517013, 937434144, 367484679, 503565160, 495270786, 610825322, 493405358, 414380286, 864825799, 336237169, 630514654, 858784083, 130260268, 731118696, 708865038, 937578868, 174760634, 156388127, 588042031, 976464855, 318180789, 24030707, 523552210, 307054499, 952964776, 531960603, 654533000, 163851444, 141389232, 966149816, 260061985, 372682693, 684676231, 880101897, 36501563, 467479137, 101730320, 961104104, 326086479, 244726990, 445706835, 44490328, 848578874, 938649846, 83943180, 176592669, 367831017, 782601455, 51674060, 196782192, 404109644, 973376837, 496407168, 592404613, 999821802, 995883913, 278971674, 330192178, 455521003, 838287328, 566721069, 146896114, 923824222, 335027223, 953780038, 469641413, 793714514, 71147757, 287791113, 504702370, 35639190, 38187112, 806955403, 681048986, 537955806, 65996861, 612737905, 368784487, 929910401, 948169346, 437483136, 926582820, 665921120, 815716512, 705089628, 51627613, 796968147, 37756043, 730922152, 848614489, 181037394, 82904340, 364510403, 2359382, 893993990, 752930849, 329666215, 951404659, 410932680, 892940019, 936120599, 289456693, 9999198, 190360041, 299789139, 308305836, 226391793, 161242672, 117129997, 626708012, 128298830, 9352054, 609152395, 704265123, 421179365, 987431330, 889924034, 925631509, 625170572, 120638148, 27077619, 614573792, 721713074, 368431391, 344453630, 469077973, 24802131, 648569633, 565871610, 706160701, 595359599, 100050092, 396162494, 602149909, 179031300, 695319245, 246773426, 961459261, 352260396, 997481814, 61264672, 122213177, 909394665, 982353531, 575961775, 248061205, 825415999, 586916890, 473954749, 199520147, 524686520, 862451332, 320023639, 752432431, 243700459, 582003110, 413551110, 1989601, 810422609, 588553249, 42380628, 903984235, 281953217, 798264003, 139654134, 265311332, 354143552, 422036966, 355222571, 623469472, 983434103, 738103664, 377434574, 622509588, 205197145, 804607237, 822432143, 495312870, 71557680, 742288175, 799485753, 880061921, 674191228, 774893857, 242262031, 848878010, 461136770, 411169274, 292073410, 711564310, 62037060, 233188551, 97215963, 395023193, 635997599, 791260109, 767768859, 388575701, 888187599, 404121787, 841393620, 317254536, 299749836, 578160566, 632349987, 285066692, 588060844, 132461624, 306783429, 810604583, 345293487, 695527095, 479459979, 296018468, 900605314, 888453241, 408473488, 713676222, 879220422, 616917678, 189835726, 425531051, 19261294, 190612561, 722721812, 567000583, 647329046, 752597216, 620128196, 314292685, 779276673, 653531852, 19132145, 700083390, 845741890, 178755901, 272970894, 118176302, 497409400, 180247902, 694042058, 438746548, 280176025, 849170773, 153205821, 815537640, 700048420, 528107132, 418800443, 372086203, 696497165, 496411708, 232968647, 577345920, 486167789, 594378826, 615170242, 34981174, 89830990, 793897780, 49771187, 111156359, 212893609, 184777962, 350070696, 457377430, 706650311, 452781228, 496254867, 712764704, 678029611, 729151882, 460900175, 503543265, 600639192, 905787046, 913679549, 468395374, 325165065, 7175098, 244703928, 185438150, 894961951, 832513616, 740444088, 775031569, 796361049, 816481836, 36201856, 275915913, 300444883, 856757374, 39854621, 103931359, 444185500, 533189739, 709645038, 511414988, 975625712, 576443104, 838173608, 806344936, 741237990, 616127459, 330337279, 133016799, 734465026, 636540717, 505208768, 7039592, 851303697, 674534319, 625572644, 629478701, 652164360, 715444617, 348755141, 455949051, 297861005, 181529471, 588433585, 220861279, 732654406, 404162569, 649256534, 990840452, 478164688, 269438989, 455638319, 434256488, 406044163, 732362400, 985514903, 895995561, 704212151, 934886312, 695153281, 895763926, 851951832, 15454356, 974141247, 401592540, 998833243, 164914429, 524225400, 274144540, 723075914, 871613207, 378676111, 611662605, 76042894, 75308288, 308587187, 823092230, 10455534, 993530302, 157640274, 789151343, 919742909, 63681761, 533339693, 402742508, 535204087, 504774455, 794837811, 33520609, 525435750, 609568330, 423909959, 485346348, 348496099, 928021707, 651995963, 481261207, 93514893, 776351340, 358474624, 241265782, 921268952, 287510790, 989500345, 336803844, 284932863, 526641319, 563014926, 215025885, 690507454, 134410906, 756887581, 223215624, 585027689, 476547064, 64616187, 45212089, 510223141, 851251294, 251816266, 671374817, 42298928, 954722399, 172080153, 89745178, 427749149, 512676180, 839627965, 722575921, 900684017, 756924594, 664814832, 541213780, 312449996, 364180449, 8069076, 286615400, 664987335, 308144296, 473268367, 849721167, 529199679, 661882710, 958077948, 236567299, 183900548, 446424431, 663148349, 701104434, 566509123, 286599880, 40848167, 199697300, 329909801, 669459863, 282917426, 65965045, 345356108, 193279538, 126752381, 652748959, 492532941, 187152855, 261260643, 247434787, 539629429, 630586285, 50930417, 398791481, 540863981, 988052083, 979251998, 732400298, 115762332, 565679962, 133049564, 571733521, 645123115, 482795842, 526177692, 70733236, 856998371, 232906466, 7262710, 97240306, 659800707, 531537764, 973442014, 501664606, 433781465, 673678686, 581824242, 895683553, 96299074, 780094939, 683456389, 680155542, 278454702, 758399099, 879235394, 597451518, 938107191, 665487463, 472510368, 540754482, 843329147, 92452918, 42587738, 365811818, 310170909, 238399699, 170175571, 799486982, 929031931, 65560826, 278532020, 383121255, 363449074, 189299260, 976032411, 716895678, 349367889, 917306846, 375839991, 645768639, 847876391, 437345751, 232424656, 553989542, 617088251, 951879619, 989557863, 980672389, 80968739, 732782244, 247039867, 101291304, 561322253, 672116320, 988918398, 739557638, 200038251, 458302892, 833494759, 953876458, 743710496, 69364476, 975912362, 722551661, 405850180, 906787781, 816193807, 451034810, 844399069, 739013474, 70805370, 982586214, 451177730, 146803251, 717369582, 542855680, 86099611, 110781864, 568589372, 997255989, 300223006, 624902650, 732480730, 234754719, 300146348, 558144116, 845502707, 437393708, 793026474, 997794167, 738481024, 466793931, 790533738, 332683417, 287376538, 228890988, 223424171, 112065192, 408432335, 343304349, 108309792, 168942682, 955310049, 884390269, 491261997, 904754684, 140936035, 121888883, 63035361, 49026294, 609272430, 87306461, 525444175, 108395632, 859232103, 925353436, 43047366, 835685946, 281695972, 102014196, 525203092, 861590568, 192601668, 748355232, 324529935, 295424481, 649051617, 620493496, 953575169, 828910039, 334493175, 449018165, 877711820, 858037991, 77274471, 569232895, 830760206, 292029509, 547228209, 124771586, 693729975, 430573073, 335677193, 788119365, 839082318, 377827451, 6923483, 847206879, 590423945, 396789383, 793659231, 588052184, 816684185, 602029883, 362329139, 509081336, 269227340, 766998089, 762204846, 551344841, 955492305, 713630032, 828536884, 444351209, 292199523, 718437220, 373195606, 278830032, 273124478, 986744163, 988709894, 63662986, 796201967, 936454218, 996340312, 129999331, 722517084, 545092250, 728934672, 635486057, 776340658, 593086712, 247609123, 263641348, 426946132, 956948018, 910655795, 27377471, 947449947, 316691634, 878833158, 47340629, 580623802, 538873630, 461318096, 407765209, 182483377, 279985581, 959207286, 228816486, 992636789, 866206092, 466325663, 570052225, 483556160, 971781574, 74064562, 795145280, 181545559, 188038296, 90916046, 587215544, 772553552, 186999519, 360469388, 793091711, 564326522, 627507746, 226977402, 814357396, 115467453, 401183396, 265748883, 170159742, 363550868, 170966168, 374576573, 381225966, 590699503, 655824819, 689021315, 816340855, 82669849, 480053720, 62428281, 960134398, 558464919, 890792692, 510706381, 395792220, 350608052, 705155894, 68198489, 666748348, 261404980, 535668803, 625219021, 195614773, 528847262, 291392355, 420776910, 765998678, 282953351, 825524495, 538192807, 2259995, 50237968, 806256702, 372790573, 852259266, 613008683, 799990908, 148477022, 90377953, 284432992, 770692970, 345051611, 791252141, 530484447, 971596567, 250738389, 280176962, 797594943, 331813292, 322164900, 130181951, 704276681, 281131524, 186654409, 210056825, 342957581, 133396841, 807825452, 435216889, 296926624, 984475938, 697390577, 661295115, 487768689, 937784355, 236551824, 358571710, 843112163, 577935834, 886833781, 546266792, 705933182, 879317770, 912638297, 838757209, 749657724, 415476488, 474087208, 219340216, 361430344, 119425531, 283102795, 198630432, 222509968, 184814467, 741536348, 993010991, 283814177, 687007884, 264784334, 992608025, 960417746, 237691582, 451298198, 864079864, 712489546, 515224540, 333347140, 640891932, 495910138, 79370612, 815766367, 741372537, 347534758, 725874653, 738915503, 196029515, 458050569, 599927944, 113423673, 670719629, 953687467, 196887446, 353389144, 13845766, 19818138, 533970193, 274443828, 881702470, 117879215, 596058846, 52678728, 7748501, 208606848, 481284665, 103159097, 586360589, 155515983, 222592766, 232837605, 912977146, 655885277, 951947813, 704389414, 987977976, 976798752, 751162509, 461513872, 191569002, 409375, 58963109, 605684478, 659802507, 321737942, 381354192, 361628931, 247177308, 780704811, 343353149, 549535798, 653112521, 957901313, 853211681, 829666598, 711412515, 58855952, 852523022, 895092050, 541299344, 713749861, 525643119, 155846716, 524499793, 251151206, 492263609, 358243613, 421920184, 847558514, 458269975, 21449939, 660350126, 223905579, 633159577, 848601110, 852895756, 343425483, 138706987, 608360989, 291390948, 175799701, 364006623, 159957397, 311782643, 89020042, 809664046, 881196670, 636567770, 848815965, 248439507, 933423151, 712378568, 926541492, 810100994, 837883911, 743126854, 370055577, 545018479, 672571257, 985664766, 818080656, 260708323, 110862231, 899646889, 98595681, 640664624, 807782353, 930310852, 152232375, 772403503, 740298308, 340433793, 346206731, 909697332, 642926849, 571512460, 120740451, 290901331, 798574041, 351077806, 814532694, 603613984, 38781909, 400464329, 110518639, 644890752, 657815718, 806326504, 509209223, 16548913, 429689855, 971865063, 417464303, 599906384, 798898080, 388474180, 472685890, 880988857, 541065089, 893254362, 473708154, 209909686, 110427987, 493603646, 754096376, 343883312, 41623036, 655843535, 13054293, 164319217, 263953867, 708972493, 666349130, 964892629, 276577921, 576285534, 172685378, 625332818, 278095544, 126468848, 562257795, 585029716, 762064560, 340187941, 47335458, 700128108, 437780978, 125924623, 514207773, 11632920, 605681987, 803503498, 205673606, 717592551, 981619676, 823362564, 892984319, 544561397, 275202557, 144013559, 65759800, 798107398, 561898498, 311632719, 422352275, 917542262, 926582323, 44312308, 762271153, 276005073, 982058687, 173149998, 516414484, 709794804, 767940886, 89023572, 609054176, 909952673, 827906183, 189930599, 415775562, 6493635, 632542919, 873512008, 70919960, 807489404, 637401927, 873691522, 334742672, 499661436, 508408543, 858698752, 157991661, 125126873, 794808912, 131430758, 383440413, 88970114, 794493450, 718612429, 959521850, 844817500, 833926417, 756891260, 758270729, 629376494, 766222908, 355034436, 589496056, 296695923, 889687248, 963282025, 479297360, 512770621, 138708599, 966643421, 624447120, 400818961, 380904254, 193939124, 878047928, 967413661, 599248587, 489088112, 628233220, 304000879, 603919430, 403300452, 50330602, 712356618, 94296461, 901764503, 639991772, 815676776, 757293498, 887767036, 936223914, 372918330, 466360458, 274257114, 215245911, 69719948, 496842520, 444369305, 921427846, 554237937, 870334092, 975470171, 992469415, 333609079, 46488740, 161107904, 426072826, 372002379, 799940703, 441359163, 720399155, 129237583, 629080259, 261838579, 873034367, 395226629, 732595532, 794211572, 576626068, 16465149, 441510757, 50156713, 279766532, 857158420, 614931102, 962357487, 66423748, 94170509, 791095664, 469388149, 820804609, 496976190, 944826786, 221921361, 427857546, 16177166, 189827831, 792129907, 624975630, 318029540, 28428554, 226709556, 466932500, 808198206, 182171858, 547969689, 175569225, 60340519, 151794173, 706374609, 421995937, 293299983, 204440024, 275546456, 915454390, 635875254, 899541435, 134918322, 320776397, 278937094, 786886898, 731082153, 530095671, 809150244, 173213902, 157208307, 757042404, 854761450, 416804931, 184754904, 357445688, 654230030, 850716829, 52838553, 8740309, 894154937, 872471702, 122904974, 689911261, 161287288, 298418368, 337335558, 637279010, 121637441, 724432128, 567098094, 184581258, 675368433, 220265890, 620786790, 102526708, 558867351, 746473914, 624059384, 685086757, 173759023, 465570385, 441676608, 742522510, 777271020, 11714752, 769678435, 723205825, 80746783, 451047966, 928646986, 805306584, 449371661, 49194369, 630487434, 303028445, 260318601, 107758058, 642210169, 919263701, 66453341, 410357636, 130770533, 22735878, 261903617, 132813053, 119273141, 203703210, 821231480, 940019969, 347581324, 773988935, 965821003, 247451403, 768143102, 21864886, 628123399, 424350184, 78749096, 269382208, 732559671, 580870796, 348145367, 806523421, 688695629, 870515887, 177921919, 668372393, 310162348, 729496041, 978905047, 926026077, 9524916, 525465634, 468497862, 105921949, 494190409, 898687257, 435154472, 97000670, 103063201, 759470541, 985934954, 127287099, 957907323, 240595942, 274003812, 528721942, 919102074, 77943885, 126217626, 746805695, 641873478, 40788118, 32597595, 706569506, 886921730, 82554914, 695657270, 370509270, 112065383, 97634814, 58076962, 558478028, 693043707, 150289762, 139245416, 222849815, 818748634, 287040485, 993105072, 130087440, 666524762, 990470581, 548117730, 49651679, 136264768, 62439846, 658083472, 502920677, 41377732, 556904593, 171287198, 642207994, 370714576, 730515453, 160728730, 543244456, 368190658, 175971732, 227912212, 897986002, 147394951, 183721305, 258824712, 481219520, 142959064, 111281975, 335161087, 300447141, 288349442, 754441262, 349503224, 329981504, 489952547, 235962866, 344093048, 214337369, 922568631, 254543826, 829155986, 547679322, 755494644, 343090082, 879367930, 511256618, 631344492, 776359463, 418528051, 22282508, 397506726, 983306515, 303490617, 367371733, 908833185, 991433118, 483607167, 96474840, 973371566, 724083298, 868663379, 100738123, 294260716, 122670177, 729859731, 479831360, 786998578, 404076244, 743874396, 820374707, 126761042, 211696953, 499405974, 421054855, 102438984, 843456267, 575848317, 803474722, 88032096, 117061179, 297626252, 59495723, 997039096, 852685840, 350321983, 394756031, 544940029, 851127634, 715362102, 159012993, 980155717, 108180794, 197631396, 493872920, 603083175, 778039426, 595937995, 693191730, 83939824, 980030972, 495118334, 113139097, 993277102, 223806207, 190921778, 101849056, 141140579, 990533731, 106072094, 89375309, 129348136, 912994209, 870066674, 632862139, 35400421, 127066181, 33113808, 444991322, 617412029, 840550473, 26728508, 351290077, 926138441, 47039229, 887750526, 379760141, 385595496, 104268075, 709141455, 94420125, 858892500, 890996273, 136608760, 863046763, 245944913, 898312256, 510878978, 150106324, 876352678, 128839187, 262095245, 498626896, 207931189, 516006482, 192164142, 863625886, 747866188, 155061601, 359474442, 646181056, 990633845, 462991487, 345763303, 737787218, 48152701, 819981081, 829041881, 477266560, 317093994, 514612747, 747342596, 513046443, 283230406, 706659638, 607613302, 791930000, 390893952, 270493808, 1621146, 940957424, 824445132, 796084020, 723946977, 646189558, 292758919, 531047993, 216941147, 361796024, 322581317, 918540717, 15326164, 170008593, 293032712, 316207968, 579586354, 230286320, 931485743, 449190051, 272965298, 539901379, 834894996, 955655861, 901147453, 334760944, 684760964, 167257951, 623608205, 460824892, 761675691, 618284150, 870948678, 94807222, 94155257, 804061995, 392119627, 196538077, 366742447, 117714560, 685381623, 202924838, 127777251, 997212711, 366955583, 836628696, 35957149, 246816107, 747068042, 30876741, 199564223, 165725932, 495210579, 586200171, 531910466, 230915373, 671083116, 140231977, 810827428, 733618181, 528182302, 540020129, 130394349, 675479824, 276287726, 4000055, 202041742, 853851391, 867749421, 678819846, 306575625, 194676778, 213436897, 991615192, 632042418, 903060081, 422441782, 34498583, 455558930, 274646263, 123460777, 882714754, 534076442, 757125028, 729158678, 658315369, 228273480, 524411294, 392965848, 984135268, 593225662, 507718842, 957387474, 517393696, 499589130, 599075786, 692407971, 876990499, 470750465, 365864344, 867488155, 990682118, 481443850, 353425137, 303850991, 461541825, 683842715, 285861672, 623351321, 466411018, 800513405, 964331417, 351393360, 633945126, 180779753, 666679351, 243210071, 721197001, 738150672, 18735887, 154718619, 412713414, 964658440, 373434594, 299438660, 785676732, 728296389, 585221263, 786214369, 9073725, 541174482, 716335443, 517137953, 709335293, 604353966, 125954838, 899327405, 90878844, 416047495, 851127136, 951788079, 830211373, 577327110, 580426095, 276648969, 707106307, 32350348, 815215473, 562392051, 389972392, 274996279, 898036885, 199013864, 532774843, 109047957, 503164995, 810289805, 933613684, 693564888, 533754180, 396482446, 55332621, 522751579, 101315017, 602196437, 659954907, 743446951, 850196068, 863785412, 118846605, 712973548, 216679278, 9415186, 240112042, 517769411, 618378344, 104905908, 332329497, 231957779, 150051520, 375940154, 816443797, 631472738, 240219775, 114954421, 122602774, 789208895, 84367767, 194801501, 322885835, 83471294, 279913253, 514948, 821450082, 978692395, 86889990, 832767893, 78299734, 828016704, 50607527, 977503005, 654376026, 111401685, 566042955, 765628072, 509853352, 640009441, 152747955, 265171663, 409619988, 922788924, 283292576, 397021974, 541306665, 525432684, 318961409, 952650118, 457211723, 193805927, 370254400, 433726683, 909681695, 455836844, 133131084, 671120113, 467084955, 858734905, 316863741, 216236669, 829829768, 349353793, 123899610, 443603381, 585598842, 760475706, 850327248, 778775195, 821924463, 830032054, 224510981, 847754969, 835559956, 382309324, 829559071, 970692319, 985496676, 988360141, 74416951, 613177182, 370610764, 630672489, 41603503, 971725813, 885270806, 502217132, 68822361, 983021303, 923436244, 497418414, 148439598, 827979843, 527176994, 401864347, 571473216, 361997938, 92546353, 266709338, 956561775, 854246475, 282536153, 854650011, 144098796, 134525234, 266080855, 670948267, 284820336, 558749031, 699717388, 276940981, 106101040, 11607372, 895151283, 195910543, 447707454, 763864948, 968432347, 891563317, 331686821, 435529496, 219147210, 475279250, 187919193, 254916689, 499986771, 614348209, 509680743, 460837948, 730777825, 19674172, 177153668, 809242533, 202765911, 719689065, 639771021, 604822959, 433457488, 933804237, 625467775, 711045673, 711474110, 937178854, 777554424, 369524965, 227176100, 20119393, 153932719, 59363078, 277368137, 861852204, 569022747, 812345894, 526754929, 266247482, 315624726, 877553990, 794212088, 802866647, 102761204, 402558474, 249702429, 873217598, 652615975, 958989453, 424807349, 75466854, 215279377, 571791356, 706248687, 373514992, 884997786, 281357227, 428325249, 516450027, 416461554, 594816626, 971824511, 707411294, 443349239, 76456410, 973307699, 342961884, 832197953, 677904630, 170155941, 584672257, 438748750, 543167281, 211413201, 903607642, 636664595, 943346609, 226177928, 795158079, 790749834, 998412088, 540123728, 11937147, 341689351, 977575300, 770477783, 991907788, 332713944, 107862573, 494219015, 116848779, 791638120, 135390881, 38211627, 165547913, 716085986, 430082793, 160488009, 362356564, 329993010, 327401708, 14635424, 11074684, 302543412, 474847537, 147358654, 995837766, 225848659, 696636711, 937949981, 652515013, 154432562, 517338340, 570443636, 546668191, 41024744, 874215601, 314385375, 587746475, 929839176, 124428741, 103098247, 161273249, 626182995, 77475071, 435862022, 692080789, 362372438, 39162402, 314385315, 170536901, 103238386, 177221295, 550388106, 358010847, 308708500, 832798088, 201344135, 122297390, 31319083, 379778088, 332380851, 402394196, 789736107, 554207575, 437981713}; AssertMatch(players, trainers, 20000); }