4504
852360846 581946744 806585697 252293587 406645172 162704975 980066228 190065746 764845023 610028600 645590704 4119684 74306210 36560045 236478743 219909648 226461379 17253652 99808024 97994489 623632202 476936676 945534023 437518967 982757694 375202769 691497439 334247439 560722364 246176174 819248218 414317216 548719482 342001130 799597699 363544491 366230010 139137610 991729613 595218348 892325264 488363749 839109178 483358104 624819434 268088476 886153782 804111887 839204306 312160998 925047011 433208188 458823436 60259647 576847567 266243510 611176541 234085802 686214083 420933564 641513321 497078091 713555398 7505537 260247635 36313604 220908884 161314793 974659074 844613801 848377209 181406358 216970672 131238334 357254705 24543188 203764390 96535359 622183454 568354903 919166801 186266485 332699271 214002930 814416094 638479708 934488036 609097086 668794791 510713394 581153429 309468854 462195770 191253230 792162109 758466349 945639645 331988226 625753142 25800262 425578973 272407337 377787778 334404167 416161680 99641170 840743552 327125655 418650372 309574918 770553784 283585814 337551366 295499657 924534924 391470188 949502291 234459153 518776669 83497362 231513036 18906925 678445022 107737393 864444173 400512997 696274972 168288354 673712418 184774350 394944336 244897119 708193035 421839382 496633438 394665137 666538892 549076222 999855525 760870664 900865315 659493217 804165299 498828542 744072100 79019321 264628008 182321393 337172928 277694195 497707603 242095194 925116416 301643809 645065504 60901076 509716272 458323720 845428999 257221765 425165718 405029747 595526063 588938987 836991839 72735378 923565502 817474346 841224958 414130858 901565406 826486795 918756740 367402016 473577876 421289378 638081468 176215921 632806220 226426322 633165971 401774852 864697469 246602558 615579280 79933222 816225339 740371233 850940376 552009293 674919728 446494105 695198464 138251780 589909221 152417324 591255946 152453927 319044529 272036047 373306528 331047050 956926746 873838873 912326376 475093871 591276431 431006283 783004879 157313266 483901235 427758448 558714710 232414938 495695712 180244409 349905009 40768597 163232862 145922293 910109342 43515061 66394540 33587074 928478649 332761872 851713217 48975802 695312431 688949535 768374230 611884996 866608827 623435943 930563884 3263671 101761954 10863798 475981095 212563337 610422498 155085564 818054870 651549210 810481542 406534714 843401522 215328545 236537556 146553688 933500261 152751715 399052127 326574372 971486612 656140180 814995394 663615906 982851160 923543337 952400909 656884157 737535596 352597366 782932394 748395137 887977147 577940099 769743533 277004636 502479306 473050722 741357662 457383205 801483168 689304159 756351733 96424089 957171189 851754086 962734400 405440877 960650815 466922135 920070753 521455938 715591265 611507527 929886240 11186131 518419692 8662575 146487036 40818213 599816430 167957151 181947880 92771404 341740215 207073020 258906505 189176276 637578743 616417331 844563901 418750513 554833084 311402922 686656735 421173077 843093683 509037184 580164424 258415932 264845850 51822873 389295048 40939897 93991289 21372185 355098534 26115671 811989675 681368635 801930770 655549792 895365816 89255429 234884731 35756426 352396998 154619032 696681944 520909505 958754971 752874440 833026631 369246663 688123193 263067590 298746680 241014441 560368696 70649708 268687285 195092602 651900709 337758596 487416921 372980343 749298659 549722154 841499983 194322807 578649136 491431565 672170073 123641249 882289513 681831272 784230610 25977107 255735968 114128508 329185845 245405821 701044731 106442945 776739852 413760142 838787097 693760178 946655507 785438890 805030392 5818137 975543481 466615827 681832214 243692312 321362878 303827178 344519955 148385000 470690289 338618554 800797326 432668925 988815660 663074212 980704758 772131120 911923545 557275250 874806347 674928006 916132832 288920453 802313921 341561589 922781075 770397517 913886372 21155056 818470071 386200659 469322685 260807824 663080914 46344624 569421712 138900550 319027700 172373033 794037346 576094279 830889043 796313963 918671206 392661731 439718501 212924163 255194085 205331804 902638257 11573732 218643073 15190185 632308706 243086262 667200852 209517064 587520731 228217335 809246123 521883131 524692336 166715931 806778194 423962471 570348713 259388886 695537166 231516567 993329798 571129893 857024072 415981363 716730265 97361183 792454786 360022777 905298448 840131459 933382170 181432008 484212945 305812924 493525912 424009250 503797521 60718067 391219601 323887817 619834518 329050528 791897385 479746985 664571903 271404736 402665043 369853887 383600464 257069073 552476849 248141762 872533669 159650778 784998761 712289327 989177574 496871455 734882655 23221797 395335306 305057924 896004230 215104336 647355328 415153392 896663023 787620670 824943790 222015029 404387181 399594507 958180593 198705459 782441946 15314499 420983763 304209342 973099616 231616014 649936965 354254614 990321986 110971191 555042778 505956453 568156939 21817273 940125096 886259402 889645710 171765246 660093146 22880583 965705713 907882998 941481688 570699582 812380210 152995174 399849491 181446929 521210676 221528838 837935238 76338612 191530247 189639407 672443734 581456260 747213791 168700636 243498976 139703068 417643110 50510728 459261835 420017108 779434052 154846878 910252060 258913264 450432863 434117089 831980076 550484349 694596016 620399505 624287091 410954985 805732377 485078507 722402669 166971033 472724273 28224108 556368350 143268587 962805613 447880599 886084632 155678639 729930166 240988903 305441705 19333229 291063924 92041421 699899468 525394403 588833559 103169254 426128539 73340881 403790749 119867606 503364223 163176616 392280755 219440334 774977374 251329372 653524101 574436309 795532729 204796372 869809681 290677105 412997769 78302998 219484666 91258759 335189447 136488493 630341654 126274670 284578363 156120258 411388520 190098211 783226792 560912153 812750607 594448212 755211940 205427691 467845294 273057941 979793966 50153672 451263694 190798117 260217904 134541831 406600803 358112944 792812289 91557492 173898042 42429223 188055518 32101396 126074200 55987385 588395722 236703066 262941683 47403828 908249014 7668532 490463141 82598440 456843434 363800430 418149732 384455964 971876921 898701472 984276106 912525243 913159676 719112840 957846116 17305500 737726580 129163193 790657070 700353347 701036464 14430358 585752701 137095203 880757468 508548921 878498131 356819959 980510221 640269998 816173986 539389171 650784467 590821458 964191305 492685865 785632153 769839413 845590613 25205641 935420857 673594534 711305118 445185523 452416484 318140902 879768584 126239882 717584961 412265605 703740987 385564459 695244339 627811665 689905638 658898689 956407023 291569413 820005429 729416960 948040763 928636230 954884867 579346730 695987637 460311735 889592315 294599509 498051083 112063411 742537129 410438147 909109166 524860991 737627102 285611445 978870848 741418535 967206054 691643455 862219862 157946600 338169311 222977988 484628385 181059676 464780274 242707328 624792774 347435750 711225131 438187544 886376691 698696920 974552843 449221405 498358411 469531788 587797686 102880101 849921434 652905297 864984453 672934914 963705785 646508577 869954514 273623877 409107649 185278785 564203842 458302557 684619529 293306862 610371658 324479640 404143541 103035047 559531385 526046743 608174362 389796096 714970994 711401688 976512525 593113530 665162317 509368823 790477501 518929659 733298532 694006157 865710927 486503125 503770596 238429113 928326271 420237842 483056889 435477669 974225841 491921358 954820460 751536668 849782437 109144722 416049436 316317666 463343948 439737629 502617123 48785467 844484114 653764567 920051448 243371187 266458002 63798048 975149274 149206049 528824666 327331636 897285363 595486536 836388891 361614144 727010591 640591583 793553374 77197312 170799039 41077684 90945217 54814115 637610297 401367852 756631718 93622507 444085176 320262194 449658068 273594814 942681812 528884606 706424822 380516955 754901672 77846497 650581044 112756611 337268860 201998058 891799522 141203325 613441578 456231422 666087473 235478118 817411382 597073854 842015663 579032168 692064884 448158227 834491565 208176962 634857391 368983510 380105125 301473448 512733539 388811100 857631334 262320778 417535367 276138516 741683451 613042090 657816418 239753689 413177945 40323354 201043900 135583062 518055172 427123370 906847540 832652500 950755903 30411755 771231347 498957913 812657930 127031877 624051247 146046079 452356000 273879827 664890395 400350858 742733680 189267871 862834172 855330472 936951218 470949273 524744736 411232401 646702433 179242687 282037094 106525920 880806370 875495745 971939188 94593009 661720787 448209617 555780282 422634883 664851680 331990307 659922960 297036087 989342530 483092693 764733014 212537855 378106445 354818161 717780396 282202119 832682996 813379535 992443169 731364094 857584545 383389999 956394962 737092854 895737556 58381819 600820097 246680074 364359656 4471953 478550059 316109314 551991945 534654246 796898321 281457579 538412578 99920065 466605909 330208223 686445028 579936270 813410018 66972712 858103851 745863025 786950920 516789813 848538582 1106079 826093976 411028570 502408613 439296335 881073546 284298509 479989812 17733671 568788350 534882406 763730905 386180208 680457551 17111208 843281180 226740839 946830743 460361213 772990309 286611902 933034009 664884163 803183232 677825561 736894312 219247163 458528884 378233038 609617983 286133898 776450845 753770219 994588825 989357177 990439902 279690378 598660490 474801463 604899306 546600448 923877748 265160194 362093069 58934278 838771961 285668207 835048441 687383803 826697280 533049088 938602168 765682242 874903705 222841903 663834797 37307850 579695322 425872497 464677227 25160599 755219478 244370850 909847048 519598137 943563520 419119983 829705310 51688196 182063130 159560353 919254655 140457705 799846811 372148648 884077780 772300947 772357076 187271173 438941433 214833917 275072988 183067449 495828816 127905859 166932769 25637431 636814923 268853523 987876107 538720302 596303596 2285675 2427707 715689 852661436 770424872 952172475 692041492 863322541 56894707 142328157 57976302 943600982 393632458 631143948 141901831 597483231 456372448 546731666 432771462 662993111 278466538 385711106 25830935 96829636 44202210 197493929 122573932 417079444 56727435 693362644 310227735 588816836 466997522 973479914 566383121 725426179 168243920 845415865 741704669 854517242 737606014 859810620 423351380 902112959 669709691 813550092 274944267 456099670 131072082 650654299 139961215 981246610 135600027 499977534 157615864 253498315 198594813 741507231 484794670 519631596 205818452 655605116 322857308 533752161 205249715 348803995 54392747 87192910 11745272 412787528 149296747 345240501 240799368 288171947 263006643 845943770 814992136 965007917 255810500 677557499 588760817 597059617 407200525 762170665 420878547 785945270 585916474 906515678 450686571 611683410 99035554 320473883 211982812 792693286 423137367 475854277 30654364 737785460 177323020 460692101 150906377 820820871 555420516 835227136 262172663 661378305 381162040 517296760 33280599 584938808 403047222 453567793 351965296 915315496 217374198 767322802 632653959 981486600 932900620 991448522 652214750 807466054 38279647 271716032 112261550 565515481 354521483 932150287 346785484 538367858 31793342 239721345 68270451 353483942 87098713 307538808 304210158 548299808 188270083 713903193 359547948 682740939 54466800 212446437 42678464 508235092 328128813 357842361 204949534 634781492 490568551 499878140 191112466 662764392 343450268 741616024 334715464 628592242 385543459 563101687 208611162 633718857 107252263 927570752 400437313 809779671 51610844 626809122 157502767 752935299 305890710 403870195 359992786 636900430 460875800 581719535 20643458 113341796 52442127 519863422 80503547 446987368 237630847 877394191 396970800 398717227 338656530 446419468 170493768 238322768 79610560 924862568 810405494 892744785 37208959 197834132 5832077 88433213 47453207 214230221 63599110 797716148 421886793 683662189 89358003 855761203 510651391 744210846 491358274 520651786 33045814 877928994 235728243 539108529 276697458 915086638 296706331 803611825 606939956 989114877 741123704 968712358 943314593 986818495 471478065 491138776 76743823 320578450 105967227 965067944 931366737 958389484 19176258 908316961 124786505 441697547 213303297 314841129 119010613 909452107 27195985 265701552 16801156 300202704 218027908 306803850 91974844 813398061 677232115 941454607 101494125 577339914 54514622 873956015 450463908 523305948 285856654 931271078 165243555 507609475 199922191 511279102 433488880 980006958 490697245 843994631 485504279 849500133 500882337 748167174 383018784 423994356 41332434 265162957 109550399 740439214 290312407 365635942 343467186 523871518 156246707 419396223 374867216 708582972 616751533 718599419 633753857 658522706 365972640 700157511 301760814 363290168 138374072 830008319 664261380 724731950 608583485 880222131 537174737 938493375 648314601 915047915 727848616 762700426 686088646 824370606 779633915 998222058 858408206 929893822 673896866 817726265 271698966 705830546 263683709 914616192 673019149 966033498 359016019 673189030 620263939 902596555 316857219 982877401 338145302 929661324 918914648 965345133 807594711 951581461 30171744 810978596 381280906 934162932 562476409 839174757 177478109 750711796 194930185 512783182 292026664 660092267 173213981 567743003 391688441 804828567 608229918 819732676 570968047 984756805 309838771 804416060 159187308 848055360 777831176 814214884 298331779 327552093 248982490 445798892 392994566 739421771 444150269 829743861 334592329 602185637 179080632 768844765 435297147 981088809 393513838 868642390 640874881 867303622 359229362 724809584 227517550 954600393 245226634 996788875 457704983 861134702 779858210 848558663 28033402 75006795 51742057 295841935 254164347 278011603 198774108 543708375 85818245 198553172 175484920 560632084 648311 873040201 430044511 767254642 33144046 519371588 363128768 999541888 351099723 377694856 40930859 543000494 482177519 941342775 898755615 944628966 191674783 820791231 677372400 683302194 471127388 472788962 186552832 812232984 335969921 673873959 418569153 624864690 623851473 771619465 167835879 956753209 890694829 939188321 785929447 937634282 568769000 947568032 417201560 536924139 9772533 316951712 235739405 982895435 574068073 991552856 856347287 983892827 917335095 964398875 74538394 123705972 22550956 83580158 13086574 416126891 236689823 435885637 200171001 925971422 136786951 402079916 153697226 225206934 131333631 961223105 196868001 615584168 203856591 883657969 428948826 560780857 549400298 935009682 528519991 726304731 549024925 595418140 446465310 735241584 456640031 804172671 444956434 985542402 173716884 900668100 407546749 899308639 62000027 629980870 41066969 159333726 25508304 337358931 25242156 262883142 134355542 184464993 25440162 980470138 276584694 444774839 28990245 369557497 243041212 764655284 624625808 941445464 929932535 980608912 898964565 928205705 280065399 999256845 552241077 966037297 732938369 944773557 288977755 489510197 144304771 489525031 472912641 566343040 559785833 832028150 155875741 851479646 740050945 767682013 270532729 706160986 383912658 429104651 102484303 338335222 216931890 930028269 739238238 982685818 187450126 807805225 6874473 875778556 83349240 374760927 112499706 697103574 406697645 461078216 389179554 815425234 79693665 246478095 5558390 903880287 872057587 938362037 279747628 834711603 826592490 870900944 590454750 792543713 173585586 331032823 30334037 739308286 563489271 869834249 682609296 711663707 51586408 948771232 772875062 880667546 142226489 706145724 398167629 716985788 52554329 815839156 177507654 402894940 322932898 401451079 371712877 906157399 441879849 893308218 501277519 921125576 561851424 919442288 836542492 978218439 51441978 466820252 178412258 192317763 165399222 588259932 205024278 394430185 116396036 131197818 129934624 595421421 167342077 797760931 172424435 968946683 242722235 637273727 301585785 567545449 322571950 543217533 132411990 650263526 150922140 266848972 185500372 495891570 80472178 708891111 488944818 614623214 217444103 522108927 17401620 457893549 9125290 545610556 222054281 531174645 332032625 823250855 600598491 666085387 285039307 663418630 552592008 843928478 53197568 355713898 167588111 884259607 853464899 971918096 638617214 821992075 674953246 697475575 231005630 671712072 324955915 674575115 182265340 844491239 145828514 820427442 36787443 609046308 382696472 968698070 333914580 797482369 53814969 358307763 65093760 482268235 15244628 603120309 58749128 975242462 571856256 731176020 173588855 308171528 39836135 781243363 677619593 867540159 532193355 764105086 386527249 920509028 787620467 970198120 840338866 900719643 496359570 554024199 463094767 542473466 343801628 361605183 12379122 687925640 87395552 526655782 397253605 587829009 223717133 958806853 807752140 968010878 128446774 269658890 182208592 345321944 283960333 312458226 78369677 814763438 767663551 903718291 575394147 623319161 260926347 368525868 89660551 910075991 844798356 984904392 198852414 933032931 331247621 415674626 60142753 411655467 239242888 296270452 52261056 798179139 203777078 800103804 688647608 998910649 488210553 681567188 114890442 464312415 426421667 614183194 82867168 705426651 522924156 719038152 485760761 562622361 232371511 843819723 667793227 791354687 290836547 506539331 72579162 529136374 82004145 995822590 724219662 861497658 695619341 733214421 431444246 755907721 160510679 388885091 322796702 709855281 614590772 854246110 593395087 670971517 425760773 956456801 76699875 914230214 353388317 893360350 846803619 999605091 383588296 840397048 808052719 859855210 294507594 581122188 224966820 623000731 486688781 725761656 414820895 593156492 559719310 591193379 83601144 869865194 584033114 962458192 483924688 821954695 364715110 413202637 263344300 675613635 475307884 862464589 659993899 801142145 298786757 626782388 336344433 473314124 8969353 994692086 536286971 908877468 406444455 809125315 34275115 232069399 227238922 608080854 556086988 980603989 657515044 821884924 441505533 668250982 647045478 902157377 201822416 382138204 339547868 862365836 388443331 743842789 469986098 587498963 335453073 794040453 37649796 788342137 89905153 364521787 211496777 568810428 497808667 706141823 613970118 755676956 752960363 937838043 675982550 730082535 257397127 346744956 138921734 364693658 194816922 690302300 587692006 897536778 650991458 659489771 388425340 989302324 689732210 891185653 334395166 876324368 320091383 545708709 153654848 387625780 257529518 291652103 237078647 466375280 167961549 480475335 309712956 313659906 243664526 559124881 463975646 970531268 577803750 967528371 883982474 945670303 557647845 988047905 357599606 825737243 608977436 741364039 618500228 708628360 399991242 807729747 585733476 994662634 776190145 850592856 82883926 503026097 156481242 977414025 587667109 701634965 288803569 474137664 228688575 817261011 506502680 952031909 630886554 857322096 148583438 369999936 202848967 449774918 361650195 649199442 346696249 472372011 300862608 633031975 598025136 806861010 675948899 872010138 521973645 689581212 8287823 473432972 449459501 664993005 257831528 920029793 27766040 578403829 309145894 912506866 57457804 405145230 169279187 526831899 419750678 657226771 277253882 751077033 132272637 386360855 332320503 370894531 300947452 774393318 516609815 616711298 232100981 930188275 385278601 635502519 371381925 742144120 6174772 983079807 28223785 670207017 491871220 956981588 210782557 826000944 78318008 843617154 523670723 756043070 680264875 911140673 355133806 560577634 149612546 939459652 436755380 791408383 374750457 664424832 63398578 860940186 128398532 281266475 13225981 629798046 505368656 556290623 277838010 287862667 255613854 307853473 70698955 106325690 28294196 268708098 158862166 260726971 199409359 762607260 340437027 741131423 631870665 955997648 863045233 896387037 82894541 965285368 903568889 916527953 531671480 812278911 447685574 601518283 55662544 528596342 274763121 419704199 403468187 719074136 476014074 613481126 568326360 979598442 767008794 877492857 42831110 384487978 289277597 366643157 39589174 778300087 658697887 956272228 192975547 464279575 200206534 247711650 131169555 482125507 311726368 829445927 484144056 608515164 473848013 641833415 168180223 428535640 368254956 463330352 71415185 521843796 254636559 700155661 632307551 946889242 414815518 494034159 209879656 369679615 19344134 116411361 31517288 790590201 522614352 571567593 387149995 861524878 379577752 664301187 271846303 429438127 218158574 720262512 577132969 741053022 703858152 856557376 547418166 808671069 136571210 818116838 695302206 821938774 691724355 721273723 430694771 519920801 167317546 221099074 218881070 695483069 475911891 819180122 260835633 887581041 301057392 854086814 32041640 299127748 275614306 650802029 15881396 60321101 29765218 918593953 747857672 930619935 401526426 858660623 302754150 553437745 208370699 231809140 26203187 351144425 281377859 732763842 4438570 395929037 129895354 870116142 201119943 358714487 183009142 600258028 325197413 861388270 301449262 372343342 130619363 768181084 477072896 978421392 839722972 970499442 571305332 645860084 217192863 469969140 44842474 454118526 224897202 848175974 575385945 602490520 258332826 954011034 131972205 375199390 280271444 397342283 361519545 893884901 337054627 339060787 148226378 250873334 50552777 976522054 123840742 789663066 771251901 813512459 753517486 976411716 801534581 833242460 684574682 868053295 660620327 767952564 26812659 193627649 98149102 933081760 278765445 712099996 686335577 795142778 326631409 933795763 869283832 995716234 828625320 967344604 810221808 832364960 117739139 156125007 9196339 444962090 230537713 586456577 453009095 546603378 277269010 327740841 294478995 899571813 805326090 820040180 463651830 773765661 478813005 689962701 286854506 376204765 248224044 859333438 442897937 664216380 431801742 615163074 377291480 727627353 358312918 453621234 59104856 969563249 643688322 998584627 882527451 932050479 107528572 671704194 534533909 937906456 528465260 619739219 454094943 778686537 81140790 502389422 228019711 501205089 464008863 598416401 557703044 558629966 390516448 995002105 416699635 705248319 170759263 833499642 488452445 795959944 289705962 718344938 292996238 440377866 115681164 213977625 195774543 599782262 157981357 451429870 152775207 947620284 724706396 806983796 216832378 577776515 64022906 182089628 180185313 603634987 199099872 803441670 399689380 619400180 207399513 257603118 173395434 829427391 685210564 842996807 836759811 954180333 382956307 575841976 570718774 777162286 258949535 367065400 131417526 718079066 314523171 673921459 662711926 822298680 147900321 472239385 384451878 738594845 476193318 715743908 533272333 975917064 733923198 826347907 655173370 944155063 873429910 987943419 955076010 964084342 619601450 737531622 377576275 928372433 61232807 172453249 46095012 473664407 446491599 588296840 397523191 515221639 477090339 816671903 624286561 666692781 401742499 759865001 620752795 729577992 64477509 486323008 346921612 361483506 25848393 570656801 178228347 704914534 686488649 717038807 144410196 281345125 108174750 747274243 373775020 520977374 307925617 522624377 399717316 694619926 594848370 977987695 112425645 815664448 153400166 290006333 169826779 920528575 612568897 750014311 218027925 243639132 102347956 724590948 304681051 859000991 96491611 983401671 416776278 443360710 106004286 125660989 70717320 175335720 49156715 739958489 413471566 653915622 166895909 858939352 748770125 970563086 454411393 992225587 949779246 964307580 33372295 760733398 354755711 581855044 60547898 375602166 203670361 606073351 256858576 744668002 474275942 978757172 921212138 985739982 594017707 726085034 317556845 545653397 350347630 725669698 488885447 796913030 566484921 725573582 115866408 510669177 461968245 794914265 156327687 766679074 659629556 834690660 652654458 745698358 180313783 891696787 772879452 869496510 395289895 409445538 221332003 306089562 176564600 985874527 779131338 864521403 196977441 930069109 248908750 473027542 304423229 311362066 114557840 773236550 335473769 491243326 97454536 122993632 113947965 822622675 556429829 886024196 563445147 571242785 24157630 413469318 142563730 586133309 369278197 748648105 281058792 617940132 117108075 289166809 68193674 754366106 607003433 822633595 405088416 444218090 392967222 454966902 184806532 656638232 511105158 931135909 220264737 584132915 35633784 214982621 182760969 493175181 376473181 417657301 139866351 287040889 212918807 413039778 283460804 467411111 374224066 998981933 412910455 850246515 198058142 992568761 587707166 632123526 37946364 735470528 695679102 777445668 433373903 605994186 268952962 966765489 650351899 850325053 420892170 784834809 243406204 819429929 237249624 473122262 236955821 350832408 342241725 994488267 702742761 844027024 302870362 424859238 397870752 668699061 356304283 696288487 595557718 703083719 530730906 944786930 282040336 365843228 306017678 847497159 139989374 362679821 70062068 480507653 277556477 290670227 177044946 991441326 434406283 568568898 112584287 576831626 194802174 999756581 352319571 618273045 164389314 232304209 139930902 899010705 876381671 942500949 428147004 711435792 280633753 972930698 667563089 779528481 126278734 250396308 27325230 302557293 78564168 138632721 83314118 260358140 208142246 403795822 39332710 113827793 46648209 781268973 58283338 706316660 375032157 744129272 88855665 173615571 89639484 518435684 162943768 745520535 674378924 895634708 642477304 759446712 379088623 495163372 338869694 725653697 191594045 216772365 134732355 924916053 807432813 859523025 530421357 838343622 513982749 710403601 2280169 659475109 136087703 336730002 207700696 287946516 92531368 372528878 292867589 944141162 531690041 882675711 172218210 898766318 257063721 385217595 69901796 523095919 46187814 782523962 679609218 901975405 286100637 457442442 254741929 558188260 455501632 471132162 277884160 543562651 410860081 680679457 420192116 612622579 356285757 521279684 415037298 858819007 609585838 796658221 689091309 972412812 803353301 876576723 469934799 534797973 57310037 400665435 120072200 692326375 376868999 569033550 454904356 505136064 90727758 838984564 822527482 997282238 677061649 765613236 605143429 802388193 595296164 752828455 741534892 917339544 540325686 684045579 66385430 437640901 209685595 653890831 65775744 554133495 26621552 516041804 318239389 592467331 371470901 421198052 156296972 536107702 241072330 576105823 153933296 876468129 601939719 727156361 171271905 359503997 25002374 332235437 80684953 500862313 92388097 181456824 132285894 551295408 310548974 639509094 119913115 138715290 25530967 121126779 113826933 643981660 269327368 348620435 307658663 644064832 269938605 788008302 553756104 810238734 497565782 744682883 709910200 812292006 795160105 891304320 689893555 788233390 502748333 866646168 801005256 868307016 398151726 839552980 276663621 541624407 249836707 827558187 646011380 994789135 196470700 728771402 605253559 765943526 296915516 574682554 85315358 944271784 771583842 989071342 374035787 727149226 504979840 985703101 687050883 897768547 573954015 645156348 414710360 638963795 566188391 866145121 378052357 472193315 172520544 854399165 376212901 394434288 210400475 854926817 195297002 931477379 184485951 393985902 151243493 883348112 335441524 658001137 23847564 644633961 474946294 906601415 42000986 948776138 51910413 473539429 426839186 763893796 336405990 595322583 198085299 337223247 258984230 863020321 164701930 194405086 111087114 690231067 500782358 680438226 193113937 951075931 273635096 960486666 732873022 762257839 688794595 867379788 375026794 423527541 349238396 650639661 520444158 925697411 871868861 961307386 956935314 966712982 857238042 891517967 657172343 976008530 350483516 426285264 89304404 525893489 231731723 407610749 252434010 767462649 420539349 851760415 457678084 725741019 572319629 918239763 562778279 892284070 299508618 745484700 360914370 593425312 563641621 853470464 411718965 705130700 603657686 735618424 503930141 669266929 51534500 905188254 44226578 819566041 232283726 506014234 160826762 495447118 164104175 229865603 171266503 630926593 279309278 693965892 233499851 303563299 282996123 526930455 358242752 719469135 693781122 809081135 576436581 673835994 258109013 356069699 42210765 899558760 46060063 784602004 373490632 516693979 438683819 955489307 630215017 793709245 490447321 649666983 523405232 676155838 152952534 803795235 458691250 511465379 134133713 141253289 111395976 184832403 112000705 389313790 233978661 835847309 610556562 909996678 596270307 865147265 119850933 253436412 149699000 672847830 404426493 566632590 279905148 824464425 474233218 898963598 524077348 669712823 611972770 959945234 428981071 616733909 204505661 877041671 331807380 604927078 559631681 856178780 534472622 982754513 763716314 971946024 519844641 931195800 762435058 790509203 767107475 935403770 23337752 56848692 3789505 546441482 260844042 389831710 279474556 536277143 466203819 639679827 242570018 290242856 114649547 129598784 42865751 313870268 14967359 217608419 176925245 861399739 807937134 981267822 44482090 506205257 272211235 452094397 284867764 847173450 319612118 986190371 673605150 931711823 752676359 860873090 613583479 944077340 205113398 313883256 209792828 658326231 364252158 963414466 452083228 812692693 62093145 311944644 165614869 705197980 64738999 381368585 313052001 519604360 326914763 520754161 520462232 872080818 665441124 758495349 602089221 814141555 91697161 764421730 117242928 978371148 503230353 731463132 335078250 717123602 100688474 814176566 359756735 536837096 247320799 756683708 54429620 418493778 202047325 536021703 123152908 917366002 872561722 935067143 42887023 858427215 231399629 729370694 268655619 906104787 300861438 675686509 46812369 645196622 564714261 932578596 555687499 884921972 256051785 443981236 152674860 561685369 502074814 682449486 532694290 924989818 164555442 734845902 650381052 967508157 477018682 681122009 471674494 551412208 79125782 262335026 77030287 995131994 500219428 833863544 679347186 950075578 675109662 742134177 671852077 949500325 100489548 506207457 366032217 571495388 264132249 371982943 245852214 770086781 547570447 770794231 615855574 827547417 141031367 907157695 266906551 592815745 65364691 81276937 61683215 321301116 76297516 757737806 80412396 996428923 948628348 994952396 940893396 972010732 636836574 946012795 356323270 494672864 107723299 525699378 477448970 907660848 295259574 968699003 506627511 760523494 410896786 942516004 182205214 659793978 594520070 866115134 273471700 849821980 423016657 573432882 480000894 620691014 251614973 950523891 523642844 883557638 39499207 725247273 529090202 886741926 197050475 999657051 245548011 372574333 322902507 950719326 949530688 988439559 211607948 315992073 179498024 480703030 410642607 848441788 357523829 697020685 411368204 752916130 607247470 785922299 63758259 991248307 801247946 977549811 1607184 623676550 425794255 751699607 96443815 950391633 562786703 642554905 152128370 352693450 146023500 624847024 440465605 868338300 296933734 933201255 853741040 937560134 931458376 942856998 36674958 974010311 283092882 668572915 414289011 667865534 580245108 656920542 461390653 655772083 129591531 163675193 7419826 644646811 517644264 644770903 398019442 418384479 39200821 362662775 332848569 606220337 413536308 418399295 117226022 832227622 670567456 895170229 800764589 894544402 260491321 956942875 522342957 636817342 374070335 727033395 128166219 634871441 279054202 355240938 240568935 371141530 57443376 843667253 34441049 418584155 120032599 742007157 259699735 660376127 383607413 942048266 370357016 760805457 260499869 635199505 75270876 602877690 319034579 746674493 216994886 578683459 214210155 409106633 82911745 682901386 517933281 683326084 398815618 883563751 99522916 516260208 449255802 928128668 850624350 886472378 678871942 889861771 266772958 535933266 259998580 676767252 31073230 123635212 54900566 773369153 457838055 462156684 209846836 955540003 65292174 530366723 60585756 381673993 183966845 619435004 463251787 667850035 633035772 688526860 475521292 846661552 232653136 421612971 292808799 554980002 132669016 694357007 287142868 702878215 668251748 808913417 176947577 345690391 190943664 851197065 400773386 879401703 393981195 519726640 164504953 895801668 877272631 900606603 555750979 960169452 870860315 990098688 87383487 633545390 334570756 646173669 132923591 964057817 271469763 848849999 264114458 525959825 91072147 659243374 558362283 703680546 224216298 765417670 517400674 861764154 630190238 944042577 445005767 896569932 369329175 978282887 289646732 641206444 339497854 758175236 284506428 999851218 927405463 953117373 514376327 847663278 689557219 875391714 852107323 857924568 45561303 804759920 711809697 775937755 592644917 692596275 160580653 270639344 114997494 341429638 12791946 750822698 364496032 792734450 413179435 992722447 892262064 964134949 368006571 645761604 37613420 907682353 57248024 720253520 207021855 542600597 148168729 728897418 467464554 827017200 251927073 794910476 81138347 455347325 218816611 404199428 144439435 177098192 87338587 182011363 143044184 674553745 417764492 832633293 188827866 631537656 437350762 622018981 45763622 215498266 43149198 525653792 76801532 624209279 166302692 426650692 30684170 543143845 256003324 823121513 133835084 761478849 383266143 544079381 66751055 827921048 579887404 954264719 754673620 833414878 294169869 847166721 121111708 903973346 407171256 486498793 27438027 657252620 163825080 513151115 50436108 381293246 380504013 797734355 317438627 335444976 51117903 963369362 740412460 939370450 153432812 924878275 601665576 889111498 380084331 566144708 239725671 288788032 61264157 131649313 129404494 856843623 336397212 883986861 831432353 980374110 150449723 474112275 86112810 385821727 102893074 354772278 40899471 280878409 104053921 224616203 68731152 719263657 80459295 978241356 987718305 964115394 998875342 95167508 791339896 400834092 912599909 706452208 807033640 554042425 637386683 340493263 666797946 24052056 818350559 221196594 688892185 182328463 439510190 122683503 403051446 389689202 510842617 28233797 451763387 202505804 488417178 72586757 695398421 279421019 496525098 222147034 739956724 13359978 331189627 221554922 795464079 554534001 706334324 535215172 710640326 205898527 537430983 65814528 921787740 799877067 945636589 632523741 835680759 609559522 877396588 87915272 328602999 271319120 282364427 94065486 487834899 333052698 379343473 367426582 513269935 379985558 805068550 256699770 907206383 555279918 754359132 357769580 65082233 342643664 262404361 678949057 640626851 949514241 344444849 468569635 75036306 713758363 102039315 776157898 431275042 745016465 175745098 861165462 15526683 280231785 102752558 108115129 61387893 529282480 71266696 146041239 43271117 49251890 47856657 491296790 101696579 730256009 249105517 405793408 104288514 974640698 444326368 800938683 574956673 936194013 491507685 588312980 30136815 892982138 320387278 326729773 38850610 394791521 285858431 621188750 122196245 973258985 214339131 257211099 27643867 886361552 305393248 914712159 593010401 862697547 712713980 741240831 154540770 505901233 66339886 632509256 209359678 739389696 460268661 907479774 537240359 560606490 219708288 617200176 543830835 984143307 576761218 732684846 34724910 104237735 2191550 684476362 4287912 617053834 444198827 741589342 167746626 619880146 147610647 773263887 525899694 639061512 407820325 932068681 887123170 897048470 39851973 390657126 222069793 639930674 119216008 653228841 273096922 336458461 242210183 575326790 330321739 550849607 189256617 582482352 536404086 749578464 249037201 480253541 344273654 514862743 295095959 307650615 304366133 581590984 474434687 532605017 531907974 822890984 22124014 925546504 780661950 980586068 844959502 981003071 851821761 943200135 220741893 842342524 587981481 799459510 404428537 919534283 213378223 620149125 278517168 488204361 233416763 644588389 557803576 940987159 330065494 672485277 505955704 939144939 368857396 548330233 444235078 615655115 411919530 834589118 245273035 597947386 446677840 548322666 241092056 526719624 259245362 355923063 17897106 610095485 69660294 744249290 491351570 765435896 626088274 756818312 658813952 717074480 398236998 451460521 242604810 514375125 147923648 743151556 47318638 715432215 456908337 912217720 364688460 589781391 306262658 991138325 43215949 201125185 114333996 466404272 190696651 725227369 620895971 971286803 899889683 915460415 719502062 785648952 173685998 696186032 266438792 389308580 159771893 361582691 121445976 959801046 579327151 711621984 543594454 948742424 459968188 807280985 414941812 650879425 67330775 123112636 56262708 630973545 272884552 588926472 211461144 833407657 411034241 708573745 84642252 179712261 135115251 681153771 73590 210095221 46334901 732403360 605669658 678304595 637923365 677622837 194530151 959089928 475529459 996701242 250635993 419688108 198286763 957252390 887113745 999919936 131798016 176404415 67434161 594593183 452780604 699084925 72478521 724538661 37383046 792320461 246063844 967622540 99368983 458645993 136641765 399252005 358393117 876732045 671481271 797042334 569691601 629474681 170139597 841454961 4335175 228293882 12086598 695707352 16891243 213647116 635738117 64183873 256175329 22554830 846611830 321310268 627859852 114472505 944302010 752129857 859905764 552955218 929023447 234106183 857705938 530932850 810062500 11233119 42107961 11874492 921834615 780334622 821945762 207490780 256612864 231951610 449014526 439149575 545718996 357270002 679161271 83205954 828776578 119428586 618958526 114758286 138118217 94007379 548052849 149987681 544532693 29873468 623802187 600451542 606237738 306613123 892495081 57572585 485884283 313254743 314288605 253109278 735761559 371771622 985289749 143780661 538793061 517855953 877325996 733410234 751883030 441039138 729811380 456596926 715502408 70633450 410766024 308010520 590868677 316878606 801133536 167642255 239456361 141120973 959688388 30289152 406800704 281989253 336366110 44761125 463725056 90578196 812716774 60670211 559225098 531152481 758330805 232438324 697387645 230918321 490067869 311561069 622956613 543183577 756409518 320700207 617442214 606183261 902501802 667754483 949696360 557492309 899770011 738265333 849445365 364249814 417261339 354821562 651812514 509089653 744777407 109182749 526233437 312653087 956489930 912106342 983740448 803600125 816064221 636655347 868733083 516618021 760550612 589188383 785050893 100676161 868008009 494816559 797740397 259851550 593963575 487326246 835264180 526916674 560646253 235589303 541541317 192902413 537729165 221947465 972386185 628283118 882335962 666253131 930914348 582118575 692574711 290753621 628805874 147429718 637285934 440018717 802472731 185051762 441167657 359296584 779263881 437087932 638771483 324173191 970273517 661888784 993237444 203153421 858871066 380163784 429936299 161886973 688777337 605712152 757296421 101813479 355243316 306718241 584737565 135679650 188618516 20587411 46603073 30062732 939043846 102978725 848581002 684161746 924947546 686935743 820874609 266417938 638745770 210698873 841978947 542450375 942066289 220363051 690497655 367075957 863263375 154115188 155225281 148299842 931953802 478100577 841807391 656912095 844419941 471398993 716242567 346938928 868700674 173946149 682762800 136726136 497447012 216847999 804682333 727260299 991304209 348421340 905012373 759396207 779938467 662768549 837349238 709897468 965163200 957928980 976444259 850193333 916273880 898612075 921021043 695000257 805428315 303200424 356424944 271461100 370411695 16575027 148258762 554375 113589553 107611504 990155553 402816500 497226385 118459739 740264846 408064496 505668107 245322186 413326415 26791591 55769668 51304410 88893275 48323202 622303548 484048366 515167726 28140026 117888251 14369972 633279898 296092359 740705683 582783509 975475613 220450131 760855164 231751867 471972580 461907716 620464497 257857306 544772606 114349232 935656582 542329570 988332565 735639457 807193420 310220669 464141668 293259309 806618080 652523694 674583616 527692782 867724873 739969079 847097718 129308723 766357439 219529074 993478075 650846753 799690979 565394243 572731834 122682516 471433728 290502194 903339984 218897278 952783761 292869963 907310294 582037631 637717264 147424582 211996495 151781246 426913523 201255618 534739098 492204688 783014039 357145929 383470169 189894965 605238850 402695741 996220047 144387185 884981041 501840850 784830382 567806681 828038838 723465353 801736623 653860853 951678136 255501179 276021942 243552806 646512960 571046654 886159898 53515414 177212721 166045959 227751450 209669862 760669678 667853746 782520114 764677770 946705853 155653298 820365846 147737079 177422557 75805095 715109888 362250827 615274057 487029514 995430803 635922132 970542935 576783074 981671803 219688495 510656867 237216701 866216439 426182002 440117196 284287643 287096403 125685022 177847080 125378513 631367379 449269995 599389368 402239437 963139811 732684258 766791426 363120981 832649021 760374588 938911478 907789593 926065210 613792291 754029662 620601915 900541550 368458881 858988694 964786762 717618765 756822418 217765866 624104575 278073841 799731323 227199368 877823772 600009358 854703889 375104677 530387587 404386629 654995956 262077772 181325273 656920554 260506484 418152994 285089590 993061409 829867258 914208626 482017217 497804439 258028896 813715471 481270424 798877145 695717005 978992893 726186943 804339547 24712748 282138767 118781323 452336758 117363965 229732978 1818482 254841892 25713049 623375735 168342387 421919320 305393546 754933714 606970441 830349541 656165102 848873285 784462679 824221624 161872721 766428230 120289845 315711225 130659520 633264007 372347647 895286433 200675194 590294079 184387520 483769639 372104974 758761320 491779106 609441323 535546883 561675150 123352739 432444461 259337939 791464096 306407598 566631681 365016065 798916954 332411454 715631341 314155451 967658966 241569572 748311114 568327187 681646739 481142243 817263137 712659407 955490260 651471905 925969732 568862341 600891106 323820782 937756140 518409602 759895199 468008080 658449660 581714353 883294059 60587785 441180342 416654266 809939597 604810409 838573035 320650479 661980436 497016956 653848725 221461813 433875227 279787876 509054784 81205860 535279832 270973794 626276304 601374824 849794819 568680206 578616158 561229269 871930531 718687272 987161448 13355677 926185982 752794000 949514995 519431973 535515629 185165869 484494081 119650045 854575495 448215207 834102749 478923515 774152285 754137938 945617262 793915346 816856463 761243697 962143565 340661399 493269620 325016583 777374323 511314393 898707428 38141070 507216324 131603404 915590736 591560725 834838879 72535209 324506611 277154509 794811114 207955220 631329498 530900228 997629863 327795191 439103090 193926191 591952833 232653120 626870388 332108954 521648797 425873559 706462170 502169032 725570289 46780509 548024463 13133879 491783566 449400113 993985970 900486388 912610965 372300493 521521475 407156500 760661149 453308397 751704332 408322029 562136800 471531887 512205325 448501930 829931111 459063139 770973429 446625838 540547858 448422620 641204979 436550965 905174816 560843478 651624026 255355208 531954429 405038262 710683638 338397782 429479400 279553398 444904868 146294331 294529145 241381412 690905369 180372569 754591266 668003616 952275654 214824212 929571593 869277570 977402135 922034453 993288781 26755604 349748913 327590016 821166437 770007786 924270744 389045561 486654269 173248426 202472602 132368581 629020903 261799940 329554013 217092943 989988186 601146422 825310845 58636996 374327767 150670610 727171994 544577020 585456486 515608615 929258305 502231901 752775570 463190870 646479454 126316279 797783886 198385655 816694580 385472483 747455470 283362013 320778351 567163959 284180568 782071586 120426639 791166161 395366826 875160867 799526322 905195433 596481946 703282057 330814279 890803083 547313830
