题目描述
Given a sequence A consisting of N integer elements: A1, A2, .., AN.
Your task is to answer Q queries. Each query requires to count the number of pairs of integers (i, j) such that 1 ≤ i ≤ j ≤ N, and L ≤ Ai XOR Ai + 1 XOR Ai + 2 XOR ... XOR Aj ≤ R where L and R are given.
Input
The first line is T - the number of test cases. Then T test cases follow.
Each test case consists of Q + 3 lines. The first line is N. The second line contains N integer denoting the sequence A. Then the next line is Q - the number of quries you must answer. The next Q lines, each line consists of two integer L and R.
Output
For each query, print the answer.
Constraints
1 ≤ T ≤ 10
1 ≤ N ≤ 100000
1 ≤ Ai ≤ 10^9
1 ≤ Q ≤ 10
0 ≤ L ≤ R ≤ 10^9
20% number of tests in which 1 ≤ N ≤ 2000
30% number of tests in which 1 ≤ Ai ≤ 1000
SAMPLE INPUT
1
10
1 2 3 4 5 6 7 8 9 10
4
1 4
2 6
5 9
3 7SAMPLE OUTPUT
21
18
17
19
样例输入
3
2320
472686374 112033763 164437307 379873269 60107344 754382023 238462580 509061720 261634486 638881176 700740727 92297239 378290220 273127687 81615546 441544840 241251060 326124316 957329341 587162323 917309253 634673959 51972260 395007677 347492908 632746904 947645232 82892334 541396930 328666378 951593006 14083304 430700141 116030313 216472927 480807485 692928690 444935507 979869205 944563176 83816683 513126286 859376769 284623257 776253973 930992315 548684451 17505032 89632984 506013792 427183709 996942237 140687750 301672324 224466267 310697012 924419228 994627854 216105700 465816157 323294231 167698706 302415815 743994372 106245373 508888743 57318211 789174063 943824250 859703770 733737238 850157287 372830055 425630361 134780544 149084028 356622675 505981349 979105415 436255660 11995140 238805478 265714250 965199245 530477802 312696872 108412611 454897029 307324725 314518311 743229540 453135310 304733371 45645355 29646035 400978744 544534098 76964246 190152806 320874701 926668017 746406399 171031988 132014425 172036759 128328886 103614807 351175788 624310235 905236577 777431448 458821730 144042054 865662053 256537328 664519856 178358924 187466293 941933239 308200003 491984605 685162778 751335313 786717976 553324487 770981348 20213074 97858584 837945595 200365880 241249640 597129965 936772279 402281628 551660744 931325392 353126868 645275552 282501180 967437103 383028482 882448982 258775186 517070536 748111034 337828869 14106745 748986312 515295162 946039984 57186314 997279767 463719115 798521627 616514097 17043602 402019329 626727171 927418541 72481277 649609405 168668180 659611242 418898038 393466162 43788339 350223429 736593030 679063891 455240963 536546487 62092372 337689945 617838027 401679262 908317333 945666896 238302361 657303645 460962058 16858698 537006313 290758178 470577814 168044294 729788629 310137770 560063623 189032153 70072664 622544900 828641559 61257199 114672495 247539596 277239715 148460834 420279379 13832745 817524726 865520343 372895586 702133452 35726641 980733613 926329069 934043974 758916863 164631429 423863972 52395274 171490128 950870286 333153452 464584296 118914579 62942081 764722066 668978202 74490588 657311084 124039455 893132147 708568283 228711950 140671742 975807999 367172784 383467476 812157098 17213863 248987818 17569037 709347316 274714459 820819004 468192738 41274786 579735866 622824167 455138759 622131140 616830649 406009044 777800947 81414944 347439977 663259382 668653364 16418178 727749970 325964448 130457633 620882117 857049085 181685937 584070213 665373437 538858721 957537689 310046888 546072585 39041860 317615925 87936254 136272673 138434929 546128992 167547460 540687149 168953158 612686219 985334644 608300162 18695262 763135590 679715106 188651593 258911325 180884824 27586125 976661295 496849272 148043758 430059765 186414710 152246049 14129978 841788148 681104770 794184021 151835035 227177354 655742236 291967315 305113608 782014909 252918598 841242600 939562369 783605747 832712113 552248587 601456744 273528628 393460203 197108687 943243734 572111796 446020012 124128557 589697921 422681307 443494183 560258033 842741072 619908894 702504082 679387404 294213395 216125206 306087779 436048430 433302560 951830015 718015745 560932523 566361277 960934343 234691476 505923646 577056444 67403588 880688587 11029541 163448570 106665144 198138229 106692304 668776940 634158241 53337215 90991215 56839547 319347753 473765602 722096974 761773001 176269684 234000731 55986395 214911244 362604864 314551179 638213804 146951232 32566924 31662680 703312510 816017621 256354157 41752509 225590418 146274099 912441096 226619960 299722670 19106239 414758189 228931328 510399534 48916429 104784897 591390749 918272332 414132650 65156350 472885659 175905650 63942388 529402744 54408399 101369986 882007609 358959579 729583791 28958840 214042857 751246471 722271350 852576832 997600628 754023859 78167250 143874727 498981309 127303564 266113751 508087548 364578107 485045079 18487081 236010890 579829976 432394184 154283221 983962627 320066889 449685234 982384631 206525631 969087979 859309385 297895618 683611941 50785317 849995763 702570781 254828174 433758587 257358485 107405005 263875569 833898698 998088610 230266650 332880006 947908528 486380401 663483909 312486634 961425480 504487344 538497525 541255455 926881529 515297100 357734435 79464771 787498689 172635420 108506756 589103021 31944804 396402374 272714961 72730121 78914490 797802096 150074649 502673078 55160580 79996008 756548647 711575633 900600973 976815297 44455638 848509500 463195697 530455901 983512489 257137530 34943245 354526367 788392985 784341128 859823467 968643775 853805899 479838509 141279194 952312655 68941529 985740353 181231383 164172844 880986828 250145873 951974941 853577831 742818951 829651875 923573839 331883951 541227507 656691165 308699247 408199500 337717019 594411298 928655401 321229507 841548828 786115000 665755874 462458167 570456127 358095694 431101941 256778379 827934204 394897489 41607388 719392087 213154195 45355125 873564932 916657377 285500998 825539872 770235207 850836304 487708100 526325399 182720254 28935607 15532918 313935856 259651461 343249937 898347154 20823215 654479444 739895982 796938216 152751671 34870502 199910696 333363719 455972443 279205430 161297922 673386286 310812818 703206364 876540481 346167943 576771295 625714211 454185295 234827520 228465771 305021598 712535620 744791170 310258207 563987581 750324088 614194063 646155396 93574024 512541216 656978612 570569822 84953551 286433181 545837847 109824053 308860231 869201567 388312850 578065661 853015843 61699135 878878479 556222206 760755970 57562775 955509855 386470180 501748071 22853728 604935951 629286023 725389349 182243475 929544230 121893283 755083917 543738292 758048680 671174296 878795863 247543645 74260471 953749414 356493180 610098319 886089822 655353411 479299885 274402671 233419072 164832081 158618161 934813905 711054288 909374131 982376681 499080496 128360665 316641105 511934225 723296616 935927128 69839927 728056445 697987712 181733210 483140362 74242357 762298244 154314657 943038220 999841889 51091482 729303988 188851422 651189801 615393809 834204834 130489685 712312834 67623905 117838121 860930995 824954164 818892409 770305126 639847198 150489258 888665791 946488303 652423483 444478760 714931785 712263410 172535205 245435850 883996621 478191921 309678207 478811218 455022932 252716427 311169461 496114414 972020415 490020883 147304215 419930577 324225716 100310254 132243410 214365975 40664729 815690760 39320139 849557138 418512239 501683691 990046397 139694383 280688348 474986233 574173143 985620133 187249643 569224702 63572336 893762618 869932977 363250543 372573835 157472262 605966970 673743296 643586677 410503738 163764179 613407246 652950669 310506249 536233854 607710434 347388579 566898584 423401193 209225072 248972075 831913432 700908763 71534825 961607815 971597111 536521059 368297311 789733597 546287056 760038368 843305933 440049673 629971344 206556476 635139862 777443607 635039800 141399512 253546637 45543538 127680045 689470237 521010561 428186294 58220444 128720994 765574873 615119028 374638541 964799945 686607458 39068326 498225062 748142283 990676141 469822172 117179695 191489806 92072123 653466751 941528174 925378056 916032778 404015871 131934531 551172640 13975831 589490686 682572152 90038822 457550578 800252197 769509059 968561139 60954844 817729504 97282133 649046072 265364885 294437028 446362370 941972343 323505355 934587432 522630980 146697849 236925958 629810675 328187655 318998081 115793780 102232182 244376136 31826557 328764408 198827022 405515551 332740239 778317708 910604057 412779062 68384639 543372607 14804474 36945777 594327452 822533978 946744265 75889877 87898863 241181293 512252247 29871205 554686648 446839679 375018539 691384497 673765637 994829215 842088507 982763718 933139349 934320689 59656207 787482260 95601450 80999583 25514165 418341690 849317291 926118222 653637106 907701930 469490829 658441580 767164062 886334635 480975558 713908326 952224512 391390775 777605973 464476758 243778334 164808974 733832791 608796874 846193472 240114781 436142442 520798332 55394852 369281790 287635374 105051060 156764049 373236825 176050643 172278214 781578515 847884289 920912791 267731974 588102572 222919973 916173554 355266633 109254607 229665465 891691314 61479118 611056240 669297286 348472230 844834575 824106261 82305021 453631448 502816086 144936156 879773890 23614417 190331009 81572033 133766145 285382069 60852436 497002970 283949066 55647005 111097838 131833354 966559796 368829812 709935927 21996122 285003366 887718914 121250729 504668831 779410227 995246202 115725071 281223867 176234785 783076000 927846482 81056160 69223801 263178921 215992317 938997691 109309692 396323326 843086078 233075837 671705395 893938514 720078808 945654461 772101873 821176646 900004170 571178022 190006458 442456450 583174144 297526178 330175363 694424873 792195009 932101945 522187428 730436434 45842165 688422214 346028787 963688647 759478374 405252588 226867567 965470691 176766632 326177259 361794016 19852709 549253096 856015765 736307578 101848257 634186580 508409450 913024904 534190749 79587472 103031361 966647199 485277970 223073893 129338915 12219197 15268901 61440859 524406625 568221690 97283024 212828838 904250477 883488025 962307213 142019419 110355591 760294257 308786051 259049204 122088273 318638761 630818655 800620392 54946338 722666912 434806971 385872142 635691815 791514074 287975968 561239530 590677626 763253939 774313423 710016542 765473136 612098679 593973755 122396114 12836722 513773134 325224953 739603553 229777512 120048519 871622972 162649458 870342776 180409023 411698662 814947403 321564138 42517316 448084149 199026830 587700583 872891120 574898972 55908751 496921548 685391295 607148282 87599173 281161587 213978058 620132069 46634722 648593091 46622178 159030836 651429813 550395312 306772143 223549720 770172824 249337016 95172691 922822282 119679792 98098068 167037298 757143549 409662206 32070968 37744051 598689036 609771551 900635172 173588008 655680303 230073073 681495657 95344938 307672246 952657244 131839350 917804316 821808320 770432442 954426494 803355510 254378608 337338159 110127653 467928328 930027337 181981023 553101020 685365973 124177169 641199088 842403271 871320719 50861294 696990593 899064770 472066684 139278498 632216295 468171046 784958801 852289368 149666702 702820093 982477969 102323945 824659443 732798638 746648619 595091884 519741485 550004129 839470493 847079644 482648136 139915174 609623334 654629159 683016194 294989306 768806329 156731636 959908931 472643401 30109284 656899524 204224524 492175968 786178022 658957174 950347015 403653176 343762895 922530071 106473268 326240863 847370371 753649065 59039500 594018989 181257303 401297339 966539472 20727795 80893336 281703961 150642969 680516671 926333121 656175518 965505977 527655803 635423508 757931262 822815558 655532792 247347139 27040081 970225114 33525160 508513609 753088482 259694690 842276505 675618553 188684312 168517367 355505277 932333377 50073222 939524266 113590679 273886915 738580092 946834829 344780252 20284052 919994153 25296922 769133527 408686024 813319253 129305683 44109531 571250514 942121241 522158677 808597653 791677677 324900144 664639167 300191285 77988626 746850211 142467789 576123533 925534523 133501511 921628810 690384254 996091088 693669429 626491287 102494356 432249520 405842470 437274608 275049927 158352976 452571530 44183453 389555354 98407137 163489137 256181239 659657651 105610377 768339916 300771658 719804408 93240059 787927179 19995693 983745040 534777390 974979837 559868572 292828266 930997702 314013735 805728874 759605143 997683165 264736515 852099500 262449038 660578985 121890461 527498965 641448315 564461992 561682419 31003668 652869129 547687910 277184907 145043133 475814641 868041177 268331145 195619049 783797590 56258324 38131096 767542630 413552068 835627287 159927555 696380334 599141343 463941291 334625562 191262839 294140809 589362077 43362338 546589847 82457415 155252800 74088812 713905730 542231146 458287585 734909398 27616628 995975495 834610659 162659761 471790135 702651835 253507261 489925538 318965778 299765585 518056634 86508407 703317653 186200275 68952317 232214340 775341618 355409962 556839902 956604457 639550771 146201978 822483150 186140617 51175747 800252304 82745783 755081477 174999803 531033368 322507228 192616431 527008862 157117886 177792546 821315352 682286075 421299807 311240889 991251854 543581746 651813878 900276615 79415752 828014153 959228932 301630093 603355770 147155247 680986349 392476580 776706018 649704682 214959729 952846636 690880429 15212032 35592418 445961906 12728189 389142141 758469134 195344620 906151003 738103375 195653521 559982708 420389449 606953328 861223598 244157656 150535074 345553829 144434271 52467180 173567981 926179557 344097273 599440105 73334804 25083622 981916685 840040822 497304658 29392768 625403811 188185086 34604800 483512584 456663346 37332990 862654725 47648834 55193964 601322081 775752209 240847485 161304789 28658011 670317168 845044741 262815668 643368596 23114923 397249939 685835776 186682904 155945849 29933049 776123009 219280653 867533026 590556047 881837830 197354037 609948815 339757994 375539123 467069970 813270578 822202470 326919314 508441656 859851304 372113278 932280092 468119866 435477118 916101235 486777877 105794285 593662329 739593545 739162881 606777252 136843483 257515010 783460156 115305687 109964413 392099518 324586340 967497439 972655565 38940523 164851475 415120734 368698518 362906953 872190704 14485449 17625776 199110017 512927106 699993434 393739649 277723551 168113299 819216767 193824785 644891176 915011052 777487114 217001075 486690286 216780719 176360912 734205297 990240875 281666599 834169710 214856746 596252940 634183503 20028664 625193463 621551332 425149398 983891981 806974639 129856455 988377431 814600415 318966472 333820890 347110202 702706122 601544441 505223501 354439242 617885580 972631032 101966648 227889047 189632106 578656934 434669766 355993018 145378584 257426994 627659618 802064649 462283740 56428911 268764505 304828758 504138728 880315837 719978157 320547063 519806830 839834612 141440847 166923598 981317439 465261737 504033801 516539914 889322532 999257302 860979156 507208111 804404687 952945804 725097158 984036793 364119092 159766923 172546165 499497676 239710271 622722137 134078678 691994011 669151048 392843183 986822769 173289775 105675374 539317279 316353192 615482204 211668245 447794039 772405802 25502037 903055776 276439602 532041951 624894661 108213258 393021106 132102771 902617945 178483264 679716283 719171092 532602356 661999560 714233611 32100031 891709831 336955747 156178710 416220195 828623149 371538247 235559318 824429278 467213621 597392951 140782470 82695824 799061196 578576509 845101627 814563233 314148639 944057583 179121537 929043300 52270840 562142644 883662426 777405140 730625908 395895062 329092585 95744617 880410977 43326195 117844648 604637161 202798296 96539712 20857356 31421444 290594314 78933028 678367076 747807935 666325979 809149546 820503760 297903529 220242409 498121740 934983116 356907402 274695676 114104653 118467055 149482871 498763651 992129481 916888011 61905912 220540897 78496949 147650529 100951873 934339499 88011531 528105388 137137794 174551244 371479098 981075593 287661912 440412126 491959022 35469846 929254460 133624922 678489960 59674342 343867331 176611699 984657458 690774733 273823730 98762110 799241788 413306601 420042115 623887623 162710965 471948027 666944874 231207914 609598556 590413101 165547412 687610088 118518488 125201560 684677686 479997587 928793507 962339598 742926067 253268882 987809444 672180526 376893804 498815758 721854868 710761135 497943811 539028680 234052221 761767541 460307144 855810364 175074141 870349260 312214340 327785106 342297286 969159214 381509374 941895843 559572314 369573140 462022284 500607156 317291054 146699969 970604743 78600914 109039566 546047164 321869797 919365364 50744043 688763601 250697475 762598912 232041090 738641287 134143945 456093311 500408827 584451089 144420028 497999323 454800348 446634368 815784429 619613989 415793581 29810157 394026185 797882249 389383297 846048469 298489405 696674352 982748438 101610501 765275266 914304358 637657665 87145062 666186075 678401709 765908664 906883551 273516974 987949754 478041191 397660919 276559418 968450018 972112008 410979447 298965694 259428710 847613815 114750123 869042699 95923750 134560280 95585237 883805999 346459931 931633706 14811757 43134282 746898497 106422259 798409549 493719208 566596278 708070965 159905282 77514340 306495982 889305187 173547668 126962089 199862731 561208587 393521508 168312749 365836949 627017309 289794797 447782013 307147477 227061274 149341065 393071227 184137908 234926302 109393580 520597840 166560007 114205337 553732122 903458504 43143950 184658024 229694065 432256583 882728990 212115701 332287277 21741325 101420888 495834946 138703415 123799973 57043532 522224923 114629076 245396835 149242231 394423874 683178848 278906062 611485148 822519913 661977290 785623057 57446214 593887224 306220896 46522575 530608915 682469372 772497433 396269220 857127397 992191498 818525803 572372740 204307199 150813079 584114065 128244441 469164379 712817480 242044414 348724266 67558756 346673491 584121101 39317341 731097365 99816303 308223404 175098866 744852570 792717048 950721923 624815139 386604271 89459172 661337714 907213186 761928545 266351501 135998759 451572295 258542998 944524562 23945034 285366551 917853996 430575453 403610992 219534728 965909288 468171761 558258994 33468043 804845252 142380095 885301740 368458970 64712752 26041497 533557836 799565322 808758545 316796113 256896814 27879169 396255285 908234529 925092355 158183829 174586029 61091114 599756124 255645381 828132030 446217512 531011933 578502379 699309320 757139279 788037108 665218607 225311039 178812455 521203004 852672645 143708904 239021097 53647968 198421656 255062594 577205805 820503333 63821138 884001918 77400146 81700307 112773556 808151029 829309017 260957386 805253412 712916485 683229864 60898793 373564868 129447376 414427080 942067248 651273050 171566358 562620709 149008010 219393752 731433164 660211014 72066396 865142069 889232112 115714365 886080079 144294705 515436524 706583411 30632198 231954795 606499912 102332505 334728351 414650940 754157876 418202091 52420706 467074360 101431955 103319499 830639229 53395685 340262933 605222830 694668735 334345645 990359893 833676745 376255751 554309410 326404112 270838502 251967832 48152577 209069221 138047911 14963637 714505745 667147676 35595835 768976894 273647587 950444695 103705244 510814882 537118925 344423690 553235588 994193285 435855645 479071441 657348867 311767684 809334374 95088050 996436419 966196373 85447942 662629517 342452124 462273707 811549983 603290626 704241539 849702561 802359847 832289450 687182552 349381945 331953480 545294741 118358838 595601067 328255789 44580436 106415948 855374714 211520480 482167890 682084353 637376125 951239331 171949573 939143809 593090058 257037624 768096581 559286431 165001920 263242451 724254909 617275627 74792434 160061888 154033520 747011349 952421735 976322970 266710254 134320033 140792803 802004995 75195225 726393871 130260783 932292016 655326173 975635498 143812496 137494063 490236204 603704975 911249748 652185777 375365138 504339806 899223401 143461718 886142591 886741676 229220524 610397499 336533656 126529312 760459387 480567176 696057015 545397475 289406500 952767269 502233862 420199303 754772263 567429087 146593173 707549400 332237456 624435701 515701251 466049952 584446118 995937455 69754927 328212219 648123232 267636419 822552025 379862986 233614491 541210969 99121015 452835015 151608467 425654672 401880681 734584208 896221848 97937695 112498036 185628347 50704963 604731898 595827651 627993580 994677339 564937178 168059334 326914795 21889232 673760585 615481101 428851704 669698040 507752382 747063924 150337625 765388801 402132302 352716965 989003293 933343272 441837981 274354661 907468093 857492653 666235343 474568655 753714500 754173038 577066691 761859202 627394356 14314943 190203206 87904289 998992282 745140384 245963623 158423430 589545971 909724209 763904532 18397674 411938602 104173267 755461598 384792581 859562069 157593900 727509546 848565361 913453526 169347526 122920021 820921618 26840178 611671718 128006626 603071033 198361110 695073318 197446588 815755466 531904615 377649794 726176109 363413250 122790177 962139733 511836681 534852502 704380295 108257566 543250177 938835251 202430833 131228128 323627831 61992901 111338382 51137376 733074616 24791907 43001257 678510992 668229880 882357790 122699063 786236506 317945176 311060173 313826177 505391764 126815638 835730792 873041558 675508102 31660396 818348090 470164188 533497077 353200591 174544482 464270997 718967122 935896087 656701830 840195251 92040271 541211086 774049987 133177647 106802055 621358249 988695259 607829401 122104482 871053049 720528465 898340988 21514578 31588637 44683519 516906343 970920631 702930665 389947900 646428732 724591061 40812343 116592919 90604491 384012935 113653755 544875488 102980056 872066196 34093672 765691661 954106467 565304758 372258002 909800468 494623167 983616251 898495727 102452568 105720732 602065129 812981033 826578074 613579707 667086024 861261593 130486049 638006654 396708612 342950304 116951739 121299672 373762647 56061012 201904164 580291936 982231122 736779652 505788347 854297317 760873324 103996361 640920137 158694435 466254363 550720605 643317603 449870613 281732685 568286525 378107699 706314168 213783911 204685773 152410228 870869935 888463720 105412632 341392943 285172331 438362936 448344682 228988358 634641937 326922049 420892522 214933873 309153170 980188528 710722220 985966842 573578206 804718581 626886978 722272641 103489298 10123936 198106597 543359911 114372975 756393122 911467611 810687143 960177033 938669738 953097372 663563322 827133457 58510003 994956265 934822143 319389293 275817300 163810500 944031230 592739349 407219376 158965102 891892520 387407903 692203676 710375715 950986109 329438611 169779046 505775104 422927909 169902983 526398055 788804174 274275958 115307531 532788138 84963101 75484563 471457875 860576827 561564239 131107686 909086830 556520503 65929828 60992476 822337804 52256682 995023706 247593506 449476058 976505163 139486025 659400315 501225192 672378094 442902778 820663803 832157141 938677882 76108065 992060124 297592290 854912240 98852435 402899821 220216731 996331891 300900739 681674607 856908717 852464978 635298647 598511900 241501835 523744829 649504376 63839638 566001511 477044436 133949498 837993923 453549598 95951878 497394237 944774790 758329972 930297015 597954947 590487112 701491250 496579366 415063589 989083541 184007959 336432379 224499715 394224691 332764269 515400454 75899297 22189340 367865432 533714298 443217594 599367267 57459126 92721970 485723259 445976991 392282760 609672757 283970913 835832358 695624635
5
286470961 613123501
43594801 366694873
68186122 866958073
114538016 530174168
704182127 879786017
2397
104285732 98406817 596251018 442202540 986822469 608440358 800067972 353053120 51657952 231951592 400512246 956896277 540191205 836489237 181695390 149863962 942976504 17527747 668004951 546858008 453167602 944475912 903552881 319278758 643950339 794255357 839452926 581004709 506557728 376151406 21975103 433359814 297074578 440742475 865562354 116413400 49182833 498146680 459466521 913357140 552614626 682495121 702769770 92805831 351500712 874465160 65186147 294477215 714509261 555707452 663851577 990193217 332699718 399920811 309471974 966650057 26692522 971441254 380171119 523250250 180109014 224662576 779126418 467183592 655405051 477205125 406113346 527104238 965351805 855579867 272977731 350482785 370591342 965747501 433288616 712092054 672729014 320991117 996569269 219754628 866698569 492937200 42464199 199398286 882858011 341936173 988564697 899550533 145893781 368735815 255317136 316002795 583398391 34443553 773186387 71319796 501648679 11816086 588424034 299516837 857395954 851401766 639999622 60503649 649665620 895804592 762595703 154910988 216795708 591681325 364665616 83494277 84618524 397129815 105408917 957476536 561582343 93973614 689543422 697476124 285225783 934860559 13478918 691140529 959304112 609181659 752460325 293469144 610997745 340884358 415502336 300910052 24802477 55501957 351413701 664468098 773822904 114009403 809379086 980618612 695690729 174044701 886629243 602825607 393690871 814554515 392818496 945273214 731044483 82361918 475265691 16270265 17222476 478744609 529927148 799042942 87926267 282387472 915028441 521440366 445788185 330530776 812350419 460590662 208549087 163764119 125058759 972371991 100289877 924437845 785506957 785980606 920998901 504652553 221322566 147206125 151723421 604141063 914995693 872767904 676502981 390261383 711554524 516241811 691522346 241481671 147801106 601964967 346385498 62829546 123405332 782173683 215876676 925755751 242764344 246942118 912036225 190339458 51830462 12326101 114777302 827337419 620823061 858292557 164506326 832145627 828015036 306229747 436286689 743010728 11514005 935306024 955788465 713068529 284064188 647310810 944550200 421865295 81792130 123452051 307211195 195197463 895625734 345604226 943469568 138390078 582546344 855505792 151245890 624376806 690348247 88539546 284230579 311171307 936832104 438736905 143316934 597363493 567483006 402119977 172890575 568997011 169942355 128679039 282065539 444006543 598506204 59132093 855871838 670298334 172584144 985599388 855495797 68209878 331203613 631481719 29116310 903749957 319503864 170362200 360643116 999852112 81418100 634873695 143539772 18250203 73610599 109373060 438130051 463609960 501493038 601020626 32606970 661435393 719699665 137188864 105441935 150722222 186320957 783830128 811020557 181421455 601945869 499032707 72147687 923149482 130514425 91263997 659415792 440018290 84142551 20058907 272386755 155560652 477448957 405926527 986327210 373575910 505299588 256973614 827185870 996792626 847994240 849792841 490744372 400210259 976981705 418702661 540932481 985819016 35049142 351953037 167240470 626995011 840985745 229388158 382660846 794016524 143168509 864592992 66551167 49827415 707168254 328937922 27904421 184617210 724864450 836747985 548193120 230164037 93721599 207895344 59473016 931715839 57688184 372733742 164442451 857186243 781436403 695374933 675521612 639001900 47327969 832762082 98513264 710830068 884666594 471174111 337362946 27835103 168283456 393914113 890178873 865451710 712852036 908083294 50068919 437716485 577347632 420778394 490396876 661069231 618673738 539869892 425301424 498878276 902603634 579743875 188580872 516556390 107635161 854102484 155558289 144963131 519380919 76587908 678309553 236563867 537762019 15672498 86915324 696045475 232102966 967094197 394013539 934955002 707693844 266598812 205187840 285041475 677377206 685584716 768627061 128567297 57970961 26444838 449961927 950574595 596188713 628542799 299647338 693823875 315161636 277721982 661303360 657058910 344309890 172129266 883622777 704588263 10318119 960538101 233150091 232421085 927632297 617163630 167376086 467842494 873762443 195080280 742883969 383656002 870664996 344027383 502223300 918635957 360472221 942185227 701726905 946660935 403244380 991374243 473001163 540922370 101612578 956820877 197981279 268438822 128950142 81604055 963027085 951784616 864658510 196177176 16722054 624807160 803340806 174098140 92649653 509619602 191694774 658049977 883275605 62359769 992077360 218015258 970995726 352549581 160200484 505238984 131726869 385961218 329129581 427244386 916883589 420742159 384065262 937381222 679180982 335531758 841501632 474724420 119832728 706160141 660901596 126554782 163483655 296758756 123169277 246133308 796378358 304864051 894183285 512170316 357223821 718776999 720185574 160735900 71326579 702902413 655974885 25569802 88863630 975104466 442814188 828263573 228362978 649395804 598161149 730060314 974927562 439662780 204784734 94760289 968339275 688202684 43831426 131822929 974961440 157000703 200472592 603856152 451864754 94655876 116026467 799088575 635949229 658728396 782340830 529792162 361630808 270832068 545361964 273010792 78452887 810692506 923790720 296815865 460088309 521951868 26876179 267532225 784131002 54177267 184808868 752470276 732379951 218640294 706809560 539857745 365640997 897282152 966230251 807505752 814454382 904773072 439110680 450403611 563501467 53967863 970195773 747648629 314799931 348074091 20659421 383252818 158766596 766966495 670068684 441371260 121434716 519461217 531419839 895565718 396154838 706228707 480552347 128534788 747385356 187361906 490908887 113026352 84644057 289655491 743048458 721614794 194428563 14675492 172018404 580446384 58643355 964730531 328095013 363443287 145320975 171270788 736696105 126603926 928237283 239281142 390491540 49671998 581258713 911911379 767754070 967413551 450656439 248306416 918464694 198041794 258184677 241889934 133584501 165345088 521545426 699149313 876959882 705973989 703824805 871494640 118936726 584984515 668741525 437031739 938427802 804062500 430818881 507640260 753182780 191572517 569437757 143674319 63760869 150696469 55585697 821514939 118110020 328758491 69821355 859091068 516800285 150522386 100981001 472901140 305867474 612526427 172050453 182827356 151016769 698391612 54321995 259953496 283376126 545579874 519501589 54320281 182158728 940320471 384476896 925341508 131892987 943914653 69015827 185653857 94611121 937117879 997168796 35237495 98392723 889506505 716844917 605193009 40028890 807825919 78094148 168412719 252868699 72660955 341240075 226401823 761052568 218078424 476355319 866945048 753658299 985856908 911265330 925817027 758693732 128258579 683674888 880586720 72173231 575207069 888756931 979300707 344841302 718442080 837054557 433234025 440464939 553899473 38427033 303010183 194241745 929037537 461422902 269626799 824214846 792662977 486028622 417783767 833257756 952383941 284728815 419432408 770757202 28510498 177765788 361967288 146769077 851440676 75070361 41458662 426647745 953827292 20759368 761489047 672269371 847813925 27239425 112734309 234229752 55666459 238260847 250987851 807220350 689683749 510614650 463951549 314863080 986643272 871735317 148120835 771543566 156464131 557553243 374817122 997490984 725319031 726784410 144260060 409276060 791854771 175718722 825923805 745682062 18994444 419929205 250467786 689324724 437168631 185718450 913554476 315351444 413979297 164542326 945088148 103663045 497673331 409039696 241042479 484316602 113291366 379163314 88376522 92271851 759232911 453193644 89762834 317068295 179978053 56539248 716344356 961832824 54774324 374784514 540031239 63768769 784713720 613015379 575609847 54398704 788733829 321680676 192266502 35229479 308739356 137354649 951408880 796412687 368910699 192451358 113245643 472202066 394131027 191622165 554473917 153363937 634815809 634236752 460432233 804793862 513292354 176776588 599143039 558066679 374077456 961690632 444351802 158791175 574706010 19961648 35706233 195956193 164158678 217972735 53702026 462898034 177843738 995110906 259310721 536754438 20078618 362556364 998956504 404209645 544178529 553430420 547573582 11510691 20183525 830522169 806304553 523475880 829815111 237963945 904058913 203892567 32170930 180927068 185200096 596876940 23405070 43422684 615349487 177563748 251395419 659051514 630461782 419239158 654162419 879772503 945993596 664241037 74845220 777466453 68450681 441540103 163413226 438540618 443050794 173596752 101579140 81871700 519588986 921394252 309835645 423647898 125286818 332006575 594574966 133003268 751399870 607980036 166425952 366749356 775543784 240337726 25800869 238521919 649576884 502479643 118294422 428086833 989237034 15655996 38069639 880204070 447196100 191482865 151261041 880246894 355079617 242840181 952118595 864668603 164234432 94470593 120832854 112037604 248993523 537924174 67557227 990393393 145904209 223983179 189659102 743964347 454320905 37976326 972486267 926414143 530455969 913297043 187017329 352209356 751469393 215086968 232413425 31181846 396569834 373674466 901428741 741649451 606514648 686063689 438834408 593265434 603050636 382183616 695303039 842044159 910107791 752860266 832437551 878528354 799359799 22096653 455009055 86197058 50072979 260011675 12611200 403045302 173308717 189628530 745254658 747294464 394715498 800184438 768476311 781285332 173858903 502421405 355451137 602889905 21001447 616801899 28671693 614052083 988985515 713974732 456096242 899093305 299351351 121050146 610138013 98711149 955663154 65147067 174908207 828252487 315158742 10035762 63814142 310983813 22180646 799068801 58278276 406896144 431769592 649270941 20697830 428144849 151692345 198665321 31034754 162693792 805467220 49706447 766745876 794452734 586197533 55358471 526062393 708065238 166408617 136200405 629292741 944588126 23863826 626717303 772840612 161538922 626753065 826654755 462522735 638933711 458239909 343317365 868346209 880009501 982588307 879044039 140670703 956797006 77709359 161705457 119490798 705692933 33928258 708753028 332662021 442642145 586627853 848724414 150707382 575552824 807441173 602516478 520140949 653821353 229233780 125497915 805360275 678503199 774669024 100399363 149953263 65425286 433716728 18299471 935434787 248821388 719859865 76105489 38134748 620085578 60327301 147625546 325778511 906771914 678894928 648440532 181930413 98039134 329681299 155154149 663591958 959638826 747670627 16249261 613460178 799420761 131747176 251336806 477923959 896416200 341736169 617877222 951841486 765452897 458693048 719792626 836790640 178552912 618414469 864925388 788638490 501258124 835067288 936933355 240546392 346478569 417890240 244993159 434517703 737571539 390147308 98109660 529726718 960334290 104358921 143186895 759755050 58622451 217040055 70195363 945038651 548776224 510588939 729396490 146745475 959281987 281705469 973536115 137834898 722636293 838461502 748989743 56410770 506045143 518439451 286957162 842523712 926329692 521950321 277041414 496417584 734613984 197667428 26144302 694948273 292026350 981847552 287219676 340648801 198887607 179931393 118203806 737663831 680520333 670116650 874409306 639802319 941822120 680461774 600153572 496974766 351439629 181659668 543385536 847484772 690099119 820342699 690008483 448945164 174809373 789566251 935362749 899423357 977233680 951507051 426887983 101776383 765870956 536624014 432425184 954758563 706555407 373145344 524938748 387075739 43261994 231864407 849394413 807600468 902326182 282064338 304575233 86282164 453724006 837960769 923766937 966339479 490819821 446291773 415284643 488145549 235858024 183163745 220085259 45608057 134670795 636973243 137384440 723058105 173597256 559809624 510333022 702669017 922954969 35271769 89744756 788733317 89652530 761655523 596333784 814495066 43719860 723425371 890777231 319960220 393902493 814544167 286299698 874722315 93352293 524100695 195384217 319210317 697264440 405469476 354818374 654451589 42442718 482202814 377509694 38556328 864528793 877842716 563741700 620000115 735630839 476002810 408733431 647799723 237658332 827583569 462294789 103894546 551008939 185588373 413854766 934911432 990132540 690154464 642150100 83484832 46771513 827534317 225211504 734035953 65520147 402546232 388487542 97962865 874749047 588513590 949035549 571794193 298872659 345293602 191794307 34503497 811296412 423044092 504819574 48954743 250627660 957114363 142849289 624152953 142702735 379220409 391580738 955351629 69374872 33730838 861352816 106146385 683781509 909080674 662698693 739301656 311626905 51186234 659780876 18892305 462216178 441332778 580686498 751088837 776626380 594997159 608108688 420439145 18041250 112928261 291910242 91185264 892558979 257275885 705338217 857778068 626496294 96918955 645646051 518387520 943166148 339515220 447050260 459464010 248595893 109748952 31282020 382739152 973451541 681062896 391631458 435667718 944912028 794834310 19272908 554054761 389831469 617381596 964493906 230389073 720309857 256404147 311574338 445385189 503680032 16912554 303163257 130176325 103831509 938809308 471080199 869514011 110840881 908130459 328978021 349436774 17879410 350260041 722175926 813847305 853839291 936323738 82031376 798751318 731158048 91304284 185322432 943505871 698685880 149816337 173894943 251512091 228736838 475469281 686897280 722416870 314898190 980060537 675109549 241246053 751386198 146189747 110760064 852227079 876836561 262254439 34180206 717232325 602514480 578872487 531079630 288870124 515196224 603111006 87621441 78870625 684415291 95460227 22376495 215617524 235276564 18787793 457129615 454013402 316773428 144026895 998946626 621671618 946603786 506572528 852917672 530506338 475278629 953677736 215249770 352115189 48448528 239429977 69347514 640963008 808302464 422943498 919833132 156015041 848570858 829970927 57402021 365502502 915431154 69778516 571120027 973224072 901082664 28249641 259753827 217856092 162276536 258700452 829527710 931396677 755272980 514961735 461903014 63067962 301155824 667152784 405183152 339604352 729099115 297047020 970567360 369917932 542506872 722916845 515932974 391077729 385404125 563334995 746580232 133351632 455629865 150216612 106575703 189228883 168466253 188845884 397084975 153259144 437546336 59129038 84655820 25335669 564090774 369075188 78403632 855246598 858744326 306103138 27367304 587843441 593150158 987934664 947761373 135657029 543367863 296210700 349251112 751288342 682062049 918347698 874639975 137691914 68564309 803732032 149437151 59546917 982577917 536522126 202806061 252640606 418167518 109978235 100492630 972258292 301569777 168896262 660021244 160314102 464999400 677388548 570673897 880665912 497839565 350951624 838839295 863723782 637162324 20606760 615012124 151740727 928954459 322168452 111948995 987518768 948416838 251386146 47065684 763511108 777908272 72388099 16151714 28592143 172366334 106644344 990850436 296452465 98056960 483388033 446766568 385572714 983292935 17440464 266238625 313648853 190908442 105077919 177372635 818070767 115684679 614901113 959811494 867155492 927069565 71760488 687190614 708002756 145662988 556772652 471513864 913571260 619160752 310181932 932163403 614043440 239342630 755530192 900495906 159915944 71434578 179778827 535488658 54727512 19735645 791727283 190892720 200644088 719321556 358265355 841231209 657522589 963166468 633559056 357194435 722752386 527835898 44385048 263271495 663498886 591157700 724785359 409586499 42834805 857483645 174266255 479394600 96826274 919796448 212406859 79258572 813747380 382185686 604747230 690991247 224437685 228990866 871883967 415081773 938312422 62665675 88829335 428351365 25832142 712388391 775545800 571100882 240224288 642447202 824372377 893723174 66121255 381674090 135826026 98956061 71674088 300092282 568350661 158500363 52405083 770757520 60275289 856152463 975459560 655022520 547143709 199897244 874013386 251544029 437495372 644842162 304209704 516324707 73193526 152558200 228713098 671255680 713659082 291453740 146219235 370547813 17693268 202340490 574738257 143519294 291296551 636412345 433611576 682163566 617429062 476016659 285437439 667704352 332169122 260896998 322726871 701829185 283310597 29256610 943373215 710805969 664098772 247582918 227130675 559808652 390141119 278360127 63580685 926316555 559813868 199799920 129380721 567507136 392140411 694118978 701026430 673436962 330531323 134638006 188116882 937960385 600654665 463554321 438181090 755340141 714451320 750907961 457169326 987761917 770164572 233058894 531084239 266779697 470641812 748214914 816588350 683299285 26575041 870169035 609615840 408905263 69968955 728996561 966412399 452109366 255631893 667438828 948062682 576163216 624593188 136179563 346639954 57764207 589733885 774821045 803104348 136701558 358245359 92790027 946979829 950926285 315848921 478064067 217705982 776490734 58795334 34294331 292306372 897886730 726979720 891922212 306791992 786948675 453435127 105720744 71574394 699067020 763159573 19637076 107746589 220269114 968332994 276902897 268033321 390583232 51723941 71137669 517284790 232485655 153927696 296780972 15928293 459776618 764845039 223634275 68783705 646156728 80444960 351090077 544043457 797424681 75528643 673351804 416889709 351480124 769072548 310980458 50547143 364748474 153133888 970810087 575017589 121466881 247712983 833050910 502050114 121953279 894188579 841851258 176955288 870632630 138632230 182883581 162925601 725993623 396517857 221709306 372150350 299479171 395315737 738710162 96903851 460844380 412061965 336309915 802324504 13650866 637290373 675388001 368399341 780424261 478714441 933416930 724407496 716427425 766467839 58973963 660897058 493172772 890825222 827852346 196321755 29457451 10735926 349247356 577967428 229770137 560956662 940117779 519249309 946272399 511344294 438669514 239633133 913406259 764979429 864473991 917057125 234786155 372378346 117972819 837726770 841092787 51389748 562134266 390036565 640373942 611108229 50933622 133546713 334449804 868785968 152384822 186423609 702038249 491632178 754391038 921808386 52588839 527025170 441057694 821377592 38369463 869727209 883527079 774292076 467222991 748001070 523865554 524525501 120379415 631838374 362252270 783988556 673228122 746902890 174025121 146118417 190527473 47475097 102181484 514977277 906261066 244566306 691400887 440815668 726198484 445791924 362624053 601303677 962817094 626198102 255197623 823702911 328441664 138724701 597994986 785664655 709242125 121860539 142706509 652137894 576215267 494958780 436126450 81959743 74378023 432667925 218078160 254905496 470143022 310259645 759882774 208920441 544825951 451283660 639736109 271024435 719591938 992360163 862328112 514925385 451074618 117525734 338628295 769516282 78766790 759139635 387697290 778008915 703516528 520403800 262663163 279731795 15362579 688789613 351691538 79740602 121457537 559769698 157162453 414116913 860029343 907045227 613037355 237371648 190845240 252773463 498396083 900437178 77649979 193240548 415362562 518724597 133282637 576507211 120757232 34565781 335646845 498454523 802574696 39163372 18858322 65237858 141411521 846737256 576543825 315619413 748994212 520517716 865389112 896156665 924634630 557934808 803201891 370188338 785306456 984047131 612961801 116218892 717000662 513128135 131975795 132363223 31852731 255258432 531386788 142609964 279824213 857033633 463580841 904915263 718713360 472439163 792669476 682641235 151692772 201729654 988260649 890686984 712247371 686166114 786843649 469398354 76617275 422561893 829586692 851923732 239125378 275064846 790658978 946126040 778192981 912634773 901005618 632562067 167893204 264908759 597688385 270233771 121942392 61269225 175149034 663172106 356224742 790334864 178329694 497917514 982064518 166590342 221120851 526828242 842756456 997964500 986226596 909373732 253042747 648329641 593813817 314684479 745910842 216989148 93326872 356620176 129623921 984332490 979182243 120033479 81757603 409386981 212783605 26216349 293172560 210448993 679388455 471913656 990783857 847718149 959831170 972848374 836824846 13468375 332192970 512097655 11432874 150935919 253987740 86991975 789265561 837801557 391676454 367692756 54790705 475003327 714312932 996930981 291852170 526011529 116964459 363609773 925398510 152264418 379826122 51087424 352713411 881730931 513001080 343497267 561965434 305348604 148861995 398790279 308816979 471054965 900887934 142766207 611990884 154875674 52274537 233772798 815193585 433950991 591465554 692500644 731470672 138294840 521947978 23322842 654306369 461428792 209448969 412221232 603693210 411791446 453308656 946406622 293522376 788826091 122420242 845487810 94174694 261282237 76794442 225508027 554853556 800198731 190790588 166844440 777590759 233065125 223133592 425300697 657016117 637115501 117801341 221003142 765410341 462265673 66842338 419716709 913694465 266291308 821937941 517387675 668082754 107762951 296310650 784121484 886589042 408730892 462125648 803280090 660013130 528920090 851304471 47383039 161635174 42095058 36743833 929225933 265160184 249877426 354526630 744692655 876992927 294844325 955695797 474919621 747109998 22538135 884636330 493320817 111345797 539090624 10708491 769428551 469369929 129535495 386066388 188475324 528266387 838192036 981755414 20795870 199628480 665576238 58178910 351263654 697671297 84922743 280489587 785347835 324800169 457532571 530040489 34309449 742376896 318252639 499229070 322003247 330790774 216381753 805324064 432136571 577988732 638548909 34081475 47358660 758084404 410147864 225833985 118867145 80856253 40105752 129663015 270484733 695681991 177841925 611748388 225869641 252764669 882237975 11217475 567564838 172286899 363774318 424390642 904663795 672026957 913619712 59183395 825334086 952517820 687023814 89987010 530506551 158089076 114068486 400381565 906173481 346732704 616215550 25040625 417588957 478837657 144703640 678073691 174519647 145061920 289822078 222905642 387826589 994576407 56639471 945391427 166863305 242930143 202298422 894043454 904957100 115918134 943226849 562807539 890952308 462767016 642794550 253975212 610856093 746863036 644356777 349545927 93595739 93088681 197102906 333701050 561926338 164322900 11774740 558962339 299384820 124113172 771867981 677211409 118689578 651023806 455119190 108069237 883953949 647417612 992112691 621427402 585852100 767855894 184234941 476804407 230622909 817029491 720779619 831479002 396408880 197652750 13541282 312520973 280741431 200644188 636222023 832667769 354967089 470513118 391630107 644351909 584626290 986014442 321563318 693315869 637038247 766682508 791385106 353508549 246616473 616014151 964935951 822468574 383870044 149170891 131789334 437009307 788716736 842568954 101004663 17641969 40221703 104545945 152679296 143479488 295190134 778901320 966147257 640157223 81930791 190293717 284509131 656557081 176308158 428588803 182389303 635862759 27787664 963774410 979371308 264404138 412304914 944307258 86872711 786174958 915994504 208662045 55700618 537227593 873747353 146705281 377385917 736485410 241251227 520065213 869964898 526441361 131482886 836112154 166598583 203413677 26405870 273624068 849970759 25230382 692212872 32360061 651093141 710000536 818650825 462980802 964404674 230955738 239804414 51277384 839647050 155798917 82455784 885347669 515542864 946203137 32052949 882928781 515204901 263304176 235510348 385169798 779745537 356993234 53798306 768860474 550406912 892720531 42484542 400377670 907950914 724697414 255254085 391560408 267214303 73904910 844541211 231618977 127377002 84345624 105412715 957024053 62660895 10384853
3
400720113 946587991
116165248 696941024
294309245 950245201
1598
669479043 562507091 688668830 545793703 163883919 71592095 438514234 196368461 461969765 178981501 743582229 707223851 393058263 10796531 603645115 70115827 64931862 721022117 144461451 160344578 678046169 29638700 160729431 352934243 252875168 929833776 49875267 191556770 224143020 822636822 523232366 716138418 217660266 44417549 261932120 371544185 106009645 522962708 390429000 390495764 691944209 134011228 97719614 85002472 134807760 523881083 145118299 22255976 244903200 112096105 172600554 745465723 954251160 155846340 98399966 39642681 85680115 960791588 221199451 132339490 615944763 566948171 838477908 656121383 601365721 100410027 27665568 529891720 445889090 240610922 910387484 137833298 364622151 830623453 45352124 321946265 354504535 12986778 334202241 421924089 937599238 329319150 167389812 724366751 475165490 88306132 586525787 550845605 871614074 797725238 673185095 320075190 197189763 344179356 966196573 788555484 267105738 816378495 150963557 702994828 56989417 61351040 663344480 244127922 881974493 531212959 556074187 68995382 366716091 712792782 480919471 136831682 42111931 470825637 851198433 507277421 549131769 270240573 880639381 253262196 67965811 386340829 563337386 87671928 720520186 529533959 866227412 977625924 178428807 17190968 680620751 225418224 891058363 176481584 459546146 605549210 697694543 838136687 664544592 64410633 550929469 967980417 191242315 415557754 438806054 864957103 912835176 810454177 135197675 625990910 63716373 25679840 12331738 617053759 103351768 722851924 969104072 792095534 532994201 147532879 631802856 46131305 195467457 522861219 212612890 645013604 128410428 900307433 315666644 615471374 954718067 856596113 415968144 968476736 104670221 844774198 833433838 17505396 487744729 791147868 466012660 541461102 806827708 468344398 981031215 732695831 23712676 950135287 524791364 546706877 920184520 156594220 582838183 115651976 501971793 785451073 583181934 452898575 518274859 888848579 890886303 305509279 577961045 306854446 273986015 672631266 974144999 929936207 512653016 461889727 721084074 968665676 825867183 360428136 269526428 806898397 93123966 283239104 589550037 440431684 652462335 342250910 419542258 67816871 447902887 744030405 843267944 31084820 29445333 194059157 742449753 910331636 489568436 320410798 49702436 753554451 983042064 23847434 516007012 328211434 308253515 69607439 296877109 134120697 420035575 556403537 763535448 335675895 662158995 185601839 598623934 314621330 517852749 18166191 372438201 955755636 584712951 48222499 809356811 604158284 232281656 384322917 514489920 711850092 694733715 554192356 297920897 510292133 400556144 803927909 828503567 698809659 863535348 947897030 822930356 116087277 336816921 418982157 274279526 988975916 594583996 862903460 136113599 112436745 703586006 498551801 890708735 288298956 369290654 532581899 882457240 591572310 906904817 229463513 135938755 434154885 606172223 256376006 934447018 996728367 60303914 595466938 695538025 746355617 375880322 350984734 684959248 702697243 759966892 949238774 691673158 187067241 812142234 817786758 289503986 348244593 148854912 12729075 626543549 508145566 535310974 341517142 922234230 442215790 393497010 58172984 866370676 989669233 137065345 633334047 986397600 19885613 61317339 514451978 756241230 427197661 687953067 273716831 129894903 280436312 222955605 644084415 457503553 857614193 294387526 737007540 205858785 265758792 739736615 654918688 763904358 107563942 986435830 518654941 539779733 212449193 399344280 238666762 202118426 526409625 694517163 21032379 536295238 745834502 358000711 125052822 995548517 45953777 388769653 947959774 316390089 601725258 424560543 763893643 291855804 708948069 333417536 487714589 964706862 895670505 142633276 561127573 993234447 951585461 79782514 365530533 164034653 301643148 594197295 188669433 818052773 121230812 32218166 354348010 857065314 380218878 469400832 685130185 416172655 848170486 633089958 555079099 282412097 57650500 151489095 564267902 589114924 474906631 874498845 386338139 203093489 839648476 769982066 196327935 623750290 672280934 551858469 610301297 963924082 968572118 788970731 781976854 89802929 811188897 958841219 769384598 23924128 260758404 454514782 430096784 108928889 910121094 975175883 213857341 790287949 126664977 600641597 211919226 424087962 475140441 588257365 617181451 147305270 190755784 636025740 761055560 853036719 20400562 371356857 816960800 978972681 982843942 431454008 68775609 626549192 222811580 660676561 640473321 473569984 115191342 70570104 405015228 847828791 868262341 608872569 638116739 817443672 42030519 840035965 74047987 507170960 260809683 513745792 644476231 441565467 149771531 238048144 127118539 160172094 599405001 934079340 139144774 414765296 198049701 30436737 41314488 410861281 513629653 671787809 874431265 451337349 564874267 111962846 299166139 265652961 710835415 759799232 905612987 742865934 432351550 969660974 82553248 683161233 315923119 549545833 947243055 455694650 777593977 74361593 438383098 209515332 830957287 400044226 614280628 29006987 252997318 645595116 262384622 756626971 149899278 959332242 207964319 537289899 71295087 329646813 792942860 604646857 89446044 531072200 180029144 511797595 333249527 252582392 27475181 639172646 792128225 964718236 94867296 402238556 861596184 355766748 601753888 692553470 745810975 216034515 544076812 988808293 684145986 628977788 745435263 824045264 588310029 775915936 193851517 482121471 105562748 976794377 86768327 17525147 340382931 256797471 519322742 663632458 331896218 369314277 302805104 124024442 166548867 220188754 348779352 28145050 565955502 940533240 543214874 144282830 156567755 87291685 133091122 663230095 538785828 701042739 319791712 127095856 476958675 503643229 431733681 405037777 312953960 508502008 412562924 643336891 587815834 921885666 306969348 909712052 123716297 432290806 856252848 280265164 642479560 205032200 298410214 40951416 145565439 831625088 175234246 124649548 741433128 130841723 610395997 112735309 821884462 920187710 62347519 131359490 423830938 484081201 526397268 726784898 982583209 928960192 202638142 402915396 683362212 499607491 312627447 797078509 921898297 168880295 77343672 396894211 196428849 198270240 260361981 164510642 29895327 425596227 111676545 593844809 546437950 712072542 696580118 200838766 464776605 748927638 322198256 878607544 65525192 838595524 437908795 48108400 767555716 630546938 273540151 283434281 952670783 576167598 80512789 707085433 567564247 147856461 103979643 586509450 168643055 186857978 741020093 21054736 602454206 675212992 604899546 971408510 219801887 133996017 172247275 674578493 705440009 484445532 385702390 760965201 155557409 813611185 631589956 913113125 276674476 895130107 29063759 61861612 303814058 99576548 758947046 861378306 69949363 685443043 280404109 228592418 862301022 21424201 239647155 297271581 519153547 667063055 268680090 728955435 791059072 263443720 403533927 329015435 737889252 779236317 89980635 883446661 425363855 711570591 629076140 524554686 439217051 648139899 576416298 733031110 570232802 335363343 426925769 630182165 20806386 697329878 681290938 705623762 541270434 910938093 992895343 60423980 410517501 94091786 779379415 34092926 347535506 15429695 353108361 85424757 617182366 433088997 791387773 42546221 967175942 252980266 389617261 406392993 723636519 956033559 139424102 293869320 123913256 388866225 746567840 134719642 86196102 427858777 662859758 617466536 171313223 655755100 500406871 571830724 739846886 112302639 595923650 87382392 117732335 939032012 985323504 724914701 204637362 609227630 589977276 171813303 684724250 969594537 400722650 408360769 758144450 362663106 524746443 872057706 741529331 271314282 829293702 650241788 521689413 492153459 100224677 683002636 970424913 590631548 87349713 542788152 692934188 505789718 452686898 800666523 277338083 270526756 358097577 471975445 869754386 770591208 466305102 386994990 572702098 689544107 785355759 330846547 52207212 142618555 35420606 616252898 403932838 854714308 99011039 915622251 179384120 189235716 431141241 149809032 769867265 341007308 682597185 462801452 836797026 135284082 95984328 114135108 228327192 276598259 408626907 98081578 47189466 864932010 307592922 609891565 386992470 92948680 763254466 261716036 58083589 788675073 867968934 452016427 643389380 956979973 200155032 812773501 146215689 453812627 785098887 738599308 784819935 300212425 33917113 621616961 258012862 119901441 558268423 476340054 386499700 956895331 396937986 256205521 654343694 694530908 856097086 41336163 609995942 451867905 293052199 658079532 240542977 983537488 110095958 706448712 773033814 132767344 351738566 741765857 576579971 136837452 480365164 193916260 427049878 504282277 805533221 675062740 446700072 196317997 151402793 823199773 153213327 370857134 79405293 797557021 65388041 758018733 661409538 665383984 42402991 944461738 155979869 272945969 760515579 88592181 969394681 533549392 211359526 153649600 107831603 610455851 280487052 578196767 794372111 530053284 904995399 432421685 37632377 351695470 618739683 11551525 997411597 761953010 372408659 899333244 392026385 427796700 489868330 53435922 915697038 522271322 820414014 71676906 785217291 413445946 150269088 587128325 936995339 184144968 730777925 44826941 784600819 833781331 445540062 578972930 363834615 183051814 11394614 391466992 524747285 452650651 393018517 354675235 47120015 755427176 254008479 429146400 15740230 733876809 305098676 921437268 88664484 948029045 815630529 863881775 361474990 955899617 283526453 130986682 140044584 836820732 988329978 747161757 670602063 266386394 158651040 856953032 439438208 160045655 80936377 954185493 435212660 463954895 141377082 472332675 51898424 385385561 891479075 57638654 941778724 29094105 801592277 30443208 967123150 449739159 716841337 161114493 238155129 990367791 114617530 200716067 659704876 102947507 937877824 162823292 359333901 96528864 19776323 788772110 79090873 90712701 575473956 504303533 377183950 706851038 966636209 419082374 914752953 690631637 299237383 856531677 542242096 923346014 709491239 341881599 373085172 426332575 492996093 601240301 249216719 597613623 791956368 898921596 523077484 562350545 61744887 872411386 648879409 894037566 493699849 550486636 974750267 891690159 54790169 184450570 431057551 843942732 593532944 345810503 367090722 715286681 34858533 899332819 638632694 734349772 73730771 834234220 983198702 556726864 267990874 64931774 976856841 59947241 953853370 499934325 444814141 838114612 204862064 93693549 564668531 521078267 466696540 371935151 412768425 344003063 546385721 833825976 20462148 139918664 12152833 377552870 677721700 37011366 109402042 148870747 593877493 173132814 973104968 409592548 552376032 241095841 464524322 529232873 123559437 250894046 851683552 558373578 89008657 56545615 474583481 476193542 400140236 931280021 838128693 802908661 107799437 384514413 469250991 118261585 346949431 303920178 485814456 24671130 163447898 417732852 163541878 747325391 580865666 959163200 156917938 133241698 32775394 443958615 484990925 146334831 684852661 169190830 527224763 596377672 48252799 991808245 72571213 438393035 755604619 900699906 73818049 853404057 117730672 533069040 961665642 287196457 826989218 279996451 134383942 980437117 687729304 120442174 560278861 101111323 79605373 539713154 56869375 102380767 973671769 364376654 71231953 491040783 523567484 588456716 87418454 561820283 412781314 149989667 990213318 168385933 873205927 64031367 844306344 813452953 419616761 638488339 100649409 79122333 741001145 225033351 59559449 261246802 335475525 442354664 352358125 237597252 804584172 231743855 329978020 610772294 586120509 391209973 101813076 109687993 969666689 11747884 661508276 214964357 151737551 484237948 205866644 847459832 538269315 50172987 493429138 947886076 511177680 584078548 27008408 84695178 631628253 899084212 335941980 957103779 173955230 678300106 27217384 968539402 900043961 347195404 411828050 318680823 560921731 503641126 418368816 363104774 505389011 902393447 568069131 479642916 386631394 763935775 159619102 747417063 636625116 643048240 527819492 147802795 59643141 377344255 55014328 681271395 108944820 380956308 470891527 272900050 59256413 488108911 73955806 781816728 657820670 475783856 100497551 218742400 801941336 341382721 571847174 139846700 76292521 139916304 609489617 452923915 726368433 591625073 32857331 362993548 67189666 550676824 333312698 116832808 918021079 378327026 620620557 26965898 749283334 91512083 122382303 631056102 402137348 186338109 245389183 59958017 484638319 168403088 101216772 286579654 332302164 495580300 416426355 398594685 458012959 848432326 841518601 184381391 440057398 864375932 369891294 497247064 247569109 693203992 436596226 165590187 894047372 57216782 15072440 475847059 961245220 127454743 106903160 195898922 303792852 174808698 78373293 778431171 165728140 169590065 887527179 488030304 655170366 136469887 876624990 113183324 974902213 550659944 120081069 247475964 247552229 479972363 734723029 485121339 995692709 171319254 640711526 889740080 51052391 645783966 198103493 12297610 763238709 127523007 30712886 889547915 292331705 99086180 500495439 448059846 258676245 388022618 926090150 736362965 514492505 635231493 672062643 321911072 185891436 782143713 559387036 423443666 94632429 126626418 898565005 90325138 120462027 371792884 802581572 161514418 840093205 990685065 986328383 435848267 118208072 17041269 325396182 233056131 106127449 815891621 503632331 187320048 36430592 262238835 913683014 373439452 887470328 585745656 685350524 73361764 200405722 244737559 319321784 117554506 361363978 50403142 30395998 471826005 244712380 822977570 455856777 84805584 646178989 442185159 510653852 586903415 281742782 658566388 642475900 377870231 306974362 146108231 555190280 333404955 398347066 301389647 696844407 118333747 877135303 214711284 14211865 900057380 449448843 323533649 17611885 633329175 196453145 38007883 105155179 431165526 683501807 383528310 505971110 162197149 815713470 839141316 739100564 97456251 497707703 214092818 297842837 794682066 350201049 675549471 950603375 571064469 966939118 479964135 679398216 676590774 684675419 683610082 576648153 134124261 997143731 416776392 589969791 26113230 444784275 517641324 447278756 128286082 891169635 943249866 112999585 539399458 614907536 842100150 459372063 112615238 56192967 747214900 729813658 228910370 255280724 512933386 789974839 222219841 982897521 301889408 888810616 667572939 975499490 297975122 624213555 805159575 704751515 46699699 821272805 972052144 554341023 268551560 922854580 445510657 44317779 35854165 974910115 649225315 700470669 266798532 584356908 579179990 14013431 146686919 798090360 91810510 649620306 420581552 304030351 465034180 712470960 25357320 132607119 520486804 145848797 579337028 325646378 840600312 616036727 146919182 645168809 170377749 237987096 568023389 438404761 104821229 426393908 245831229 744046545 126864576 502629761 160919806 696044566 339159547 130123079 326651279 420970057 769743385 569749185 547516762 67293919 114736498 562874083 22417392 625223302 698722880 591754420 940869680 371839545 40307500 910305216 17008353 33201603 970808666 407548096 294122718 75629895 823942004 529953948 642192794 773322934 855100063 793112600 301883853 26775963 913235679 618535132 437746020 515495418 20800670 975262783 572789337 125537169 370653219 585206729 740760471 891892453 999477503 514146505 96248351 39785002 256968074 103256704 885502960 227776740 333321155 179625678 125922989 979779513 532095980 758115783 753102447 387196042 383744736 54986299 403972006 129496768 496037786 664234380 634992186 506838456 472013516 40297876
7
448020959 832666735
195652450 557075541
447498461 699798955
309799817 643323892
569096951 946767029
27819131 174543768
197444809 892418106
样例输出
1524365345
1959385210
1306989870
440699267
3123788926
401599072
3448815119
1650397643
2008419929
3336738020
1034517286
1468011017
210792443
1034283718
577612289
2148279009
1038294482
3285053653
3181628694
4275196568
310513928
270357140
1122487155
878528027
505608381
1458336032
320850723
80385948
1457055729
1107497640
1327310159