P14125 [HackerEarth] We define a function F, on a array , P ,as follows:
普及-
题目描述

We define a function F, on a array , P ,as follows:
F(P) = ( length(P)^

distinct(P))%(10^9+7)
where:
length(P) denotes the number of elements in array P.
distinct(P) denotes number of distinct elements in array P.

Ma5termind loves creating new challenges and he need your help testing his newest one. Given a array A consisting of N elements, compute the maximum value of F over all possible subarrays of A.

As result can be quite large, print it modulo 10^9+7.

Input:
Each input file will contain a T test cases.

First line will contain a single integer N denoting number of elements in array A.

Next line will contain a list of N integers Ai.

Ouput:
For each test case, output the answer in new line.

Constraints:

1 ≤ T ≤ 5
1 ≤ N ≤ 100000
1 ≤ A[i] ≤ 100000000

See sample I/O for more clarification.

Scoring:

subtask 1: 1 ≤ N ≤ 1000 ( 30 pts )
subtask 2: 1 ≤ N ≤ 10^5 ( 70 pts )

SAMPLE INPUT
1
2
1 2

SAMPLE OUTPUT
4

Explanation

The maximum value of is for sub-array {1,2}.

输入格式

见题面

输出格式

见题面

样例输入
5 963 14075639 871832047 740863415 853611575 691872814 191740938 186080015 279974590 643245531 56305544 3375183 561681421 86400797 741466680 522756063 501085006 850389576 881837630 52506268 253196605 26571105 829255314 158940758 447984814 71181476 99364735 406991443 359819525 606660351 898012964 769705930 47835836 551496340 413401590 506112617 593513441 372170555 133741372 426392784 22693525 449450749 922965906 436266260 828723086 732631194 248288615 213539133 857362069 429824516 140957055 288392648 643004681 190759650 641178993 429952549 629066843 263585550 238226985 965536570 426364560 28603159 748770408 464199646 160727234 340592320 808850751 374111 647835551 261580159 880929944 853884925 470951400 817922303 163460525 940414828 640554228 776429470 802086287 858491734 585408298 880128240 110893984 826068951 421565578 124716090 352062489 608942079 613408549 384022264 256459909 9258580 852503968 508581719 660908612 633697101 131754934 136837819 629371657 730814936 509408435 32373819 115445085 615715284 873084921 894475040 784606489 139394200 408152959 514594666 727252464 624532331 987062349 614258251 389686243 598295049 663301377 678619817 531642314 52581156 160851021 265901472 105649106 399202017 249462134 465237758 423591930 694948183 371921623 980638150 457003157 795515156 458459228 632260782 130705611 916373911 429463559 852755104 208864023 968708567 820985967 655744316 98848714 557082810 712576828 630866773 417272199 675572127 84551596 698811760 572920261 287773397 34331922 438706760 54463312 473314849 972085585 857285964 478197961 196401980 414405989 266848031 648965921 927483475 411538394 980200472 125905442 810003077 15363923 279612608 4980966 533981289 734278917 920678486 396018269 619222149 420294969 881664846 72760268 604372440 328038349 787625421 96484169 727906897 95920820 988957743 859356224 930997077 899918961 530953090 835818481 434491453 835314848 474752520 508431343 753187029 669524078 153621433 201022114 434416095 708911900 110625982 148938694 111354766 455808127 321282039 963479274 705232907 619828099 990993270 149956082 679978996 99981987 175303426 524153750 556306648 873172083 72865429 27152865 640827836 207117847 34722015 268020402 57867673 982515657 93867456 546287678 593433051 92261206 214395602 991467916 779317476 293417633 800341468 674762487 677572743 477402655 720218464 286504624 831004301 436286298 304118542 136007482 85264179 316873583 247238735 995795436 192709034 301447055 762231483 648607603 245209750 453555073 370811043 832975949 373654160 326035999 766998408 979127630 220836004 687165908 359905953 776690207 155859 406884645 678407002 736903610 515377810 562284837 590693839 365936880 671235914 661944831 665549653 650780387 83695318 654162287 276692210 209315724 149600776 229395785 281718240 219292726 807808804 745217009 675237902 618500609 461781602 727122658 636650655 232642144 701369456 597970216 990648424 381170075 210445039 312198629 558496886 634963790 267250929 487116495 680704646 883207912 944772994 337593008 152784780 851589677 401247260 443249637 193661485 287767989 226320688 517117664 164778308 227897194 129256612 45849255 309455456 956027662 151010896 354474834 858370629 240156851 486583424 207945872 884513127 892539201 206301301 22535715 5573746 600691955 17151716 183566431 237094084 971243482 513124981 327857839 980270321 721325657 151554117 303642640 379975999 408731559 34280036 1416597 851281959 358560848 273466968 681140961 584717530 899423924 378527129 16567984 422611386 68655495 723967507 49702222 630149852 547515471 839042215 137828638 165352589 538285545 368358825 730134804 636661194 603653893 319584099 166775099 522089670 974247589 826451089 221323569 435153256 591584418 450767588 648188582 33860042 552503335 629041023 140270049 774767803 390143540 141861757 724173883 957016126 599649308 191893609 448636577 627405321 695279111 134726340 62678550 774253063 82253681 970539650 350002735 463486679 901346217 88222605 235717013 111368266 539042387 31600193 935643782 465912296 671557607 619625454 813263189 138926956 296836655 65301338 521341670 304497988 349191885 746401084 632201011 38183186 464343475 532538562 465870793 224215085 203433896 305507340 839808587 771336737 956272842 438190766 431476462 189750058 935680263 63560242 232036604 193123517 933429410 568029332 237345617 46074880 388000437 804575428 675582689 644403789 890164137 427863335 937931056 802419635 652753343 28174871 882118872 960810869 804340618 957249630 948754439 916491913 465685107 405768639 387557630 482103321 866243892 21425518 146516627 510365190 180923997 182891666 481675440 783513440 683954387 875803338 190650066 862804719 112288332 55144613 846350474 365809069 182128596 966423080 997660671 475216714 490502730 632997197 664921707 202218151 631935715 810585726 172808858 682075227 288662439 302807326 173046638 955042609 245112303 435542528 585661533 551973544 802790126 552618990 524412401 992969074 994055204 626550819 276397639 790100469 336496620 155507921 133328785 892979917 293378544 254569885 850510996 99346248 839283119 741824030 96691498 607580136 100920062 414881889 877167298 974524133 914660996 437522792 59188955 146937001 315250236 991586726 792647052 261806674 314861559 135198596 929927679 410127923 165362135 642590688 33858290 135513683 86759126 425093769 805311797 902388972 990240061 821544132 12073006 281111789 917820717 711138762 667526232 685123705 471873817 59418951 716992959 606331238 286897226 96093149 363821189 642365375 438274394 185177503 648664417 754372162 347102393 394798742 648955419 529450211 34061100 923625280 283706385 509671751 516495944 981975820 415169206 627004234 595096315 368523487 546539021 348228986 29797892 303891346 602483506 414436249 462804086 984186993 638188241 859320094 134008377 374633917 431328173 195731381 607075465 802968875 25978139 263137211 568630901 434981988 139378052 256275651 38480737 491438979 480888551 405620755 599676292 498289562 40218452 961004327 315870315 654677805 844766066 484256813 183374196 688115892 415062778 987878024 219575380 930369822 600679225 511576910 5731218 806712905 711355794 115129802 706764041 205966219 194334714 207310330 280261226 894140972 506764666 208797457 675037624 666369513 606480049 950237687 799361482 944485747 90205263 98076100 850893004 23485678 672586651 860903496 760415422 53834355 693277422 940084359 861479924 288914574 178183222 288004405 720152468 642558144 861624692 88798014 386020379 156082174 272560446 819937857 296606168 217860912 810953534 58312975 435662192 747200435 335545521 403739185 980619864 470389208 37575400 566220896 54023518 418950498 644248010 582931723 938957089 407704076 967686224 286773972 821950612 85182465 215215880 538059283 815478143 316285538 449716372 750357841 162271998 845156292 465645096 243305423 184905728 304577199 551265807 436195325 389386185 602181664 809997349 974358531 239357040 387180039 115495006 726853179 79743842 931498954 515094847 253743540 524846045 608405697 152790112 890472625 408307062 253160631 612753136 300341544 268150420 911001199 313196592 618858820 499138802 245168157 842939383 637896164 936515617 228673513 688664876 88249625 738322947 34372720 155650640 314841772 125261137 554921282 457568754 593586325 862384663 349904741 320258360 311656325 877660211 81456592 631084124 600827741 208745945 134732273 230497581 221072309 493881361 730583080 559381386 939405398 901953847 618118730 672261099 912028608 186153851 379670559 504884184 368606629 891279711 131922915 534985839 600459628 540542012 49990857 117053666 107160239 806852797 726769011 832145143 875391933 56899425 565656699 112051078 363022361 646061821 188942062 132313855 523166969 410445112 754239180 311424993 394510279 458613518 376343945 635271492 691615908 577877838 961153167 280798544 867409120 638292252 604794810 939589060 291851139 42710639 221490650 705514608 568262600 457383060 240474421 499675067 124654492 64579753 116844034 383588637 278255651 989635107 77300974 623175078 790032948 653844809 133861275 458307702 857355992 86347702 646623005 950967107 398997967 298880219 930507899 670171350 89712650 534267514 829532980 963010446 297388594 168446764 698834871 427101147 83906848 313907932 10443753 784646852 691252323 520487754 604562339 900136546 99008701 675056778 961479986 299666018 4551846 536550786 538622934 719991943 310130888 592595567 431484483 220773670 318216833 2261856 586722082 807673257 59958372 724324026 663836561 313300237 635098808 96735666 864249759 897691235 234349559 615288534 529446609 692416850 729645393 744487557 256043168 823045779 813182247 370343282 484060921 632562292 237361040 308856613 172358843 928598870 736489687 235437689 623162940 267614767 539168762 608681503 160927173 407244041 913508141 791726874 735080977 434617729 62333013 736514370 4079826 729319753 478798222 481396673 788888364 537911974 377976230 852384664 723226168 520721138 304168607 345269275 42129283 361121563 572244016 721227633 693034380 52894243 554508869 841711381 314029129 587678 16854395 705471576 508751779 461552183 88039333 213832924 852356597 726306347 65794122 271697690 761705617 688591308 383643428 165157085 995540027 674872319 472778914 352852421 65426348 247745726 286308967 888902086 87093264 346529175 613036489 391098278 864361352 268850732 900517970 110133122 320647081 709286577 666780227 743290185 251016700 449429617 563760396 929234239 685473916 64467530 556596693 297645180 294875163 471522092 813033465 585112939 702852413 978328221 271838597 763321419 78182970 219895096 622683582 117619633 908377056 833 393953688 320031492 96834544 840415923 380235839 781247232 320360349 922453162 862893970 694052916 61160464 349880569 645359267 14242692 367415526 224118558 935609400 70600871 61246640 167464105 650637645 203553962 866955122 199041473 317137296 862230635 924607268 813287326 697747940 728282398 563844660 959907600 217615070 941447884 418415618 819792119 418879307 324387535 984865635 224450760 244043944 309343320 996347679 530448143 392632233 60507369 197442163 603230183 598101683 110577883 907936144 382253955 136951393 412351450 122575898 110344873 608449026 354624867 649238441 370656050 805031961 205772621 37407307 801050764 520182492 696531005 795030272 281917496 441946806 917212720 401222205 147053644 756659910 451745013 108481642 930548209 51112798 365231280 825060452 968471526 710144132 620123225 726899195 939245819 200576116 202597435 194878069 276548759 681418779 929473653 405351178 164279091 112723358 376715132 530691942 628857053 622906577 66893463 727338025 466443702 705301441 565327970 775778154 736142964 895378731 799468876 421599536 665412833 944599298 739323417 76645880 654703194 891618029 811817056 167551794 346248272 969368262 639311629 984966596 426964170 271057180 764981473 912459397 136861410 668414898 577233645 844819651 368579908 388775934 292693787 441068222 125808818 761265067 328585893 254701098 504367234 517035287 616370332 848396465 49136926 524338133 83580002 145435759 655397507 263482157 597903920 669078644 686970563 858585239 600989585 527358278 598223491 519980612 691347941 298332 745465725 618984853 580585695 207781796 589452543 284093857 502324999 998409214 488852075 512872372 686854713 74121150 342513589 890874826 367704613 350502446 658395112 426357528 41068237 612197129 397003169 106681476 561953545 747925762 402508690 696069928 431166214 89663547 592656641 375558355 436374723 240172238 42551878 644991623 185528466 70183752 865221456 679289084 937000349 397347112 407310369 595611932 972414559 990178149 906334541 881939077 510613287 936965861 425397375 342287882 777277593 855759111 510297333 912426546 239045676 939111450 102957567 745006520 240785068 769699299 211608964 725850121 992195769 838130716 103816828 861486025 599208263 117628143 127148407 915630414 291056157 55462783 974757652 981831971 404607062 247789151 768659595 551430279 547677410 874238488 802528292 780221932 389369606 459645352 628851134 397827960 577330392 854141694 829758793 424177543 425081796 366480767 878623564 869055783 726204170 753822340 644941664 456375962 416009789 208670170 23037618 681352664 995283397 412726848 234416261 762002698 252252510 7683052 141859502 285870352 554069143 537928455 814632470 835500028 745075028 65810476 25701692 45187989 827729485 787570925 15549616 837188565 847842701 841766990 857696153 800702315 14129907 481585480 494620720 866624058 328551604 134410055 665240131 119041496 127583191 370107565 720655795 584315920 138278583 569465165 408390902 766860128 6933893 290160368 708147093 953076604 642165444 232008147 952044207 542763465 391461323 814700327 717890933 461092835 856338247 275405712 310623660 748483607 584175542 774299559 55540270 217161194 518107116 2665080 756472169 994776720 171753874 577816581 799534558 531463541 418157986 182491073 174379171 654909112 220657388 240331029 874113506 341579691 593123477 235819486 7556440 685302101 408749715 63388397 474562263 805777136 365546546 773095558 991601860 253352043 110311058 96369889 133246105 256343784 790728486 242821293 750897508 542182207 98358838 949232008 688147526 798852218 72965470 765474952 225291510 765290071 286208013 671733941 972765244 810992585 828846087 981729164 61493878 907308919 61603300 536363902 60946966 173382716 204205454 205710446 199132705 500388261 202696391 55624247 361858225 104897654 401833889 424171812 374948213 611987237 671890691 318539382 536351788 807603294 998943531 847524578 658466606 950432637 558237223 213886736 555547107 893252375 248120922 640347677 476283721 735859569 608741118 943463962 480007282 242375943 268945052 786830474 995166467 718960903 584885653 751743720 552076727 581858771 177268381 856728351 110487770 254247811 183332154 409909264 930607823 893311585 715552329 526364688 54808203 467078507 588396666 742485862 534378519 62883540 316775631 390681297 718589713 523317891 631132449 113262593 251745579 371714706 744697499 863899674 547492523 254780368 539504189 338320436 528468202 498262592 933850970 954304989 13611733 904059288 772383258 300205973 51020143 426576835 649010169 414509904 40962125 343168351 726917702 232665848 775052824 303813184 707123877 963838185 148739855 684128747 838232462 96175219 306775938 34556956 13570251 233928284 488080472 758556992 890520574 902477147 826665866 472984315 299442969 859430558 148102822 298527908 243487971 498125381 160115533 869651396 601728378 954213860 240470453 669681819 86673612 674017029 996148007 84745371 707215132 930043812 686018178 643556075 879355779 60580529 120017078 738587877 556187757 99456658 406720330 738916504 643855896 389675934 609602775 916397894 554104600 337621155 854967179 293088231 604081878 626555744 163923879 400427941 389564940 131939596 492160513 77484638 274920266 348973261 651368067 325497638 380306293 923278914 274505386 764445378 647962179 150665722 956470792 388932141 965118656 381244923 198819522 581733142 214915019 424591932 656666642 266825825 200385177 601743658 55728326 67416738 946008882 562586663 93224895 403253413 202186479 453152262 760628851 825198569 626099458 826776465 244544364 313629471 758090990 307615235 111191751 545739952 334657803 123732367 858184374 673660725 366243076 262665175 463526910 391987197 388264024 656531573 893968506 818429834 738202332 46001013 251096982 922167316 627930423 679059417 591707348 285455364 314749796 888492052 378731083 740340858 105029940 932721296 231558947 798814664 801607369 727565864 853001754 193404917 545586460 31185070 515227650 26294588 532214905 427075942 617433664 212549258 221574398 53636489 38822223 152592899 886825247 870844612 770038075 670779261 226651173 264480182 188726823 506257155 634158250 352023157 629959879 566010195 119101214 577313546 175058662 256270433 78960710 683423728 115773410 16000978 485591991 772371609 653063979 286696834 113415775 813715945 791634632 32969214 59527421 100064953 923917777 206550283 738186916 892274773 368919286 489552413 341095228 940539646 67369206 903404768 819302401 358464617 434138921 39718835 206331394 325106239 652403703 346006056 6135459 241899163 679776607 588555654 826831387 550513295 558851953 294181191 232279031 994277535 806230228 242356634 392569237 759077188 647382337 839451618 394957994 425569130 389580806 670699829 281803197 170898162 557747843 702500061 393150121 55222577 850854064 982768859 88301343 598659439 439001494 184670815 639196962 407488361 559045073 103835217 961846153 425038800 757758485 657477068 443377280 332840648 757357478 961756829 976391 275214442 158782174 800956872 908725873 780033858 248523691 197037571 354882791 979697873 923761678 363653178 723788259 300230668 950154397 534852617 771290549 993079259 357509377 10897989 386040066 746632603 362663033 156895604 682649407 449333661 254837334 183031888 8678202 804144036 681661565 368995399 888926098 147928427 101546984 252109310 547786042 914042141 815519013 5137866 938357754 919234011 111576789 780341813 314875630 554783290 220467246 718884479 476581637 968989890 370171258 992860442 933270915 765111920 473170070 500394541 107197567 2534708 922400116 429842963 411415398 437942388 757362329 375729625 498470774 328762760 399590815 338929091 195094596 872545852 63083444 874568135 289775671 769772369 913311258 602406416 617359626 105093883 44296869 234790780 880795214 942901604 113471040 802617375 157406693 871473448 773611368 899938750 295212680 715778008 74519727 793084501 116724802 426219639 820489018 861295762 928031475 689400832 901172548 723830359 71314127 63680989 639133337 701588283 137176284 26358897 607950108 668118282 150604151 670705040 201655617 89731649 480360656 520409346 706046099 148284563 467848041 710123267 720501295 413053286 584100507 951611078 726365512 889614423 22250768 829374701 974505889 885468082 67425610 959143955 968529430 238161658 553375771 91281730 886742803 368807783 459 618219133 510994715 577840227 923622774 111427384 625666882 671795212 542908875 585054426 606927796 849443766 827151694 259434818 120581676 861576806 124938742 518739263 783629437 320407895 850893584 712054551 971866893 167565433 340017594 708465921 618281301 330157293 126215017 145077675 722309218 637437322 468386403 41854644 736501079 627157340 515536454 344892723 960223209 861081119 60171391 3346990 364709089 598890184 848743636 89525540 94712478 109124605 622435291 785674372 470299024 835524760 303435648 714659891 274376894 908726823 104094083 50269707 895930945 561709423 857545720 70316630 519743943 928073957 159285189 164795479 835601169 173554995 862570279 684097729 816651893 746668985 627070509 57415742 55175516 138076938 788571963 680904681 813959877 863715179 941712777 552136660 194496449 353852759 525716898 584180611 953884661 995632637 744208870 204957807 865018907 909588928 454149896 550979205 679494785 147562678 958851216 348152484 932455304 841303338 968228697 539823907 530824230 983848475 642271252 110247496 986170981 3799482 111631300 491836625 452942817 65193456 824165952 61781103 496277070 41596630 490838197 170829895 652609008 943903546 882144801 700626288 807779874 835582753 841205721 300524919 96646096 450199615 303515652 896656605 620083196 667595905 696317469 943188375 699725372 396608643 432530805 129334158 563988794 283030555 843973038 437275933 222394675 108466892 26941249 264082838 22541433 911411795 112623609 144774077 639600113 685731103 204923766 513006667 528846742 115890896 994406315 290295916 650107124 494240959 582746977 949508673 590734765 481278070 724252850 263126879 478790136 103165491 95018382 580602191 624323357 540980074 39194681 1419788 786802170 595804992 391001035 676701320 480859009 727049489 840831663 850555175 580652344 784143082 789360420 562133569 540843959 440327183 769065919 498565285 266671917 747851639 101808103 376635409 645312988 720879691 627150936 783171515 543601305 119957611 724093345 621828299 673462605 685002984 585704614 906169054 555783030 28886667 354517278 251476101 758098086 442203213 626380821 960555972 204282115 650281437 94878316 120140435 523859910 443292701 201049940 716824928 438827452 610934181 43626199 504733068 709709256 277635903 466260559 945603561 996741983 361531497 805902061 848332098 468130570 437404630 747639347 273388756 803745000 707830253 595807354 673969869 405438249 595053385 821184877 934420180 457605268 76735799 148864652 424531584 910561538 292432443 682681771 720949727 700385248 501425291 791907184 677885937 919541425 777812114 922760664 926724907 190294922 224955247 378878642 240245237 143975316 150527859 602733090 184296236 510527886 302117543 732622112 617822369 951932489 817022787 147278327 696618391 816476458 562388024 109839046 400527177 79319211 829568935 493250050 899122530 142783193 871683432 71368434 508154499 856141272 311245701 186298418 216648384 6608987 989225147 358432817 872940067 853270060 7804672 303330738 801051432 129743018 79855095 488738895 869562175 88527174 567477629 537905905 815963982 211789317 122637345 301558873 144174124 821210625 424819107 823666075 617930535 601775080 84171132 686943902 642289279 975967867 558789974 528359069 264478185 576244496 859452816 237677224 964333836 724076049 80470971 712821284 81913351 396276603 703756575 865073479 573303785 247971680 631938871 416678301 974690104 269706853 530779184 51573382 479884907 73372229 531493231 478421429 699040880 898347084 954512392 948439986 322349351 822494172 881213255 661740633 372649444 859732203 932105515 392533337 561216497 13450371 778396390 53502647 571711754 314281282 950303582 979673416 930430943 112425432 127649711 62318906 330847381 637482891 894134183 911223435 168163141 534239925 255788617 84014480 782284412 164606277 510570571 159962480 890587578 124501818 260748439 158155431 528003059 624334636 403999438 426620292 521164817 846069443 760068544 352601771 927477615 53551421 506346997 108668819 338852447 284364780 726401575 184293128 878308006 733792950 698369478 423399338 174200315 817510036 237400947 376942701 61147275 81684499 725919109 315438872 197313400 783796694 794919559 917664966 545903445 720293649 236547512 246783591 828587692 852817424 555760521 229338432 69272184 208381102 742494755 113187687 493094059 399187678 640519646 76940872 344871081 235730214 355007947 567598883 138936267 928181023 867898412 687514507 524731358 468961783 305145590 782090216 509818273 552894190 399476310 586900470 10386250 674639836 336132905 858719556 40932610 873258410 291620738 966 545530212 468881108 999612712 773767684 174360066 260412910 874308629 89664568 661339616 672480796 460882680 187528756 829031415 731063704 147232180 470975530 570616243 126967855 335363039 409918754 640334198 938381764 476064580 553042295 48880915 820709580 88195681 655511898 46428755 1277649 482165482 841006926 464236916 165147376 423083588 317306538 763703204 872450650 771353098 702114842 54558090 222350038 614387340 561804831 332541886 976087357 507108171 292383114 321247564 757724157 697599871 502615557 434349622 958438295 895065233 231879306 248257519 842246434 160679585 820379113 914333664 496042693 734786817 469372743 937218022 807529536 863343287 206728346 243587794 906920292 721217791 693386030 822000872 958130838 171474375 911387682 143128161 328124753 776570418 628599020 599549929 676596897 48542486 945742801 794013985 335138728 374322557 802084974 953206558 388298780 820591912 669438002 787356392 77422791 23106823 695327969 637402620 551852550 421197762 798095122 665870539 174106187 465120307 342844082 789686073 723076763 170978282 609038208 712455966 86786833 571206568 57133966 88040648 397888857 171054052 261994438 252931959 38965558 930794313 338395747 877661664 452515068 496709942 108678004 507733163 663106070 885016636 543552860 787858677 874365313 342334116 440303445 142819535 744600143 74385127 354062824 101827004 960179750 25223732 423418230 532898615 155376574 559723757 722502835 118548267 942652263 606722858 595660581 11618425 394635136 324670260 940889513 433924470 832273153 530307083 152693999 883564650 893596146 322116577 606863865 823609874 291259378 987765917 2034848 325639198 380974257 894871641 10462735 988776372 875578998 156406757 598384966 379907563 261746329 715461441 821542808 295618641 178134026 320930342 757344045 804247398 345704905 851178622 647624577 487805214 518519659 128342760 726335971 876206435 204079516 12818229 566042615 331850385 685310615 849467630 776520245 710038521 139397808 681196491 289660519 435554398 420594379 876728893 386033711 691188346 766964449 874921957 379798910 702324090 504908930 935878171 933039390 504459646 801140046 940472936 79424810 348478491 319705467 124732684 899018641 300772568 663971410 265124217 954305174 621877172 228480690 874533077 28072274 240398238 820892044 411000444 973918769 706659068 576258661 984995452 366732657 367373349 111230935 379766808 559985574 662868455 453634576 324859974 149459001 315698689 73764689 772581937 487198692 148822442 642108528 132989879 270280503 88841225 525125974 462320107 341493527 256745658 154775426 695943060 462683449 724411983 758841477 668948909 899175595 573783757 640862340 345757155 626327116 161741867 432130745 933327130 619747663 258426582 780743666 506019304 642955708 587632688 493176081 28545817 197273327 440272140 842902922 937212457 9161239 33260084 995104744 723799501 647809208 848260324 702428232 437585514 683561258 37732172 374802652 686057116 286033687 210022673 637115497 982452145 12909569 751759308 696000201 599325740 575960506 360615817 84780906 721114690 589071081 81805642 893903822 220942944 858164620 592740738 170768905 535651747 421136241 531713691 121024326 856337502 103833787 752549232 201307714 459642520 167307875 139089875 75088335 173538955 353666229 628202760 912735571 595676454 607484879 892575816 476467526 707208332 555367973 551375680 617672120 639307923 373548288 417776783 606757064 858104134 161296634 938737227 240085294 511332 866370691 726531197 957827250 650039518 664297567 85594016 776486066 337454429 610382374 644335910 167820960 907764921 780967107 565432307 986294402 205590403 320896758 874530016 144565105 297082236 959945170 761436985 26703386 942397980 34444607 563830080 499260736 541430540 901877369 20531880 829327928 462769324 131721871 857770266 736552811 519584398 837938917 104255155 229551319 223954937 468101554 181717124 334388367 83249255 494300803 410445073 491594038 521952263 10779830 371136211 3108488 339596859 643692544 311324854 749699538 855827995 48650984 268050587 765426293 204035825 765895497 177478103 792440935 436269755 808766676 977896370 658693809 670012077 125373836 792154602 612014578 617033644 862416968 65952557 701378266 988605139 574869300 833851810 675206832 435275250 146269776 655847777 217992653 469824522 175908335 728190710 622323231 880649682 235903290 208877538 586867623 962804789 495550123 218306330 736111867 466907346 81894546 370256774 557998533 987744891 345499027 573325955 56914241 587291062 716875558 642965602 200835779 328786751 881655830 140612839 945848879 76830852 122012931 447031754 545518207 358390312 929110752 168260921 693862977 835518080 788435829 206528596 262728214 226874393 75768798 18990000 150795061 553122352 980692746 518944213 21427173 682718008 452681789 676051392 772832774 846393688 932250510 64882530 958872457 240313578 772897386 564652062 685582067 671050494 126846479 917749583 888886239 75070420 832209938 548218048 978250105 681159526 804710105 33396530 14514947 495465436 825209378 624686809 299488339 129835541 721822587 862021087 929830483 592478757 672749767 24874720 339793280 157710801 527527103 934869869 965954156 670752021 949567854 136836233 720240701 973961886 618095284 786878255 592245547 420139089 558465221 846526154 681418501 678970818 380826791 935503802 967788461 106006206 837075127 797896662 907058583 107497409 953873189 401025765 234230863 620347008 710664307 654146340 718339312 751470177 86399994 140878787 908714157 776891646 990956132 904273767 740150091 695943334 440030259 838991530 785685925 397039836 443463225 841934999 976422439 850610902 108103198 898153774 916326740 396840447 340983006 640428518 849567297 417337973 577086792 844680230 281367831 739409291 851246208 681995722 55531924 370518601 631911549 951218084 661878155 165027815 49912460 723866105 276134751 946185302 428326347 278816000 39642764 639248567 98203567 128256871 630317599 770836449 858973822 426201293 503266617 769900255 163360726 626051657 760130447 295675248 899340580 758622946 100079597 60396678 202113070 846506004 888961710 653845191 233236362 798590545 499397702 774518543 566789412 996225918 549884345 209228012 688808124 573193074 255523105 244189473 572336229 803162746 405364779 397376035 380971272 336373720 375750810 304149663 629541599 677717055 610677443 507971570 565832186 947731545 437906448 922157231 989337277 840931137 373355389 778301725 121059936 130406665 736737310 756822455 90330478 158235958 389090711 830093226 106391622 530149695 958865570 177503578 231469470 698092305 935689101 523609309 126928635 66604942 120810169 798675582 638197049 390621961 788747548 659368252 499041033 243104715 854933696 356929864 935063406 99648658 328819522 258216586 578786367 177757965 316809300 395206941 646935721 359108705 834679867 826015695 394252714 989610919 80893521 39180962 921026199 736818795 237556612 29050702 723318167 833232686 365783765 794690492 124746277 329083366 270689755 887553164 795275153 592430201 217774909 327547280 678808448 673603397 161935676 410258511 842783848 350476187 441716774 443559555 505198101 40929855 524760292 100708507 656995879 997986794 536098157 697406522 743516817 256356296 652310864 821928118 571763740 471521275 738301999 329681306 825758434 709376022 347139646 654157092 497701075 362473378 142609096 197847751 59563059 916225180 826019498 638431147 913758234 636711413 715484374 705939752 127572211 881065489 321436882 201867599 415721725 419938121 124914999 758218593 152486605 364018281 880306738 168613461 220976074 840511794 311382021 599054678 480533680 976510169 610324871 362306115 258794510 455671430 68554400 533586478 932094152 498071510 420135119 460251614 912253077 367386458 933075876 65359949 932516993 392287510 520915269 29855529 216384877 811970818 285150957 166216023 774090378 709060493 925353321 527128428 769701346 300793877 730342297 780194866 442749647 52903280 646403317 748496682 538498690 90471014 462090245 689451780 549081213 918901300 125253352 905336872 54829337 951412490 185467342 468264752 882175489 184248974 244094334 575624044 28775605 724171352 949471697 663672668 977382665 555316340 332617781 596670778 232631203 433905123 755807787 995101550 431306880 669898521 337317832 84057367 316383087 539489408 898849848 688923273 597958292 986609908 583614007 816967625 849278183 449730118 997858966 728253715 655201971 530470841 848246972 575170901 865421847 994410632 738526498 410826417 284320648 516688478 762785750 520515327 308227661 214591452 336397561 312810568 640912642 840607510 432011073 278081868 124995606 309373462 29427320 446411773 132314700 164496728 503765498 180765698 936120638 479850061 658919227 311109429 677645781 743409112 526101567 640339493 76016850 694240980 181186592 199734421 330537801 230262923 296242572 6336507 75751713 459340096 47176005 657804802 434180501 52229799 379468959 478412040 187149749 384542312 919986181 337087137 153482470 625071775 891690356 636872210 383855454 671783519 655470333 988158167 862499497 376565290 287875400 854529821 45268007 633714298 669054988 310783560 131628939 397312060 381147800 672827247 52030301 730786128 156315214 32974299 411543929 113697034 69260578 339377036 293508494 461273268 383830047 314464180 718793632 607867402 838726626 952342841 310806663 656048572 645893917 101272375 325146222 579971567 946320661 105074556 143536468 27374780 542024741 720520459 517254030 116252336 588352057 811789465 309094467 10416459 594734932 617553171 199759343 92808065 80672266 509184534 360480993 510512700 157204998 404915318 170960828 877285079 693947526 634248376 289444346 274341284 930080474 783 207260772 812401768 717312232 850668674 913698203 903560922 541726123 413416476 783387795 687425831 178025903 943241916 345051922 256175729 751898519 744820459 939416630 354286411 541358232 404747752 118280428 824561215 899751675 870445607 497000058 711011912 897271966 292109773 688327926 128856920 327318900 726373686 137959884 871144147 881306625 620676976 207678011 865914386 372540382 14826173 560589785 62662370 346601531 703152917 738320139 297835010 225800792 489936545 279537550 811464616 327653899 337212993 537772273 138186749 556202045 987628551 178290968 978547100 876458861 360071610 197550267 376870423 686916139 734648148 396972516 545466482 412549534 233299333 217542261 966974374 939913727 387175469 652148384 524418848 552661276 528709349 186936685 718184767 688672982 528646007 191685943 354825177 218812835 665219682 149136943 989858998 927184140 105827159 154497240 47659028 394837040 475287486 194781833 405699874 990257728 124570930 971749870 614756485 206368513 33049601 186904455 875221 362106701 679010733 827035688 944928033 172438418 424926061 793397112 433854311 767131729 403920557 557513330 357981981 216318112 55107977 218939878 429784491 990248617 786487126 702246649 890025198 228647465 120259354 845586337 607705015 747835633 130739727 540147498 427558986 838541673 785333796 183201971 435686624 402553096 500577404 562535346 121549861 442753757 56967660 969285228 450862522 397783561 800752513 822581886 356886708 768028227 995423480 967871831 59060251 819867730 555846469 340305595 921411948 170097815 195267853 35298625 268258584 950059392 878602539 422094038 16320771 632303126 527964462 742824249 916725509 531317360 697483737 138189948 828937580 75846205 810218915 824664969 605724536 696829759 271683893 465799323 185527774 358354890 285814766 293451713 453285702 575837001 34571874 753448286 2760397 604669626 505830615 168347819 687545476 449220909 331898310 243205172 944281583 762387016 710998112 714185815 688795782 944375494 651921671 927693256 856409143 161639155 47412688 382741008 522578914 551892274 907489544 27155977 460204508 551920759 382213036 488829540 502708845 281062606 264452591 251414563 115560018 508147666 866321336 110679327 994106171 386648374 289186593 120548483 725730382 422068032 824078585 417473871 674371746 743183177 631202115 328031446 704274885 148334654 819506101 394379072 905952311 810686754 787320890 626867721 445246957 333071754 225886064 968501888 300130511 705409055 759089963 138995785 387035449 965181216 141211376 299108315 799330942 102847197 465968251 451899651 798538592 198071869 999679546 242462048 661741722 263987001 818109391 361405668 695636822 174327134 638315153 302988377 160742839 777332303 604199948 259460570 577072977 181167169 423811708 737336661 255992236 969642622 396425046 548906768 621802180 280792547 64265664 788295713 832640396 711384417 75124500 496509685 994124390 881777279 322266977 113769418 66516908 519221206 71008234 769179444 3834923 118706580 125632421 103343772 904636835 127764474 210679228 435543228 720391496 143744478 516417040 347991076 741021252 278029610 32249265 318340537 995934770 128655707 124015975 661094192 406453669 477840898 765319724 893494679 549768863 729647431 835581872 564129741 650963738 529831521 388364500 828934405 988417411 828618271 82335279 552614727 271417657 670267234 59328652 88420847 631388435 41970592 309201258 719130668 96764375 387599715 578626427 939950978 104129220 788247240 893944613 334340169 848905225 758572033 186377476 543595563 684021579 393429971 195590758 143298218 270449699 777216025 692953037 848826264 297902238 479796287 601795953 552844700 329991611 409122759 857468348 919393972 779763696 409126600 915416524 56695982 228524966 501031530 528531444 670110125 424193976 783024491 662773307 339482282 221603832 411292317 481466587 347219953 303505323 91716453 85708483 57154464 317390344 366223934 938146326 733975083 451006652 28094260 59155626 337879259 851989096 903228522 218269834 284790346 766727969 121187476 351913076 788725992 904838896 750978941 242761308 239150457 683280464 961808003 109322215 684725653 691478195 766974742 183595761 81063975 353263357 850172732 517541896 526901231 302888967 236356112 681508078 495884288 638416157 645334079 765848346 525614146 656362625 722624137 446537272 556326897 457070054 144893510 232625829 840337948 501660917 22160350 749959156 864106023 363044299 972153680 947861867 493448777 622450041 546016940 278152326 581483535 654612611 321778841 85825395 482394327 345872738 185564880 629767061 34851414 225067266 996992670 726285314 194963219 241420612 907143526 392891397 407662825 792156029 538612509 943809948 69613449 766132982 916546765 304391674 690213621 955915626 633689874 87465478 582368263 218146186 16034976 67764443 610572008 423928700 758318267 185698886 901759385 303996760 425242557 563730251 583109741 322339242 206226835 284847265 102912653 209259507 274704960 65706801 805366387 715901224 595413593 903361179 592286319 810548785 445289864 244719024 927170853 619384427 428058890 434016505 485920269 838629927 641681968 240865071 730388466 881809193 170774242 632519617 44948340 678870825 820041751 333992273 62110598 917929045 607902814 116664887 251388400 53565901 357812312 565129980 690470350 629537318 354029883 140091617 61860367 971638248 833622865 22708822 967050231 168048656 830077559 487358851 703306653 678377103 893247646 7420610 512823406 611571400 769630286 502213410 843064232 181129750 167478558 703889126 676914400 466118724 586978877 508847620 310405756 278537235 477748972 944794791 219216954 46717880 860930306 337916846 965677479 739141979 458047847 376555306 889952425 623345560 856424601 849843428 477617142 727169026 946185002 81016532 565076378 47292315 630848063 598330795 531438965 355755870 952372243 731172170 58339771 665443510 987859570 677863753 133103474 21877764 491553086 861417329 88774903 943731484 147699950 236768834 968300153 61312456 850687754 179105134 811497597 524667972 791803568 78662748 853349464 278743488 589744914 174943398 759103672 833812706 881870838 961279643 604791836 333043777 837950005 441636798 991147351 499694827 852743228 749776709 790535185 193301215 970765454 875196570 419752262 348329876 102628415 790374878 439282117 745931377 352050554 337916513 43803314 694228818 153720829 397480235 836089860 616302346 557107608 939980663 366168840 419331035 691188402 675537714 200529116 212295167 623369412 239416192 546532085 231608867 410366683 592244536 730865049 257813991 757991450 626079075 585369702 461251167 352574006 291785153 495558345 968274581 210897400 531399491 778613384 653618692 451787199 836200594 829353529 386482462 872702459 34466951 27474376 285246408 100627379 799494833 872527093 438869465 510652160 176569810 781687251 211279774 905350032 925804642 538773835 350116953 361669412 188386571 449811863 785274557 15554066 157237547 14596295 986678644 265626563 175152469 622189887 428453273 418843446 266186192 754482231 979351870 473406843 722814742 903775290 267886056 444563513 141033047 420648359 83324686 72750634 198570995 925636403 567349405 51233689 759983620 266104933 620709751 921191659 531503826 242589721 839690735 411158803 266818396 661722878 588747342 345134107 933044182 848794648 984512850 195390370 384259109 701730622 587831466 841176409 550578277 314892189 110429051 531406213 513968484 948948019 147671774 454204288 232519972 99266645 129899615 725143096 810093404 49946153 672373376 278085807 965503480 380801325 281825076 344330361 772428181 717381294 393840228 905008705 562426886 741536338 658475629 849656388 560516818 946497167 248422048 327770324 982751155 665153841 692749249 888966870 58376984 825351128 484158089 520581701 609488036 91714167 905621540 290664621 128273325 243824599 10828468 990843824
样例输出
324212445 747423637 789206872 8714609 773081554