4747
546950784 15307663 718321813 495303741 790644036 615688217 958788573 225520512 869109168 463621824 576395339 552090022 846095249 186175431 674179348 648962356 818474650 298727951 496780584 34747927 914377988 198239286 760284022 751054171 905874900 167229694 867495647 708260035 782863516 447204307 808915995 206214690 945774141 761130111 806625257 254102008 869073529 791293363 972338134 163743568 228429903 32398943 162103342 115625479 463382760 290144428 779667111 441847501 592205076 47518050 867446521 439417660 748176428 57489911 984333811 474063394 887761443 423909621 468078466 151113969 638728543 19375357 716759694 259530226 316290014 274188134 856781430 179798672 671914700 669764650 955972632 246478391 438421916 326487543 663782050 426422741 867688065 586602092 983422961 162885279 785440848 768096299 940591368 678663819 679653284 435015280 791319934 398724406 965160068 675766012 745995830 509451153 982542678 835624056 849434294 728812518 832585686 803225427 897462900 381392596 916915598 551259511 949424957 252212291 320396369 181235485 456007566 73191476 710869872 466672643 655302289 549564443 652947610 130391585 49683291 447985190 348590751 632482850 321675960 366428247 276264100 787237561 462863847 699357177 460750793 641457883 431470018 505869683 276382115 977739705 858951275 930946610 429917660 913863646 499425158 934737728 56296302 329311259 59994626 647492730 99717215 156572884 49159912 749072492 36639218 423962916 392508231 985083584 352559 447316363 435032940 626979420 154539745 739885555 698796393 828146282 263561354 491617313 430189830 996405094 843607257 855002156 366102363 530950999 220689676 846474707 482025421 520042568 477573718 964183591 464640267 966824500 137814063 211346688 67570311 468694997 213018239 598426801 242821589 445316158 282697075 971861622 123873397 147198377 125403479 362169540 160881646 264683891 86594554 335968860 282707598 493068400 55933018 420832377 97376684 995552452 697391137 746678505 660284380 759314615 518788351 999526171 36274205 923057515 93822191 932214741 455694975 483608464 9909294 333118523 320775616 980830510 284510846 795862157 608101876 657945875 262567592 677416342 222241099 582079740 151879447 457225408 122846346 323049720 271555978 804714702 228665483 889778566 880801937 926269309 809055264 963145950 354886635 801067914 87489083 579437220 167303871 639611922 511166536 882610015 389909920 591202202 84379623 542541785 75301780 868974501 690565546 871762151 182472469 309477349 68961912 912832603 661224401 666736332 395292437 464003235 34677762 847193935 387286719 512662082 495078630 845231581 15340864 26913521 22848427 745576629 353224486 534244837 517046204 963110824 325124333 652696087 633278202 649388558 302564281 673670912 422750307 577800504 536504178 863313891 125253721 258282473 24248604 918940084 744050949 784964315 698754418 756589111 354853684 431817676 285610688 759829084 368776285 537124707 356263895 463388309 47847086 67452040 22508488 358286101 109608308 349861840 305268665 510593902 346210250 888054487 505896386 827860070 561254386 891985038 316345394 843334118 736747556 803213362 344599408 425462585 43172544 825368843 501419855 988266717 461759507 870047773 192456158 817690719 399236102 706593841 133545117 330014392 47652996 819241731 134863356 409343883 384567525 472135418 5287721 148666792 61814915 955646549 869483034 925772774 358466277 980589526 923886756 934587946 78446075 491065139 302270905 579737214 418583799 768243472 493811772 970741605 136544375 681383438 87405449 206472518 202578372 760367244 296637549 822400692 476770646 790963126 671228143 880522441 714440448 917127961 685452730 933655660 520320681 836867828 683090473 858044852 749452355 980916239 62240962 97080967 66565202 473860647 246200523 602530248 50064297 521019304 314481522 799815617 522093605 543479047 516555977 591974411 289463692 458020291 255694356 993785224 755895845 952822042 183065790 620400468 519846436 953123311 613116929 760607260 429427317 542946330 487775241 819994941 50910934 630868213 558479637 784564600 33379624 63642329 45961384 979907187 212565931 543661901 142832784 843927474 23282281 971385887 781527233 810176850 27809858 115626374 3867344 836331106 482170463 817885293 574581444 805294784 676745073 961827994 100148874 402329588 45890036 203814384 53518675 712877944 339481124 361942624 126850105 547511385 112714466 346127785 30762178 62236278 8200412 877087335 134724296 585749464 376486924 728167853 678396489 854979299 375587401 721856818 543671370 637538416 245548152 859638602 36712060 922319193 703991029 947881936 936562349 969988976 701939877 960142192 238200363 278531452 105620496 307716355 275208490 564840359 143778948 926163454 271311089 872524032 775997542 785263372 343824684 729501264 231905742 796712057 572769842 592133880 192443496 597876761 362453486 770236816 748559691 955671616 548950102 626800519 441442852 804930621 21367668 983496450 623099044 926007641 812702011 849250113 671154811 697094432 213523764 582360727 362962789 420590880 394308383 950237209 659172980 964695035 413204581 901915818 688227916 724272117 235602219 860571131 105632961 278962199 73075884 510139678 226067315 815922666 108378320 441959255 276535898 546003150 478193738 713008215 559841790 796034899 333771680 736383910 492432908 838137454 466577532 823268249 779301669 893593590 412292679 632924075 213535792 738820899 625841232 851807146 789215974 913568688 649683478 853283551 817746467 843767430 601904605 832026952 168920618 694623008 450083117 498994389 49207363 577785698 437236591 737385157 363221542 568586336 59806827 708584744 686389682 994917864 523350875 908554704 600529838 743236814 507967468 768209502 293060348 958469046 151657335 538700539 458626461 942476941 378934911 872033663 662204208 740289621 627841499 696586905 237682382 721835380 389481081 991532558 307547583 661398573 386388674 791003210 642361129 910411586 136893102 733695299 363725339 920211256 113218868 178182960 56419314 142713704 68547003 434698564 178861920 492348998 96424719 475405382 209636718 429175850 156592954 916871196 633567439 938981316 17257746 528889481 481305228 506374061 482742432 795907761 669053591 809543805 440072729 848159436 669073178 988526665 235511758 933807401 139125637 344097459 70702733 661451528 156751000 396836521 380623989 504766954 422768526 446232770 77225724 267621124 101241956 431963644 80327065 261848528 234511381 871681889 653942903 920852567 33067038 384957232 27164313 820372826 91452079 901590923 639326409 875405793 825853937 893471680 285656608 585597685 530052654 741759945 543243665 682687682 263228093 427438252 313489427 799354220 174118938 711610273 83273890 984534033 80821601 122764720 49550140 958831256 814915600 843980540 841059781 917843412 780733023 920289606 205662306 900419446 339302161 608232086 402313890 638127470 301583483 535938264 48580936 332026529 65660279 235517265 83499234 229543701 68843926 125379763 34462391 450108154 356403888 882372604 252007655 493745996 14405153 87226053 29654021 957050602 675153589 918448145 873667981 965007338 164562875 963950967 600416525 635045433 54187342 465180597 155269632 476990283 294339059 713257573 463261774 957926668 435991024 680348304 383308057 945073880 762100543 908276245 888169124 989729583 339608888 418178182 300938624 715486005 97894545 305238875 259444305 804060720 624591038 963164241 173040176 479973089 239484999 904950403 516378332 562813520 487069646 699463032 564812130 965953467 702486579 781698098 703267189 960570059 228676269 412083500 35878413 923078776 281063139 457615144 168931564 456200440 195379762 297732431 253913451 349631924 21249226 487854890 371762885 772769811 344111198 525859006 324541035 468683284 64697054 469617677 65126849 612443028 531621407 870836146 21500226 817491430 79310751 604930588 505879855 556315211 260574896 383492362 115828864 691400663 210758604 961841718 195017850 315238827 262468691 384424739 199840176 842210647 611726200 862757014 462034026 796276054 3093869 125478912 114335347 844887598 827259868 987602271 962065939 977289101 611228022 861990452 98773445 946161388 108986640 336949941 112435406 787336895 400468511 512773364 222484007 389170727 32198234 545578131 502771884 507885604 352601123 914757677 58716489 504330461 451031638 587507292 569450127 840491666 186265856 651035993 464299625 743846844 314706106 642718643 239889662 693283376 255153235 998751050 260725424 580333041 512118627 842301524 308748458 437359035 436215116 466202489 22725109 153032457 124999028 556589685 543343953 747568152 283200 127230735 63802236 267157092 246838119 668234433 494406319 580989895 341914312 636648684 148184789 434965726 184760469 730159001 657561570 672149388 365313266 372631318 155389672 502840217 211624985 232624016 218583346 449468445 189252690 990136056 612966716 951927093 893903729 992300781 832888768 887180468 445335447 765682450 676183859 694369905 72309923 965538323 496389594 503027318 180849413 302523885 194528428 667995619 191544743 279861075 149066051 422269412 212162212 599609797 494921619 985682363 326325488 890988696 113104875 690781875 633008782 924504891 892514004 981062028 954722577 960188890 193502220 800291689 719233173 743745179 292042212 364019947 11000996 637017679 249235987 430238723 137905168 778485269 383786962 411555185 66275233 942351814 878278385 888475115 789981047 946455566 201912632 825207269 672182456 865583881 145842863 860976248 197242335 939314125 874874505 922074963 7036125 919834794 778717867 850485413 652555375 694094063 168263919 226471403 57908253 304848804 221525927 381920622 184334517 364373871 150299909 564940754 496395601 767521586 36958820 625230197 397939910 781599951 410564137 894760379 322804084 537279558 492205506 947739439 551872873 891566971 671244006 980787226 267314270 388146517 40259873 538986802 533198896 979066037 351363490 458507111 457110871 572257708 402522148 911416853 23737073 171007111 166885131 942208740 665730090 827591495 535401441 686607703 173189077 562222076 493665456 576837916 396788591 626293445 21796300 763811850 236106442 828343238 4182394 301147430 21126789 162508257 72466654 539239728 428016606 909386350 752787182 991683540 8479722 487760851 476080663 945266490 401013777 713530653 516777489 725222596 549423387 565038954 438829558 850852864 582769783 626459096 150202776 894463690 441988870 782289003 176029358 987414014 118828791 155397719 83447639 394730188 105397609 660165756 385915115 786519410 367388959 370780233 186158639 260785023 259240117 859975943 676541962 796519427 233765257 992905629 608082510 767751920 501922458 842989884 22440957 374969094 308394512 748218291 42992143 388401776 225133318 337172454 290288182 762445921 48622490 285059714 262896175 579991266 244934383 940604694 878153738 977113527 941106587 999930163 962696671 996971905 210498799 804087391 652205725 986298235 393852836 695009680 278493997 564684375 105713128 319096818 92720148 809664311 576678819 910546183 569414706 641383697 375568496 579293848 377810013 626069041 295130403 754006548 303919714 413002404 168268188 760471931 263950270 761804954 753159421 851264129 348771127 814172502 228870827 491458287 14268944 950674076 842426717 892482996 695240319 710868413 151721898 166274308 102532028 380628697 133504965 384922119 54799891 619922470 107202160 677896318 439277394 668112085 478027257 908151614 488113668 997328199 402352432 683375723 197169675 457901454 154853763 178959982 153052847 178254642 105655586 673238080 27023129 987950936 297299787 824355537 638775424 666915076 425965035 619316411 151357348 443816577 354256963 962932954 832915530 962505342 560818387 952409903 227648202 404189060 190319779 305523619 225712254 266483543 120621513 439843952 294324085 388226864 12274304 552825654 93635685 532317493 96147103 509038577 38914811 149450868 87590583 546818751 279508928 676672081 571664028 900795079 484719540 637893056 386283795 844317299 262071970 826700430 474612094 712744441 218133063 381617222 308137226 696015569 319073998 769391660 153570595 675285684 243501457 493254755 211447168 806218117 796797300 949475337 324030081 863167786 372534608 576275354 256653684 381220029 289389336 642803043 636267624 681604227 356731872 875445259 17746214 159825684 88158184 446349502 109529098 954035179 812689826 824871492 234697952 917233512 127168733 976099877 796294426 907712849 219720405 325887769 64622764 252445720 44616224 377675103 155454810 795445948 604612780 876468684 223322299 743817509 23328684 925754619 570099499 703139437 313222014 902763876 822003253 945957128 750761841 770221477 567526249 853377095 362843862 851538360 843930759 933251758 304874197 461754803 233165186 488240021 238644496 523964458 21693346 376298857 331979694 635775296 497276599 913960629 310732516 813659526 320527962 328924112 170959110 421805256 99394131 525492733 502763771 571799016 554636608 719575241 710111693 907117000 396399978 487167184 10559278 786712291 70924736 607780525 404354106 844739054 498209899 687846437 499801040 645644876 125669835 209133198 46336782 969733679 297275908 306764413 58119484 794533083 661600400 683358502 481421927 971315131 845604639 982053317 379628871 837966729 700623284 708751357 492751139 832403270 749794266 885297921 184341764 962077213 466147167 762142925 404424337 567371657 17628778 375236595 196475191 868900715 607349312 673659319 528581849 814437313 633447894 799441417 421290601 683869084 102795248 323878226 271539758 500138093 417582221 691182803 440113521 845677343 718852013 956227267 248509790 478555308 351641653 757360553 639363968 854805309 475055186 901736823 742042101 812403779 29563706 587464147 516268863 826645072 402702191 566380061 394509091 645126850 142321432 719009692 428678815 510548409 16331263 760695847 318069168 605555853 506952462 905689508 77678123 875257401 92684486 259199341 244363919 526854503 262263458 543473142 16059740 807886437 96142606 349681886 294772074 699859972 552241540 832396457 32904441 326972537 90205901 678610091 354721841 858563688 646517496 837207721 583314605 812491646 255986112 780817786 113917642 954604850 610650854 730946277 230035637 263215376 73560802 643729290 239762628 483785441 226325632 285747562 95444182 264353834 260058823 789315671 513544995 823162604 493848507 972370557 638450867 824774015 257734989 717417401 282969371 621106681 297532291 753557831 197147094 858435588 284632367 900812733 429097405 826455304 245009456 587589600 332379574 422389531 25024655 907147410 358473950 598013414 85789665 847253956 394984111 469461228 128619221 511780031 419179675 752661775 88452107 458129954 321904170 570384411 200465614 628938467 369159724 913891282 200439109 306798887 205556333 626414767 123116163 859408340 215074943 826287988 568966211 782512758 132459248 166008591 104946914 593540270 480509936 841884796 425220969 834704732 579743772 816299302 97311369 950031341 828152952 960372080 465730425 555223657 120560837 371702836 13555606 855761527 690580070 723892096 449730906 912433040 514322862 619300419 432915535 486242260 84430931 863192567 262342397 848664108 323390902 965026039 807231666 983450495 877940466 926225595 338710868 530295907 396166742 654090269 316686746 938289990 91100334 559195954 231212248 256961165 120864429 914841715 232045640 668512757 90165681 180449057 92457399 343199851 327595133 818458226 283423115 337297144 104922543 997155482 422722582 740856639 637098202 832104728 100397400 800617742 254870493 410637563 386406244 478685961 55092540 511592029 505071833 930202588 725682519 948848419 95162357 192349944 180114802 200171121 28819328 600589565 272975414 932975535 280540288 910958127 106181930 741301510 219519188 511620397 361684244 404015746 274857222 678443271 670843859 674018270 574720236 971770510 837253615 853035102 632331072 932794134 76431681 623256539 48211979 837110890 772450178 838551277 301110810 883415532 66652851 338323012 51485550 100680845 83624095 423521002 303646763 884167701 436227709 752514980 320868319 802555715 586428969 903079289 749663237 961141117 270194953 881055937 61977399 83404310 46205434 759322830 739806571 813456667 638634814 732647740 528625204 611249253 128386370 280849719 1072388 958326665 799881916 830255233 302211105 639630268 345127648 515559488 430060488 734353044 192995943 796203097 484344141 703447728 329709319 740706073 531424651 760390847 249612150 851445398 190751884 475398977 203009634 889478551 516556313 856438519 205056260 599035371 186904291 623716484 210196061 444261750 134066062 533770299 515864739 714680097 3556942 5362732 4811805 480145463 50191498 647294691 271576970 591302689 572883277 801332216 127703836 948157931 636203680 695139658 235525582 324930555 11403422 670763302 528550797 696314444 506945479 803685399 698889189 804360759 569500478 715505779 473974639 907476549 800392046 988702249 125345096 388343453 382205832 578381915 367125227 457140319 22815925 294952454 105690045 515640943 173663965 900348029 495805267 870475398 418908338 443857456 343246464 364148682 226575216 740305614 617184231 874165035 116664934 306057582 192688642 901365261 344916867 702621079 390072142 997773698 781766811 828541023 422353991 994275379 742342590 972861578 455413365 474175486 115928609 455554153 10072339 965795327 472596635 590298739 299588251 783592952 539777829 952367897 294548481 553075672 380742751 984893649 380268590 418628901 353492691 847259123 181595989 557164149 315196394 359137524 5452532 98451946 74604228 212984661 44785615 487979111 119078268 523925309 455183075 836347798 722769612 997088601 675722044 899120514 706957598 925208674 758105040 947652194 303598355 614907848 89973069 867181028 290058374 837306128 819438459 929205525 448909715 754394764 75229674 985071282 483244625 573057853 78240616 239105145 200927082 595709258 435131786 797725974 640929130 944554146 942623656 999873388 783358201 978153373 556648645 695998743 235913034 780110726 210294161 794810968 568483912 709924844 20239252 807718252 588381913 981352162 852349791 858443224 836036337 970779005 263552205 566442772 147304444 920551870 272032370 989295050 828734172 839406866 357200090 489256960 366563411 657882701 587115514 613679487 473471713 790402275 209536749 273634002 542446977 122016924 505816689 45813542 347045772 279309632 757786977 243410477 777118617 93234898 793446224 67217718 184505195 183281670 791855825 189386332 543368951 407914961 992973489 401828110 775619746 551964269 787132424 549966961 670645057 109995323 710476917 175527642 869327400 113561511 285682387 54581795 350692396 87515423 828151183 320858662 627599684 162181077 902935507 655370710 729229487 489624833 522806972 366989193 952766384 335876945 896568637 693038698 920542854 614191834 798794354 412447553 720743897 183988294 592418845 558385250 645253533 142294791 543905445 166915447 570333845 193557356 905298859 351105610 536451473 521309468 652278339 366649440 647027908 26168906 161335832 93326177 730514285 33811599 270346176 127477311 224941088 7237619 836091356 535791034 545823896 200076565 874538316 305473995 474591311 158265470 751441998 198817474 416842933 131313720 634655592 77488058 491763394 186769559 699162584 581918222 744424376 685618601 760650677 755248960 922106081 273344364 718585402 543820179 682317080 170083607 581724841 57125607 57533143 3180259 852032029 228583864 455187110 89498319 990964332 234264772 796207645 272093124 928775215 849859967 924665370 189728527 869348522 649719993 796898313 56825499 237327540 188014415 453976255 274635803 762222997 12899551 334372783 160256710 207326881 139582009 964660450 487798848 630898567 56858531 185957710 129367333 277937218 163676977 195232805 51254782 340880394 195007723 221377642 162500156 321175412 128712837 382136816 224445628 257374142 191529701 327093242 49350506 129901403 53464475 159941673 93560279 973101899 170261754 392117876 315770748 764834653 243465677 306606973 64998125 808566993 731838509 971371352 279368013 504536257 65973087 525848827 55357375 376176569 79417629 775892894 539303726 541265770 97832744 500750050 421016279 860797076 333506543 462702918 347723693 559792063 83696404 838206043 563867918 686549630 558573579 832853158 316986101 530767718 256611658 904610044 703324355 755229387 424953438 757140585 459928088 499523917 265239332 511581064 392829687 937273882 498380862 609108315 584328256 624101132 320817471 636000168 223570434 933786865 23870492 483944137 101582407 934447617 444421272 763423125 257697146 672077035 100435455 705864854 369615796 761692141 401177633 644155484 391302353 627947639 120250845 121787767 82102267 670215537 514102712 938845685 495276734 835974172 136835714 892823201 879738576 944796866 435982979 697049785 243901406 969634742 496093560 816207476 210331612 567497180 25150835 976482594 969964258 981686136 329349723 807566678 409805380 616109962 264520460 681506849 564209387 991724509 115497216 506526213 73943666 836572503 551422482 602624390 356214156 493909073 331919298 384532396 197506304 528521809 439249018 533024943 159185865 382904308 144509505 944625172 694068778 813229523 265670554 268030473 194403603 227754036 47480418 201382303 77167994 523342408 242182222 626705027 198375094 913341012 92115635 847064278 454268810 505107836 91060694 729839372 690031472 802481750 483390392 840420404 667464865 675916310 296833459 851561655 609968893 860034194 134114186 443003884 134725253 397842929 100255290 677119547 25682715 852062987 544443743 551749036 18410979 906578344 66330216 884528828 74601337 782536070 507981549 514808096 57118718 521998373 318629563 428142339 355653212 681880484 635938170 844383260 45210774 792088439 753921167 822483163 53289418 749091365 365030936 711990938 187576826 894943123 342558619 781905741 772113884 843019916 714313626 931253574 337869419 460769197 33177373 480800390 442861626 773318999 679976429 941740339 218373896 674467751 559999037 989502623 950396173 987274038 74856615 128837826 38221111 533946406 303468729 808085600 438627977 806444614 120361544 948317976 500647253 565670150 490042119 837445048 164069907 702131118 12969434 841994615 336649330 416456712 146312499 978863302 736047398 946434173 272507446 408989976 45596527 498623979 456542952 489619136 293867628 761799607 518209890 542205034 85344816 379874981 210685591 298237074 295336258 835258869 397204154 845182070 446443724 526459012 94542831 952240156 948810778 990868565 688708769 910893164 714439071 894866526 849097710 944487177 213837729 808378448 698325186 779785822 418525828 671591528 545592310 727147782 187793219 613457404 57729803 389275291 29731963 277548186 130327980 858993562 326700296 374987198 54759976 453291389 303809633 917954767 289963901 499496517 124550458 709419763 118902299 677120396 335422281 508352654 260302891 333615575 285613073 979297543 70267450 994877218 784698366 989351722 192505398 875306310 428453619 537631282 444968417 859937305 469905681 707956559 574179466 621017948 226809708 867545640 333140675 579566673 466092252 645353820 461931504 895220024 642372574 960252534 940671304 967737303 617841229 945993518 358877541 358980743 320513188 481664883 373279033 732197716 89760854 91401459 73801813 107649275 76264082 324596602 89969570 919753298 121742984 599589857 33652432 868810702 771784016 982745663 280712233 809689775 311252365 731965664 671451303 958728437 195515779 337803797 46010285 894861051 569948604 605436572 188144682 810528905 232638673 284562277 35704699 677225412 431530726 612493665 463506515 539282581 62975817 858138820 839049664 901275779 567852075 753076112 562970744 667390361 279349903 431509200 163812888 389593747 118158500 646195215 645840568 792612754 94703468 288827114 130737565 536787540 178511796 422667917 196508162 501908419 202960363 822257555 246534077 643148645 332054593 623100726 388450813 757178426 309039248 888872306 851061522 915525908 188829971 494196293 223864473 952289147 839375018 976293005 422123883 946982413 192235880 302589315 219547900 227302678 4777118 853553575 32750362 443110166 257688816 499202072 258964977 432811163 233661766 346560188 42403372 504201955 422407369 435242312 307769108 318461074 243220335 734594273 220210088 812438421 73438742 226757665 47068963 125585991 52253938 674773479 4880884 199838430 147052369 759872042 306440598 883683512 691279963 797647093 730426404 805384707 154804975 639400229 457921821 882431247 621787809 722496307 4889766 154057602 66508865 192327441 127685595 576667609 552254009 785673108 654474886 709876028 695612350 725651954 522995021 549093082 59961771 831141713 189473852 549411720 285408558 734398054 398299527 483986222 39903390 557138439 531730488 570593894 71095836 322724404 291976703 693719736 263308894 301578444 177115945 180548315 127479262 776556281 333111621 829656395 366571425 588144617 67581877 194136961 29625141 509715515 189266217 238799680 232927118 441474095 346534095 841962516 35478071 431424750 79981040 188366064 76435950 867634419 363672255 773261937 55391230 840078500 678862116 792291643 240140098 370075161 119384038 204100278 161157157 972238901 59656788 923581669 770953434 991537402 846897027 847766271 52168807 62886420 8972050 120868568 119153988 589249328 358212778 695126798 415030242 597380398 169084016 344647889 337247377 972778241 178975482 824075822 817726191 923950491 29773962 351832079 246376106 822102327 99253947 213368001 194325273 689896657 380874689 676104927 286844051 645347356 343790699 500869650 127100526 668866031 654931112 758804034 242366493 837958385 397674582 653750429 85401645 978943008 218118023 833630570 367364177 617776149 427342138 943661386 752316813 930403435 135159157 171489664 99333747 861879198 460896677 940067101 2464340 745486188 173275389 787021008 256813013 695806734 114328542 521786790 351551980 372753455 311302667 884113286 681821419 784341625 559650536 756417227 407467982 680041284 675805179 708468470 440144092 591176273 347909501 597121300 511829700 805366204 49218080 373419543 208550140 810907389 690328839 970484481 794310435 825648226 692371411 971571507 90791455 200158621 62427144 135818875 68135280 541171842 105041785 966326035 665116205 713887412 111149143 305197962 296042014 496178832 379205580 448402675 86900159 206182621 107135379 199669996 54154178 363461861 111846645 365497680 50756964 898845546 495492297 853032895 125719682 823021048 804490320 810058128 65859734 128938890 675468 981045762 603172323 710511022 128192021 443045496 436228353 906498608 891047697 945374663 316968267 656641631 264327331 939046675 221172210 225550100 97437699 507742507 298831408 542327376 298005078 845589913 515365363 892225306 236782816 381960336 170427429 240911307 229249370 336750991 127777411 988564412 759061968 763216172 275584959 769310553 683830463 762408283 5364191 726536426 656229444 962214753 200554250 644363149 426618855 456109540 77259442 178752926 37712479 451014463 261343852 551345522 494132443 891333979 393110117 591831437 235673293 701735392 557376550 616549071 596209596 752121532 183793679 480685772 349344183 746595555 730616131 930371651 5679692 30795681 11078130 737869516 476307307 827418399 518583941 992255084 370726124 372747160 207385442 915963075 503370006 833161965 451922644 518865607 45320404 670754107 393396139 719869117 342196677 908551876 663196002 694951014 67008119 196392392 71428526 310811858 50876391 749232667 34076135 108622144 51875117 900263659 277954315 679484430 613655266 925248363 759591894 971755874 861661106 888734882 683759760 974947342 377076185 389147644 109463943 364883405 279859824 587737232 416790688 470268612 36633595 488538097 241497891 639148928 263731096 622631424 384233328 905709376 84203165 748673180 254239610 593558911 165314363 702849897 21192829 265691458 191751702 890535791 148852474 709069153 248262566 774815471 408977320 852154121 412537445 785713005 312106773 644533342 327798267 864102526 354009661 419803851 322337758 547720821 188123917 444294744 336008598 378978211 174833031 322022224 169298845 253081155 166016089 685481408 421502113 736467269 135045115 791347473 697993830 722017149 361981171 740503393 365999105 570717562 329844588 674984619 113513145 382779201 375648488 595693462 100290283 773813395 36934298 75296960 46813198 389710197 265595166 995403120 505526392 820264337 285235399 947181919 810151037 884301511 364976548 429059694 171908150 669604709 283916966 761902531 477489817 930216395 750823500 820466100 158814719 942813263 474327132 592983064 440689516 511981486 496088874 977676622 977398903 992651548 527542567 683547563 165243931 302864252 182132221 184041803 101025804 240331977 134651883 962803662 289255673 817847949 302029531 667822938 245068665 836258724 595594708 730273058 57876951 118447287 93881260 546650205 325586690 653066514 506696665 781681199 5240967 723672040 304993563 739161615 578747898 578880206 508145007 878796836 281260816 911337761 302229437 502678861 443244424 967750064 728526957 891037635 838108271 908653058 114894539 646222561 394073667 885231840 323749992 913808873 794711352 827439673 294244384 475890170 284239641 589910394 230917623 852993071 504995558 545627606 355939258 675655149 457147943 578563791 56947984 416387174 301342032 827552829 807114462 956424322 134633319 188338658 58954790 906995330 653664375 970055908 218296831 642588695 480389740 987788457 718316401 901623028 256334971 572159707 564099600 834379918 542556754 697800801 611786860 839945740 188190966 783018812 24638115 993904002 191331731 290845295 69848788 401015669 50147278 75990429 25743836 127669328 27096799 238270160 88304067 714910124 661939850 776101700 657615759 827310619 728388803 748776005 13249677 293598218 168783780 723084390 67469104 530758360 521748492 726198377 230642211 309824246 214382918 631090202 460132472 730769976 22532403 709852411 627742644 814649864 807476843 971124194 895807323 926319304 340323696 389485437 26523117 874331523 108769178 120576227 99361262 756829524 81782830 841603712 115393629 526798626 462490594 561454255 166514630 260992790 17745798 344518915 169529281 613405093 584671922 729088462 188265733 282543395 165479398 935023539 332156189 834083180 94643415 730902474 613124064 666646862 319622436 572338759 311761941 860608924 840734429 917340601 526534433 785964069 6058961 899582837 105077301 453776974 75942417 239701345 181011351 696303171 469904888 513008080 185114739 739878983 696674697 908901778 591678948 825638502 246413771 545024538 398396194 518855174 470068335 802191347 613296511 849456722 572261492 911423185 250977902 904583219 400425683 860371291 765903675 976782207 473186489 554029388 422044460 555945720 112007228 513567410 232329564 490843415 97442647 890368637 882506871 891641261 510943543 656204655 202568408 490139353 942345262 298004839 695650064 67117961 906243506 436336580 604291053 421342801 946675009 451499487 531810749 114264235 899874819 661845988 962002318 948313311 978219833 948976375 989059607 734855226 989030103 354912211 392522264 122302031 284100808 34810030 217947438 200577994 383192596 319799869 491101226 347585062 523745847 106752023 156062734 35018432 63201487 50551306 350314050 12663189 582638262 564811460 998314693 780302411 898005191 283511143 861693991 647703911 745871153 1321127 325751484 201627383 884010178 388802732 872931172 824282817 842679200 658505631 934547444 826691107 855845782 715359688 873198580 397164279 449065386 75084126 751559650 559473942 617958173 129450331 240324342 89673314 674861356 128526053 474472342 160453475 748192148 99336925 633639627 518554028 712032335 572012100 595829146 183669388 974034494 603020083 627691846 262164991 380369919 196871710 282993892 39517961 391459468 144196458 794706292 5287469 17054244 633070 334396436 4334294 133712519 106554910 690772229 17404843 203553512 183302456 663924495 129466878 908769620 280394173 534180453 361671477 551850383 487905905 958249710 402372042 990626484 159974911 916604281 395360855 870760297 689865012 954138756 76982102 843401751 302461609 862950325 253956466 390786899 178920904 366961139 361971870 600647452 381644679 911382487 222065811 529146548 213414007 345843182 280892845 318705548 130350231 737340540 361368680 613645620 8278112 157682866 112848242 494429446 24478971 742055226 666286753 805427392 545873335 754966669 124934569 144162155 138116602 527042309 138703877 365868920 290292367 949426689 230955225 412827967 182574778 664044959 194973269 747589982 351852334 795948240 649522188 663712239 460563452 759039636 650290331 822312804 496480095 696924976 656046873 915652199 215893486 721570913 428432601 966528300 732404431 826093199 390527743 720549416 123665573 226052944 5619659 977304423 934671549 957823050 444403358 804994495 353744931 649724970 470220439 485539452 12093687 387391208 182046583 779548534 645408854 665210172 647164128 997057747 445137871 511304803 380989787 702870887 602471692 948174493 176198725 309799650 303159390 661219401 296555638 630621980 252565547 842071702 672494869 832408675 557429453 668463405 99480866 896710139 818494972 957209764 955967520 972555360 510715794 852823376 359659224 627405357 266245690 396388338 151274322 818227451 330545014 383554115 334992199 992432001 934023441 988230621 814499588 867333827 235051965 481480426 145560413 389035111 124993985 835270685 507608651 550902311 201834831 331157444 281343288 817696236 537690679 592848257 569060231 579969016 368890137 734789321 85349149 159113648 64075418 526792878 215355930 645146503 39986436 855125468 253266349 773105198 17575006 309691981 296784990 717649900 80315909 466084524 85492235 889825036 715336973 936154783 15340483 401584170 27884031 808451091 313401747 829253770 44104676 940509362 850591952 877906514 481068700 965506409 513829724 921664314 544362736 881470440 526521616 736508998 491806714 576384800 441387049 891080583 889554277 963945426 611977362 629814791 347334812 861450473 341821926 422512611 275649395 330970370 201546697 433374042 10063784 75017635 27992540 130550289 83517146 181959568 58300552 938616767 936774288 947298143 759330560 884197286 74504988 461045952 98879040 821792087 493396216 998912003 132482579 368237218 249444629 585201286 581433349 864292688 447955674 846540583 132219902 499155857 480212242 508580264 92460944 470908884 242116841 298098222 42291807 186768356 53377383 346990921 203546528 521734280 146789906 649894963 215689453 343327861 73038083 815436187 637607256 746686318 155342815 496061256 321522813 992494915 301369044 780828520 627080289 661341580 169821970 902403350 166507542 660745024 491571197 498319329 11825356 148085944 146645424 838284943 568728025 723852979 227521583 964022434 443925161 887836598 525468763 761057764 174324589 886324327 771519464 868184178 816006932 892221891 199554304 439016680 321970006 374795337 72008882 649325595 314845204 841996297 611944268 738758105 286142607 469183952 28922170 145284637 46127335 620121495 374434124 933057009 3504254 571801987 562748064 590226444 169095176 480589542 154353011 348188639 339847203 569460151 264295172 600370726 500317649 895408879 95118526 896850493 768813582 811371731 568759769 804396019 700631142 756465830 413036028 810753000 506523328 767490315 383001989 608741938 238476672 790490132 311090374 961389697 726400870 829994356 164098315 247848642 182579903 815614746 206239746 939655242 799880597 971130176 75960368 966988985 270305136 905456694 93507706 262411997 184823298 988750163 574902027 755406943 471877765 618629783 434312721 559328454 482015541 827853264 596490811 828531716 136016430 834218751 719644414 905731816 353497629 759570778 313493695 796197824 193130475 720028705 343346412 948167074 219683356 761557828 121865662 341098313 184918092 298308179 95803519 312756280 123815980 129557711 121183813 894193891 224913156 940908169 117708568 878452431 197088476 430156821 43528306 529603843 333043966 588246640 281532520 790445393 433716503 878942517 435797584 587635537 540477674 583623075 292014844 831125947 178268473 435446890 108282310 559430456 240340622 424547165 168775683 938859527 457583895 662658760 92751883 627931051 602014142 688274075 287460017 348114585 204924062 977128945 364708032 730534386 316871128 630808036 597503744 693926071 482368914 749903410 453673631 579094013 302706265 415351131 35612158 573305789 350238996 722478229 706429270 940161126 622640008 869202175 120777221 161005958 48032146 359294932 335595054 691967355 206657377 884292869 269711625 515046491 129445052 379585688 371034490 748536920 667119539 924386064 622310699 904623087 813368492 828800876 197862972 409468942 341375022 811088953 504250388 768352247 76567470 900058367 550663356 639082594 476619392 761779516 425857360 697393506 612277710 767871724 719502603 858640823 195782907 816636300 332381911 889286621 545509410 672120553 144692037 814265382 283649726 548590845 206016183 321939599 222732317 518087229 115420422 574368385 49873309 853637880 516803871 587611077 137399151 370511289 44250778 485401845 399655467 492645298 254690384 399138256 306589236 859702482 162229665 221896939 198821870 365740458 264946535 685309739 194062360 915397574 265061249 487603520 85436686 729982527 256433863 319206720 260194725 796528138 91837047 964462096 181944534 753618358 570904383 693108876 308578371 913762463 61415646 197049160 49600265 834055882 771371123 967263062 483224369 546295149 504788528 950218813 24586957 959080965 479535810 958462099 357395175 765839140 465834133 767929202 238018063 530374407 281241735 608839613 136672833 853081873 111377540 326297551 295087993 370838001 323660402 406000457 398078023 447063487 226297807 382855167 370362650 571671900 536313032 830408910 264220090 618377799 222362194 474913383 73663607 566118920 450366383 531938810 108549081 475921776 463098102 584888078 300864468 604229444 526699986 738072131 182209660 353662645 330021419 972775941 735733333 868980544 755986340 756698989 470271709 745022792 314731460 729876161 28129016 268701988 168691714 876732379 864662562 969926104 498847217 849208516 799665859 944741101 336649605 991596392 771695850 994865267 496723319 977680082 854243065 857682416 97524452 521666882 384282525 674946145 91401629 469002164 375385438 476644320 295304717 749552392 660913368 663002949 210214009 621845259 305998298 889543285 39558273 139154269 21354805 745338174 624778039 660473631 109403203 349530996 246406911 672152278 136455270 238317692 238209927 949284264 922859248 969834033 23667842 828121555 463934462 921740792 917446694 962949269 791572119 951442496 493520063 995735400 274224265 995933946 971787589 994803892 229611205 697079016 647473655 733478213 160044314 605521079 203221200 398811431 270073556 504943737 424019720 774325756 158641346 243801273 148177046 545253010 467392580 719322840 363274477 503529403 335879263 624324167 456369945 739453610 111491816 421172484 361461391 840558139 797000195 981447385 405428511 892177727 721568809 928002306 319955619 993883014 540659372 698666565 3693567 402604091 145167317 570299728 108562516 945894523 627748431 688614776 3739594 120271335 9533056 981446916 617182476 718906925 325246151 819022247 47933286 401229547 7604403 263065863 28435477 41765184 15154021 387196617 245821172 576597912 391184676 584880429 105590742 636012086 325313451 325974425 148972022 537065399 250112120 628467470 474748930 712749824 442911105 633197374 187376664 230699305 45993231 653589499 85418899 529089949 275545459 613522774 470302675 478899036 130534792 389199670 3606438 51279912 34541411 237834269 209682291 592257243 97184512 715705313 74709203 384924739 345775448 402701499 138237628 980974235 615136911 951842072 24852347 92844363 30649252 501220297 95665859 226195258 93118597 799959064 155139635 805792899 239441027 762953869 744297870 924827219 822017698 855122803 329154853 911343041 91584730 233341422 155072414 709638113 49367479 679826391 161244775 780172964 469426800 715373965 573794724 679835997 125848871 169831203 140781976 760972112 420188479 799202684 352142564 928132285 885807202 921585043 564335654 989937342 50258020 244721344 204507884 364097472 202979110 875650532 699541370 823885603 234717936 371551847 333001347 587822693 241924816 705768002 668986849 887505373 23562756 421001827 409978187 486619228 437976376 854009611 476961407 718953515 464366508 537423760 293314477 472903059 318623601 860591394 502904757 865898836 348161240 394552937 246930338 766049290 541537286 711371338 588452694 661152593 543394477 973688162 583252849 636783202 459185179 526426171 20209913 270190802 145444321 551987626 14433592 988253140 701625547 954892813 762665970 812259810 126097229 796064753 721212071 806750221 761475908 908919576 58109891 228484945 14442388 292607514 131276706 429375384 184577841 497821911 3779134 441267628 174858529 509908939 161944816 537354399 217919300 622326025 241776024 483533199 284978787 663361030 612626907 800550824 640505101 715150862 499644739 749997943 119160462 509047282 374851563 572093045 557726780 792421012 262642154 844212670 245206450 299582633 137488900 472070803 106962747 407066695 140913376 221102948 19465749 496764624 49811470 604173876 458450643 964321452 999230619 47034065 81128592 39207481 737281774 502317534 522292728 419043736 969416573 789663956 872575126 666801940 924370521 634824494 748498589 215537717 818410250 190945601 829060944 5029306 301306091 60887856 875894225 983020180 756230857 772767370 75082461 597665973 15784634 305455670 173779992 784638958 385807572 530172198 521552672 653286937 502336417 587108565 489689451 582991339 440501998 547737936 146306741 148009853 66009983 93963246 47887935 555732114 308788813 996751662 215604642 385097177 74752538 962855452 110417133 977358190 756256851 822203481 676554439 703623061 86903735 564391721 302313133 808560749 99442565 520740314 77147069 80531370 69441568 241512687 107045529 413447621 122185800 630462386 613888595 873702281 752480756 816054294 349826345 439312798 255940155 839049207 317128638 458128987 225320126 891401960 14097731 85216107 4041765 971036597 742510131 798909006 673194422 829426964 400478187 409272820 313613560 758421295 346186622 624914189 535310342 637841361 204695215 302468486 135050562 646978189 263820174 815461628 592581130 864551456 616453739 707114348 398940530 522826905 143301710 935952686 110480966 816296717 777497341 855301636 538207044 710674511 670557664 784486120 302751571 339435370 232520924 553271082 91164122 544869219 267684576 322433157 88127329 571228839 503917412 938859594 661666665 882226961 464730100 857377516 415079469 569594583 463498249 698418351 229642205 237717506 67166739 687804817 370270581 900503917 686602431 708448622 35438231 757463317 729478714 920064912 355840209 974202369 665114723 866808397 71031975 361067423 254996655 610899627 311061005 825515449 531419421 700292434 573550312 638184492 609518980 891243226 566183239 917938831 745798718 959067856 530897560 929497451 426023362 780707849 213158868 479741763 419074142 978814414 377480417 669636115 277036445 983021904 187225350 410234257 138343672 415035562 384901654 540601607 340990118 656931189 164725441 663456792 352877833 390167934 214352846 587653673 189405871 432079855 154596060 719361798 232638733 529677454 517289032 550341484 309096120 593020262 286196620 489872410 299884758 889735972 768787740 784473637 110904236 308365184 43971933 247937885 134140244 164287909 73927624 247668171 94617542 822184158 616746409 787486633 750047371 850915152 692550254 850665555 683540383 696960660 369201001 454572825 360367308 526403205 459408394 565750719 96595619 262349666 181592952 804024991 175334012 180123121 136092518 186882084 55941678 606766959 230189378 988266614 998471441 76655690 612052613 467103605 581482564 465023405 716008332 291373601 883578599 784684656 786906567 117886563 938071465 170726600 847492109 72385552 111312761 99076912 155152055 120208954 419821586 186639565 924572135 488159882 735648273 665578780 736787799 705401803 972982028 896346951 967518232 695015302 793572522 773683574 895089315 435406417 450417960 47725727 705472570 682884928 960792444 92776920 554417238 294483773 684554043 519566725 615461024 496576758 726979619 580504758 643827606 595110066 664335268 436185958 583421171 284988603 883213989 160159011 310258208 184477783 608681331 100723803 710993761 23206055 312105203 53691597 136099365 29438677 528859356 289076361 314538159 105649803 667707711 543713696 698711892 626557444 712595398 345464742 928744259 63595950 719455082 427187551 482857464 74670949 161099765 123342360 863744998 554817386 656224629 991396130 959782383 988417172 137449334 946567073 793407079 845819304 225013742 746829441 380405420 773168663 539600057 777313549 551450449 795103315 555182410 592714240 77272570 806398704 315137057 420097801 154250214 265868543 232026921 967515251 896218634 981019974 378385452 751594789 48059271 460396863 105173306 295365659 19095865 765488671 717361429 781262116 761623189 804913168 429056416 482131202 331742926 525188452 211374483 342507546 41187615 402067529 166720202 453162733 137199341 290565945 154089347 873360047 668732193 912943082 697089893 971031651 49391182 537850151 296968477 568848398 469424411 721840623 212701214 803860913 430962379 578280050 111124723 115759418 10331690 68805962 15593420 661816801 654071278 984500430 75922769 64777114 706820502 664228025 776764748 401642209 818351907 200716511 335659671 152145643 606209826 182670712 481995328 151472264 633157296 512441172 857049411 465726223 839207433 186718207 803842898 384844347 669038922 150921331 943841015 541179271 890614453 80480587 311691507 179059198 497352647 203616987 213760851 82222240 694260562 401714933 623406521 416408146 716255433 123645102 902429896 761149735 977596984 472173899 733850411 68412500 958255075 126161071 518086234 314779712 408252156 219565037 845106131 55569368 134838594 55062604 603358415 437043321 498527809 396249324 962438676 555168400 947936497 497056591 772467147 583280953 602378120 191276941 884882278 696076740 898105142 175742370 555448964 174641837 640272518 163060008 868389809 745574206 872000877 69988509 393209701 52560513 134098354 31044048 411091841 113198893 691157447 315850264 441649193 127513580 596813197 407834370 862403142 193315873 921892752 541812325 943152637 597982468 945585954 595981938 437705448 767904433 526537164 660633850 62372021 542154681 523113657 699273993 379514910 395979871 259501660 410312965 145990468 889133436 814724747 848525390 97568508 192753994 53315498 315251569 130053437 635100584 323557530 975131791 25801457 644276090 207547401 857957285 398655233 893664665 156203568 172452817 97505242 633428834 554584820 917652094 562158537 945161669 705604797 896203271 850311095 967820349 354382020 586912441 177896081 442281417 123580565 540173211 159778205 989625635 747647211 842862854 44650985 818842469 478331499 235581183 265435764 64733557 305114009 292841123 300942879 3600363 38887546 7851964 548641520 424783367 854133541 149769073 482418428 476116783 749405661 582105272 745046783 706341247 735121277 731547868 915959634 356154507 887660420 387209506 504434912 172762665 851992324 725257702 772767170 768644775 902197589 395699492 796209825 2525695 128323487 87020669 800586189 178763668 919788948 287783095 920802280 565698229 749176085 150557125 636357124 584791157 111904597 501159331 756054547
