2
200000 1000000000
696055050 30652488 334415810 795264326 630947136 940896508 997555696 78707066 478794392 159723176 310811432 520802408 327093738 226675194 733216466 570999960 907238144 173503974 905075822 392994306 496295272 91151372 966262542 442223682 46303162 904691130 697741128 550073664 973158602 796097396 192497976 466704646 621975120 346243714 615045054 342726646 69093308 334318810 519140580 761439556 498706618 883669752 309046850 811088334 21100040 872013328 600904400 125183492 230046974 218045574 527731284 425220840 351345362 823019080 219953194 20681752 500291346 377915376 951213766 312694838 4074326 66078262 469909118 734150856 604255260 484460650 382953456 376985822 217742564 582962302 448011878 675871864 341017254 330641300 305142536 567884172 299142638 787064028 618443912 748502914 952631728 861597966 433521186 683158130 474184078 172947252 765760360 374401208 165055188 34219366 390286254 6485632 623260616 517414364 373922564 961497676 130790212 684552530 951713200 97732616 577352848 444816240 340301208 264971166 842149276 939933318 624378296 292541742 802457598 347196888 449185282 536827694 684787296 710413770 933595814 965859902 375397700 117842794 917718260 750918978 123846334 314219512 795299072 694052536 160525564 545953608 550733548 131398496 225166928 196765220 758535326 604346466 404828324 735692500 223601288 717655600 898754422 813473670 611240506 502140502 819065378 440765028 509227044 785441344 71121448 842276828 740742938 734388662 411918372 117393918 566129268 892083554 496232886 339526892 717816278 716997910 312403104 523093258 268135356 890226478 196948200 126091380 838489296 911128716 344866742 987480846 327842202 515644748 90621568 839898182 177032768 929718 407491970 799916560 599221414 940987766 953102466 493520382 38260616 744308630 941216672 648085718 905366912 439372646 336406146 303261476 990035122 915471966 214567918 31781562 651479262 566661708 445096496 298178570 383187224 243194342 167793994 845403526 244203026 942639814 176314624 346774118 774980466 304980834 77526218 114450498 560431574 461274880 226018560 954354230 38246080 318575658 128454890 382384542 264562122 109150024 610254116 858066302 49732460 543220506 575182446 75318872 994213272 800319358 85851866 236496408 262965698 273254774 58736904 362073444 708679738 403342640 18939788 60276496 211384626 814756510 896377074 441530334 757337004 760668346 687155330 843452820 81137660 54744356 593835004 613453072 43850584 183167162 987971738 462847378 467238256 443362572 345892972 14688334 768104530 106497090 442285652 138129076 934567926 193866072 324788684 951920302 194908010 899872808 636277078 268444056 87671422 928570744 996114322 251649110 957334322 729814604 355512248 994635838 562388676 214024300 364764158 519518688 310404172 819914964 494742970 849689942 59843668 415183960 844436092 446777642 762555430 381813580 676637048 24259092 816219404 960764362 510865118 294841222 445783132 591723358 442511676 247800538 631203874 618670682 236997368 24764830 39080130 431180582 804802156 749020170 663624356 24974384 433289264 990007372 370481216 549584058 577321530 945063060 427421134 975390812 241306936 382646444 305364348 567829076 211975970 428300138 103302728 191797402 830805550 757571838 316136820 853465930 421355114 21003912 490517186 11641708 539505390 750105256 175050718 382027948 70737658 633256136 465737558 932276228 477753090 462282792 508376140 822165304 544174656 869790934 69197128 80182926 11434960 399718612 395489134 415455250 434524404 242011946 415309810 186616456 739162754 997155960 54503132 646190694 718284544 739693318 776668770 907609680 981577292 298659774 811761472 319937612 339267942 246072708 688692252 860842122 927073462 945213300 632642470 278766532 996260938 108017542 888703152 555344050 938124074 528785976 904150006 953236594 696607330 861660760 221109144 216015420 996012866 53247344 152347884 561835516 947664842 525228328 698262202 31576704 698824662 519471400 40842380 479231366 110585000 353131746 809077910 85192136 52878310 489619976 368228284 306265668 302031100 781148464 562496470 991631794 545070604 33086210 306174234 462298620 591344792 977254672 262254476 958240696 578825856 526044020 901899042 400976310 576543504 371485684 559022912 677706962 345968810 13547466 789795740 722787440 113097964 563034890 153098812 74850106 136803472 979282756 461762508 880998190 646715594 672387278 216333730 747238678 159860878 119895988 948989852 896667002 591405706 194566352 739409308 768672474 139776968 670954778 726010264 212697548 43256962 376006112 204306358 324859594 224885206 611641870 776453688 221974916 917091142 222650742 494178610 563247816 637384408 807738886 794204334 972116206 437340598 186807244 787339090 709181090 479406166 276780412 674669874 88141192 878777542 771676704 590643386 585173526 395573414 738838828 202936246 495080282 661175288 738986326 619348834 451513230 197786290 422136270 259001394 799007610 13097660 496634524 472925010 197781832 67600358 74895786 84800458 547581228 399977862 430673306 489639524 223681592 637898924 643105578 342967936 157967002 233374136 631405190 658199364 524745848 874519458 346736752 18893948 393190082 692950242 321401200 981180198 149518098 771491568 416612804 71430644 999379998 609885336 232086144 613446298 431213154 280567782 847211488 923392332 10286316 423401238 875080 246517722 658030824 526581646 469277654 903014320 930154584 448281310 382835244 381313330 139971332 224763112 603383912 742983930 331382248 798326270 227377758 57347614 287434544 747651188 692461520 123709046 477995440 142553596 928185450 594115914 331935442 987075350 3215664 893085386 748115180 959195408 416850728 72957378 19193628 853056520 137163578 644475058 174022346 788641472 985330620 765548374 151179328 284148646 183948366 196369580 818788238 988076804 432302150 652423736 490576180 32461574 935463452 48920002 795537628 897202726 875404740 11941010 909285812 56747312 434716512 799989372 806813104 961607668 901373382 308269044 33526796 875578332 658916554 876746428 331385040 463778802 120568754 801644606 453033312 989138440 983827446 437736770 228727024 832388590 334524540 421254514 186130604 10824522 801199790 718901848 249521234 615809974 210327994 817726302 503007136 991804128 537042006 197306390 292939896 818617732 898242942 493884772 989028756 280130216 581272930 622942528 851105026 206979526 194543732 746044956 982793324 885400008 904215978 921934768 470190610 344813170 311387314 52508122 365798416 553495952 412491968 862812676 712343742 50330084 254390446 200754398 924230964 875040036 973700208 996561490 746559840 916581148 153253462 507694772 413638524 484993302 398609764 652275602 850483492 806590640 450828330 278879908 202764912 374714466 784061292 684962950 159756890 763021948 996375512 998248798 512696140 27047918 723246966 370137168 741078466 265296444 494525114 912555200 31361666 172653008 168985208 395203476 791954716 369678096 852488664 283724628 485668160 160448754 617453072 998633042 686560490 128628658 272757954 944704672 915869904 720812928 679370788 904030526 14916734 682611692 763066294 949333382 216889090 820967142 18262090 784167826 147795272 840829780 430256964 173338036 465452610 980309302 528571122 891348258 736051262 25291302 392097104 347890772 411336836 276670038 522721224 797618572 595754360 306287704 862781526 224716006 780858432 417180684 479202868 78084604 495025766 636238560 767624536 617676796 453386152 105085142 735097912 322123984 19440228 589763348 76393208 438589518 258853374 141937552 79224182 856099904 945163670 307527172 573467246 85931936 124956934 268145164 503098472 410533790 681779770 680968256 108098840 102572990 332136170 188434932 614697720 824618690 227394528 196754512 566169274 823334992 243540962 416234218 865593864 397208176 906666088 295800614 222547566 463623092 912760482 528556358 55687794 866352040 728402848 687444708 850958844 770226074 940438606 662857020 18899370 603593892 590144170 395298028 880615162 103850768 663563536 222034072 938611442 834463248 793252430 551882670 585482518 603745812 707309162 691742046 825703410 272434110 924708008 331767296 762513950 129150438 73755454 174632272 636589868 333988454 490775346 737114980 9806124 575773854 374465546 654406290 471508608 741894024 590751070 415740710 738179308 532792014 886923510 533852534 350672856 600703364 125262774 278284404 645690458 793967334 347347254 220284774 488624634 323911710 416024806 84482858 914204316 819701136 192643574 333263842 485459580 238009378 754781460 917908080 832561110 183574210 71970044 915519658 611979936 565112228 732446678 83352524 184951816 867040448 383903632 375300644 56513906 263584868 914090422 26119124 654615844 92144400 890731536 451738040 201741576 146420852 500826476 28946236 204753826 62772250 725129666 2947122 32794980 512253894 162220098 520480268 472043996 656325038 624850108 380711072 456344298 296291804 151360694 448167156 184127212 229047130 878344164 26528710 364249130 164021446 700963996 926820294 830278216 1850098 707057866 864356114 253665952 990013016 774572504 786916276 644590394 16548462 321034020 594446146 98075808 815018692 131589774 448602270 600514552 383973312 850630352 682487610 764777492 349069476 153374190 175232088 385539144 353174696 449377384 19219018 373129284 967243130 771159544 286301828 272256634 561659608 590603136 845191650 60307188 451060988 248906920 541178068 275993280 168609132 733704492 703224530 143255956 732452600 840235650 900375094 444635848 992178838 36714424 287196578 669248620 943302344 735092702 806330826 916541064 50551044 914867962 500066704 765662160 529589618 658992824 995098776 960546346 278845116 685269618 397063446 662583250 143515318 415447650 907701532 667272180 301604668 403827908 695319876 693155262 263193556 607780014 755368908 537956254 292323038 793510564 768926042 940055466 597569810 723193680 940573696 947597984 643118528 123294624 458030382 654383630 180276168 87171288 642379640 127394474 58476716 444250966 652685152 706140266 396506642 178075014 395776064 779383872 185410954 642812668 718618118 352203192 523835858 332109042 341022832 909261182 786459918 188799636 543933102 554499416 229038620 240613954 787383724 476614568 295070672 356848382 506524988 226872302 943466686 851182616 854008330 58723564 643961910 210708038 154003760 134402492 63790996 155563816 824235428 429442188 911190736 133510128 907237694 489883826 408977718 313537788 736693796 698960204 343354340 285480522 495636294 627528152 407122044 245222050 507298816 554446276 964173262 934506420 680949172 368877024 493064296 160065550 257356352 470425924 76523650 964802614 346670456 545594258 673097886 236569522 788145022 837182658 831308118 953385832 542004002 235727740 7518804 252156406 752688628 889411144 29824420 935857542 768017378 112317540 613556308 234848414 333140432 988231394 357992708 444491646 47561550 495753368 160058146 93169132 240170688 88237594 284939950 108088210 313218848 740777756 253139502 424232704 890698894 627809398 426444978 311989682 133937870 338073602 218349492 447203488 278087240 763189788 751922766 97836282 9123520 414950230 118757450 577513346 763709628 853977932 914376232 660632748 711546410 859627028 51713270 383751996 878435006 475778438 332389634 789737852 30787040 214875886 7096506 386706562 828416758 214060450 519485968 927312980 523662532 974732178 237217182 840280598 816946252 205784696 7376776 852854538 239225724 452371280 695737472 576466394 706707538 730856714 162703020 191441754 382115634 260518566 666415910 60069500 89833002 726404504 242940736 83436406 687677840 761589624 207518084 167760442 438713158 803513332 918991388 513404592 129291394 219246428 382953860 377030944 241728934 578390954 581555476 327482698 240843220 232209726 632556084 811154832 997312804 823380738 584052662 890213464 990166850 770124804 54543750 825460224 785253160 938062290 154294956 576567604 54372 534697640 273320530 678333834 254717322 690737010 578296576 676093868 550001686 654122386 886617334 76835086 358083966 818983974 716527832 259608912 378939646 184704714 886971356 476233554 341575016 421435792 514428650 780167468 284054472 550150098 777579734 475789556 629750600 203228112 73707316 450911104 649395966 431424052 991662638 16732356 96324706 420036950 317886878 519408528 357988552 624456996 992273272 188139222 809569442 904777114 585479978 196103930 116031040 650519746 28906668 806207522 139361018 860154466 12989460 98256524 453800462 264895492 932887438 143441300 753317328 518257464 943452678 154919554 79243962 642705552 871008778 990850838 412384562 584451676 723631754 745012564 877449250 241576528 61516574 238493046 59049652 391936024 874203624 973822320 939588544 677519810 480285340 894491854 110274232 692871032 989499538 341204270 80051186 173560502 439800260 56935816 362643974 225070162 637682114 451652580 79763762 905236138 345440396 613779888 764544956 150803174 300976952 506384180 7206368 875507148 167992766 834598240 552190394 12037178 33963688 743950672 820266828 374584696 832705944 521567046 188679728 440457126 708363302 703909072 764840808 86898580 505131274 392420128 13249504 582513068 611271404 689635024 580031946 147929492 886782368 836567304 688806202 736649662 219790582 63331282 236440800 934969800 232588502 657560742 426979216 643599416 882644526 551298036 338833860 548758696 236477058 906148208 118954432 292559810 137625718 423568746 534387860 262085802 531960114 436798850 800437034 789333252 464860214 456195476 495557598 761527592 256876798 804981884 528363794 86630064 749391618 30764874 743963374 721953896 521173754 894554210 694784604 347183034 41945466 440224138 392159376 129048720 814487796 397245426 135785948 955810410 665638588 545059766 825138422 622335572 914212150 689078282 536738314 665425170 268819198 36840292 652476370 534816740 10116890 256382178 678746034 5148266 676420612 680028728 126288162 693856334 418273118 856769978 559468672 477204100 531974406 14271972 443134302 272612920 735862434 793515800 824475962 953643754 228511544 826421446 671836448 208938838 423401604 556552394 822557780 966067458 876341196 88249978 257769482 621377302 916943388 752634516 642206554 777931984 781548568 731739096 768780634 46178650 196684558 549269364 194933586 539529032 857351480 256530294 465501984 497295128 728120156 274166552 538279832 141249776 772736388 427384542 329369856 368115742 176527324 52634150 868337256 898770826 435924134 485966798 435144208 241144896 501235508 829221724 893465684 894178692 176351600 713993944 942699946 602093104 630939338 701363702 467747018 333958028 569039604 41303960 862614310 412605136 705907230 869601122 636012308 119465082 711123470 902717298 237197282 428793346 172016004 370051822 407082600 277887418 325065926 402997886 467421396 844593246 58200614 903279742 83303070 739991040 207649076 917517996 298752794 818039716 558476398 35701744 105096126 158182106 124710610 307662234 859863262 692041752 458567344 392593022 394636486 589513178 738611858 539662200 877942968 126206066 327602764 699576030 830398536 242495780 90376664 907648846 378284250 11728480 161096038 567718512 937062100 432501162 9104520 131174294 82353482 241475156 778668008 781377780 230991170 180733458 75367428 399886484 528549612 756110818 758923954 750814516 981816344 819587710 165800006 520410710 518179964 656975720 7627798 441112912 811261662 648342954 569789312 357507014 336971182 662140260 913773602 926887890 859661368 210447218 190837514 461014354 46473692 507823198 762610306 754503256 132800680 436498106 340234282 705869500 415063244 356334688 785797432 463486422 388163532 306639454 460201462 509394020 19062746 495213476 199105774 603719188 319743532 44500770 966672798 896891888 38403586 910221754 439837554 695359388 829640424 187301656 410682442 844240140 903651338 208018284 276084480 509211742 391848336 412298550 770681184 699476162 678824200 455703336 410291928 965260220 985265850 900784998 417470210 800287874 651283124 811796980 516978730 841284782 289558000 703204794 246013248 655499256 346721426 446443422 950861192 489817728 394578784 514016266 855356020 26371638 142061150 322002552 698939762 845859838 413199342 211535114 845920046 789481104 298563128 641461192 96268738 502264134 809025916 460541146 953094336 48315512 489084886 540326324 540396846 646197476 743084788 526525844 780897776 931981482 412451768 824390154 623858410 967429028 378719864 102991344 377804886 531142494 574302696 452560442 268658330 903058620 806111326 803875908 417069138 660016388 720710872 970701224 754815984 286785138 854146454 957575732 38382594 884197438 407453592 394982364 405541240 554154208 491263846 964230548 345182958 884237024 769884100 692834966 252882320 948603666 667851650 615994130 26335386 374708372 967049158 857396926 766029348 481546658 560634896 117819434 977313874 836621330 236901580 211929130 208175406 939475298 441142936 741534484 150567460 617879228 61607176 951952596 168385944 793759416 313404514 598249344 610778510 938728248 462885440 23802616 558313972 895445046 320443408 413865492 546158262 695461996 32663818 869393928 971346164 335748532 524843728 514028086 695140996 798858724 895905466 659988298 855696232 279836698 762776826 870529362 267765224 278016602 508977398 983253586 803127438 410340278 935238318 573621044 840134794 973926358 480262288 713028294 638933936 806681002 769144362 434553934 952292784 693979004 423045896 981380210 174669788 515211728 973936624 706668122 200261224 206284060 93180274 763843638 806598694 759781192 613171370 713952048 759813556 850852224 215181618 213275442 150422582 571276542 99427670 757425516 273642082 17288896 901233572 81991758 222237480 989470168 500103210 853652580 785445326 524282240 346038704 840852490 614462192 855692220 14804918 190874878 22450184 839839090 935133754 451955104 879185144 440537180 148971090 749907246 120272352 797657032 608113420 488204922 73935552 353923080 23668820 908862968 201514318 450456454 606857082 254732472 596556338 123462084 61221616 227486400 878158684 380309800 921378608 60774794 762112286 493907972 648873876 990776102 63600936 332571700 45495326 600434082 520971276 651946872 660137934 933371342 111303218 58952182 732822518 388141688 287680088 722454348 41477338 274733206 678163774 184186432 726267318 883527288 652929534 192814928 346878268 298661364 298914486 139419270 867087978 536503090 396372126 606384568 606393348 477364754 697068228 555951876 225571610 79674554 463628736 756740764 276325190 897138490 419403656 142227146 810064046 915887280 506013830 758615394 593346118 13556850 304331162 370394314 777825160 826470506 528055432 188152492 467993524 930707300 614115814 6027312 559431098 8824592 61199478 819096150 404820506 188601076 553007238 19428292 923215394 371709578 987384844 610307856 141186394 144568700 258314206 373921732 847404112 753781574 378771016 68289550 14053052 322015684 730921950 572628768 558184176 138204752 317093244 606764730 115698048 415699788 654685094 198888246 951867982 530082494 4099166 873648366 584529304 101709048 587048704 318395710 605421496 597184618 632844794 77210066 763469458 169537858 33399184 585725354 445529148 998944014 316375398 426773480 813572674 661640770 305625554 585319470 621426924 418431702 339312762 584287956 304219878 507776156 236074370 614391476 562347596 312197056 539864336 991050998 196916472 139408358 650911418 397656692 359202672 202698828 213443378 405184522 559710606 782602794 304563010 344807240 187801862 672058026 635511296 913468336 878907886 325987290 508276866 521162146 599948462 719552954 37317684 221588798 776233460 353455052 264943782 60000338 802640258 521859662 416547074 123376856 983231390 665854390 558712668 926726294 671886176 906782298 779215166 31411618 363445908 110639562 704672876 611540562 3742134 790014960 351473434 8900574 980739120 441585144 215985202 406722858 714261756 287682258 582775960 223288970 210640176 709480330 886801122 525048014 803325536 764356810 659249864 898822458 305510550 153081574 72104778 561513032 496840684 468233418 776352396 412451000 669234262 183873770 433436158 243703158 485920268 892846322 523365042 545085212 957692176 929709268 647434390 749873226 420856552 64679636 589221278 693688154 972143406 340085570 575116426 457950736 475393538 471063492 241049022 522275060 689604516 492615504 164018638 964343788 757708366 356031646 221513468 591666866 876815734 301809930 592441088 799213832 712049472 780475038 259079998 346612986 841497146 934959506 237604154 282500872 171858802 514347608 813978654 996838366 838978900 794103456 463289396 225519484 602963914 983942306 122125314 893689926 416031800 39218602 411500956 378930974 218792678 346452230 100223570 75032262 515476694 653024858 968203860 434928570 603559504 888353620 282050524 419856340 817612700 153321966 623750586 933551364 249311372 76503056 798887174 484576000 982415252 157510088 146104320 357410106 731570546 368572160 402831518 872854462 622271320 773302140 441691698 157242026 250155712 839793150 109365998 609092702 137116294 505686446 25618702 163216554 23753606 147205084 675364036 214660310 179162364 456088038 940933466 589302548 520374812 901166104 313454258 196384820 271584394 124433446 865175286 601922256 124785666 827716712 523034430 904026126 860853192 46584892 293992218 547098848 843018172 157308880 64229354 359629344 316968036 119194678 379228788 910967744 632215472 9663208 84313760 535390072 627639380 471957698 937809720 816552486 721259872 267191022 703730790 192832534 877773716 429588156 724925146 802064504 172454356 970286754 779379524 390580980 681701390 248671822 192434132 635665330 578571724 949944652 224380852 796829128 961190314 438867070 381069588 576641864 449911154 720349578 489090726 71862954 318850354 191300674 743293620 719089024 556696786 799183190 699662490 843003702 162638554 449661100 15635624 986210296 185013338 253483818 956450128 302087724 723279572 546160146 570444750 310363378 261888704 902970920 319223280 10042816 263813636 577856468 8557778 275697782 268673598 877662858 352548782 310666724 891743540 693271926 105339894 373802004 734013778 353074960 108233556 342264198 852771072 574678688 688781544 367152714 569164608 185965666 898817710 24818516 891420966 58156562 51660332 629989710 114378046 11300648 691634392 649834720 60199448 301298156 165258846 649590484 240150300 161883464 256801704 408266144 97734482 988915576 609349700 704716708 579878250 174069092 342075644 249548100 831133554 346635426 535068766 231139416 111161716 182419998 407838198 723156900 941535648 663274124 776966430 779079276 352909382 29497888 457524796 762690546 402497134 104714868 638760810 666278046 313863012 680142630 187083084 788451136 960857328 178003620 925600312 168960094 451677620 575864204 786220106 922032146 599286980 756104536 63281172 802926484 32171652 775376506 703817830 810712362 949288036 194807348 315326364 460773854 386727608 705414704 526487688 406091756 628121062 318767620 638190594 512600576 769275826 472977506 172802110 123233790 251650946 860322650 378742950 536692930 56173492 828773150 563455758 916327762 103681328 299870466 16305236 924275036 343639876 912609044 967529706 305175638 140564214 600914882 971163708 961069890 69601640 980345728 754804124 461471600 31402830 207318570 835761728 479971192 83578114 725299278 27337134 978258778 688990628 470017104 664271384 287322400 340932678 683508954 536884008 881183134 818487888 257881658 580556370 259085654 933321326 313959878 710372304 472749852 381807268 736281850 537073354 850785374 776427212 713726534 858886240 400583564 281066210 361935488 833721978 771570974 880370600 200869524 138291554 616195858 674839484 331596200 758100362 714315650 661687310 893012132 452578958 987834352 960203154 244038470 994594764 642825672 798239740 790493644 539529578 213674976 953105054 952025758 217619810 418192696 198858010 379121516 712710770 999584238 857224580 111146852 903626116 806751900 549688272 652795394 441942216 394390228 263519274 419812500 253637938 908982298 928391738 600141742 178891314 357272532 388247210 413161158 355038948 219772786 676294974 989635200 146639240 99160452 878314156 711948252 329356598 904040550 709568152 437830400 976280480 601235078 194301410 359868740 282060916 32690466 43298412 110899806 373706680 997978250 273764128 71442808 457785724 560335154 495934222 841938840 358047028 71883000 196869948 786040280 900300220 437162546 389106764 301893494 864508494 173527650 522737074 318535932 204966722 258484270 949438942 267436980 219741082 909981338 353266450 439978366 979902700 261553670 661216750 283570074 684474184 420919818 863395914 913711460 760774298 844771438 904587090 82329710 123407450 776029018 556775928 348614206 540431758 217288990 464975468 274836124 289491270 537302780 72446300 754949608 807514132 40798988 939289448 120891602 938062304 787208882 260751488 212700222 185832824 65534656 261529580 610473260 755270022 602626840 639013256 337228496 519531162 245591342 650406692 560365850 538435662 312482602 249567092 296023462 401728320 46337382 145833144 642802868 165179300 625221604 730542692 5418386 334403238 86354126 685211072 274274 699000560 296177130 427154832 798283910 685187658 454099272 294669926 877037096 650335288 235679018 285452516 497075638 997792910 881319786 85310992 595095748 697540842 259846812 428371550 351243882 518880680 843625972 396423928 146486974 844568000 339670538 672341822 533031830 441222804 173765710 184601626 861543256 127110910 863566904 63351348 3271712 719407752 365216968 291982048 473515752 964846286 562663694 427716742 164556798 898381338 92664132 681218866 990684422 371395010 246199112 874127868 658049086 166943058 394707258 856469500 823513972 13536174 320044794 713349154 181422080 492519656 187704142 448117906 689919188 258060136 344071238 881886972 442677910 192255560 667488780 816323644 406160176 961084310 600509644 624633766 29048970 257447306 762189336 783021560 878528152 103318714 275975334 722866842 417701688 419486626 837025520 73493032 181208790 697078176 696793204 985704022 801756132 138828402 169588264 828497218 902066776 377626526 811464246 375994096 627175764 62319614 866104448 941983784 764728234 830679100 329828430 120900720 554211386 996404674 907828296 442998748 558920618 657164704 199636500 809857668 244672810 204502472 730914980 114904038 697712890 772245316 178542442 167514290 443587648 214259290 197505310 513642830 798781250 448675642 342398068 289622774 616237934 619217056 789006322 84973360 343247510 59194034 563968400 158800168 904628062 629752364 72541802 757171982 325603738 936199088 869330136 978177756 787863380 702343722 885337918 925905946 966176246 7141080 999387034 727483098 920781740 254554436 353814932 848892880 809052624 697628170 886373842 574252612 333154904 253400148 543284434 425479496 447606034 255968446 467425380 153686014 179319264 400390272 387451726 359640168 98989434 610583474 821189384 323985738 654506440 11220962 650432430 557996756 634515010 628648130 350282102 967821720 782911160 212441750 723286958 593357042 896883862 585502030 990565126 170116222 233645346 548030900 334757374 885262166 560089416 345386224 867725132 862781386 162973480 597033764 838511342 932249604 689351022 602344984 205256798 40240294 691307852 716367004 547911400 342548720 376286884 50231318 782267038 520824276 756097466 43581994 511999478 643604254 811907752 710344304 526870648 520182628 230466998 605959142 933305910 929504884 425130020 456275598 355122084 681560232 734869464 272911624 603609018 859140844 590256356 769737968 873390190 245355148 673693784 347087940 965029076 744100652 725336228 279453288 458259796 716661988 475564456 939778576 856960802 118776740 566189860 119863958 752630388 541990484 114266968 198476720 343253768 175826298 383264744 746886678 408059938 446254162 255911124 170679014 521443496 179247192 59525282 400860586 493514308 651507332 951148500 193687958 201598060 871924242 971912786 277392476 492577636 871513534 296958322 719585466 912244486 476779242 178584766 523545992 96651866 782163786 699742202 651561038 685319238 768501602 851479650 800551880 733807128 519695706 122561734 653747710 601360244 54419738 518067336 200875386 490420524 211058274 206446654 731757320 916195808 953920088 313280882 144609134 437386230 990668032 890712226 335487488 322718618 818848680 221523818 407851070 9387896 489212194 665201772 985982720 360735324 213211674 7675696 124272060 909679318 214428884 607718558 420660754 648250204 62006438 420300870 96818136 537320836 171081676 55122770 640718220 190745516 111143250 348419316 101167034 229718924 105201592 200472626 155207758 659178726 749066030 126730822 283186692 880869822 901463710 282109320 658536944 285803226 319447270 944621912 818347432 743332688 91184746 361955424 223790376 526720044 513777052 32387014 205160550 42807832 884183906 826455336 846622504 59812640 930572426 101453010 435850700 636245438 235945586 33005178 565083246 271473372 91356060 181661604 610591022 785188786 56905786 272209230 246217402 551845800 671061074 347868532 263479504 961948702 105927480 513168662 434512548 266041090 757148796 370539648 119347208 508407760 740042238 566449076 703002864 235689130 307526364 270686806 685714196 461156428 135769940 869514904 810637692 205781192 25063668 600564874 375679444 762626042 421198574 94240636 615076930 72191148 165159134 770011922 961624640 958747026 388380130 161267068 913198982 212925136 437231710 91237746 50090958 392842820 301106634 950725992 669473472 490583804 408840570 13194360 640083952 945063884 231799598 240825888 604415836 983563760 117917744 490252686 690446974 965553044 830933014 42000266 575826304 866917688 37730470 973298966 652819228 427384680 551376042 589796218 719403866 440842266 429669292 293440464 29819788 270057172 448864228 822072690 84880482 466890564 280628896 20535332 645191154 211728438 979384218 86955632 536833092 939648588 468160106 2157358 742423180 78750604 808357906 509304664 337676658 317336258 53540610 52597942 305233348 678490 717144642 854729730 935403612 470979478 751592012 799207038 390958880 110097234 780406408 980925730 624353058 945890370 458274432 195553828 844923374 827171126 642009320 996199878 949062980 415706008 419451300 434196804 738649142 162450098 730375492 515682310 633561132 406960840 729194306 617791510 964264830 990700754 129521746 603592078 67285324 36838280 411367930 309097698 105888424 972286682 261537884 946562498 695151558 282811096 361558798 785559090 373478568 46873656 562175940 325864252 284913282 911910334 981741920 170199182 385209522 656034634 377923364 558905752 66186824 418819118 67095384 655882334 372156444 86475228 44140460 585347732 844640784 667004468 133134354 164937700 761058966 161023158 899408224 628784824 896083260 734503024 692020746 102898284 208387056 190562286 989274034 452089572 970266078 6446262 607245884 866952200 531028544 741030072 484366326 105826696 827649714 167776646 247548364 551080716 880792854 76508882 989549622 318229914 937035080 829142026 72547556 420034260 925524400 719426190 362857872 359476390 218011404 256601848 402550140 535147534 266386334 521023066 811125232 919158672 655069492 794245746 302171012 115469338 436863742 822762402 74339978 668551690 409683706 257112882 327861284 339411718 566567188 357972108 945064398 3142516 234334714 484187730 98485968 454834448 940729424 916297180 455522608 881760468 856456728 763313322 149532172 969691664 747504510 371125698 230604630 593126466 920045046 172785458 593885994 417500814 280913106 287944242 836732006 933174098 538001788 970764776 151267542 928329882 421920368 847746284 108145358 779058766 418164034 679996858 258945874 450654894 655333590 204618356 527735198 517652210 659866588 261978954 639743646 36476104 446245296 825205642 602296104 358797022 53244484 44074878 815383636 535023632 592208114 363634538 818805550 980961958 849782014 306259246 612117552 342679758 472572372 265866446 182133480 48853244 90939298 269937116 761979700 358525496 295994830 74803774 184284690 365660734 345729260 621799202 67027294 359270008 612943364 874663140 995041772 365944938 772227040 258279198 833605078 982514458 170744930 662192772 46940552 460864296 959331682 448244794 187498266 360928632 850259838 897368740 187403590 717136642 830053166 510992970 779578350 804736324 877896020 223736616 483685766 898164672 98043154 879621816 307893974 383894140 668462116 684821286 221884956 324873588 880304512 594157816 469997912 216228268 705205304 866922056 36429244 973004326 570068408 196019454 31202198 936537624 81189964 257223348 191927822 329665964 761831210 775806976 617125278 292242206 349499052 607547264 977101328 898148970 46390376 721005356 878146802 583615686 175433452 936946862 292735212 28700958 483967916 117211288 542126602 111001312 523959094 849394062 313928290 429701558 978824846 515964512 637253894 634667354 88793312 446575202 26233794 460379396 909615486 786587018 778144104 242304498 855965222 823282864 999619180 523525378 21523358 99877656 369420068 539324098 493398084 522737700 549423868 177785030 50551358 912359756 957839186 371079360 973942414 411971692 435608884 502667904 117261020 491116232 608997558 904348930 975333136 4098728 86046832 572064122 76861782 101410120 666807738 410621914 941372816 716762998 101676128 801040800 236059434 316086574 48429606 340265064 631827510 662699954 151716064 526801244 915412338 279784576 43953428 371117762 353894068 563251420 645703756 161534320 258374016 252995844 276755214 471415270 814119852 691961812 266703782 92198966 173471396 536645470 93420498 777678250 524477832 632342280 706625696 96204526 877762132 487952318 56762940 479888476 690538074 813267750 310655488 99575446 76052448 243963182 802728844 358565312 215841610 28025094 320192590 884298126 586193488 407043548 63401560 786082664 541004782 492192726 239606014 484160526 537528934 861702608 562403178 100968082 914509712 191988664 110345058 469007728 141327624 991921322 777568782 995717116 861329112 188693234 985114762 406146132 885719494 1458682 694392608 811936230 520471322 998584544 248046710 584163224 948159652 924862082 121679976 84718808 31576408 286947584 917010376 597036346 695545238 241112304 387367626 261278160 460540654 475061264 212975456 628672748 255577158 754978608 61828376 584650264 925860516 429323478 29956198 741271358 751332942 7054860 194376478 496671822 249806520 153621942 213103340 920370606 844114698 164043978 910315698 179598912 207380364 988878186 910716108 668940204 24275762 731841614 569307156 562965166 713803542 329859752 470566870 153277726 480386486 646339410 425916290 409033658 480934442 2594836 977766140 421148852 693085136 756896952 854001118 444016170 226684834 531940102 86794500 508510326 117029348 8175198 787557504 130266192 630971546 815792752 738084478 861153148 949604058 65455380 720519900 716040004 814102024 650181364 236410896 679160686 587718028 54843324 628963640 137790400 907505748 597339334 143241408 9260202 406563816 953528772 66157418 526243670 719373894 839012522 491017312 316535992 141521338 191615212 28025370 460917254 695224134 620550826 927539866 923452160 384716596 395285292 934152652 156103386 582143638 138616084 949434196 67852546 406804518 819982842 887982776 386199864 521790994 349368480 23433396 215688276 892338142 870321510 441954896 291106484 229795568 748322976 618986372 230356516 845745262 507391474 411793502 634329482 944413178 621657676 384800774 116564784 516556152 493115432 480292736 533274722 824369884 734397706 611626266 597845882 129770616 399502854 310218290 511362494 781027662 435306690 564439838 769775606 270321160 90975546 685703502 808938620 102600286 459873512 71420644 42149926 952602694 368728290 221580172 620338286 511284680 893370598 349180816 460879774 732964130 682773172 966775508 740280102 390432330 216487644 406156096 754225618 479514228 848391432 819102020 323855280 419113226 510807396 620622452 929034240 183618296 110698042 667193150 359997232 399159204 920527984 936167146 651758010 995079430 731959496 643314942 174425346 253809306 447385180 536176160 16275470 82742538 392094492 748200496 758754928 445259592 287157482 372233062 415979144 930144136 159795944 593156674 683669486 246757646 705805304 19677670 319041066 862743854 464018336 973888050 341124184 973583498 88578494 415943502 833450530 337999960 289672338 567989352 101243028 519227838 615151122 883228188 400613038 70889320 130289228 282078038 446395190 910117660 199502488 670037760 224821074 192335434 40298860 472001012 492702450 727856930 21052102 541804100 293147552 485695160 679151372 384625068 626111968 377385638 408714796 517554058 849749964 785664012 810238144 575606148 809851046 374906186 699835288 468667388 668146030 136224244 274561212 623029392 455338852 4459470 204637312 775532700 219519752 335477940 443537562 544453576 805873284 134925428 775114492 236721240 140760074 92968948 466880564 314601540 746335796 906923516 617979144 427684458 764355972 20219050 543588484 342434504 456345198 497464424 121888736 748537452 771134060 990690530 159451900 478752426 782568346 55370216 183668152 971130670 529603402 316805982 183174834 326706406 648204100 730873908 586385868 36545872 41442942 890755944 76340044 626476314 950938532 254019798 768989934 414750064 384455534 268270320 670630286 852790724 453225702 818155876 884587920 201568678 686012406 129743812 714260412 388257626 885725056 236850052 154445930 571174530 296762398 138403834 828621792 218521804 998800604 935182386 160164932 847073268 75765606 31956336 38975114 825503570 970844788 421499096 797053798 875621198 618005696 616847648 866555454 990621336 837763468 635639702 776481310 329253272 39404990 588271774 175084832 938045146 446144100 552575996 999733700 392947738 914715664 894191348 929694792 240671544 81701640 304057200 801044498 116879250 800009404 439324160 124999630 225913630 815402678 994411024 560953136 542424396 126290070 355134092 796708230 514535010 388866934 897162878 729724066 22076366 876920238 663615388 459283002 703592056 848865910 186871044 6722908 591746600 522983674 586848816 111865416 634051874 987756646 126327042 476638548 165350166 250462172 654373614 554301426 777661752 979810300 575517202 240929514 610263702 624321998 522993586 328802952 489174272 348634130 587981214 502574836 57518620 425258948 549082862 947498636 127542738 813764050 360288504 483806338 101221686 698500630 552104906 728546644 927702060 522646746 346720486 566719808 990627706 897521242 257010672 97911866 460640452 925793412 703328482 805006514 297207754 526848456 557652436 326878414 60720370 225349408 106642620 671439386 470745876 356259506 997413386 391177140 862614946 621514866 768442992 25539936 523235672 405321146 874242702 693383624 42670020 385933734 988445418 382880490 332585690 463566246 635537272 258242164 87582518 887613086 474013774 108886144 336208178 961093530 491135092 282811540 76780766 622825958 316421478 193055648 352792734 913202848 526661830 545391616 989870818 523175702 314605126 61524924 307339496 554909406 444096606 987527638 186714260 514330534 83019170 218434790 897392856 870509492 702276008 646617416 66658330 716940472 69029740 237188042 223310476 47055196 59702686 243688724 838048254 295350504 311593414 286652930 690875068 655491828 572450 457848928 203505510 882480588 925834824 264287830 840157242 188406718 931729904 60109674 363776242 366446714 483255492 924959182 455346700 281312310 16760122 325818246 493548600 732638798 405604758 574770754 867689854 991244882 13267192 846832270 985335616 341222922 73690260 809715120 223453162 950663264 994091012 104080410 467758738 846867676 855852786 259884024 102818530 725144496 234839226 598473640 825853872 917061018 428897602 611103070 633619074 413826506 319124282 560729242 19738180 920917918 598571754 189651324 449454558 197855558 784095450 357056168 589221352 121606054 981097448 239013070 530398250 662187744 777835250 261923870 287471354 344762746 343056364 481284092 102517964 48716562 137561962 834548652 650364692 189626942 478406896 340024758 994432172 218113598 631542784 439039036 942224100 826796692 255572376 823330492 602736732 147775038 376927434 747560814 837557298 798333834 610321174 138375114 394900236 619729876 393853316 153266918 873351482 377210356 533994758 330723138 534406154 838582140 640662932 523526618 573509604 937259072 944782986 591453322 270632600 975560024 2158654 553997896 972936242 313523024 318286094 562881996 970636892 428758012 864947602 778869180 390167556 49046132 673215056 148366030 553553626 135725448 481976824 978448382 978619948 210496488 672345980 65850250 414770210 369062430 83098864 374734172 931833160 631172346 215666006 118752024 55553756 318370944 409088738 807351722 859406450 295918826 978238108 781221544 550620132 901515094 518745914 998725476 378132280 459984686 250064496 180087054 630635992 21801946 643239004 25530530 226581752 437312804 645089726 315263608 721172940 266478922 928138726 508850448 706125620 786388614 577470230 238247500 361377366 630960352 909959552 971203958 728653882 52783690 934646460 988794596 444799724 940423174 589364926 904121324 10434584 965063468 898035986 843495380 326834442 160141318 976474090 506975406 6245008 568704138 614312802 212420010 672447538 382322660 562724710 513570656 894800428 75259506 932175816 1673350 778034782 418442804 548277076 627044448 775744966 431372718 626194024 238696352 189863394 531723636 531946032 498365972 590808218 104663720 72777256 252890590 528934634 745638016 141554504 905665852 201311252 575282938 890357354 62464052 546341298 57237172 149389442 276032200 318953526 887827822 406736178 450642284 426163970 920655818 268307754 142135408 331614280 76710168 186016748 932491214 511815602 134836426 619647882 409338126 271490622 34981058 74561242 25510906 658758642 377211576 954963766 59925848 991693090 567038650 260767442 493701520 152755478 432828258 252300356 327647966 629449780 901284088 946880054 554434888 296150768 631945646 650225656 847383022 636808492 666736396 436726866 54110144 725888598 427372446 978776832 323566514 887836674 561082996 257253954 553964588 648853042 100437590 854452516 250186234 472620078 784203964 986426906 935912802 263075440 494097316 237431146 18706992 107523636 469689244 25392064 328376898 172510730 340725018 647488958 160829560 414057862 571344746 812638074 712710872 384078178 326659006 862624762 904954658 560777698 628400224 138857734 908630940 65689254 415186318 270967856 43068376 499930698 504895680 919967608 166421738 76857888 221039776 519209844 633282314 62273096 568055612 869623708 881512374 634943744 719243690 484292432 565997920 727204166 466924756 413762264 676756232 321868922 101043266 733051766 775021704 268475956 285799306 446079828 142854782 449548724 991862248 908981476 143395058 331513992 376061548 185943222 985842108 451633950 418446116 965148934 615981818 765261296 162411758 33679042 451307026 572921220 295255360 401590502 384291876 749111346 986752482 75140834 13653568 323333836 487612934 474766508 403052040 843379118 361401832 424402710 855266830 538106448 352067340 699707072 475022922 630135022 812182586 613107586 553608196 161152050 424671842 124929556 456930654 586561256 855796432 121759010 778296736 519997950 226116088 749888880 538614374 309401196 344180286 861575944 476726896 356375376 501224786 229148852 393340452 418791168 291656216 71168438 28033244 275736798 758157176 717231358 410155686 688258490 219013410 846405702 875205462 934571234 592440604 281845780 927168650 857278700 124322522 237357450 121133054 453381082 676057944 537834516 863010738 3954608 180460242 312372386 598696070 459374690 995053828 176713028 333661358 945876664 536291552 257133186 29910500 916201350 451075754 112073628 89019334 977034456 615928090 603841530 567424332 506259670 407950300 831088924 560119960 332572176 349390622 686947596 87165404 505544302 81348892 364795856 548228918 679485834 374355766 736541766 754351470 908541810 528595342 456114240 641779460 892179622 473186288 325842664 588495842 461677964 226041500 380502620 601213064 197805378 572000814 360839688 882833848 928958492 701893592 912479874 954881306 382661254 75504786 591483418 434854294 890974366 804214836 105547678 8534220 718454296 319688268 295239054 745094616 124222736 623845146 837311356 34522706 146941374 374681542 79091764 687585680 246082722 843698660 982131966 110045348 978197956 282775414 817651600 898476804 66992702 209298520 281908806 896172444 13018190 603845550 451897278 270644580 104658832 46907662 487571558 528890578 174640918 919276638 38195438 21824238 147347894 78224086 324609426 983885382 85910492 258675440 911448968 877412652 509609948 546829800 361477002 500829840 57047170 756200038 947914286 176146306 814749762 15203846 260031602 405092490 790322920 493657834 732026120 871036496 447413766 560412872 756082878 368524088 624148806 294301096 207704460 98254238 596379388 240416124 198207362 177454510 919489118 522761870 620305452 150252228 89844618 929534824 955957762 202946492 656190638 935264986 910978918 909400516 271832470 855728336 417287744 45492204 333787608 331234516 185266394 89997276 362560318 631180330 44980874 553116444 897466806 282993300 88633056 984338102 801584918 505526740 415619450 419435358 943964718 415928546 764043034 761108330 246156382 252322468 274335362 704136558 875930992 17938290 311007946 829505336 727466648 989281430 362385356 262390012 655635674 382598396 726669928 417780946 27049304 528382682 261331262 614171394 375392592 29104512 525039972 336627622 818864572 178490952 841738828 18999082 470944440 207844772 636482588 978820282 320142876 317841934 617639250 993167422 147826320 840668836 690591688 863481630 21491902 326409868 778410958 632974742 148259664 864558520 470429158 882079314 221192814 813433530 859829100 376749522 276173808 511264818 726412466 514394960 72963308 396860966 487953652 710966072 920469454 114399212 831402390 735525778 564482390 538214322 455690604 982120278 742130882 132525072 721954630 325029692 570449710 27037850 847117420 696667038 56023296 551523820 235681958 167909260 568696948 398932282 891680694 267017500 550012334 640389828 431098898 977751454 605952564 384621762 711541462 666851290 717686252 421119374 45763894 447752612 825128980 598131980 441971142 258153226 290570390 337338674 399807096 180074974 726793410 108269890 484560770 648950550 368318032 607918902 631959114 558350120 809906192 454669532 410681434 939771504 990794882 650851066 74648564 339311022 560231370 357414862 665323680 23046100 147118226 623435630 12615088 990763070 144427630 245541516 855943384 218713208 824743786 488446960 248021470 160884394 322248214 997856646 322559686 408182142 530207886 637826146 479805174 602685228 9073078 471030574 732636046 798618756 163360314 605583362 939868326 668207656 962156956 190877954 490507366 271259868 169850924 205832174 113706512 361528252 281004014 38417122 867773494 858156150 561857762 208341096 957990230 865118820 504977412 545510546 975001426 226333062 337850670 313686528 733920598 63691906 641180726 776687200 812861278 373646922 394918484 292005874 417169788 258828562 450711954 321410004 774986286 778055252 574380632 84969922 117055488 236454432 258094062 361181100 671553256 111403262 899354206 548551476 768034840 711831954 114397654 6094838 834973446 224838062 811448150 410471780 541679464 998213084 641095104 593354626 689934016 679300312 13509822 244401374 45325426 450052062 442625262 35114606 941521810 403121256 585355240 66050010 960784766 648450 916196784 792080906 572518392 44073944 604157498 8953762 222659472 803774028 419471986 572982994 731476864 176559212 572811440 671134002 300272536 884045788 212229132 187192246 917979578 140303524 747124840 431392924 229843416 446672378 841381378 504659972 304625164 972940222 303592540 42906048 573776788 191571734 272888048 689886444 806400398 807828510 68167242 857704454 508185542 479877920 129328054 297502390 706900242 831096690 416036220 167753194 155959482 946178850 461170878 395277376 777858976 234519406 477925626 180033940 494262114 722019540 270232126 992454356 669276654 953846506 843688204 283144960 964465152 451497530 248790010 594030180 736529296 541331404 416509482 837260746 356433710 182021496 842381436 504075904 79339798 922490122 752958972 250076886 863778830 20722148 993131454 537579324 496824902 747942032 97299044 948468838 703275494 424860122 303249748 177259692 344033586 280973234 179640826 9729476 67970084 962518360 636977334 817857050 872712522 406589964 795792522 120118990 404788100 579884458 883637230 295141548 57767838 689868508 541205944 231549084 637892060 698910398 130539150 897564834 308414938 654303466 819343704 614220214 65683626 16671976 525022022 789184186 26825228 474139450 315222960 289429550 665761206 517221048 17462430 175739942 381623864 498564222 664592056 56514926 601951012 520800716 953340470 711668202 721262946 73667346 771329762 822087996 725727830 487025466 567460836 180332420 196245270 350408868 502868148 60427644 658283034 623759350 818584940 988987632 145036084 458150304 83737874 9000318 393004384 28450826 779293308 850300108 163145882 681978620 155879690 75376560 600770244 95641688 34262492 286621436 322402246 229725952 618501952 138996400 480459610 781855394 669192176 602810260 830914240 709059880 728129018 856636360 626250274 126273412 109737658 115052378 517657314 211739230 377364114 182345482 713010110 183368342 570187828 729115114 597507618 841012392 282324090 271813006 262866936 764079254 740170378 646213748 51765334 346108312 824536992 352371638 684711950 124718008 56694238 22821222 855768424 230715770 890997766 92796134 551008832 878712364 946238822 123756112 637906498 877037838 732185998 119940448 73780454 97642048 518158612 807088242 116876396 722663890 689127062 80235880 490103432 449044212 47702784 773616752 657290638 766792846 325447098 559921118 412499792 823734130 94699484 178480846 268728592 745908878 715703942 761962922 613661712 445756150 439554640 744685018 559606542 761703916 656411354 321471670 864893562 248247554 773154616 564836812 830089812 462505450 343562806 65563132 161028336 902925916 293747494 799311148 535170784 968704630 234141418 939216902 436608700 319829564 697697994 157342968 291437792 441822166 158392138 855163040 188595858 660753200 964950892 690539644 453775962 66901082 787188774 449920634 52006838 952249450 805536674 735258690 162138390 573059894 33772052 214850200 159777454 960148168 249491806 832397764 856053528 487972068 856294414 887564394 33070648 221438396 888028248 192385312 104273122 174297108 246840652 390908988 169220072 381212980 828686544 562494042 542970052 64837346 901351252 829607744 89967098 729323914 204396434 742988094 66467472 875162138 77959158 746057714 654693416 846489278 990622534 336423492 456410072 168835656 473517992 126294674 880189672 551703234 444329868 355382598 206555278 875901484 468256536 389751860 655670718 748913766 231648948 983251016 392817962 65587516 464734950 53985262 103474026 352911242 600823522 848264420 822577282 71811662 781505872 526860240 206128730 538864482 660184144 888613574 74036474 973780840 933694564 129802882 921991176 250707432 386971708 65232464 285561248 859290692 444594972 203978160 967263472 590115404 30648738 427687086 466967588 967746160 329052686 994713672 111382566 820236946 49606500 117349126 331414874 91964172 407033718 515028956 606424840 236951340 437067962 395486158 298979422 951610436 499946064 519594206 876840026 132921668 635151172 415037510 396593892 639799588 353701322 268518642 746817010 629798784 105567828 740033400 813218110 994783096 801162514 885316920 959606318 396911688 125816620 892785982 650014914 519371906 789635162 245131234 917730400 102368416 904274846 27495152 464769148 350436358 142879994 947161992 414760004 371872296 174848186 520803796 25239834 273660830 319064778 424092506 260180496 247158382 618581562 203363448 456159556 938649570 407832060 952956446 245238972 209650046 900902032 66676840 499523936 456325108 278360850 190011224 443303352 129625562 63856654 513546878 226230794 56884912 665622908 73509676 376298256 1654238 7188176 356877492 646835312 661230840 666561134 635353176 829626600 426298556 319655300 414147704 410280704 378861838 90090702 13118904 803951322 668172766 725401438 520272754 409433582 340805916 267776810 265053302 94398516 293003276 314187398 996740830 621939964 69097710 421601788 686683720 892965180 61518724 322948646 567400400 680933610 814639424 270432082 142809852 126826386 350004692 696466076 222469828 719422816 640541612 805688570 127871422 410469158 450427044 906951256 565794496 214864314 498453658 835082806 196215278 392238784 448172094 175735030 693083416 667504022 497296410 141490508 468663276 432782280 40506636 799920074 159412330 325325362 922172980 332071762 851903954 636911422 858794096 724821606 950849808 695625068 103996970 563237360 862562670 544712654 762183432 98403816 421464660 7553472 106824888 267210884 618685108 383156946 435297620 801387632 264500618 7681514 183305840 723069958 650136068 56816914 885941356 428414582 575171902 786570452 379175326 24093070 542394192 161987004 818949628 49251066 520881998 105684428 250040740 147658972 286252678 390361258 315703518 265004234 83051398 650702868 753911300 142866140 56600512 616721110 395183958 798420454 613646634 308042442 528386074 21223542 459329988 291413552 7327616 571878036 852203880 300440154 900393168 904917100 114514774 833448496 575017984 47294220 737855150 210474020 579163856 595060830 844829698 837741872 907394880 579353178 239635034 271939210 983687796 79080912 629204174 18612212 264880246 486874132 263469136 475270506 989765908 58603198 961116876 899906482 701462342 770646920 588413458 329685962 527031184 824288706 118470026 646163668 929529730 119392708 544567996 407436694 506143632 720751430 155089622 761136114 321722112 434452060 561769798 249294554 683407758 168535330 190774740 542358014 549757780 973469696 132360072 752246374 954343234 243254182 850112610 983266484 123570442 655454294 351987592 77637142 517547870 859325754 215902790 911523538 545441376 439892950 542698088 31060656 454043720 190602866 678325772 308744234 428811590 126033496 586581342 57352558 418612780 92402554 889675868 380197244 937918290 916831384 510208152 837966754 139023258 329427088 346660458 630917836 578414730 963818950 61033346 962617974 990513542 970180662 577482086 697523404 809147636 737998900 286203790 979903096 294982664 450485202 735957922 991476594 904034628 859053876 126824148 871738696 28872320 278926960 468498610 186600388 69906356 298542766 699548726 978169018 521298448 821624436 799321426 229829368 226378502 383566580 158824400 598490270 637901672 517377716 421179656 375915002 353819186 417159968 96634686 955706366 12316674 793170352 755492826 304080860 549255802 52721538 315606484 434924360 344283660 898051582 9532284 190844608 887480534 591882342 136628466 760368860 555258876 211477188 501955494 917898364 179236330 420018814 13097226 507913350 672899686 731052750 304745056 198382394 1317038 483129902 463740086 276843456 957080288 680267942 99731382 651628144 966547802 325237506 921346528 965669888 592695774 61676682 701851810 764803042 627553296 182371746 811005632 167533930 249278322 309712566 778356112 53252994 660076354 439041456 720818632 390546248 446421138 699423352 698839232 299627828 592577080 987652196 801805908 652583146 900576712 221559294 78074352 374152984 528347900 386393580 153654578 375336602 495605570 236999144 722883486 704064490 256146124 503164326 237414660 971702674 26744820 938964258 172445838 264123436 66308028 54183344 827633960 520343596 349048198 355884402 509976536 8494428 407480688 246272612 872014994 715699172 937632652 84503190 240580524 909888262 621449560 487164096 894615188 296131566 901119264 30153056 457238076 419004316 519209010 422830284 74893480 976173766 992262558 221965912 938517574 628390662 302900994 930297880 779448798 252600570 409979932 22555846 421097418 666724170 591726480 687631302 517032176 948029444 688388756 195119458 586705522 122764062 417631850 36239516 601448596 424597178 331594400 386916812 119505252 915139218 227959402 325959646 668924874 207503936 351647932 265714744 229065508 975989490 492207010 219228112 694568830 673780682 36669474 741062812 625048770 216145048 287531218 935180470 899036724 156205626 795947714 629930854 767352650 344746888 137308894 264344454 379675440 295230082 882238370 779866458 376599480 951435084 48252466 106351924 664011184 598431870 950007986 727823480 304773952 149453426 675583850 815174004 326314052 647855188 210259516 744004630 735433396 110020324 952711124 406622486 471056210 669088922 584098396 297188810 170622042 679492762 787396220 908662100 298208260 722843884 645760778 44885716 75667022 29308320 139105862 113618184 348382564 934209976 71132754 196315082 857859222 696725258 128621744 452390914 71907406 27490338 977459424 316696026 989129270 373462530 497935384 849467256 131908920 372765158 908149770 896706144 128320152 645361594 483933728 357786376 214756170 415976704 490076270 331570532 748214008 386534400 690122026 91585092 924397130 154038042 98563344 830147384 998414938 706166598 288504802 851256372 540493538 873703374 893740794 930649506 905191032 82965536 956899320 666499840 267522506 530678228 830218912 741365606 343883476 689608598 723007080 458552058 739824488 434723816 911170120 560342832 958617190 85122370 259248048 693079776 809474882 99961880 424284758 320295868 71493240 951114238 999252666 666768442 368782240 287653518 534872404 392392298 70751238 32223068 388923074 663970106 232851788 5047028 452501064 296146678 410080276 605661152 705735374 797081818 873603628 714231818 946311988 123001052 430949680 897432928 830147754 744725324 682854288 427899448 61831740 521631724 329579942 268956002 982564304 68523662 574340958 380443942 50000182 253597138 64975056 994299100 51197512 251976742 938773718 287537224 20186900 889749674 476360976 849877106 310521574 279878842 695998210 267905404 174027660 409818678 621135246 422628072 772659260 821283096 779973594 321682472 116341026 810694052 741029204 113387796 309381102 472395192 952526278 21238798 357218080 747266928 571936886 30072650 222480788 317740510 365258230 942227780 340208538 378706174 492005440 182465206 80637492 291884198 457355676 961339480 633865408 95570750 591826108 635386490 494560342 951182720 252513614 414823088 68587876 719932618 44028908 385235238 144701184 232489148 646596640 916949604 102254772 680009678 960306562 550881084 22158436 57603262 411222462 340289696 671524534 43330986 862732844 413966632 45180156 426769576 891193088 6789612 449065432 401579192 632519470 98548464 228709362 466928896 329362036 980417738 431460160 313043940 982664590 940936370 265010808 111373508 790309914 557785388 167914656 168696082 369744744 741037262 813134002 819632074 696871294 30289806 163523718 758093218 807921282 180176346 776641582 818311256 837980792 162639442 685258722 260843610 307751922 158645436 307508324 217475954 297259964 107539688 771035648 599758400 534201450 609785108 167295762 101847452 431221940 318690866 112814746 256670002 499033504 916465904 378262890 367435454 611568622 14841894 956848522 561176830 135435432 877140414 953093822 541613522 599549588 723704448 266494106 586639262 272555124 36139202 829732060 835252672 358907342 818480214 626015338 145831162 342581370 336122914 158843502 254544020 554774342 23406332 277312898 132550196 95984510 929656838 623423950 545262954 918160840 658153450 192075598 894836486 478534420 80797578 753745372 312867644 777600634 792778140 709437464 328347358 496060764 696070068 246183512 5416416 907551042 390153332 318262406 814804646 160431160 575978512 650582412 593800736 612997608 414290880 742194516 674362026 934085382 76555604 644652842 473930538 945860318 528181676 81963964 385496448 166894728 948921536 131372574 868823480 775218778 863235102 979841294 836248288 353020720 519584084 46180764 664987096 437781962 457961006 657509294 228799344 683978414 276954250 586380596 899393966 221623530 527866484 721676518 894076728 306866550 771299282 319235256 235578050 909587096 929555840 832273762 259516988 814609926 676203480 381192628 276140926 690168070 689158366 147841828 140995478 621674488 808290152 224994532 927832804 403505092 620085690 148586094 328042378 602558246 27105734 769732156 400859946 414817768 594364448 322566980 152673784 574824364 578190724 934199720 343565076 172837150 995587288 196742498 103635432 636136006 29611368 152429718 536599022 607960716 837273366 196466330 200190824 902244722 800055758 459302698 36043732 703201296 396927308 93358524 426051574 996982552 208144800 338924272 357608120 131753974 937407224 461406824 280382710 538892258 355473294 963832664 127047458 376414350 903133742 250797620 68100294 589368682 974695084 264948080 874695604 629153510 598755680 606361486 883916998 699988642 995859578 787260084 486538790 822879172 558747372 295299642 504110834 222553496 262536962 365600040 222281088 949302572 154348732 676321126 874835480 737509858 458527734 522760654 450727158 266846090 91786886 966190626 710202340 840788840 936975224 126424848 544477440 65637598 534612366 467159568 986658052 604850828 414429946 281880260 651276272 34261090 668487962 988695170 713470568 906013952 548617342 645889652 984119152 88554706 590420844 473884040 2596338 184291232 877094300 726847448 899901718 235451380 84141184 912630884 793895950 631891422 346668232 336350852 724638352 588830600 564994228 875784980 221478294 828354360 836007420 270399772 206719350 722062908 159561826 613200004 121568852 604917444 191070130 936870100 865375310 989393584 681379054 855988302 683736046 710962294 431917022 961948374 252454076 372493990 891403316 518549596 986807962 520687320 619822796 326847014 509677244 447718180 119981696 54373054 221202356 854970426 344059022 91333916 440176562 333836042 308394588 260315442 528101996 631261976 633185646 954046758 142636032 898306478 276354904 938586732 409033840 531712452 740743172 225149536 192185192 771595718 482569134 114908172 576185082 331806224 520811086 488708914 826748026 647715270 439435410 753035238 889967816 917358044 935331834 170922738 609282544 137554340 101676532 71227314 40023052 908293062 623434672 193289054 55868532 282744700 552872350 77142912 617999044 516147216 805375086 641282230 816244840 215504518 157269996 404406558 18796578 709190752 533872682 110310200 804119950 353035516 118377568 42896488 496412608 402067558 993676398 205722114 879953498 9150808 211269500 371507040 111255948 763468464 335908328 910748158 138680098 362056002 346252834 209308202 257753424 207479576 738826902 929245788 431554270 605591380 186172400 742040420 942447394 870860160 666340318 652847262 310725222 407727064 244537184 149167638 378413454 287829386 632369228 528803398 722818912 260089298 885304426 891445238 277905364 22010000 828025274 576407646 642543316 745488140 95300748 460422626 745874842 38603046 448571602 372361710 296891816 173807690 65022580 961683194 936817586 271488890 175463594 862559248 122998316 808026794 461587276 761454686 801618450 393140096 279914572 824815606 763899086 780181010 710455960 845967170 421614430 177170598 332194244 246502708 786059336 982779112 910843212 82679104 239525964 626347502 438454426 661998818 531293932 809163484 326268770 825771952 355448348 833032548 3249718 346153702 12677816 23869050 937561448 693514582 707959844 772870760 822839870 399989802 73246384 268668960 468182966 955439280 960708286 492432680 103928778 626663242 185735708 978517152 565189898 27861270 988705472 967894396 954696950 670494308 538082768 879277284 876779784 165175666 547315942 604941764 472618086 970686256 213826700 824425684 930163804 86357986 1815888 235635648 621220756 951986890 331586866 546173146 561110466 365373274 787160360 996364662 516076666 604544454 945038260 150229470 361145736 651852862 366534020 855928284 423613418 531527682 450510146 657778990 791319442 671055608 191872790 948919866 127847780 486948538 15384802 29338042 161376204 381291232 614487714 494734464 851003572 850642546 197863640 822726036 181046324 673785272 924680886 117874372 93356522 946678900 243286374 439229458 283776072 995527960 617100912 377326960 349854748 367173490 380374572 788528426 948936108 348603770 947239398 832845682 485517748 126780970 236835670 325610420 351515112 619798308 630149822 843638462 100818400 15605464 37237954 437346998 434598272 408071428 318577032 161115718 277517872 28540180 266587434 668232504 323259102 985093686 879197446 874473252 554597806 773882008 712371154 410159382 425018300 635294682 638139302 818098122 368693654 268141030 941070786 259778748 955942010 74408256 227337292 596102398 709842924 688143736 858909310 464064406 851271200 251894136 807711558 462785910 571762182 129976162 367008866 571861044 170717356 346689378 256367108 652389540 91353308 336899698 455769688 442793634 160447282 795650300 24986676 730781300 552171566 543448580 533338038 366580242 800087352 390459728 671479288 294705660 382179356 920469524 704035974 50071276 693412046 528610262 574282348 932828998 147785520 748654680 986959980 722443162 806123318 479753938 838858142 345656284 477602468 379209116 207601286 238816672 329806938 651178246 280990982 681812178 99029494 958493852 594417690 628067036 548429850 686591256 890095242 1764128 533364860 58375736 114516154 104837386 961650420 702127878 264981176 196263156 378513156 299009540 221876782 376189786 122052160 611051692 933301192 235138976 992095144 226095358 920954452 100058628 650527180 786620888 678154558 692277400 321835172 645502984 152887464 406936698 655484556 31814538 190773892 464096968 679010960 903585320 424129324 746055370 181289712 547048286 61376958 691055760 258720418 300602582 198443546 21690966 555361702 439624316 832713900 5314242 334115760 357598752 543864280 976532268 665909830 608962918 454784814 362429070 961080182 260788388 667498602 640592648 292809788 94258934 494778840 384280648 195838018 957545210 326190568 828541474 646590448 708496272 831743626 877841526 536348456 921630192 352295846 154014308 528711232 786650006 195378642 28233710 348410714 449437744 752167530 479447234 955398888 877977900 237948632 284409280 199079400 255086194 777397200 664590262 622782650 175416292 243543402 885596688 503964216 991476314 978270044 218958998 279240164 878814754 979893794 79026258 549743106 710767738 464067576 715410798 21173982 632896928 128133336 370704124 603458252 595446386 737591934 55810298 351809524 890319446 803778042 255312226 156463152 819460846 470922090 759883116 604710276 132855962 559613466 292224236 624225076 548938774 60908814 829469672 184412944 309432786 165189430 293909498 696957298 79608568 327501532 14425420 452584396 656603988 879119312 62781294 943079270 85537974 627325094 639336474 770108116 348054408 416834602 378132542 155930684 721731400 153884216 561745036 44961796 140499104 300248484 600740424 612410398 11715268 147975430 602703470 158147418 879769718 787178416 96761826 702713146 815052828 754827310 201460000 646652138 983858554 890403008 285090164 351782914 660905606 8560588 908723252 841259250 266105638 158013932 612814046 607055916 964716434 704292200 381278824 142214282 477332784 317237482 492873804 599311874 378440756 666508612 926900214 800577846 887845598 532288644 11213004 363768824 642742530 507831142 527964436 759083678 195516148 404955918 876161508 976000252 886379098 712263958 429623146 313376470 426261136 29255272 293816094 868622088 710522230 536173050 118504996 52762676 279037708 847902746 600654316 343177822 115759532 878760268 125630022 246955676 610246778 569294860 553341454 285503522 437175424 958866 863679916 144501058 812524938 644359880 107321912 46309442 350839926 730220336 62118042 871991120 570182538 799301874 509939668 933900454 925953192 417548944 722059348 931599058 679888138 718036278 727611074 432066116 704394084 489436260 763050476 146879704 483143852 374171190 511377174 118345780 857218830 738646396 361436878 497195762 118517596 997075088 539028362 148523412 376980820 159011806 365650994 620105208 543732030 347253300 780011150 646170744 663589828 744796264 260399114 543590862 983091598 930336568 493318618 610561430 928942710 989258626 732208270 454875100 809363426 710831742 109686912 300911042 126500282 193833268 969939576 55450180 101069456 470115884 43518304 499100856 638922672 557799518 127396254 409492734 928621386 924943812 259391812 940587460 148517620 946098330 850539434 912058636 447409008 286057016 100754976 786789010 623475426 465921338 332464900 707710584 987368314 449430518 731305526 792263328 662368732 377200058 293903190 814954172 586066544 2402354 274924590 350234844 404445232 927158094 786848922 351421676 257307632 92793992 757836136 53731678 859877924 16669736 876365672 500231034 196629088 313523300 535341542 387707066 316611366 399982224 752393748 437675124 402657176 364868092 498539184 742390082 875943052 221942580 486234664 689352190 262053790 357170654 273213566 771524436 170167886 198764702 483560842 191729654 359076338 19140110 439156720 644581626 369252872 863235534 165129948 903596914 422806520 7999598 380847350 179698722 235886020 212275536 535519408 958833658 634992904 856802314 92275910 154479038 228702512 21686288 167143338 85179052 375962486 827826106 298497126 471681316 761446062 54022078 679747288 534470180 950145656 113810808 21316522 534441652 900756420 40876606 973202564 978668670 554507668 845973866 71120600 941922458 512094126 31228738 545358888 642114962 834040378 868466754 632769744 344854750 745459516 126452696 14046870 365265896 735706704 928732494 520154766 819628090 94687126 769027380 536508256 107103902 729895610 599333046 384086418 604853178 331724588 117166688 371012930 164855374 563109804 726645094 359088974 161820458 396289202 742931728 720914572 80963640 21280092 38498574 915569306 879225966 925937924 181046734 173837278 765850540 449685104 300592232 765961680 220698558 827594960 897100352 926842690 300108930 635079434 398550702 672358254 890125534 449947644 244618432 246364860 402687766 556582160 512397800 60136578 484825478 97835380 510109626 313591998 965009170 882263894 227839416 222317154 938520868 117462984 139081222 269404866 774215508 501748070 205896502 412831806 107066894 562220370 298080032 366947358 293983272 296062042 199569862 638749218 236404188 563952794 829773286 59856468 297573990 192991656 42951974 806086022 32566892 892106462 355247050 831208592 504489246 780868948 61386890 909864164 309920052 514401506 953109992 704697740 219114974 881107060 423564904 857203560 487264524 423126902 970053016 680233172 210541558 505757626 795123216 395823010 352521186 63095244 162527108 440494780 772971380 746000780 736905068 185264798 613734804 107153926 631598634 448228058 389686724 992871912 387004612 996841404 787548790 550509682 979059916 945216264 181467846 203170060 560067724 849195298 493780860 694352402 341609432 319031614 553787602 849184724 92729736 138090494 754045170 659455850 962230378 601035022 856839866 702701192 531709234 446431144 37827440 146221986 270420636 379492342 684391878 419437988 528003996 25235000 41104320 387340738 690209782 829625166 332544766 227764504 529541524 418924722 41880642 474382986 31492438 199833698 251326728 830229254 767345248 848362580 347186860 609945584 233335308 275769792 161497168 155503030 388434108 469711724 599985776 623615704 820164254 665664386 840124976 377866644 936909496 414397126 136859838 240795860 417515002 587288762 289583608 387965398 277341506 267543916 500194318 350649520 456234346 994327280 257543644 266544772 622613992 933982952 201626416 324494214 738833334 359511904 856494018 726943868 626339506 271000446 287534404 956908892 917350806 761686346 263207102 975000060 101620396 850904082 991767748 834674842 350662234 849118158 74872168 836601432 218476714 33639352 724743764 393998250 96650710 73936522 584274246 793617812 342392350 211923310 485510788 553297730 261508958 209580658 525771700 970224606 662876996 771275112 961957296 713934486 707255278 545865890 30311774 626092310 804580574 305164580 796174456 619436536 19622756 967965332 887981674 558465088 454317818 74674466 58018046 13327242 445557048 921754864 710738316 483311710 178391814 794870108 104280180 606693460 788207558 163888984 943104152 270172676 788413148 502617266 109504974 700241812 727211578 452400732 203587796 838553926 892845430 530578278 394704 732594082 96180028 275136448 608623812 81510022 921862624 612493974 602425810 283314240 686109072 57426670 232721076 354484562 486976476 299963382 844109734 406312604 648099568 183010308 576069678 640467328 327620968 960910822 417765740 553847028 298720956 897082944 936618430 408033636 484559990 826102168 246364906 287460162 314123618 411526444 308018954 334435292 27061852 392360750 118403948 625736510 36792776 944329558 59873600 603219438 362020396 702120390 701637740 224905156 258307746 539488350 929675878 703504970 672974468 535505488 991123854 96233578 441426348 302033016 91819178 81851174 574626530 752229300 165701702 697739320 808019718 178525638 448894308 377540596 30833428 321615544 874428630 996915918 89684068 202115736 689686004 846295208 794402752 165472126 954744622 744045060 277641272 354207480 817770472 597508874 492008408 866374044 241200902 218366278 475759136 745631670 596834894 844992392 4433920 474843200 598431036 165800272 715347010 606195064 660395340 909802562 844693610 547425822 738369146 683111084 232247016 390904680 948854178 52745792 489193094 850818678 843372996 67925654 178906432 814569632 761451850 607396596 76776964 925069816 957301770 54187262 496178994 734722010 169144100 776245796 523458910 279575596 441686852 849150814 638256834 297328478 34279174 878834300 857505788 984051056 60262018 724711262 665483924 399235030 477791304 331397276 902156844 409079082 596532338 520199524 527724304 706406014 23731108 45949974 208938908 16604204 201314690 399685098 403543870 608875234 437801270 286235384 728326382 362677190 368418950 467511868 484551804 464958606 303338780 246733026 481257570 282801100 890842396 779519330 86598862 2519764 734953814 202507794 986955752 359023460 158987326 35076276 418746572 662823136 38611708 487451640 491652390 866956738 514252066 127327442 152612324 661590686 442303626 401186450 666382984 93427428 710948710 758462072 754035412 423525284 67611596 326069080 201453158 736603788 928021112 992452038 557947636 307877636 847643978 303724618 600038404 762956788 31840676 603070526 965011544 908746800 224201912 87495576 181897068 197323352 85121056 377298684 841293068 63927448 822224266 998593742 859941350 822569144 829169028 14527052 912545680 143653620 259879446 554380148 528497172 475700836 937037084 593185848 479454964 268814040 160402174 804642260 905666118 834376468 400640306 280609438 664175168 259914120 802201996 553664372 592353662 623110646 746926060 195576148 469179820 264446758 239270800 338747324 493235748 949379200 559604946 584692298 722079108 598893890 470750314 40698602 861665178 302230644 269305076 119043000 323563520 752750106 361873928 687224272 414512420 784878744 486994680 567889874 946840576 334362462 62762458 693171252 123253162 416699938 112776224 757930822 296583426 954523984 413530458 397179910 993837826 322402430 697685918 402845862 623470898 581364980 315285112 958555468 815695896 901394118 67841888 227363602 807178164 213820990 820569914 230346120 318704130 907678532 794897754 258274548 521037296 288462234 80952616 616098222 324759716 13940036 554324054 685800046 624818520 310173634 924925012 246992628 892636906 328274066 271395892 842477070 623690442 517533206 111265272 666972474 648215124 6616828 11851616 61309940 602769250 435523562 643842150 588887942 308871234 694340914 802424914 616622124 506026754 420907330 904768204 35278016 498512668 204540552 21908820 423633788 830938188 89268268 91338470 283511898 923111576 658744752 591728374 536382858 926281598 608737158 22175964 493873550 268269892 207785970 168966020 121212082 560373044 131435942 530915902 582646322 194169764 819427804 613664662 235235988 39740732 978732704 205803114 92229932 497050216 406003814 349970534 653640502 60158730 331391170 314138284 39016314 905155742 390856400 319986106 951114108 404134136 835482304 575262308 694771552 258145664 412405592 632623260 75294604 333511066 104483190 746681912 615507628 302713660 634531762 244807820 563286196 377729832 945632702 638479608 854474896 90696598 36252094 265709144 885765690 89371686 12226812 383932340 703386594 897041874 234017376 239493754 831473624 4186496 564910814 784854748 821655708 355711252 767321964 238213396 83351916 658070074 702644648 729062196 850579420 829721096 929279106 681685948 823825744 805554766 766982566 970770250 121813438 422717256 436467642 979480306 339382710 309322236 568002942 194475180 973689470 612302098 516077062 584346802 178475244 856000138 662886610 100148498 482151284 54846170 497765040 27140508 319815306 37194928 493981544 3244804 422721406 316848448 265152348 207540932 714435162 871151806 425232504 592628254 765523334 744591030 417036536 329549442 450181320 182514498 328331456 500170746 454515900 619653704 682349034 192614502 494314738 632687970 583609336 85700454 842407952 774499340 359450988 496023236 521071824 75538124 987397514 523996416 684245582 162641956 499744520 381661288 341802654 95603042 761416416 817932028 319911348 263666824 785793242 572014572 372462202 604202256 891450378 638625184 638887970 955219370 667905236 788636498 972961236 918260010 258055864 952590632 291574216 261683342 907346878 117636482 28481134 444405052 673957270 342137054 906414700 288293526 535105656 601806588 97779264 100389272 491572444 491204748 689895884 893905718 73562948 312928102 123922384 970470658 693159618 1073848 240706280 252467892 392140508 423885486 506285374 335990954 571907832 938154188 949144440 420452538 827461466 340257924 524210186 268695188 570142594 762524798 689541690 101932116 223487362 330603814 587406406 375039830 973174114 781204298 966202276 559471344 884901596 971244268 474169382 363816376 592601270 410665588 730734414 29552982 126608110 381961498 139703896 687934362 468719420 343987422 772845678 52883948 352132082 768529126 383348364 984840800 26610138 486392762 901236910 287369200 376554564 605280132 561850600 652145536 995813370 26485594 521259038 994018182 64372724 833930584 433775140 973831184 908140336 26800914 986520444 643843438 621199236 202836558 403189242 335238194 175896906 536283506 240811318 132977794 276435262 504976606 918680690 608946444 111236042 499551222 437599448 491741734 781014516 819136832 353275566 800092130 977354946 160605508 668369690 969525278 944268894 959649794 17706564 498092320 512083574 278493852 320026810 882120826 237323712 800481276 389611822 728066548 608047392 823627150 808465810 924940702 792185604 372553328 739355582 761762378 163831808 383853282 168016974 954630184 891864456 954633684 928088732 419622814 555092338 952280652 722751980 911256676 986750794 626372810 896684786 231682758 320399936 968237170 221653090 985094428 501718778 734869534 745668994 919916118 704936776 170254570 99636882 658505064 381356746 429476368 835446688 910342858 637216562 531788420 961410244 85817074 394180864 487852528 407581252 346164148 942113560 590803704 616935374 56610336 421976236 612363006 180273564 706924332 198923636 200905596 515043474 228952362 2881010 656580458 886322234 605892536 455442178 374029106 99897050 451873086 349899246 573258652 123042478 487120868 875576478 148849876 339769304 550338698 301973866 987872684 575014226 255035164 744194632 312420790 865021080 677577056 670783590 470472532 634327372 752228900 376266436 323221726 77263772 910290098 760547222 817645850 977079530 564948060 676244406 312756258 865531706 186563220 778041138 340528404 507056274 610106566 15094526 262319266 754251992 302761308 561656876 102230614 18956416 975257456 936769048 485185114 68779064 222025512 421461338 405613848 490019528 697920300 246959658 245160760 89804122 6563702 369886444 472377818 374170072 88565480 184980514 587010296 931606886 623599398 854578756 31010692 614831630 59043790 893632890 376730018 56486244 367279990 286995866 908535258 362212032 831805078 420955984 316914362 377157432 439381980 173327212 145543254 880745926 908312362 729580834 710579698 320115466 64823080 70799856 480223540 843575434 699060274 201633922 891532894 435461372 302203224 206573554 309913770 542988280 241274600 547849966 706295550 713601098 99826332 432563818 520531434 106487490 801297196 452275544 442117042 716314988 642811070 593750116 594688852 594273590 915452104 848346136 324680516 144780792 333298102 411478634 35662228 352296134 267072278 921011850 640495868 108156482 213154736 406959538 555554192 292940484 485953844 57085892 743094756 505266522 472917922 947693920 202966380 791334406 501062160 435519708 553141736 880745614 984095562 268079688 542628770 364632228 582812736 784190244 947629008 813487710 435405620 811443254 49510286 477992550 642005948 503799314 95285206 814586170 535179268 207460898 672281484 943278306 461659474 259935174 140502284 615734774 203765100 721810574 21427498 828075828 29450022 862406120 208653056 4247516 823023648 372632320 940616784 999471130 863828494 761311584 384031328 965355116 869720568 485966606 944615146 432812364 701631198 471532008 14193494 705138192 702903692 936898968 36684434 361350440 643923702 834881018 314137092 427659412 32567844 926898382 735659288 131976062 461157226 95708508 495449996 978022964 368559826 689673910 309879572 834256076 305668244 527975450 910553750 410761624 725663388 607694488 802505620 453373630 579010896 870966936 850188760 417817570 926423054 740662450 108894740 643376572 370740194 988292806 841054620 596572774 431910552 712979142 247780084 678008458 696185722 828370298 576076598 360288114 581287184 861693932 485087304 376898138 298831760 850557724 958846602 42267690 139696780 981214700 165638332 438372580 369927134 87767254 648366954 195050724 449866574 717565160 694757406 312903750 442002190 502297340 902577934 579067852 895799464 2326604 129307932 189904830 589460538 797650246 650821294 982888508 895574364 783690504 669465070 231573440 256625868 577729994 737265322 901425832 673026482 682633774 175401484 764102028 291917888 28436762 932528536 287429960 140949080 548213786 89605498 988750226 848034318 876616052 562594200 997029410 640410870 761502100 992569164 268293958 610689142 582222682 795081194 60435964 321544900 543574316 698213284 186180436 344810920 603542190 462048602 392561626 721929742 269295070 192127410 42954846 242503194 263074096 490652590 458831192 458273348 177441956 895508098 116516870 132281948 830276004 265755378 558317352 127783360 398879902 515609118 481169812 649681580 414612344 952030544 634618758 110364608 722446366 113276948 204050496 702757306 835412456 933171160 393358252 656613338 616788588 104318966 399063978 530592518 248987592 257014752 999750886 459593500 811063008 700194074 217819040 729435436 285913592 777788066 335229936 84624086 646275274 324633184 489665382 529103674 559582678 839969812 626458920 81948454 951417690 23253288 597173110 863993658 558628598 399230840 681269788 123751598 595614048 363186122 36196182 15998978 558633460 654832872 664240962 659232924 175404186 374350220 691782790 718527038 930459078 176849608 345690476 133207536 763224658 77891054 333860028 790139310 672730932 56972530 903320118 702678030 834584782 618895510 497956672 661399256 311746682 190180938 436607272 564740680 274481738 109638458 252526744 489754846 160694164 305068326 828257936 312996084 371141160 535818772 868937612 950516826 135694924 798880526 83658532 354248106 956398170 517246468 205367488 326139348 838795856 850045534 758794210 807703880 707470334 603297222 819821376 422014720 755843106 308246788 838080662 433052628 143135866 623345782 501688636 24164106 103950266 364613022 472466122 551650896 25625710 794203910 328474528 856175198 940330174 802841386 784352518 466053104 94328322 176853100 281397460 930951158 487424340 561950368 319789740 876096080 744326540 485846574 481199962 418394684 977542476 850119770 394662268 823884088 179560534 776706004 708312154 487118866 239093334 634415582 691678624 440103048 69869642 679920262 625163464 891726874 29532322 285193908 424283746 709598828 17522060 246208506 885657204 261636878 657216632 830086758 87485962 939568402 723128448 453145172 653206346 170625018 779075598 255699342 742749728 194167020 90366968 119708666 773996482 93772940 38692656 511448708 339673924 681155128 581774178 86232510 194181260 607598662 975773008 724826072 824173704 933582270 693923980 583782834 561255868 711684346 95820852 458849318 717535740 491337836 137335912 64381068 514597436 228838776 907134632 326774260 171274626 680441246 478966602 980716976 548580820 181723550 785953092 254952786 108913628 373916028 876400076 82180064 644117890 508587516 124258610 645203538 335117962 488143780 217252190 687279306 466260906 636684590 133570652 578924614 736430152 555060136 956428296 863476324 674852350 477598112 645206036 649081218 609475210 365025430 781005490 685332274 13912442 960117998 118617344 982177588 925505030 417379118 443882252 124107296 297607386 236680644 300720884 176002512 823285644 761664532 978515384 505641904 545475566 863345696 213302968 574433478 176689178 25506534 527128094 92023894 459511356 924962858 371495016 209567260 566529062 8413668 26930652 303990242 553204836 613904714 879737142 726181510 726060016 492475194 868477254 17788312 887846830 100060270 872258116 353158028 408775010 813623898 801953610 920348350 778889160 652211032 487931218 325902040 243170092 715747476 531368740 998576318 570587816 425584388 166728408 976565824 522838600 129024630 507641872 829144976 487991588 122924690 628812468 640017638 578687094 919490392 450513796 432816062 57546894 891726660 266609998 469958492 689155658 738080332 917028276 228348472 985069552 647407622 999171178 476900682 382169316 307421798 931292552 47415916 687287292 450116354 817001554 841356634 646020176 450616388 602854954 157520034 9497882 730359648 510126622 203733100 93559246 135952454 375878176 140791578 891051538 502176854 412395026 533117424 180237090 121118162 408233054 243960898 38944296 12680984 509769012 389939342 952189458 211498628 896549450 234396104 273525636 595676272 941530986 119439626 418938372 343554732 620070106 464725612 411225486 360404658 156386928 652198682 947418744 238084532 872529868 174433300 419841176 218077862 264938002 521276716 41683658 171767604 461054412 73659032 67694636 992829904 612242346 20604962 620016528 667746660 922611502 916315298 977027064 798084718 434141856 639200980 890844092 125705792 633675722 365014108 888417312 911305722 949561342 265198218 829294010 888414698 292709018 969571076 716011822 753657364 880216392 104621570 474008768 361685478 987193064 516054748 262929924 451160100 582860110 149521252 320656676 302637200 801845964 771478466 703989422 388487170 625877636 938234246 165126076 768757570 914122130 82182322 597325788 653374562 556134136 661841216 260997464 942997674 944570604 791402634 415342130 681283888 89887928 982285854 786364404 229099860 480116966 843236988 879148504 244497156 918012884 340160116 30715734 338697848 518186284 142197472 509827656 167404380 285753056 900260588 685306006 613636594 545475768 657289276 972533268 339792294 93841200 173742272 104201846 617795656 707446984 262707216 58532612 495620560 809891774 59994694 911753110 336548840 605425736 145969846 319882650 716865848 565495052 240786204 697666842 325732160 814692364 241018730 550849412 202582888 772623268 995224238 602478274 6844658 106540896 882809630 279375830 172807012 223513334 310656348 157294516 970887864 34704704 952407378 737262318 283048024 877781496 450067132 213952218 498266534 705311772 323475522 629898798 710305994 83572832 331730008 440859260 891561740 721930508 727878392 777565422 716623550 70793822 460279068 348380834 98965500 496858148 89545580 427096986 956217850 2525354 949330304 884003364 588801178 921608918 769781728 264205422 316779286 405100556 920935264 575096576 608108852 369266848 821133930 782963506 666050260 815386862 51921854 667207832 370227290 888784898 32496290 419420142 540563564 115206416 151570450 213373292 14056584 918591168 720771090 641583246 611920756 367046932 395625418 593633114 279258014 364697840 70882562 862862218 167017140 20321998 530855874 218072698 141493948 484703492 473159510 318471942 192511558 104899810 671248608 870782968 145030008 323469836 841575272 952072640 718617154 844612770 163862370 658642482 909021066 392842930 123602464 362191788 183192442 261556174 169856116 397522698 788176074 156330552 738878452 35300804 907755404 366236152 24737892 429904388 90534514 327027450 834694080 239390226 442525318 247655378 498083736 200245894 487270974 316640522 699937528 959429568 992426708 919261890 664755404 924849662 702265072 103645496 485245692 357314474 932524190 858131202 47160706 957464376 308088358 194861344 849737406 387498996 771002678 592744338 73258562 763543180 435309126 715955582 327342528 359130286 188181478 954485978 720974886 521981816 140229258 182134552 760683166 445194552 473694320 8728750 86684560 377099162 705440380 918735004 841187238 908281274 520316380 922712544 478643014 496946728 728197932 211296696 346962712 797850928 601343624 608580462 893334486 344635954 612049578 101129656 474486470 15164322 436909490 401144908 377331218 355336228 572425332 629734524 620981364 207985156 624266216 213608506 169581622 440560944 634989526 809808110 616845930 368336684 146486620 16830820 833364134 895936228 403663246 724189826 84578406 442036042 904758182 830782080 265688178 500944642 694658576 612737746 426216214 909639012 778186868 338828176 881240836 477720440 246219040 655109636 390287000 47769726 742342480 636233022 391715740 219409770 781131458 40623658 835290776 672934564 466205036 662248096 565442140 75234646 168904112 774944256 165972448 634550294 114667080 203851146 159777746 834459030 610949106 814454728 545736304 340261910 662221512 647973370 321227450 559666906 392532830 267858060 4088038 379827082 424705630 414051488 799723486 787727534 819879562 225155978 461459790 598533592 7566886 371462960 938187970 200561102 523505004 876155738 759050716 564405468 776845904 313422146 387166376 302562234 501666654 251407008 4282250 383090178 419684868 484222464 968409964 482275084 3385268 870416056 42268142 864624724 594902682 244478620 998714936 402835700 227693422 791761058 11296608 573073078 863684268 538381334 724260186 768822460 654167646 712058788 595291562 39881170 102546380 922694770 770518318 402121872 351252616 593520556 336856974 537941046 610379058 503151352 692476932 579765246 470519370 777655974 242381110 789217670 537844456 591591916 385816512 456117040 849924712 607418674 71379868 325175954 628214606 560828896 934259512 814560088 379677586 481464084 422796662 706952242 506596234 761804590 7506704 770021416 158350724 534577514 800398762 867406210 896447842 615825108 158653904 117135714 933215910 126756438 361787852 306719084 807091958 92178114 620327240 412377556 304728416 775155796 901507234 934051286 222963294 112712138 551740628 660327552 65066314 269135676 520815494 877130782 539916766 248583588 681692106 499158334 481608 970421256 756201094 701235802 498250262 810014742 432193664 850774732 702195514 69824988 443170750 809052556 404467862 519399770 568091900 394377170 33652868 517060060 458491448 712768150 967413088 387426452 73290906 511450978 845320224 140968328 918141380 954337920 291527846 42692062 876576340 68044760 119365244 707403240 492931600 597848274 229876936 333381736 495453150 262503096 256340078 243033762 707339746 980000912 669779010 993502592 587329410 705573636 982199384 208451954 455261978 100624656 566538146 440002020 776597252 533382122 401353888 710703856 335265222 363712948 251080662 38839670 625121590 623458616 29369854 807081324 914004716 522525148 959482356 433698734 723154614 861414694 635925770 143570014 989969364 597681706 877045916 131903850 325899826 881598202 948499320 949706050 430529380 976145064 432281376 233078780 677142858 518537470 819521924 640715234 385207658 467452604 127480748 96327890 701308704 392772386 661807870 733307156 560127704 760374702 870538712 804993322 265461616 565025294 853868496 65716752 465276094 315719484 398195758 843281680 152144918 322883928 259415042 501550036 505028078 27405046 866707626 380471124 892469268 354058870 911658584 831420588 72844350 721451674 998496460 525426462 267089434 971062884 171109926 675172698 605771582 998331452 839078158 716082308 959786782 454952814 861327616 10858296 278094566 481191196 604244712 354673872 587958070 571878872 25115682 442361910 317763742 547756870 585102062 522212212 92612514 15627994 864051284 93289958 705984494 698932738 215149932 374087416 102585282 369242936 524043228 860590866 572618870 643726598 815258376 452256840 814834912 706320322 410697184 68483340 633845984 819019280 634395486 753619194 901930200 180329242 549540976 838415800 826030404 286204864 263320430 767353740 447747164 181749162 616453730 140920140 326805266 444519870 750852602 870547154 573191736 88538862 334460692 138013374 343598406 360127218 913529114 66514374 148148236 36389542 365478182 688293636 79522438 309474536 957139062 385735140 546878316 558863296 258585598 89402990 877460754 6381814 527832400 406996904 8053720 504212244 886267804 484497096 395098858 429393612 838065082 394076384 144758922 765109370 588614218 90484318 124093136 739092536 4736090 966255978 173168142 182218068 990899032 271745396 751772746 328502878 290646288 412329184 809870994 861838382 822903308 296402796 810516188 729425920 12010386 157565102 719837454 446019028 516887576 779150588 857603792 166813900 942808264 682927382 907867360 457155350 152928442 395808422 234425338 879787474 646076122 710386602 211537090 871336646 62166814 494214186 89703968 555897352 385419212 497146222 13008156 589164792 193881750 214610132 134327572 591044222 837234328 524836978 636267112 174543792 137684106 595520872 28685068 623208718 946899498 963201332 101655188 897037236 58579508 471565696 51406576 172717288 629426720 784528164 312923400 825595614 768868130 206218546 651150054 262731026 925024850 50693646 902581256 732018070 952184114 2796620 843619562 130841786 421420464 782165954 424555206 982841680 490597640 93994758 473243620 237209810 870515742 599624062 52617980 684283522 180491468 751605728 384204910 368308608 917853828 14535632 919068938 293201638 955127306 235635078 845131196 302619016 367720040 331512806 739968650 368110260 207629076 641473082 846603398 631529268 914257810 582273310 263410516 610438554 714914066 803918868 663752926 721148880 971339716 437045662 821425604 695241598 192845740 81208322 509996144 345174166 864872070 506109402 825788470 392644736 736347570 850281518 793990786 471814092 367135010 957651266 682149202 932485820 263696528 254137454 646192282 642906952 150165186 702906838 777847674 223904850 75275926 135530370 240470790 689685756 795608424 19399036 878178870 385970676 991400126 397090556 238638802 349916482 837666322 474929382 673700732 339782202 667290478 360604772 765673778 787544440 798226122 150852498 227877422 928916712 561181868 902739588 465035282 444061948 544233240 470118154 958391450 976488176 573434224 972748390 137514848 417530248 832336900 722755140 231954468 544067198 85544862 322094500 978994486 388090260 278234518 997751582 517726272 98812422 137267514 610839120 487609436 288843764 311376420 460660394 615760972 301665422 706898842 365446802 639656988 23285910 869770906 330604728 909464514 554776046 570562952 104108696 3285738 755146046 752882516 439132544 763887048 157062654 579887132 992300414 283653040 830297128 804565464 17952762 673098320 289206756 29280968 515897394 997701658 786605864 663301186 440426192 48886206 986668658 669281776 668565488 752044030 84338566 812072888 244318096 773050370 953054688 605361300 65409116 870608916 187237508 826325980 641661828 926990956 598744092 781033362 375066048 395887036 651853974 164575126 960532136 942686060 974872214 391863946 620420018 530582442 359461928 429265914 273123764 147681276 118901104 351154750 61739778 477624458 109455446 717390952 428028536 768928718 39629644 885045158 601313324 519694324 24518012 448205348 265828244 717139166 374562286 848010462 771842374 48418868 203286978 150862588 40514898 33282276 193781014 183405232 436139104 998123248 496336598 647278066 593878730 562855260 285472092 254372740 300019126 469094204 115757402 907858672 616026302 249661412 309432772 842000118 52062594 398716150 264763638 485912220 24490126 914857346 902345494 265631130 587958670 856987216 83708892 828616876 305583194 561377016 595839184 560405096 343102074 40087760 741525372 833163906 433841828 173677872 59380782 184497752 603587050 412840834 685495266 680316732 985920240 120224100 612648166 383836254 849936590 262836962 662175834 42080590 269463714 909196680 251155038 387124634 280360660 64328532 56325266 831863154 29663632 127270698 251258502 979173906 957704850 524301070 903047564 464548894 775570854 727399774 156417586 347257158 185494826 730536096 744211172 24750458 184684182 823007386 810539996 612346462 461042718 906271700 941036956 591538660 109108468 139054976 557801952 144250902 632146226 275918054 739577810 468963818 646257782 660928354 217856352 453418824 873704104 985616058 68202658 616538226 825389414 465161562 359326888 252746896 193826326 804688366 671979278 568329492 70127676 610342316 10922986 80113868 184051832 529435238 23190362 301869238 636202918 51050396 287746332 68471476 182447706 140205910 423777478 970318510 3840836 759051990 917610476 285463434 767291210 145740414 586185752 412934162 731074204 581274128 3193866 801149262 862129398 355353776 588411666 552616670 136267260 713829424 11357964 386480504 164650278 962067832 390896054 661422998 471065326 253182906 908291368 88341542 45033890 7549976 602620374 155224666 888855980 346898922 19922932 395913206 953776606 937678940 919244626 466577432 407197384 375900804 775107530 403756324 17669566 955442300 624110452 939913024 72563274 252667118 657028066 403485602 260072500 563437734 336062582 128948208 217260994 350302282 544078140 735008760 561835902 996671620 655819934 850800172 257267308 504321624 914370080 563813674 111173526 606848650 407933504 525903692 879699452 288802410 991103180 636870530 630644774 451203240 571380788 589993716 783684382 716850862 764568414 725312078 691449934 515451430 748637994 371196446 574999684 577819752 248860846 110827938 746340830 495471146 450607628 157425102 380251864 677934278 151138104 350709154 231477816 781389352 751791144 141022458 705624884 5567156 285941022 430718940 552906012 161567200 419226162 614213096 942191786 188787772 922770762 499045410 184992028 830646718 168408636 713025262 968065598 16572284 417970928 947753706 900166606 593774576 518104484 38887002 275279608 472295566 113300046 217811268 361815554 360646450 307649648 509800618 142284444 379961258 828981132 427360798 832517226 755149194 778323878 907520418 376688758 348539558 833031190 205283394 948632598 245978082 720496256 8712848 306122914 836126658 557435630 534274826 644025562 586513792 481505198 118199786 652278414 982386978 101971536 766021764 99789184 131641810 232325920 891993398 152466778 704558130 460978468 31412926 101384074 137814470 961596682 121074674 666185216 671591358 26964736 839986906 203618416 963078676 816064940 289493788 245354712 270801046 229497180 778265512 1244266 419307820 894463022 342505676 327150146 659552264 736711292 719100132 983533250 523555638 989374840 501196166 952997000 163466138 671115072 197680518 249823022 921980898 696847936 139474680 751890836 751568806 737230206 148929388 889278986 844904568 81265600 762051316 600260602 702757682 144518782 765534720 369753542 845280494 415231944 588284332 979419862 479576448 891476736 128829374 390573332 829601880 26929724 541673078 664668520 377512240 676915516 784741416 596828412 309726140 215979798 930384266 680779732 581680826 352185594 741656750 185968580 123233648 240176814 304758990 954803572 837551500 886464214 155934734 792030152 945398392 219516240 350100570 958253398 457533410 689417758 379935430 882013462 472542600 931269674 438295526 406961880 685747110 736587854 219587254 619427168 158577280 35519244 438380380 405899346 112091520 834967100 47194512 930082366 656377346 440438760 906907448 655495640 357499596 86383850 217772706 986060344 175404088 231492248 797559244 879895198 758985334 13297006 566475602 340237818 921610552 519184092 99108286 403910272 771624840 959156460 638575426 305179780 24829350 732550056 108186836 389652344 770205718 452115060 912829732 42897146 818913484 805030764 533331104 549722272 129992902 139247654 781090780 786504162 493652566 348142122 214198972 593897272 631448304 311767876 902364704 523636468 120328900 140740128 971951376 19844864 440341366 184985784 740586038 241002708 720396426 834539322 911939400 555399564 371226692 556850068 202444418 169231046 958925038 240633312 903715486 226588100 828102604 221407758 872752796 568160510 520022864 1438878 756359992 774004416 149300686 730398514 334512274 158438754 999921004 394344872 671223298 691943696 904933582 6451534 715341594 415321170 58043152 551495080 418579820 500334368 642900346 361473236 213063542 728981932 680234488 59390398 835180164 143554924 195771386 818915676 698299544 320840426 588997832 194164368 906963874 70804998 702420266 299440046 521531536 708165302 501523410 844036856 440109614 421910712 761050880 130608568 923247320 673182620 68155220 247080848 968227040 89711854 975861562 231674830 23334426 123969924 931257582 228006046 837258224 465868612 971278684 328366862 823195738 809872878 226633828 733025000 296032812 386652078 723528764 492479856 444511916 711127486 326344422 331035472 808015312 601318120 409149132 917717940 624183806 529150050 761534788 793470960 644792052 617031542 99672462 550941852 975871652 811227580 234546040 90473770 141192990 622920334 849573100 708207576 428655794 863610344 784928514 584621724 119612288 767448920 630668690 932065660 350870972 918264462 749432716 686573806 22124274 365096592 316337962 919325344 830663940 673013158 276186182 856043262 996509376 185634314 39519154 791223130 793175566 681065082 429278838 643654276 18269074 334095296 581148204 212996422 642090906 231075740 387829470 378348342 479656256 837781488 344009520 35636744 704623558 214024620 874586546 227775930 479094110 52680532 21956738 741085628 841286386 692768280 56729292 614525498 192879778 142855606 827107030 719511442 426268240 586294108 451153096 178424928 956215270 707106320 246151112 577766256 172331104 558275740 916693850 104536056 888717724 582819520 15692276 519526994 972700292 105294470 581539334 860897302 252810896 274422530 125451328 217228092 736518794 198839326 459212924 260320288 777964824 994677382 270935692 343425000 416278076 856387884 311624166 204749524 560917596 938961184 936056368 320468538 308909038 478408606 592099912 215932958 114000622 520489792 733057532 382882796 603791866 777791054 123043426 662386028 418877480 6447594 978079950 406797980 48246156 450278506 700602786 143186832 26856668 256499352 584104196 883134750 148682506 265345604 674081518 97286416 151534128 973561692 460175642 807533496 298510724 598918014 323503764 159355322 612065574 285944096 244031342 435511816 899851486 142162368 497590988 499979114 227088428 330092224 249984012 544478216 494396746 336652982 255150452 816820126 639999070 220684768 777283676 721404516 377197924 530382564 589516706 976100004 63626878 51376940 430844384 666198904 361823202 199199388 312802682 490001584 136133000 641427162 713044888 119495550 734073912 167028162 197791856 760869880 857735532 20498002 196358632 543675484 282199448 695104850 569226502 422281444 388826880 698031176 571504380 754914566 892546440 477227678 164706588 166430970 660894638 698205680 101254550 325932524 100654394 772731304 972174680 995402948 137441874 429129644 803794148 618326164 808617530 852417690 949385458 134525614 907952898 919759616 879934 863667998 310338584 432520590 293290230 547155716 751113538 61380702 929317110 210300840 269989370 773468446 394660478 982628570 197570346 904370618 189775972 786040650 269114670 377877876 187561238 906516550 162598420 212671034 632592658 840824364 613520088 174496918 628163414 14463542 75359752 957335652 723817514 350678214 451969450 528720906 645630898 769193396 578362354 607694488 754947980 910294542 110464706 245142524 505921964 194473492 669942548 753471602 853883958 332501132 400192346 373265346 591786626 992516974 377340596 352942300 881800274 166079150 74828318 383887664 828342762 732814264 307002826 681314020 820872288 499616070 638655366 674392066 765233132 136071566 928587114 954848824 418907240 738669494 371502604 50817200 523962858 563350080 80171598 733486874 762240722 627775408 765451036 930889798 23379804 645295792 185436386 348823894 492310670 431824334 57579982 522765550 42447794 137508304 360009526 758872938 21304168 760002698 965878690 89947888 507335386 730787580 507965836 193171260 297932660 706854676 485373216 158392346 469378866 503908346 399789492 396195382 897400330 489292964 624302832 23441742 244616156 252411504 235176366 880265308 844870924 633510008 276892738 36465340 43261448 603195954 586333224 966157956 493584080 931714584 785624432 16354906 789742700 285421118 562594906 749181670 293045734 399223730 786781356 755928672 740955664 845973708 556867650 486044102 772902332 612972324 390056074 43110306 944405690 20723794 774728816 695163360 461215588 793877320 24589760 62747394 649183098 331785432 191131490 999935168 370335834 444426080 807432612 643878792 210880662 224484046 456237716 454038368 542811678 651393904 97959304 298727456 829720420 375313304 160674018 397949348 463808174 202505386 431630668 937524000 76938514 941642784 961491154 527358142 705336098 13121804 205372180 363555044 288413880 394615784 471351124 267941180 857108558 470423282 26582600 517141608 150442062 622950962 373563010 27882878 382130134 383829168 165008034 941910584 412254232 216733402 227975556 19088340 262435374 289365644 255075784 901217610 680245140 930143446 221903702 904609192 296099040 702665252 502085274 669066654 797077520 118179010 301937862 428659758 750765956 715079044 731044150 972806752 626283596 688249640 340721972 259680482 193683988 926953318 798067598 769734204 536460466 495157458 990785362 743288108 62079766 871031070 167096336 950213488 247605050 452612148 656996372 364678460 516870168 694292578 381221796 602900362 981040982 567027480 146589926 275773116 181967702 510009012 552067472 946055034 638644664 84582600 924127924 906673002 230635220 389902092 520290664 659985958 589793590 367631666 563691652 626687226 767083568 531173308 789827924 852331206 831672704 913621124 884930522 616492292 822817908 443254566 521147394 262914952 570058762 436340638 513298626 153438870 308969246 671437470 388044240 83388220 871604554 640655062 806111002 560349192 34162564 604146044 716659438 686615236 544001032 693633520 554171760 731194006 549380070 363154290 522742300 440903554 898030270 110458430 297345538 892319286 660129830 975099402 398891984 306625958 209316750 606911174 640220498 750244012 294758046 360792516 253476624 273040628 786863286 654338702 659108406 872288940 641835500 513994456 888363762 155353064 800946304 656698792 609025430 786408890 484299204 691182558 691131242 176701190 681261598 806324242 921558520 792968180 132289664 439867294 229407670 297351708 38368176 796775030 466979802 310766906 147959520 763473422 673971200 391491634 919592048 411883794 622445920 197074060 467908976 703600208 821275878 91526324 290244724 599129362 323359780 728421792 329156008 151343362 990448152 841044916 517045114 564257078 824017028 659623532 350254862 659597130 490708694 37389496 864911380 344029040 366408960 732390102 940909978 115939060 849078110 660560654 288178160 310349048 147953020 285077442 441712592 816038840 785542892 383468116 360954826 343439240 832890882 909988714 777565972 316559700 268500884 577780508 268212596 337893994 248563234 311837108 912311792 544332282 562948380 534765328 906031100 838803096 135508898 81231240 49887446 568803134 281939796 299818354 323784442 304735014 378455178 481961444 308751238 27621784 912505940 930251390 807135328 915084012 922455796 270944082 487887502 157018728 682717570 248988310 255423248 311949412 732810910 90294222 927277928 569642448 273216936 538031128 814870092 116616128 659298636 252950748 344609422 292824724 604143520 376837054 80567118 560791052 510660886 419686288 806586754 96496434 56306004 370575254 972168840 449382826 188590900 738987096 655595322 311946964 600557280 994229962 854445128 295542216 711260606 638579468 797215898 624446654 398523510 597699718 812277952 690821184 787703308 258215828 652107272 495391536 302149312 244875690 801038104 386970776 120962304 908961658 95210096 257765324 907843820 4761080 408027776 675405080 437213636 159157388 710559662 593811028 241597876 950455100 266617838 490595830 807087194 456975572 681370194 914070414 309467148 697237268 680719690 934477230 341578298 898978090 935483468 287667692 368825866 171580612 915744568 69472950 543792204 638901686 204799538 213112668 490094674 157347770 806281452 112062108 721701176 994802318 898066230 935795400 878127626 936331688 495530232 213650694 222622742 686593808 721709680 740177898 348135242 321050902 108556830 914213040 998243810 713856944 373660290 358902438 687703936 373157778 714327730 529642472 973781076 231781866 650420714 492868472 638359336 478484154 153195320 854852740 825756142 191255764 507056482 580039044 405154328 329686190 328021440 182120190 449856038 132211768 796617926 39631994 853264726 668863128 907599524 988716982 876703124 163355764 915345426 826014048 219661256 829495376 85847152 882946794 453706518 778294750 210948116 248202006 936313360 543273020 921603352 403569986 283921392 45934106 701001602 55782290 753629200 618416924 650939168 205434012 279425226 835865450 864653532 809146684 286192556 870805604 146849360 230170848 87284464 426045182 183370126 517490988 841015628 577107348 731811890 874827324 623464502 839615228 34826580 501791458 564643048 300269674 872821444 290929170 636614262 130988534 511487952 275596118 736520476 707657472 708205190 155330002 70382812 244699228 459469122 381187894 749172304 54687426 387615330 419970516 485987928 783306320 807105194 597238288 293461084 291695150 838613956 685341926 34994150 434401980 976164318 437360736 48578936 76432700 974549292 224144744 292523938 373939372 107731602 991485262 712475252 718450096 818992476 23288562 971820604 396244338 231004766 37141632 477615704 157576092 940246288 301031114 182447010 779711166 730311920 651045614 412568518 546234226 27016274 540426886 550157132 661466476 503061328 501149028 356385782 479462248 439532588 26844636 353922462 79201538 991784778 639169544 986386724 216007020 965953958 283325994 403173052 553213802 21695018 967250742 288424452 203604142 182336970 722707782 544129516 896935504 587332412 137117044 301365392 849469480 886981240 512080770 620805412 184701710 27149788 966002048 719558750 740737438 393610866 467360858 88654558 936056158 836233224 625058264 201179478 317482144 581290498 107546338 282394780 99611232 505951552 840008730 552281926 108997510 194856698 86346006 92612684 784708030 543995560 465986510 760457408 463267236 797345696 925911398 105372606 357823920 638605850 885735452 44599594 869602620 214560680 860563264 156867458 981202514 495074766 343848144 692508422 391949142 306202298 18104412 87551982 631459428 183280174 279952348 45497774 455715464 468669004 783560016 902379570 609841888 886439674 622270228 656947346 59620474 502329864 248597652 581704798 90791568 198941292 474898206 904435482 171715336 899962476 349989884 694687128 372074838 27838498 518189386 974645386 455248902 327305062 852903620 275609696 653382134 561829756 956421284 468459892 699407798 343227240 543493904 692433312 519744630 890593594 882479006 964149184 329556418 54201958 359925508 308664094 685377350 913709940 646518002 715540360 956316196 269948900 968292264 892039970 998302360 728027244 367577662 40392442 694557080 855245066 180810232 986649464 831637960 694991636 646826726 108963236 382279268 491544592 120954030 426714526 526598768 252881904 621098548 691866396 80876278 383234512 690103862 558617274 846015430 190644500 613414222 632574578 742800676 293391276 204347604 532262736 64416394 756829190 147547240 647441418 720897242 584104984 964492298 817936392 708266022 66861532 867383390 818689438 185023314 38737676 626106256 256515470 183504026 839394290 379493626 364746624 570998360 924404906 151719968 177620532 603235338 628980992 408379478 357705184 911109420 692066732 916597932 370397154 874626962 344876948 540112574 263007468 661307278 935364116 304703264 354820182 778709312 940323142 958129882 810536536 784406706 340938110 203961796 408557122 497233028 581441774 783382816 353978778 266711182 518514964 604030624 538511848 173215126 509210568 634692672 378930128 949980412 540815206 205115072 409840620 774997594 612381020 765332158 78312024 916103182 392220610 903593824 335209766 806635470 82298708 512039712 819426470 41298176 147610458 820008116 611641444 176744296 296804812 528652658 87959082 361344452 451321564 407615302 682383760 646560448 703501840 80401836 527450570 54647636 560514320 941355624 148733856 848266110 44859380 835655236 393950856 886848372 905857024 6428642 391012664 9350618 684203318 481793456 625080354 877910874 242274958 626408600 13303630 964649888 247886824 891131692 934293902 694733552 170328376 496165808 844046468 303791404 630303692 666270290 387217746 570432378 7406090 701293420 36751550 143679084 846325970 406620364 64100270 294976918 826249778 500701108 784980332 286852202 67537630 821522054 463263934 84340776 885661794 87130110 319388598 94172772 848889970 556381160 842866910 368679750 883181962 926680774 253420010 677236018 555175172 145827412 529517816 300688268 304058430 828229546 901088498 641053766 794416574 215530000 412846248 936244056 953154932 467442506 171805378 18929252 814880520 313326592 208482256 386418894 561546394 427816594 550491888 164680770 412484472 109811196 106946228 735389436 778630204 569765080 656538706 6799888 926878520 138498778 425175390 819069550 560306860 188420262 624799858 443661548 290718438 811253380 531284492 637246302 988961398 811297866 749490934 542559212 326281682 873128922 611908524 447588812 363024124 802597052 174983534 852685870 648540004 278901614 227801188 506089766 695487132 631249174 849796178 602040618 899758682 676268900 751217152 14224896 203945276 461718520 947995638 965933446 132806112 113796796 985405196 336847310 56621692 254663578 27000512 878439456 884457402 831031164 258341262 136285976 939966614 11106300 705237578 791836828 834236376 806902308 390827698 542034796 389459654 105739730 31821108 43895548 242207052 311568040 912667824 623615300 300046624 866532756 363001148 547149490 775109410 983895084 666176724 481338530 722781902 11537596 87605744 627096092 445837998 294629850 825884950 111197210 924882874 363017990 977762102 251155402 630852988 480327786 64527866 303201714 478176858 17402624 958325976 377627498 490655968 543039230 470109480 30155856 789152168 836688052 163311570 937815156 918715338 791228494 5784960 502554518 318279354 481476074 641518004 187060870 287051612 937730008 562857020 544573702 224644132 590404540 576112128 828607120 350074758 458591246 946258208 476991640 175545646 961375476 131677486 244567694 445612384 169091200 321396922 85787286 378962906 564151004 843503016 456833120 787705978 936051912 887274464 985202084 759651536 559246492 142130040 927044458 190567122 725762468 446501374 251556836 310250064 838863770 696495606 918799194 185305626 40633838 425114408 628546878 510750542 980353550 54618454 539912524 290795326 595447608 918678656 335746998 596106978 322705064 400135082 166687464 289237172 899555870 158874846 228065646 891385586 832950958 297259148 781415676 159068778 546380510 837399890 240174558 52619944 58418998 985210360 825263244 127466556 624079778 510115632 616819434 314557296 132483474 92862860 526902566 749088978 861724596 866730284 938335874 877358158 515426032 148279904 870404042 107642500 669300524 155328316 944391414 313979828 554182690 637134586 841086726 506997816 851787136 2383052 630128888 814925786 25314796 998643346 436597584 956882354 688685802 310653180 850292794 138131736 135388260 913145632 707251642 967025298 146413124 105118446 562797890 845046828 469490278 592701478 918349680 829654938 52535900 703861456 369253012 217838638 895122848 902651114 712243644 195530818 153236870 172454218 977054772 165393834 574799658 641382734 716052272 297268518 490443092 357176304 496700030 458798994 337573830 326159842 323639440 469116094 977784388 916328852 365966474 582606330 499120160 864988446 931222038 84379136 877992320 164878656 501324082 579135072 295999336 727428730 749857796 994106108 286060678 712514434 83517130 643246268 333752078 220610430 351190188 982826400 345207686 241852230 385559754 251958436 570898398 746358280 212576672 474152828 363663820 134411446 295750868 675329112 376094776 743933514 292978660 879051392 120684858 973082862 692971972 62180508 165012086 41536136 389935124 541431624 411012368 738552202 406943662 363712248 676814784 671581864 513254698 169109634 447886018 610182670 720550898 778130900 132719506 39349320 929595380 200630554 765587690 686163452 291426046 735767102 938271706 765690874 586751096 258961754 728495392 667428506 312836290 478246498 796068630 990299260 387486302 934640566 759343704 857645048 118381962 825649998 750868412 475923652 66096218 248373524 121208302 170048830 260207100 133121838 204452282 771160164 786441982 228916030 423916266 720288498 501935082 448946512 946317404 222403826 925468624 726304016 854767536 311346552 217662314 323737334 869182340 680199296 140129416 592866174 217532790 506406934 582511086 731868028 676831864 808211262 117095502 388070746 948200266 661576130 422792972 609533244 458508104 843000416 802950954 567828902 790018066 625025890 367377342 630823244 986170496 614536742 468768444 856323482 985069662 441701344 531045848 899515248 170774880 345441256 346866036 199583208 861820848 741629976 65890724 763400216 992847922 471830550 35480468 426542904 979276160 861720566 239167034 711777778 99550536 170248560 726674000 615391000 22605644 407163722 815559052 319365996 959481116 541712234 830469994 143796238 538174830 892528460 262372790 392555342 677456434 512563974 347153818 877374948 751384988 861619678 745255966 31442022 3189762 907366614 590819394 444279282 588646010 841209158 683395484 296041112 434483008 863375788 785226674 499378032 363040298 347565034 902746988 453615388 295172488 80870410 777719070 178442398 392148674 824987604 857148556 936297256 550298692 864733754 698686514 216042614 204103660 615548618 179017688 876055258 254209638 806261808 243214294 639950570 760310730 52800284 994000144 179689308 694249106 194008250 480180032 762004416 754073552 911142004 310400008 958214458 529836096 722974316 809100856 715048956 46688792 224709038 890694318 882909854 701343160 116600718 983411536 903306038 313080996 743795612 670837080 13151492 505943070 675792190 983707102 74984226 328053592 44157814 840172946 42388422 840569044 898840508 387369516 888990756 706797266 9880600 69596704 968628060 113686546 529619624 108409898 495697206 2106480 863271696 6790012 302283444 664884478 643937620 238203818 911030518 931148616 255190244 234281472 802235724 774146396 328225878 642036944 788440934 689064596 359689612 239511088 506644758 236445888 573327064 133020512 869165076 300875352 394958906 502689366 946342458 889989614 844002538 524181960 32809834 117005270 903340090 900540264 991335202 593701986 132758688 421386712 388886730 978945608 934588948 255069804 297194540 479405464 493761746 604056664 954020062 574893024 220658606 92616538 199135854 141709786 778162718 792638420 475770232 375791352 27562246 757121884 936847802 784893274 92249700 235804326 65087304 739502606 480746132 583992784 442040328 803951604 829562154 130481608 819908456 703390824 665987848 668360728 97421790 739027190 700095334 53693208 736164794 977704102 266809908 502249996 412538764 442497716 632501152 823359880 997287788 678186302 93699194 985926444 459100214 560826262 529243130 404562264 796488642 930907456 561574008 197781634 24054062 891709150 968899502 307571574 714625452 505712680 475247838 743403814 481696746 724592650 902921432 74489836 887802084 401281744 168591042 776969340 633806000 984492396 117868398 541744940 796903870 586161354 817845144 800545370 568165108 269580314 340715040 104802520 459958272 141008312 414941540 472084764 729099284 286508794 284483278 630659542 760068556 848829606 699819392 320385094 35666248 706088566 950975936 737637004 830091360 500209468 447681176 858074032 510946658 603166934 651723562 233632802 984359504 302483938 828850208 481996940 889691466 47389120 998665240 365387348 986130044 462419890 807487742 340834186 382163692 859531772 583862474 953394810 46957592 74639294 798906774 20613592 176130396 595882222 990800912 578722934 566128554 578633194 47530982 766072024 861352532 156258810 27175220 379986020 569809742 212599322 416411228 104627888 199827088 539435396 496872904 335512826 843118538 288307276 768001776 168018680 383522696 126052988 434940926 25500550 812515808 309034454 143796584 375576412 322591002 676888870 604811098 100288544 650810404 7892570 750379062 446336134 833918380 306254496 186069192 196469482 400727198 442033884 609903928 782720204 367685504 254195346 353712110 234155538 418147348 406521238 825684862 620665290 681093850 500443878 808543520 502777084 459797354 849468832 845585830 302762410 83550664 76561844 915877992 851347112 468735568 126702578 752250486 614895814 836371992 351242414 327833626 685978004 822605758 812987848 131996084 350831234 106483890 487924498 110622850 186821584 258759208 214493892 176198038 890683370 415680560 272881524 131225644 147579570 995548878 137863818 900790276 545909506 881900932 93641138 231656990 300959656 776439652 255272092 509696452 128231256 12774596 27055386 270136688 774702528 492874470 33353534 73966872 805739608 62532188 396114342 124388234 615727756 294232896 179665096 878243690 317992084 733699070 423617006 717301056 411192012 82300090 514465488 266832558 80843576 200778852 148005800 667027344 555651468 254266834 400146334 667978624 293916150 688706774 116574002 820690878 114803708 432008794 982377432 393386364 870661516 406743574 512371428 701408412 932122296 469294876 968610172 896623684 428036556 374958674 42512964 659346012 829644078 384218008 956096396 156850630 562278372 520147380 605349790 821182362 779147754 941398368 511897570 530506500 683240258 33096768 458219478 717104816 893502734 767459704 381822602 764845442 684956702 212793294 519109102 249986958 880013844 754997866 210325176 459032244 980450694 55665462 136759354 602401692 321103348 492019962 257641908 132749788 838954884 735968522 169862820 612701654 387746404 883919472 701000076 774389446 154776442 614800808 182142626 943901936 756650624 73934642 467850364 991867348 833195724 645116328 861111830 785083742 158507384 350615278 237041026 259325466 785023754 960007270 41764430 472172970 919094804 648224130 415022178 252904948 227708624 851117654 542412964 934889532 799122950 162147134 977664974 783779184 311723438 751145230 479873962 512160894 843556556 700708594 993345988 210823448 789199858 251882276 741964456 200913080 142835518 981595544 527356752 461128382 590151768 642523318 211306614 834706818 232198426 244433250 703659900 314412786 495553918 50288150 775735042 885442722 645267230 639664092 417658982 490505440 689872182 310172916 48957054 616322890 370476556 245905984 559719804 978547294 719370840 891543776 167339762 219109008 949522882 625594282 98639684 113736766 813620128 486926076 481319330 499507462 142411648 603464726 947379950 172016660 819881064 397458312 358148544 426247420 580261862 97853190 912879776 648444906 857574862 876951472 682458660 738713488 606468316 517520698 213626130 260940212 764425438 723536466 112650362 152384882 356944482 825898536 894789124 508910008 516239008 154631172 33359488 337826356 863428136 9689390 219574804 603056422 73399506 459050230 498761208 437636440 807089046 568313340 764804030 691136824 831542694 292860442 485770620 251272358 862486620 285856390 388356846 643575014 621175594 950499530 601193304 462291108 631647342 40156636 909395422 447572818 509928264 280328040 202458616 376838820 812316862 942907376 6991612 913469090 389739496 633011704 693331096 375821578 109052612 601394798 569063690 182146464 54409278 492830158 534010816 513522466 74736646 120046862 57731876 480512950 444866710 249710164 810734464 505310854 483765886 513067920 954993902 153779642 467447724 964284184 317601698 433606132 799123878 323413134 963589276 92492304 689331994 741305990 627979938 511478626 12387712 488730706 293132106 972861664 557996458 823079352 562635838 669638976 993296450 622640500 916335478 587051580 797248846 471529780 416706366 877985500 715839072 63753156 691538682 319866762 764844962 604010698 928290272 139267360 153177274 649676038 300063056 798061260 212247264 16819168 819811860 541311440 412076136 66921360 137054562 82579544 28739568 843496974 718943262 564184526 157971794 645516932 936919528 702411856 399714900 897521864 78188840 299105216 893243976 377156220 233935214 524583404 867833994 623315300 548826018 434812630 978485836 554597650 316152020 476071212 662584514 873354400 24793408 898715714 293721512 957629646 747229284 567133354 409593822 691248112 281259440 699389494 282257744 706705394 901731664 237271610 228477962 123226066 733144588 919393450 462051856 326563500 686774752 594207924 978903894 462085290 915542960 772779468 687744700 671315780 805633580 765070304 368196110 844577072 75805384 575881374 379022456 581803642 522060394 675043652 818353416 841475420 702289388 179462432 891206884 37172688 196667348 324022540 905606336 517897060 976609388 289465434 625812134 664330466 578550284 998927126 322730404 752356958 610195364 1339674 198760472 847287170 340870914 878481314 144824816 820953978 261947718 145286654 262171812 189233708 73498952 249200198 671601704 931568122 27539678 652400412 828380570 142653734 173469334 169708236 965423566 918762858 55746688 22698484 230847606 453701534 313300974 503122140 916274182 273241506 837139756 381667772 755532618 133081240 324621642 860094388 93724872 332966980 951865046 859958910 254856878 892432930 76762244 3324874 28565598 471265758 879694778 118204576 692096098 538663362 86797958 101822512 263107334 99410238 318022592 896607484 226420410 25173778 34551328 480751672 465878828 975700392 242061968 682566216 863813326 257328030 857967258 319474592 162940382 660874640 185683890 256256754 671858742 433234994 111271098 571051706 903581534 428084424 484538452 158350164 199459750 238154150 862037346 107669266 659801430 802029686 223824354 649716122 398733176 92352706 892627762 596307002 345813508 79848018 739215356 355951282 309621980 227198364 195634606 93061388 566114036 832944082 510970504 440552678 796364260 503750344 966302858 457508374 52778352 452598486 907278072 816080820 212819296 508279998 104444454 895630730 168255440 891930696 277363448 39158028 815625070 894737796 500897084 944784672 67741696 525262376 319407334 464443514 140673310 937352714 427503436 547759000 45094556 355816362 386152270 95527978 837080010 673175434 833020564 130076610 854726054 411175172 394430108 650468068 641040010 583791498 139415768 434256600 541157502 973168706 161699766 913612456 538821134 677775380 597678508 497986646 906077980 59641166 39542918 63204042 818892802 235272368 892247526 491889906 560621968 885762936 218096578 760302764 288139732 693278974 680110720 671886702 116776534 512967064 265875930 114632870 329862294 349626802 722965390 219882694 90382568 229774196 237827502 801866542 307471086 857395964 327071582 636994506 744759128 123023598 247229254 120972422 668789814 861371566 887417392 487431762 386390308 479000874 476362494 75573620 646791600 646760774 160830696 736483014 490861328 592208742 72419430 124983064 581687432 755636016 895569922 361880350 972466296 203101020 263081338 55735768 796558916 708511478 50068322 831030492 325298574 515640582 793962740 849211284 231593988 801404412 716790350 318142440 108831166 76527480 248051582 414835488 214624108 217880964 427287042 642052996 178865240 191434930 612926426 586541084 326771576 620067786 594357328 538498908 376238328 352803114 848541950 24102152 929962734 961369814 55104350 757501608 626612508 203234434 459260602 340213910 409259478 744432880 321551122 896190224 718811696 184158730 334495672 956202712 850110366 121071218 684297062 438071078 690598650 400948680 990915174 946711464 581360058 294147694 978084692 264349026 376478982 649854960 271543496 303625210 355684566 573726024 397746196 792344856 553808886 166559020 335070672 999309928 147086762 108258334 575401948 596277926 155484486 914535450 299847038 923223390 223673716 492459672 284503462 786895384 930661354 165683080 743674168 915947694 757070206 844961114 839800026 945118308 794577156 904967420 488156690 623026492 943238066 265545428 365576340 292376698 350776592 625995378 848484126 955141416 687611284 672800110 766543102 862092102 106137938 327081152 894157598 803806552 511258502 118955098 411464982 560788792 392961492 273869546 521550300 696638320 108285146 481188882 692977280 651315260 585242082 991129234 316175260 872250934 480427926 251588400 116259486 309281830 269316580 974141898 766749006 408194654 525101822 906291954 375511076 33582592 407711876 209142922 865220302 46970208 502289542 90637082 696814812 579087380 63251486 784211274 692928952 427709336 679433454 615094450 613901386 767378198 536949838 794720528 886239572 361959766 284809918 61679192 804440970 286486698 345928150 4888580 829575400 984196630 413783026 962273748 230183728 536793734 311498924 240538696 322674810 69136228 841497128 808290616 537060188 709388168 775952310 571723074 98278818 224994490 489423746 218274762 963606168 491448678 818866482 150978576 601179530 668363990 5582870 49063226 160839514 551598686 298771566 21417782 131451276 229752960 276465488 332763302 290171092 242104978 763764402 616580740 814902068 753445302 525190076 578916712 691082950 558849284 713176662 853777976 534236280 866774372 750800872 554578072 123052878 988647090 518989232 928528286 415915550 28812162 601339762 524546054 601581738 236923164 911952808 95947598 940369506 846942652 960236376 187422652 179122844 123101030 738922508 307308148 94548826 423288752 248193298 485078138 989440648 149842376 187088542 599852180 536225400 558082260 40804522 660938450 293970200 798838764 982625220 61627166 954918868 510921342 905210916 234181530 671200050 522048676 897629184 313827480 123918044 959030596 807686806 337922078 565606324 788129054 787303356 980691292 164753080 166212900 3181924 168925832 975641446 473063938 136561720 368763906 549256102 300279106 446352734 97857474 652744744 5379474 561071016 641248402 465137176 735140240 479625436 730159570 733255188 225294662 161492328 730422740 976653504 919527012 829220470 72939724 508992180 400034116 153602916 246394410 834130266 61492842 804921184 105057424 762551374 902322448 310958142 753859312 1807810 19556472 408125122 895089720 493435632 932051248 698143400 607245242 429288214 386054720 63236604 686188984 386852908 594550876 568678566 108949544 343916424 18634434 741225972 615681034 52964680 63288124 741268060 504807320 804679104 958460480 392619154 145700896 309472138 8514984 915986502 652068540 82032166 331106984 898309450 609171270 614225832 371365350 123781302 576474842 996741646 272353630 568017614 393468840 352605682 493118370 226815810 563489260 749385816 851572666 684545736 296864996 527633006 480182094 443578792 699162626 608257998 221350206 684384024 841535358 668955916 726654276 470505286 388939616 767862332 647969426 361464064 516865240 855032216 989650474 164220138 784816644 206405120 524848126 407969188 503700576 329883884 234323250 940157726 856088956 115381644 68800106 87237770 790693986 761551336 507083788 652099602 285463130 648622594 974571892 497140730 772148468 654290726 573358134 248666358 329869042 188691672 179854028 565289084 111330826 464299066 322794876 863514998 75507612 312493554 689200568 719858852 978899090 58188046 749793772 188261754 414984116 219488702 518601176 558455130 778901466 416593216 771043538 403433814 594191456 258213942 255841210 402507052 836188094 119078292 445491480 62003810 53097966 530399422 254619836 712711498 615720858 678288498 940397844 955728342 849807170 136644268 570758012 812240300 946383244 194057892 200430558 191809678 346133402 329091164 801968508 167825702 296606260 4632476 269826232 148540236 857117070 619884288 546434406 10163644 63963878 348654930 28265500 574400000 450494204 546229496 284336936 95223254 904886166 458352940 114536476 582940412 904038392 336806708 38111414 599408920 705466512 723536460 162247558 768296000 686680152 895329206 20594918 587091718 878504380 931153956 721369982 239568100 485915864 817132632 623553708 490472912 783099226 834918796 352943010 641345924 215928576 828107202 878319454 443809068 255721908 265564702 749262324 592318332 479126084 756992874 157098816 133511160 970761062 498998530 447880594 544954668 499577154 939289536 687035350 58297298 396368714 568814014 60215564 911805996 557004808 108432396 533994512 623194194 516316866 5737412 430675108 236593668 299242742 591488558 236817058 521217072 446376458 791435840 259906492 159441290 206938436 854284468 321339928 904499142 670424064 596829150 480944136 156621986 585075804 507119288 362814448 193253410 121566886 963064574 727991548 367004042 283406746 611759864 336626348 918683830 780799784 607273394 869180060 449242226 798138308 516953776 652361538 917809022 495857214 381455860 419486264 438555456 688692258 153695876 419002376 914212394 400000080 113023384 314972922 397011916 874021824 962115246 483404510 590633548 494670090 26609350 391393348 746676238 867970036 238841280 288692368 835739032 672690578 687433924 395185526 906223274 418697300 491282242 721224396 201002478 153647028 746153740 562307664 740976752 873111808 199319046 994005394 485270994 611074916 273104776 400280250 539568652 786158598 391291550 44295318 769439626 769259008 663739850 177882746 81421724 611036270 425549562 501012374 577916536 775752880 686932814 170342528 56462724 744573560 135175862 208960526 164960756 73221158 121676396 195717264 873569588 413284426 375477534 969957614 110929790 650593988 427252172 221409370 396734584 29029630 382290956 623405190 612781036 467662498 532974418 873717114 786270894 947987778 956850930 829799264 458482630 890882896 659488756 642736996 933447080 730276316 498465730 871458242 346326146 703082522 870966264 762970228 260270054 468260730 397165830 205956222 961696642 798222088 627163130 905874348 206307764 732638312 267647214 214256964 296881886 351738872 445364748 113780658 408385650 383598742 817513380 45530004 896258864 517141564 847125506 687393188 35872242 349757844 517850700 581348260 883502334 811370524 563343728 873491892 65838414 261531256 179749590 439980388 498437846 290191832 305800596 728194482 620725092 72939832 932365442 331479074 917093978 91246876 920784494 959009898 999415860 459597910 179358618 193800976 195096124 243279446 170736666 733849700 197416366 311246632 257680364 438807350 12729768 821818712 669785980 432036860 172370116 404670436 182298822 469482070 101402074 887624510 156531238 222801850 551739398 2988154 992387616 197167350 861826476 829020234 691932314 388499860 784297488 721782774 745709916 902387802 715130896 14042640 239297006 132984334 733025804 48009620 462378860 573085910 164116846 342822266 969484804 798381832 90415996 995107682 527142138 640939702 981996764 198465548 398348062 913813240 841644562 435693426 821628592 839833490 381679304 882101706 304394810 136284818 178329302 575603918 332453370 768581890 939335098 695014280 743648062 646109314 979618662 720261074 20871424 485872506 617926692 446516084 34587134 348885856 865508478 450803880 885172290 455984314 436603696 2233212 196981128 162884514 836076050 430902662 199480504 274214238 377896852 519549910 528058290 678693834 436313134 534115506 65963532 894081720 318380908 770737646 84803174 142959440 424806840 521888942 926708874 157774258 440396960 640670736 526868388 125150640 471425940 996336046 797021434 275679478 161868150 535003076 949777984 306683204 469760080 970456434 680023358 249127990 477762034 771363842 613487144 439516556 253012598 896055120 165785698 432540774 613255062 683820138 532494290 106257208 841992854 943229010 540873158 25390326 905371758 794584732 138990672 621318312 732188824 736416574 604234966 328066230 333103918 77115990 175853306 496096324 62957716 114600458 820817448 789387114 639306060 673234666 315022022 779723418 701463050 629597154 54699656 962153480 731477124 513398538 796597448 314231060 258880506 672184514 159400318 144671872 33432060 27890444 460868936 147749978 404131784 339410996 119444700 357657424 671822426 220598648 101734246 94568248 812820766 364612192 172717682 349261292 103712838 327418204 89694682 222289296 892987762 852999544 624130062 145181540 41138622 603412694 126706060 950585036 807589926 780192154 453690558 497064874 473649208 243944860 2509188 274054938 784029636 670122720 963149432 73717148 377031582 437213712 224534694 668602570 787268990 281969468 903261454 939865776 313314936 834200520 752525112 580102536 803529512 709710602 609263390 437942546 454881366 528730466 389817022 308768814 399226676 546491094 667652256 181445238 933414864 643427156 658955822 598376000 988602618 530190372 882796258 60620356 940816916 161552518 673957084 980493278 155480698 627333530 637282872 324305142 500384844 804516202 324344524 79821506 183520770 794230122 36692218 667246294 314213364 808605386 869723044 459118906 289015014 164038790 428490992 535933728 358281526 928660132 625339382 966775140 569194964 269120718 644638714 724059564 919429076 348344660 920478838 779299526 262766022 128917768 815247430 114392404 45865444 530256678 180247874 998722170 430667524 889027388 992033682 696609072 673014208 440984412 798538486 417979702 193695466 344324334 959323478 891190544 524097778 681696824 158400880 453057124 708190114 112255920 745319600 396743636 937380740 360211556 274959066 826339884 611203522 680444290 145552638 959240162 344225726 56153986 560014160 437462766 238370250 592023300 87231622 302870924 381378024 752060466 585814912 341076352 258076896 896106736 872402708 321751292 969088792 423629768 769697972 174642414 712793622 173225288 336492202 996944782 833742476 544633876 628078060 295759568 776396020 508837508 379480700 442452680 105311700 98141138 398500904 946190858 830610860 623785128 978321004 388570208 566551978 693247468 255965644 730128268 128659746 902598988 451716692 19925266 895089846 665702242 715252748 48747222 62248252 380493710 144847470 448067480 918187638 869757126 83360980 523960218 123054014 317395112 974037476 292468796 379413486 454732528 37685458 64747140 323297940 689663496 902714868 466059368 337382950 529011478 335206760 417777652 979161626 653392148 374134832 573363110 31735972 640132138 675631432 279187090 138949600 722374268 933978212 742802228 251289140 187488948 49803166 249955752 986804706 102389778 53327006 501303624 170308468 601086836 395046118 42873780 544045702 335241350 971231242 683457654 69916884 988833528 769031830 616085556 345297824 275479162 529249630 187661048 892975268 638298962 780741174 454731506 387055644 721830910 874058084 790323726 777574690 762098176 818014258 22627586 778089008 298604846 231601822 681997608 535085036 705791970 157747590 654972676 422678326 453191150 60659850 857021104 39766716 11920350 844593890 57483890 553819656 263760118 920079080 608648752 347316992 943188710 55254928 823275182 881297034 957555520 12352350 50721400 730907194 820387878 773155262 965218214 710130852 183505940 425437380 184993528 894326866 336322408 701168072 812523356 49851658 108054748 791918900 961946292 801813018 787772756 382150690 988485864 809242950 884234588 967730414 456971958 589363088 726846368 175677134 203770846 209522164 223390446 805202204 787804312 206180528 854556898 850770908 994070658 384978322 384879782 494548462 74095312 72963146 353418426 838162312 565263044 343622004 62758402 129264190 941096736 601022324 228435882 918311946 33989578 524597200 329298538 776299590 183143400 139779510 573026142 797550806 525453718 587667722 542560982 617110704 580542050 187397596 117587284 819711522 394606240 653379934 330874108 198975790 696684764 823085132 456332070 68168030 630514536 832003384 223996388 408502088 792293866 462978070 886661848 419528368 941134460 70167400 485133736 160886620 35834380 617300682 231725722 536166782 858576038 325101830 923585122 237257148 30293296 448435466 59522808 742424040 859924062 222577576 573308604 63545980 977738460 318636122 327060404 638245148 128729136 543179866 315852162 569907592 767450994 148181298 485039572 496008016 976659892 737952150 117673790 792183312 598213734 179435344 918192950 734505302 153158610 176927324 536811376 418169426 357430692 649014248 867214680 25313008 670089390 726721108 395832244 163835524 404568500 586220660 886421772 965498832 441883852 564419268 743893924 908278898 262431168 738414902 507182074 904667004 161823108 407315470 867825034 667317064 497468082 610435094 850639888 196185210 944843896 636008276 665667656 313336322 768488838 410872786 176664542 48160276 278987334 955265024 580062690 701461040 607915136 655526000 716447478 140947174 291198886 989165054 119595686 160843252 866981036 415633784 361149168 780609738 435102978 772404148 953194458 79028042 33148128 794763300 932833678 407245256 418528996 791533928 122041856 458708290 518224088 815156358 439453560 707641422 307189400 469543328 303497270 886238502 599219466 790604266 485586742 781667452 494567714 842241096 464513418 634613842 980618200 480146278 709185546 96305280 674485640 768956800 42414898 902185086 652034074 65928948 758755564 979923602 927796902 474523002 973887168 276106654 761000638 665014212 372126196 428235694 775621364 850824030 666225676 491815650 268042076 640023160 522392438 681769990 52921150 996274460 934233190 480717486 73103404 467490940 405405952 362106498 866720884 29552706 735323362 82912720 929667754 776734714 43243784 382793740 709551560 403463376 954050050 912390088 617308994 787648112 791658208 967191632 681811812 130462194 713924576 911147824 777453156 45248246 744892730 465017344 401396788 535540696 450176592 505787428 140116492 19511836 347577040 204228172 366356568 108799840 196349540 966787430 560395998 334240710 620099970 915505048 726236588 299147286 858806218 247030512 365232658 746561682 595801502 378984790 573640598 454572440 300462978 321722836 236861716 982349282 971317586 498757388 515360906 104203828 215104490 121993558 766295526 623933002 710795596 766595186 802035768 535070940 307718732 234981050 569412136 316172808 330759708 432366126 862614476 87190564 183010070 555868996 590056600 268692580 41380602 442981036 991586470 455208466 619251430 105233872 410691872 813210984 37986192 645415682 911139948 187071620 566472052 818354606 342069986 580118980 156644140 192625388 563362662 5022422 441029216 748218940 828988596 560671978 103978922 593149812 301040354 326737978 487377628 836749712 125879954 759228716 294914256 457255564 264025142 180088742 612007678 315079314 409359916 832643876 305372600 281541102 590321036 488504674 652143890 178659218 734198366 220793402 867342076 441601822 553811666 55934160 421939386 758987842 908415268 8732140 221222822 681361736 518714112 35680162 845120168 863683398 354424580 820747780 151646426 14670162 870574792 431012972 901524672 192814834 522450260 863863558 655097466 775327696 242104476 68159508 279290426 592204822 129487000 127653558 757266010 265704960 789571690 703056876 514377390 288549106 250735446 249883158 251924050 339283474 759149442 612514350 268784636 16647986 674930944 86091514 173737790 562037392 676034686 877915662 989897888 447137408 335227810 628097054 311957800 141463236 908861892 658830166 32931480 214255186 657365372 24603596 506830152 686888288 597377690 848992680 632988346 985960706 474429976 755036248 323330260 338278818 86889466 308959446 996675890 48676324 901839840 318793262 758294640 119318302 83192358 432139604 851212748 868626638 649675810 556882276 448417176 306018772 697427284 3812324 140302582 861107184 481365016 848356888 982450992 287196734 638890254 951711554 619191564 704617544 23380018 786364082 382153714 357611276 558210838 55037554 26903656 499038802 357385946 739107668 935479806 700597744 82434332 531712094 48775876 499428284 668899040 354919560 76620288 342585220 52153646 615479386 98337100 56316262 649526296 286389468 851715762 615657454 512039922 238592758 727598278 545601332 201404044 919315866 319990602 278888082 256181572 311085318 528888356 992802178 477723916 850467722 228097162 633957254 255353218 161432588 753337828 37457242 742751110 206966590 545676646 811335638 485861866 92988766 597006058 480256836 883602378 189716934 38204132 279071198 670294204 532558734 483356912 993486386 405602588 229145880 96781796 839794076 417590782 487228734 316340600 915461426 901063272 552882156 234976304 151579048 701952732 864178418 125377558 740443940 475429500 141162876 527776414 872756102 245398866 69373770 188480676 703061578 859189250 937531280 485856768 48138190 118103206 740087026 179311336 452844946 235067970 882913342 912100478 536034212 934951460 10120732 368067486 322091012 503517756 438431398 76033026 911239902 476071958 804766784 827064494 709825582 920754666 830317948 881765162 128780708 455016572 290407112 129476102 54987728 718281266 661462028 846357912 608752838 180966532 802427786 158881442 338184650 843030764 779850674 17420660 591031530 654652890 117624342 862311536 504186272 428266668 62782414 839559108 617084296 659112588 417063372 474527810 176282764 132593552 606237928 211630432 146317094 536263960 872885072 673111628 462374978 792813586 555427432 46070836 931088866 659490498 611244974 219120122 143508896 78332602 446222254 799542908 315897320 477544576 98866886 250540652 633761500 950181576 43251542 343246894 72079346 43807182 215896372 952385398 513805650 86168170 750565152 758651638 776921618 601220054 510668556 553880706 724202476 557952212 579945800 381121102 487838970 307607446 209687872 375737982 244594652 471281582 656034816 524972042 285479498 12368458 353976346 159880048 518707116 752747730 928900510 585937724 923287622 780317134 3430602 407985484 626197720 17940792 800368406 775558758 594556964 297921268 698110218 842964556 125913160 30755022 495922232 854406600 489882970 738872892 817916708 255419776 740721322 344455972 62353032 416790252 910965066 946125432 855685156 24073770 494647800 312640566 684818926 617947000 795902108 759236024 983356450 420923418 546617894 594682586 832429944 618209308 210808646 315572800 992975108 231581168 257943106 447397336 9694440 665276268 584577668 295092388 707198816 459430324 767981070 548705602 120868780 98269860 523921158 910139846 88754826 402534630 353616266 402384634 224233632 885606108 58176830 672211624 546458080 220926850 694812746 284027918 953163586 843682538 28606722 865778876 248514358 699877078 739430296 460211936 830665248 796394132 918108390 228683150 192671176 337421172 38148816 67110970 508584426 315050626 861035590 131262366 403789242 437989122 398216742 698573674 210849256 926176900 435512020 338069678 88809314 954151706 439166168 457746100 756218342 385046450 241478204 25448812 880844474 192777888 606436798 441800224 933056186 468561016 340623422 76051540 680753178 518071234 770502314 115181736 501221844 681027424 501343762 440268738 331867690 79332102 271425578 71897256 424464332 745156698 462098556 526687136 709479948 971052172 716034716 764660396 231108474 219728764 745386182 595329566 377669458 679287574 301294658 530778168 904803652 328253714 360795088 488862822 924868406 397327742 498423260 508067044 170356082 409174120 296183584 660103430 370175330 648572174 519693274 407993130 214313934 224117036 781132970 934024062 780971602 340436720 302043644 75802366 71617016 781032700 148722770 15282546 725287518 271167474 102508472 609496050 356418646 84680610 906031776 806945724 66304804 164880190 928554672 808716274 125021464 636625324 553890452 765572462 840702526 840042828 414098522 57685252 154439428 631425636 166738668 663822312 219294750 32225516 328309668 221527936 295256138 556523174 302657988 459564938 53408072 30287630 159969574 268204396 697512200 960280098 669540526 60784830 602860692 511856928 495454022 68203758 789841350 293689108 321136034 159608648 118703790 22294624 212685318 304650310 396064004 523824518 624653862 900362520 133306660 284400314 568206940 379500222 213684026 521294360 870398210 348593730 53511884 905071844 804546858 530825754 517079984 476976318 916407334 358816 317726572 78105040 845542244 778550386 863746402 88848176 385389312 366019476 48568640 502359514 490555540 975867128 910532346 480795522 997534804 810968692 603726994 402177672 190432558 741820808 225481848 212218168 467127498 411463982 862510810 336228026 317663834 595477068 774551764 683034002 962566716 461829958 870828816 164345578 782164436 645811412 841676472 213373262 483592672 182762710 998963952 231155820 827741388 545086098 975687078 282202890 291381234 516852208 415565766 712528746 233194356 970903394 418185632 42994014 488037372 37501468 178833030 223862334 596169208 259476538 993654170 801125374 41949504 751662146 815573356 955809888 870434550 275750890 277959740 260527442 541955682 87618520 554769288 225869968 954970088 903489956 256503092 86071204 864221576 425923588 960128576 306472938 361735084 454174996 102291906 268512864 375445708 88926934 461462912 877478042 439769806 910303956 626776778 53766192 340529972 890320726 459971972 34867790 734897964 393945842 880385312 756862924 197917380 604097370 219617358 66917092 27012280 313963116 133346584 522553984 770102316 543133150 818244478 98710258 287734584 725092552 468075174 61064280 657364846 528473204 833393976 627809922 748372268 95035816 871532540 434372282 716367496 987743950 313109200 663637412 158115550 369155382 993038020 456633714 9270926 402159328 986933656 594293286 759800140 945003650 916610306 902380750 158311508 989704602 681929050 118169194 223975110 737501978 126146182 459230516 857246748 609351768 787513354 384321570 943516862 430309574 414520152 394506758 472788400 419151990 880471754 764142286 590958512 297913942 674901086 728080224 303101272 146850036 84157320 731511566 337484738 794323516 628812324 10644654 948531416 616334574 58507956 701640014 205454274 280102164 683273326 485773958 479859454 189583688 403340930 361112146 121944860 527038550 276459636 432702630 723147814 463477610 345070268 755414828 884901420 255439894 803294620 595893964 518326790 646982272 670958310 598572140 301794096 742126414 984576448 372129094 80861954 831524488 457333214 698554686 221262930 706737696 774002374 706123674 798042578 467542510 162798224 364588646 981199026 862841262 128325436 696526038 326316886 483633856 584318302 649819710 346383360 612789646 748965546 316017938 357495802 320187744 212979322 201897432 695839322 133117394 150979188 617466082 39679228 148983214 254118142 609834580 141102658 48587948 2768924 263172824 729283298 287638594 443012016 826419404 675103988 163273942 349114290 307855692 78128006 341301166 2448152 274283024 554284934 336312468 279999020 525317854 940812420 106943806 392685250 231922208 150905786 708885012 3594648 945895970 627796714 829537096 956555722 965986996 112800776 187288256 982070728 878593666 692456648 768655520 696280320 505730440 603271852 491080088 346436974 24503560 688542410 546525926 553942482 451799642 726065600 168709708 590094168 860740818 992790110 584533382 454529932 4976578 613641232 170253124 435095720 368436154 47495362 483318238 542464328 134789580 32310208 269393934 640871230 983830228 131215676 76379364 872891194 142662664 630779644 498151458 596722294 622373874 870076812 716281952 821616218 898364904 787188654 627724704 68474608 821326844 399790310 820004224 361471728 547951854 851558934 682033744 214609554 896670276 832218216 799536394 216467552 249735036 934671874 101635002 254125298 559691924 612252386 97803404 556730456 952123846 860111070 639861216 560202102 997818334 573742320 511436742 590396376 101623118 513615000 437639962 115531884 369803674 734662616 95815220 482314810 970490726 737397344 132519970 63757870 163219282 217354184 251685862 765703796 816094526 405041036 60629556 886693686 569621136 528243912 501417074 879745878 305921002 561080304 51816580 190154192 687983946 531310792 514024912 171070046 29283448 436828830 595857898 675987198 336570636 64137436 38860130 765788628 66925040 399343452 553054872 789982950 55453020 271459704 197796360 18419120 836795488 364245144 737992522 649190254 178683128 924236906 483489438 25939914 735450880 412396592 7764098 150746194 617888436 976075810 554622014 726304168 299616018 343705158 455400118 278178418 297357936 265021784 271941190 269771778 300152372 540249474 721792920 943875994 171562000 683660518 552876820 460542092 56381890 497374074 931629044 799721860 358056260 707438292 690169298 49054704 721038874 52191788 129599534 598155024 164834406 49024166 543749668 793920578 589102898 775928750 296238786 395999152 332490300 643076150 104152290 686463328 331495066 285581292 740802352 79680664 373272952 92306464 726860956 751156202 694390546 94123592 185146712 262694824 353875924 427147424 205289308 929548414 446869464 812740358 90939260 343625166 543381612 947226080 255183062 704923116 382128270 790726940 631439452 223132554 689820012 845697530 85573396 121460716 48351142 138438040 554642612 515640042 645433334 111215960 457262418 834908056 783996618 988418070 937266374 276715088 247950416 221587588 796763558 174918576 581678548 380871340 590381332 255191840 924546736 452996370 547763636 374503774 183290276 405502962 67662132 273833150 398978378 616891158 72862084 318750096 451427062 125587550 448564622 116543970 181198010 623473786 205148014 668018092 246980530 466644810 28471312 73606058 242276998 181220158 871628618 712279112 860367280 949306354 668857264 286738364 316608978 794624972 554313328 597080156 17237178 966067240 901057768 983844036 912556950 994935318 321190916 150030592 952171254 621162926 711516462 702984124 913128364 765995196 376106454 426884032 136178210 187618912 165798176 223449902 248332926 267000944 706971190 598568110 2883242 883624176 130450962 783524080 495794020 643067002 651499268 45745996 838412296 624033810 572162582 855245020 472598946 654922998 975374302 822140768 12246816 332486618 268344562 388978940 530488138 883243086 440157100 354987300 344156974 36031972 116199990 436595034 934842716 752596460 817399236 265726734 3986676 467992014 986928052 311714648 215565020 42658090 694616334 922588394 344176376 286339640 985146110 77027656 231830650 97780130 14699720 691264294 460622862 972472920 351445950 10886528 220296950 156512336 419865868 363997976 238167268 930438596 791940804 518289864 288494038 699811810 374485438 518566660 159922126 260353892 705238224 62199180 977679140 54618606 608055568 387861582 520647398 820764490 651513330 316757554 754153752 729847982 277109610 759526100 499338300 192760398 896220668 331028674 946075338 810178882 832749460 117429996 154092294 67112638 511849524 21490176 549726576 628638420 835103596 981570028 778990596 75494674 294670812 2907982 118488888 569551212 962261266 587606468 155641978 726707872 463192420 670218758 155534610 931005736 653886626 228332770 448222454 874624146 627248060 550277732 377414086 234139490 736562808 239244600 515637862 21975254 393761364 324482530 87318076 549853478 420429560 765593586 841930128 805079430 67483596 677225162 575539978 657003526 811959480 922613018 118878032 307945838 176317478 854494874 227194246 331685968 890191970 806452902 770316666 428399276 317644310 568560190 275925782 670111000 656233368 919549312 589731254 518546418 260491878 982926732 599226410 192239196 109984736 833672574 484656492 525217138 190909392 389069444 963132152 746350678 650417410 56381986 241207232 687676444 842141738 49822966 363865324 620131918 540907888 296120572 555729646 180588422 26532794 492984900 291397156 981468226 865897364 460604074 291840918 876235462 830657414 299124634 941307318 988730008 419307970 943789342 27028776 130662156 66294614 183540682 156683138 331637764 245307204 153418156 987319180 816877246 698520980 996479436 51179250 286357972 279530606 497602914 446091958 577089960 505507766 170223198 430830686 782371668 715158936 966194192 357993348 372685836 275651234 926010562 139640686 387305814 799605798 968808932 538680090 716348428 214363096 656792308 337620330 999074374 608435290 507795796 109236334 85838004 348878764 264263216 278161244 177458936 729513164 725318792 412352932 359767216 517100782 947169058 859055576 73604470 498696294 267032758 718275588 143811418 97177750 660063698 870250366 832680504 691488788 218643984 808809648 257459276 669824588 890809564 413345472 129512352 827147516 391044378 505440026 931099334 261188334 167147710 926328226 289532766 25106338 999482126 876668252 670803502 440771436 479383678 723049136 518806300 955837474 576786564 629265684 30963332 776236006 832666210 158144286 930089056 789110854 431120974 497489416 127056460 717438472 717121676 224431674 739518482 604335244 327528180 790691420 874614704 611045188 421077578 199747790 73135850 124845592 724525884 441650664 161380500 931454392 381871206 189296566 481729120 977861162 424615104 716371902 820462904 622078760 48230014 769172368 6170152 23336872 423214468 943150838 444986694 850075670 620910958 611402264 534944126 337600544 833031532 212621042 315016964 743697988 258147752 548701126 663846266 438772836 51968062 60803768 896506238 569324448 454725278 836295128 133342384 357426454 997326340 689645184 799504840 785393036 617235294 71371970 847217940 999198586 112582466 116458422 67227542 877896764 590200960 565048246 363684318 437712700 955191628 690588646 500983436 734233298 257716808 286747770 363129632 742598528 205649854 581350890 240049916 899833806 31045884 919745414 454231768 746311634 345886208 548423698 221427670 984269576 956370634 565014654 919984076 678881264 804603538 215164150 673344676 355452818 855566272 121984496 913967602 594195224 426607816 955916310 607484254 568770170 914425726 669828066 287614324 756377218 276418830 407824288 430500556 701986910 300875096 947289438 118060812 746434564 570040920 943959462 870263506 271717286 296125992 474126562 241836442 362661968 731768064 791297668 139963474 33038058 105611720 157593480 737391918 929383080 942315158 711643996 292529444 700186232 668838318 280767026 852322028 964568354 438066606 935593552 628307146 791628916 894352718 132217676 169088254 808617924 132032980 338194610 721347654 531707254 960037116 763451180 419327250 889752060 399688872 571758236 487985934 696220772 57553480 200585398 738770056 391187262 218208496 447881230 586995420 931225260 778318850 819207092 762117510 291491036 592811936 271334372 868939646 335588838 817338430 64402428 881783900 904897628 828591212 219281852 501409688 728831350 887950672 157599004 586242628 193700176 940070636 423199558 222715248 627936534 468983298 67824476 793558806 626315670 556175684 772785314 999626296 33926186 658864718 630540258 821330592 502088906 683433624 291348570 539952338 865506344 768930278 989178234 179574640 898420962 446821322 435771322 713380164 915378730 238056106 789625284 332870232 391256324 384641792 718782006 38042084 849437914 857649732 503478538 281478756 857859764 152375678 30479902 578083040 658670378 161590804 607819206 995774660 809494056 361089362 724136006 136611732 484768380 583931414 216826006 577550336 529625120 832391172 785245426 88691240 314501202 214519640 373567716 729232810 280895304 708441682 849217730 849564812 358744144 802392036 550886068 70234486 199249932 105200228 996230302 555333182 98622860 357974548 714136804 38040760 600673354 825731816 588110904 715114160 399607878 122739308 8951938 143182190 647946508 894419254 385456682 349124128 401462430 957175830 315781228 620646874 848298818 630525650 964147300 465428788 5299774 989896784 660744698 812385588 792707408 614251472 770426534 704641520 34380286 11095512 299061304 51588842 756332642 259272648 102951092 854022630 735632832 384743162 830438158 24504598 579489536 824954032 243304728 23306820 224136030 222055418 830596102 833190170 719010582 268938604 119571656 532168636 338016796 123130258 620149804 641407182 800996162 698550016 636063946 374273446 260919684 654822004 296134426 434099908 525763176 670457254 348863928 544030994 935508036 367544014 829630974 906082876 955223118 956756262 435364404 677600458 25643196 944101508 470364736 721208326 135051310 807419174 488267668 317525902 782792174 233148250 834099598 933995860 817751360 353832120 108749748 311524544 294057614 694571686 416900840 818869576 838099262 926609958 351252158 298600900 79650832 763734148 377951200 449917180 249872128 445535382 893682982 315979052 152420694 372121106 440646802 508877208 769676956 861203586 706747160 265299866 621872968 502344488 131544078 488274358 916110810 18809812 855251110 842436108 652476482 58868912 572049824 485105188 977637620 743520960 915390400 462437936 99584972 223629972 584939416 170122198 873073130 395462928 527334712 424494012 398700064 317631146 746671834 905600396 300480946 571359098 241695924 425563302 693417654 582813050 29326236 895689956 363996266 19543824 506752906 691366104 218517604 514831576 983864726 884795322 96716056 839597218 548785666 721453446 412506522 312916704 421248318 240122112 280636576 188223100 486174272 288063844 177534858 719533268 879003346 993731812 476100362 645706456 194960380 193841158 171334182 118831864 58180812 853220066 63152418 198009036 29151592 822718026 857610204 576405842 662734176 184913868 741832702 11517330 328616910 435086426 24753290 900464874 429027108 487642048 826859780 498641760 446790616 501883654 207454396 15949500 966554030 646540102 180963590 332841578 62488106 659746324 731786246 982135104 478421292 798229872 560421238 170045574 262342418 429640558 55712904 894609630 374589358 686499070 513630842 110877890 124860464 317487978 701519726 313408108 506927192 708747626 932668680 104371132 214247068 156307862 378538170 123421066 887785198 854571790 394206040 938920296 695337958 839897662 19745166 544542694 884097078 777849454 205987126 294004850 132395912 911851312 365426112 878107664 955109882 553279446 562349054 604086482 743794066 173355992 289782004 588864738 320305632 592851602 100236160 932187894 909162004 223760054 768138932 674743164 419263322 718080360 440839616 775198836 492531756 298432324 924796614 853675208 399314616 103489284 410317336 165449454 15434520 949520470 74102624 855623484 617241678 531517728 920830648 439707558 736598244 379592544 922869936 394360776 156215620 606446248 330977810 121719832 950939190 763273532 910469876 377560056 99099410 983927738 915811416 473197534 763483204 726286252 797838496 197430990 519143348 443860894 192814664 65849376 493875396 281567456 235435966 75910774 504245574 594962820 195312966 625919296 133065684 846876088 82526780 873944784 120977640 1783968 261065958 240872604 791008730 776440086 601789390 333779832 417185944 207142060 803266242 796146446 888086522 384201986 527360622 705236368 915529304 821666930 177892616 747035532 742058846 308411704 138043930 455641330 771477690 237064470 409469316 387029192 659997272 60584352 49147244 768137898 784631626 323307346 430225310 281665554 937737786 982227304 623827970 739760124 494308372 326864090 278199588 232891436 931093340 903558750 723379500 741300122 282659710 544316490 59954110 103539558 916200072 907220326 304293858 44227386 722820026 94173414 598419076 260880734 45188234 840745502 729182478 60521656 782020888 637879372 441092748 392930406 53868628 230098894 347351954 6195822 252724202 611084792 755151402 686350126 565452522 64731466 58771222 644052544 394824532 205073826 286180448 796835948 288069640 269313696 4754468 100778906 398721474 808032824 218858488 838750980 312632318 452945856 548206532 694175220 463796892 602572940 743774860 216227654 224459996 934751392 751625950 346910328 652446044 625093264 657096022 497141230 882026230 494859774 47599520 990128364 612284448 214448826 793386582 87893234 246631618 873530542 467559464 975543914 193262550 286875322 100444490 329702198 189569010 903430034 39478596 867171362 683925012 558806190 301468386 960719820 464661294 458565368 554165804 371970114 536939282 16002916 970980516 663001580 757852158 556091460 355779532 704284808 649378758 779593914 688445386 867022846 284617924 310257566 939019638 857796472 834697910 648910484 116790800 280821592 241476342 247441766 359707146 304091272 865213354 514948038 690981844 87501810 895646624 140735416 544071152 268775288 834548096 411214614 345099998 305243920 19045412 258077734 763733742 522911550 893971508 812996856 106038604 91834844 719914064 537682350 320615762 743044920 738977898 310689196 913208192 277667830 728769908 504927782 474099406 303760452 194519220 505506706 209090482 459230816 168714992 482288236 772845876 425843256 759472910 849757038 750332470 50479266 596428458 841263818 303739148 66997800 671392720 779970696 22498104 492205354 745294914 188551074 418126462 71035432 648700446 26786416 941897668 953680470 456813906 194616120 253413536 694799460 241261532 773262316 775624792 232901048 771037358 822026816 661993152 164247482 914323270 301353552 278843194 319570178 962403526 544955990 14138804 368803704 57039932 418830770 763048916 464749932 321033120 282355104 609290232 456211476 854725666 252136026 68795042 65834844 75448608 986760782 489879394 82886858 803629396 80493172 789971454 875472722 245500392 67708784 391268994 324450152 230230002 621900272 272848436 963395064 808626318 271608230 708303998 716995944 335658572 851927824 330828430 435616472 202883062 999033666 84286742 483834796 225535296 807089190 551884542 436160640 959670510 884034222 766419256 328353718 110476540 526911246 705092532 205846898 768330066 940173384 769528520 506095542 36635012 956366662 820460960 429395730 539757974 593732000 325333022 792911604 748146624 621205190 297713628 44128230 112847696 680914092 61653068 744813742 817160882 539930176 830277318 544668716 632149464 97915558 876081356 870254728 682999768 639338874 443291902 838123728 860580812 212874446 298098090 225119456 637206366 255633054 86074802 914613592 905270498 922933534 988766978 485024646 415685996 446046082 879298354 769119940 262995834 238029466 521920422 765825174 310243924 276916476 385817266 773728540 520919164 534535870 535237148 357350720 687927494 858480952 156656284 986828526 860062620 256772262 802778820 864372882 627388142 60881460 501841864 78397514 321976070 588902370 707796478 235748106 42772840 97109364 38352834 208776090 592025858 198021124 915175780 816311328 34488094 546446072 420765088 33758076 721974878 763073774 342893228 772652710 35946978 521395106 903686962 556984194 382976166 323640898 91612000 325980812 387225478 470084924 55792374 752611546 111237002 925358596 984231670 309740306 874112000 469557020 414788756 44953670 718806240 861602306 582922428 298723316 772010432 906399878 596414478 819085430 199792406 468837644 502535184 937226862 752456712 600211872 534824420 111642596 824415066 509672044 981478052 166293766 242890970 275584166 538681044 585867980 575828958 263273484 55681302 469776382 209131550 669522204 199193360 344772244 472880804 587115478 33824402 520660966 198411586 634961984 719422746 213035022 543373176 421390432 623322096 533813886 646270472 110140172 397655208 185600580 997505534 786834334 782545364 204472276 369845854 338277608 147487658 423155762 921186818 589187448 585612758 84843104 869909718 412218114 806117144 208972612 336976750 119312566 948949026 104774164 317741982 720559404 22399364 796683076 530960310 120877086 790928284 663325644 278950858 819612342 281410120 51310320 599051600 795254562 531219658 278042138 899580786 139722066 252213060 574865168 837018518 212039244 658771076 361087994 241878666 345154826 32589744 297734370 571903180 242297312 891422510 331179460 850880414 787337150 284147732 750722992 355122640 772701982 41762448 655832270 241011828 662748274 808884848 773824000 968986524 482075496 410889876 897347178 486884352 173886676 170602388 266401016 646382382 774085832 668672092 304901958 866835024 674079654 917829464 603534248 209407316 202406800 274721492 194175594 674958886 924886620 702553026 654336418 80264240 558647988 532682566 433813580 524765044 828896714 284158978 493976088 220709270 887284474 449728590 751250502 594629844 865544618 96662448 438168436 775322590 689900086 152810064 780551792 69119618 631206172 638799918 402498988 834898460 495154718 309077420 498993994 689697406 545829806 47587060 964360924 972821006 142514970 278174284 542601840 397009610 808808344 821557388 797198146 478492150 572032892 919686064 545915134 624497184 753582684 509677844 21869470 588660322 488453938 840362204 530726328 397333936 541889066 198696916 523096982 302145788 897705350 544232792 956006770 754756114 66347590 80356372 399637048 724115380 48445370 745601120 263779166 598561814 657493706 583776808 196228164 771068520 952020 430980088 749348006 78770058 451073378 762647760 929004624 495432114 692850596 300974470 777651312 219850746 878329114 17552272 343359468 603280256 839198824 13278628 814720180 777619684 116949778 916645426 450845072 760895062 430105912 513480750 886556974 942974362 893290122 803056748 736674160 902749366 808167156 550545688 666929388 798848284 12912356 291775022 971889708 969008890 155855072 398072828 802901046 390174132 731854784 656161664 77136038 164780420 55922784 203039988 30061364 953224368 317104682 274742074 488787602 281765908 163447456 331586214 3407328 610167412 111811478 936216024 435949182 125461402 534893228 661870122 679696230 186018496 893525828 213549450 538871174 301442458 779415024 917991198 721829860 248056832 638795728 105923542 8064622 261540662 402372142 384335274 703668106 76069900 571777088 251410810 166435870 370297560 28316782 761658316 776983708 892253950 23203994 883256802 763751284 615268186 913012828 780875710 953580546 73675444 62560036 731670034 240788498 51213790 420468058 51857892 517223502 995690578 712683782 129182778 859500970 141634362 412319464 347706926 134051744 132448416 313002790 144182934 97489094 215784190 847668682 410823442 869461316 59541554 197419020 175164190 629252766 139949570 223275534 294859126 800098466 44871878 661823732 471169044 974503126 240991950 950543144 408307726 910509794 615149474 621420534 99417752 729817684 473145194 971685872 788466328 417514354 939531738 188928060 335120280 431737376 259113218 216848046 230131398 676694780 176342562 658640346 582917826 804700584 311879252 320104616 888258636 418935622 964459260 651938744 44961624 451143060 543933142 463842870 703812842 697684948 31948046 313871588 731991580 414371430 664269442 274206908 638911734 796982620 165229564 257421932 298943254 961250344 613053106 605850952 886162060 228983294 910096276 575771394 735014706 811638460 349705522 465658630 297063350 530512758 726360870 91980144 998146300 366838316 279818606 494962264 742631766 8837820 925278088 834728792 582164628 950394424 446242172 884710968 372377098 28270192 760926326 953274108 173508374 75136322 302807326 674082712 268007602 747431840 2910620 707662406 55550108 765313242 993826124 927008860 668491584 116206430 342884066 382614010 663724294 538464002 520357610 400287644 769153564 999355994 867212 623475232 732071394 188815680 48427358 506269388 839616686 42197736 905072726 31953216 553210052 67351984 679165584 574239982 930957884 387182848 824006954 856848866 820380936 702215440 349065060 744404022 909793376 877597998 891520434 730065496 764725456 210470672 359295860 213612326 211098132 89792212 382503708 541879744 282180422 449036894 989688424 207874182 553196080 264987014 597643974 565379870 146736086 528008128 117669382 666393658 930458056 453696828 832615188 590843158 347154646 763982238 422845130 416267114 822191354 312587010 814796402 38164720 559681218 813325062 973944144 786598754 396057442 777382188 828015540 355195828 917375486 136621996 619769438 656439094 429775480 633566752 895578928 256163906 472180228 212538778 589880658 637543128 66266884 422048488 825465760 777452974 571422392 915345592 334155796 268135282 675420738 235707674 875719950 482199248 900684228 686958468 531089656 293302352 158600956 165664694 192873970 386541758 72024080 619622640 136403152 491583518 797852292 770954524 470287352 1560236 343575024 838613686 329200344 581990210 326006790 43906900 489640580 814427604 844166440 58050432 11937100 273751540 900935728 834584402 856956082 916137950 576294404 227521064 584417320 171106586 311150764 756341530 407329778 464186 574960704 225664034 681769768 349189166 287150594 183796536 353537600 891741996 440920780 185774358 115061262 550616630 545940212 434722448 702756668 721947868 757767338 410816128 651807566 836434716 311169724 760525062 296817898 970621208 979191014 439607620 54593814 158301866 303778660 88198080 920359068 200438686 827389854 484561478 21618378 277864360 202654764 214105950 613765620 769297754 895591552 624657904 291932492 648821860 911399190 948146130 721620006 942549164 529007272 792383386 243225492 660227402 196254468 831790676 782835324 644512638 199224716 629172118 824122012 63797958 243335508 456884536 735773020 978432444 206932600 399376700 828147522 578172838 457773286 861594318 110609214 747454448 303192580 78444236 893300908 732906730 74079366 664635318 182228214 707581934 406325284 819241794 956232048 711405846 911665300 271294832 935506256 841529854 171119824 344067038 428255308 100695934 366826466 358497312 413335216 688761246 456067898 211078184 697113294 739047860 378095624 788101550 11005648 390178330 721396346 747419066 895330374 928817192 735559586 489516620 768474568 528036410 623097392 539768576 699281674 23831022 979398952 84991978 853159346 204826852 287476166 371326866 748141248 704546790 78104266 430909862 87307512 377994308 300905432 724383092 515893868 511675838 961531366 227789224 929945554 493357148 259358674 57045132 286057662 368114362 615395802 444158542 615663474 677126930 276024678 535176948 141788100 767665046 92236792 830537910 920294570 2622666 206390760 193469282 666878850 335962312 763418970 287761646 546469478 816636720 817875104 245734214 241754852 110963634 280648314 651489964 25223158 629098174 295010422 553747836 542695198 48892828 337499542 694049542 716255238 433356620 651527820 676644530 212981200 199734448 607424132 206216404 79129434 866588514 457907040 994425222 348138184 750619460 922212548 801963504 377747884 530947282 868172024 930893690 443230446 796266790 231779104 909461628 125355656 898335238 239884126 497706694 755612616 1473924 444100102 331032170 562224276 532432594 461508912 579447518 323980086 308805216 939247076 466413866 324653330 659328628 361520968 918406992 909781558 696758672 335854468 856012642 824686528 147907128 278024158 315219254 740402130 730682268 472508296 829939802 486346832 323832696 596194348 960262002 182490098 348851104 80502014 973751828 991538398 248025320 237636836 478306888 346700144 599452812 868383942 764879880 111684674 925691646 176112630 282188726 467828300 674155752 961687462 143353884 238080046 547933240 10178062 5526478 671161246 338133116 767266230 8706154 261780992 944966998 649585546 357732748 642082518 463736654 607628392 699091022 951412702 429159748 521240792 845921856 958915778 349023644 916918218 765541006 225133646 762616152 537402154 269979596 891071980 192979628 967762222 155443422 48516080 409374170 644347520 905412176 190461212 158202562 543325872 155692962 672016644 677675640 828487346 620902030 524306492 445625046 920487380 298349620 186671444 366248444 858270796 966041164 232759904 347730730 315515452 233521366 68841516 651932306 974172360 481596978 786071686 910066550 374935188 145415412 453757876 21142932 864663372 876447564 747118422 40913334 234031970 173721180 906097642 979515486 506746848 93032068 295982892 839199120 977625460 26445168 189423762 900561476 618712254 286359400 8361832 596349668 282240936 183199408 502496376 516629204 439825974 261048592 212182820 354722828 894170126 505553280 562509106 807554884 139649200 303582234 699974452 137656642 635270836 244239666 440146976 281982440 803718384 907793998 925447930 754019700 369447904 799119638 942211156 209263472 783102076 552947718 260797170 616591084 61815360 537119338 19078032 658769082 361663316 409104958 142410628 201093894 625515502 224111724 884363346 290160738 711743880 620242430 696971882 139745832 213842486 871206218 377918448 94210322 9593522 669921188 407953536 580567078 97526112 128561582 784593196 906236932 306009576 898096984 83318162 975479984 18010668 228179584 412645046 530772896 975006406 386797940 147771904 11530910 647645994 793749098 710317694 834134028 531903166 62250836 622277578 300014486 959179786 422760508 571757356 189624434 302400788 425438352 427027216 75073598 46722808 620793830 167035522 498049976 599693708 252906918 635591628 797349222 140434602 240034450 960238284 640571450 376935330 405295516 287871744 940777054 298127906 830654758 789144084 41921324 369433968 774212876 764820186 989428126 981474238 990777224 138562758 213807136 664397118 614191406 2862082 108328208 617393226 21180074 813488600 662284166 432732964 14323300 979823140 240256598 912699066 761974242 877035670 368759270 906280618 921247920 918254902 611241074 23825966 449926408 868114276 326313090 314778752 980054510 256474880 376507762 997104070 706801502 969061720 119495394 379611968 373333836 195357092 732945164 601023086 744575638 330847496 861619670 801996204 30097856 972115408 450806786 363270978 816896844 160269098 529477232 357570998 476224458 251913222 709393098 391386140 58014038 989974890 218909910 784237262 95961146 378789684 398465644 816875596 325537590 83560216 105025704 273026186 674184418 546156664 127507736 191826060 732318274 287856642 268977270 916456538 686631382 695079676 23004556 442579170 409635216 114947914 301638772 905092084 541057552 173189600 997133082 207425030 157820508 92645924 938734700 783324216 486391384 929091456 554701142 671823886 99465830 930679042 387318272 330521838 487524760 990135298 97748042 456775006 927593322 212883206 772011060 946756448 521360708 188982724 417927688 757901156 913992262 908022200 204336546 42279680 697454110 321329188 66304036 884292464 492237354 850262096 630130196 468662588 939119072 840498436 149813066 797649368 253030860 725540836 901479198 650985354 674790918 711961228 382793894 213198522 419500232 403039278 459609932 693057562 231699704 79697420 701322574 378099304 65044886 883567932 457791894 626674154 361443890 369234368 99622508 772893186 254852112 626057196 192820380 497109212 519536262 144513428 106753376 383216178 427535344 967961632 608349720 866730276 991065598 978678930 546756192 415722150 835327718 525265796 874150310 946292202 383621500 680328684 636301764 502710712 556717178 674121786 761328390 994724302 112097002 896477618 673738018 313723204 893403508 372378942 385807056 539101870 769630782 341182330 973090718 96015234 60642952 754156676 854611724 384770110 943506712 320570252 192384484 860548332 131434456 317664278 706442014 265897570 168651524 250779032 39449338 255942866 49554402 932484298 387174142 85643844 432536156 71569260 778934860 968272648 441384500 252410044 856958344 355908350 759722308 550203132 113560426 677476768 590335378 733572544 145188012 55585072 789880920 486726570 881813452 964899114 185051278 558965756 175158570 60230966 697925668 682756526 831838048 43987328 678382798 655686984 854832792 104469494 878442806 737602616 834823832 850112318 187496534 11899898 611102338 857039834 732362348 87434842 336931752 3582406 588749218 170738922 88823754 370036656 17595908 746805608 36348342 909936652 554492782 862453786 199739286 862231252 197823884 741776448 15738438 252820140 895684278 498083512 772937858 229299470 534087596 601366350 679374920 726865280 360438402 633648704 111694352 705783144 505162176 100244582 285990990 952054232 996802118 143037442 396224268 240112770 938721144 442506878 942395420 20881054 726691012 397089388 760161736 852662540 277547134 999929304 515097642 660301124 882477046 910988952 504977154 125151452 246633394 40247238 667699050 337423260 405859010 364970654 637516146 926962312 375558110 650861114 906291288 612166994 82619076 205864034 970648676 198206986 982598342 373002456 899591416 425692774 195465106 804423690 808978544 971376342 524075862 227082594 733536534 350794492 646316150 462323586 225873366 633637198 270681520 69792918 486254162 181285966 306949128 319486394 892697780 631272568 674933504 356180592 779256200 570649130 57648820 947771498 348876132 17652306 850127700 495612542 899758610 507269222 575054070 88851574 738296388 938482540 405549856 354317932 67853184 257081150 125127324 956594278 592167150 471148394 702101848 271510358 413348348 395042978 21605542 943226760 100457586 513157476 458657780 310908692 786268642 764121222 2327058 723522700 195312266 859308768 668189536 225468310 384626708 581785000 270685730 994645920 605682922 882883460 2321572 873779396 593197544 916861882 243527156 311709850 11229984 104953092 100827246 23387838 343884252 394606922 423626520 188795976 413596954 173724114 915196226 312842336 897708124 890080644 947043844 330128826 918365956 982010582 847937464 39992202 315195504 98940530 153468960 501615784 622897590 497445752 388292252 780358850 767726152 841353062 613144162 18459094 855513572 907315240 907119760 627220484 83209226 947034492 325351926 744726578 887344634 958700802 240476914 200535870 604478858 292103078 949100902 763748350 796170788 154790880 741292766 659759058 501827462 918883462 81762528 965391856 219493208 470101356 717245022 927769934 409040472 611870434 235753128 486949008 597761792 397882194 967585888 530485674 724461612 181144652 26357168 110769480 368391688 733098046 604172026 444873816 887186924 145089648 564086536 154496606 742161920 68657894 275594012 398934484 101239664 350152000 350329812 608625984 472573242 862662956 365338258 886559434 896768862 715369760 567793262 306555760 185471468 784023856 254301634 642184370 690472922 845761476 160682750 978542960 965079100 304642236 455881964 699369368 90496854 37609570 810854554 874436616 873625994 762195686 939160738 560862202 183345172 395927172 593197874 858709736 808290274 728346768 909648222 423170930 392577070 981111218 205938668 315714488 603733578 599909632 996232288 366200726 106655464 978157794 975745636 28664296 658274324 615054576 533097064 997141664 56708086 422784424 320695710 215711310 485722396 531267594 86873770 792961102 338129402 258921112 469560968 678762544 25996532 867890310 584532576 709048008 871527538 821806784 368234502 689137620 824158734 277516664 819163434 515724602 860468402 734668782 451445354 214619550 624452742 503565390 678414202 118980362 824700982 90746384 958048088 807632614 168287378 53852048 908174994 861708864 878294390 864277764 145833694 332979542 186164188 492943508 303947346 729129194 313514754 545201004 224387660 952235116 563057526 224347334 701710156 557149506 559781350 232452184 583533998 145371160 96428218 571217684 130386340 577690630 357906564 419995430 184394796 698326462 426669494 648743922 954197288 257393014 720105680 434445948 992295030 382310970 459125336 578673664 161584776 576719080 263491686 694091546 298000826 443541150 493325236 72234002 505655586 68561418 982747968 48938628 603689456 746530060 936872514 321683768 465822722 710093250 802518000 959742000 106603632 423407920 969756378 433153422 860098200 717146576 476736112 261934072 32378432 195184146 574351732 248998150 964222808 530819966 783478428 427894758 465699876 822873708 498455500 233012728 877174506 888951492 667784544 179758156 381103216 623305414 18411724 365649412 936506740 424036884 287539116 571379782 961720452 615909362 556547700 925675956 874554566 840439672 988020840 418184122 93155572 645095858 123034516 23492864 710111122 925467680 679573884 20783646 907622162 825024934 338264764 359960296 612772612 697600582 758039064 167711560 611884454 741334578 7684012 491061732 453176510 387177362 341113294 403329862 972063682 70496960 496814210 256582666 51135120 614479864 240484524 508762504 30982894 678213904 575546750 617148972 676814260 784234764 686525262 240888728 534173186 15680778 562825342 499955164 597461094 759779160 534490226 913590764 727492450 616316232 228164132 541121930 815036186 100965324 94084762 216841404 919931038 704490716 796341668 380382744 696799026 882597592 838122808 645193262 836117058 618467970 952408152 847784718 167328766 384613458 135474264 530377952 340027652 845876242 696045718 726137138 736784738 126735556 929253218 941245050 24583200 771196792 371558480 914256394 585946112 56078494 75723774 727126846 522643844 437753074 819311282 218223140 361647488 582570794 365257990 972317444 136519922 641049886 488561824 558207862 628595412 620642326 72729704 687516438 223387654 390351172 544199092 55413484 684458206 993082294 837129144 35084828 479340524 713171248 906789868 691963472 892116926 289137402 476261412 358885806 31099540 774312682 107152190 734355990 999762594 453853084 276032456 791420392 677682340 17947028 514877288 506063606 42336582 586947098 201484214 439247886 717286056 741502134 846448622 995350682 195200038 131439172 442488966 255293832 280835476 590396624 964709196 720072600 48445694 991977398 881547304 1964334 991035610 868674828 251460250 275971428 42632890 894408130 786131462 221008088 385694644 291261610 692704008 878296352 155546858 136706428 735533662 37486392 251673136 419252828 522308492 174604808 19403658 923428146 870903504 502670226 546484286 392636396 801865828 719027180 660578900 241680976 557336208 968499820 683464682 293867040 822150998 592785448 375664344 225109378 411184726 158213036 72807974 538401932 70784986 547288676 121184416 474339318 579836586 928477062 55942602 990743482 319804454 872249384 110959204 519761978 393037766 595490206 506993818 640737008 632527606 911304004 574036042 616402396 23734356 125882592 33044604 728353234 887776554 814769578 260311862 416761414 237885474 627794448 515974658 731823490 964530474 210114708 195606590 720023478 769709586 574825340 635744488 359305576 977166974 727107878 287269692 825370820 854731320 259884418 98829846 901142436 941157170 278218322 177893636 315807566 868353168 821137732 645000746 90370378 822782888 715310892 75935434 61142088 914137806 544017060 953965194 289202024 815498510 85413626 653815706 686710634 230580828 925330560 50719550 669716954 917444022 212295956 799175982 459963778 409759752 535186962 793882734 84963150 693828256 448792484 410788362 989530944 730550254 289951156 193546302 318943928 88692012 392948614 250578202 786247690 674509652 847019016 159356012 545152996 461076156 967459044 124791518 223095286 59068012 61604714 413063938 862229756 70113606 160226084 304259148 764907330 469280922 784553574 97834438 56591966 234084002 412494716 5627566 864168044 807536332 741262802 388819770 365890198 331112880 424649718 3093358 964375824 475392316 477322984 926999868 884786634 336134574 982006040 817929272 865546396 699349890 38384958 182827484 354181976 403391236 419383712 704496530 474617172 149614620 966309724 15627064 261842348 704891570 811620532 914304358 179230822 731409702 553660418 768818020 875864696 360450650 102623122 80677020 158039714 153870418 646204962 397961594 298517450 424652240 59072504 492665052 100080104 731088824 339542652 620610080 635705752 280991462 221214456 801506062 661785208 44184322 133536288 990564388 316906416 172331944 59638238 569972004 281377106 686949590 625025964 466806750 978837420 753084272 749900604 262152394 222646514 71819984 99375092 54833080 853605890 470016570 410627726 182257158 851986060 731932148 124002598 310691440 306618736 871445682 600151492 344740650 522843746 282983244 10370476 529991804 283307410 394458490 997767436 653933564 634830686 380657946 446523678 667360844 904344322 161145058 259425936 755422044 932551596 75251318 970728444 909574122 897876018 216400780 60253330 742605528 756446718 210446924 651082946 605080904 461594032 22719540 328685552 4790546 906574470 477832696 653896840 740885036 840239702 584977578 6771934 245937916 239908200 244320720 559453004 477377384 431788052 124232614 361673540 681094224 543858470 362050656 590092172 312405602 680457264 711072850 752649042 981639874 808375050 540700064 607410526 190421536 792848450 897268242 255812302 272377636 382460474 632648048 159677266 359042880 579179112 223787528 373784582 161346156 725019224 859983344 34843394 403867820 485031578 962575400 878755834 630146516 721237960 37810266 970685226 84864714 788062954 749487362 183112662 190575202 84779606 621222572 436065482 834898800 306475740 532783822 108685362 89483252 896472790 5607048 808464020 100348052 336434284 57991950 643526884 432590902 966814184 948785762 875976 130285726 409382324 222455620 509313818 605579806 25971480 606267772 434631588 203614518 750262170 142737436 985947934 95795424 162041362 224113708 275183022 231209136 674988842 521608740 91928978 643229892 229829974 117704990 418543920 911509504 878164546 703410388 517604944 701128316 72300030 60991120 909262122 446648702 99240834 744780326 869992106 915974608 713541148 273188286 885693754 442437738 866165808 539948874 575630926 771599122 456788538 313924630 778159510 774137738 905690872 860652840 130025536 630717992 746791970 952909686 753316668 240327238 291904830 970473070 131556330 152737130 891781604 251534578 506077526 111050110 358174934 500913870 622504084 586183960 892603744 842410464 632219064 522991256 649487058 960785316 655167726 984584674 189333724 302661280 778283700 886255216 728074404 301737640 567595342 504653414 750401088 137939282 330156654 972564456 882121848 406758014 361846748 32460310 296970398 427877470 964139836 170188506 533412976 139205244 135710658 40351410 570340878 499778832 43457378 928022564 416384732 598184544 127245598 365167338 217704104 449664084 703336094 876491450 665705226 261070732 93726088 479412880 489047206 435774818 540331606 847224574 259464094 914149432 723520616 935183872 38194414 841228240 270460754 571025386 162993752 893483206 18292144 416408654 487135464 832179488 605068268 49759562 956261242 701955478 183878728 260902906 328053954 48719994 439747232 118726096 210989340 9378718 808543678 820445820 698630560 864370580 219021640 209095506 887320104 65637344 271590998 489123306 415008416 197647804 492624582 564404636 206746950 34898412 590217274 792575906 234000662 782695066 581991332 57912604 702987946 17317408 982904558 554818990 487406826 678742084 190025522 379985300 83478540 241301012 553148436 574275330 578457854 387599776 594015278 456789724 249970572 62556548 917402142 488868892 569950412 26280840 670407000 246725468 996301930 515365312 439260838 804718402 922857056 982926654 813088084 758894618 386045270 291194666 820719544 985683628 149537972 24590556 330362906 42806546 398084810 221748418 568485230 748015578 633586004 851730936 13845912 569551064 291940092 134476274 876179692 21700590 143681948 861029884 387106452 33546682 369289016 645141814 423433778 109595548 850121866 206076012 419880562 318810958 247616338 278938664 313526118 245078932 80087258 200415008 608143292 722605066 802490210 587857828 259190828 418769070 708181762 64687206 519185484 485309956 634111520 463676088 229059316 859404690 961246110 294916500 680820754 502024500 393610724 997136476 848104538 379519742 765567298 547973430 616663152 309101340 108251174 463254860 218976578 506114066 682099418 473696262 887569832 597829158 536060776 212462962 407541618 266329864 913049452 138129476 566522322 159961338 783152294 350380702 546047472 97715166 869441736 797558256 41313808 936595598 444763492 541005774 553613164 952027368 130303024 40371334 978506698 855065026 899924406 56466128 648089178 873100782 647820384 992101412 268271250 239958882 635147264 486099248 943853558 123315332 73514626 584279552 204959344 79420816 805656432 216137994 906077708 611833234 482054938 70294826 740004158 381953264 603133560 682972250 763907254 946943320 659605052 303105008 683187508 446847938 558382868 708699200 588805000 535641986 227357956 654631786 642413330 178316194 809765126 388918942 399272662 464095052 214123346 640439416 615564002 683099656 263600350 486165996 33639348 270333390 576498818 135541514 142795814 118745612 354016362 558039194 641101010 960410282 295916424 712463784 564465220 480469324 242333170 327914132 427002314 91129686 75817272 241990776 872278768 651161550 539594774 702711216 834292348 845038132 184030366 319946078 617235842 526963056 123139682 428331624 136599874 756974036 830398410 448343204 735113978 810653066 29270688 398878114 565928404 995531404 960120444 200457908 529422372 533659894 537565464 371472722 211282130 119639492 815319104 552785004 531706540 277710564 261853790 720714136 708161938 529536988 847756842 36871814 324274218 518489332 363089730 465220888 715858258 80596550 33902530 604237674 597041200 285039396 870951228 128224386 225357252 881845144 19790768 738569890 89698496 799681964 467696670 707848362 154324724 447455036 974726612 692009578 206661396 171333734 438722044 284224186 432195646 856175910 796346458 602193416 148079168 226834338 750305312 561371854 741153970 703982702 639846878 724780030 987618602 721709560 637362044 515132434 511552142 96667464 73811626 630760730 480742674 459362824 345108402 866514090 798802030 984921714 827728098 124159212 896592636 545776220 953658276 266670736 357982806 639527344 187031260 800530164 858231916 317317720 684910000 971891448 430051206 878343178 726211878 597807166 297938260 299559846 193462254 289415170 52316986 998144820 358976490 260180504 646887366 121467520 426410400 83980302 977345754 957208042 481763862 327420608 948712564 523404756 532011030 555439950 619866566 187812536 72897534 497707522 871271488 547717200 867885488 989156110 313863466 405883926 13230742 786313788 155394248 471103622 24328238 365789982 66283588 729686412 326163950 373528012 981204700 302522672 42120858 176380474 469521232 915475986 323607462 136537216 827740256 83601974 148075772 66326402 322681170 782599908 777700662 505154784 270094818 709599404 662062746 334054854 382928834 520454948 192138348 582295040 832708702 227631250 499167904 771896356 465724928 102509234 167832032 426342564 49714990 296912494 668747838 436308790 788478920 846746642 551121022 798420424 386072696 263514818 919474126 835241398 684995560 273024366 89436118 154413726 658822222 282439604 371397790 306202698 876470094 323141292 718635762 442597886 165761042 265945374 682869896 999619442 996725524 618288102 43102234 424535156 375017376 535806916 216003080 834475184 103565416 485835476 983033602 181013412 91556204 580217186 422203676 10912804 527031638 891378334 435627242 374168558 563687754 910101536 380413228 712426694 921025420 553611362 185413448 771541100 495669058 402720920 428795216 176679796 695180526 746296198 800592982 916494426 167050970 784232976 531284554 909990332 583562538 495202780 382252110 940880710 161562678 540599088 810754702 803675118 179253034 800878836 649266978 758493920 577074354 124941946 87111572 131009232 686599536 352099330 288932390 385341806 448429314 449976758 453869608 66865090 599336804 490121398 405124696 661301238 73962410 480345100 114519532 860042342 644179756 386481392 857938984 604894490 898551494 105209668 801996704 263443064 987847240 165884402 508302752 7497986 914427684 609564152 257143028 289868328 441712414 153743094 811539762 829884442 414241190 175012010 937635846 956638074 69697164 296421798 654000616 730719056 498342962 232677450 898711626 722029330 54544484 14197276 287112332 325394038 821781056 614764364 894168290 53091106 151235646 754447738 200813272 70327114 722690566 469176828 42486732 422808280 290838482 224829174 15879318 902026900 177947164 351288270 575594296 453747272 34616480 619277350 31341146 453472998 839157540 629037080 690813344 495999178 78997994 3557876 967161548 891887242 851576618 618185028 357316318 342593322 339044054 425150674 549113266 189119524 308147482 166372202 633705544 500593814 404865868 436234988 339931324 587973198 644022964 157590418 559745444 84081286 136889310 410233430 560459562 471371910 713880502 240016920 570782876 841960076 895361908 354057136 491287200 795308362 423477958 448015218 392728306 621989356 838294940 95947854 753088718 166509630 554743438 528431610 695245296 69928814 214469312 179070020 466541542 490478312 723737686 660142068 265639418 575101550 23120360 932506484 921155602 753572216 14002840 368915400 957248304 222562054 984494166 551299752 920382510 160817390 76019974 377529642 965838102 702730812 795075656 877815870 644970708 828877604 645083892 934051708 539733360 513105620 822803318 487115992 430891248 642137264 395452676 76255464 198061476 494377018 624313018 617318650 486419050 775689652 592018980 691052350 587852428 60529134 956256192 499675508 908911192 831715662 148262352 825670488 957011742 991352750 434903390 576652010 911210818 13017390 228899594 491872652 207998106 360210602 567260068 373273974 262396942 930225240 548007298 622737968 892807782 732543974 852940524 448380164 205068478 514405264 34046156 573965394 400589082 598410574 496240418 651747416 859225060 740885788 591213732 191369414 154080520 879133662 561654680 870697698 844598306 437086952 523442780 18759926 419723914 882572176 655806150 19895378 37394752 684249166 190217938 529103992 267977634 968524116 348385498 478143388 489254740 170059508 991531410 914158934 444163182 477402880 823352440 986794360 792815986 720736724 57862868 550129270 477883514 136078740 69194054 818989886 546477670 218237378 150788756 452987368 83193870 632797850 542318626 223019532 406967808 706192362 553035094 546484858 718994406 95604792 911051852 576482322 498518540 5818736 175420580 915328212 634243424 296336148 235119712 864134752 28771244 536657076 861708946 687873162 988176632 462885166 51989920 828246156 847994512 160181140 365409636 426912266 662562780 994447896 339278204 812630120 222001380 677926160 706743072 607654884 55373746 719420162 37266018 328436858 553525600 723906830 391872248 633844632 312730476 806911870 534604606 854563036 996051926 664197106 584064668 496761262 529981062 198795530 496883180 922473354 369394866 941751854 549301380 640571944 617615072 147607718 596618086 327359664 442500478 336466744 40419396 149519420 823575994 22671984 26413474 30652344 663696364 545708392 474775286 636084110 52555868 229117144 38470140 407251512 427126262 761162572 144564930 347026492 322874294 173744084 172153530 191996860 792362930 915505064 586663690 449828790 597721200 282668846 117929920 612250468 188180304 526106992 256436816 358616890 643099228 940907250 419644708 786556944 602954548 724095240 34387092 910203478 923008614 641801622 157281058 431332810 670269256 968934468 386718120 669213180 252058796 155344876 314829400 4095672 910673824 710802028 391790104 669690084 745500666 81663200 579101258 857656208 794890012 254871586 676606132 717250378 88597196 184772466 10232588 51055446 330150304 663116040 769247386 117862086 906220546 918695436 971752366 175434028 731901938 864613054 220493556 757829940 3813322 345758228 164474478 807311468 169678470 484156280 724482402 131783900 13768090 736704938 57445780 60908006 965586326 959865064 26139868 804067266 277920314 716556190 8307778 574412526 132699614 57208390 679667464 91474144 68391616 719661296 508097604 620743400 185378234 354636900 175109696 522717008 569193852 594024030 453064552 883472114 642783646 289756560 393643232 928413446 284868340 461993832 91075256 240626560 752584574 475865078 2754316 478087674 923362302 588115432 259660488 521411264 862679584 298548128 351068836 756861022 656123206 185775704 623418100 215532242 836021880 341945126 765265148 290334418 397048800 897386890 662709566 31688958 193634552 323260744 385976712 913153400 922277436 926781166 291119778 312912278 265703862 745592844 938227528 56586408 121322202 230996374 35267546 419695062 984272588 324413834 568891286 356533074 894529062 436841696 934688778 941830202 557834564 535922492 579075874 840111128 277116230 659497712 982475410 559223072 704542820 101709034 867960034 554496694 833058120 111641624 664642930 634726734 575032050 475020202 630460598 722764982 230234390 673757036 640501670 693450188 919162030 46287930 378287984 799971198 590413164 569328934 480503876 527903436 210480788 446536998 479906910 688461292 332827682 84532328 138476714 327585714 357470828 104007312 235641974 96370250 282419992 193184944 285835534 923857138 524767432 308491086 882045988 69924612 614362316 66742832 402091660 405397300 431963128 269883866 334836418 498595088 765981362 750373660 237632634 163837986 122810196 775573020 779493550 171001672 255497258 976781488 394472966 21562982 318393396 146179470 967414368 556793970 129491686 7826324 853585632 885387820 642536334 724965262 187900578 539807330 144426196 265700284 66793338 393784560 381225420 626319962 579703446 67136654 899916132 849427738 451601744 387626528 80411182 509058104 293250856 382299392 689626950 654719316 325081744 572618574 579641544 631443220 305425624 475966382 802092384 447530566 114912210 842494990 64629218 511810770 367935282 589466680 972065846 992355484 628138352 178778450 944652166 834321148 423613480 816433706 515219904 948876624 443004688 947273978 326405118 609261022 173314258 168175990 537080532 489727996 423873330 921657842 863719846 934108990 415398988 175788894 602488794 813698058 837059202 705092792 487582610 103876116 425910738 636453406 795813560 552028736 859106056 720060604 515115046 124548214 858560102 68583766 42987494 559070390 47384656 746441688 917384976 343867358 430794014 694976198 285509310 955677166 321506356 795032408 125569592 432835534 557013538 229793032 842378032 35404400 623430724 707834572 729218120 320241952 602912854 321881402 203739750 77303028 607911214 584083914 973835808 392499062 764471948 961513914 221733640 519349246 748519244 787549118 691446494 420806012 43370268 476729022 124010226 297461632 755925556 24475750 737222452 484192696 610013520 605956914 144185948 84937802 931553388 12467886 199590238 993046912 997365748 819810496 35621070 609835770 488793298 236818362 720401902 425404868 188363446 601829276 340561722 811655752 931881556 507825592 832571158 798058926 398061460 924758674 499383082 948965744 990024468 22926866 608573422 278412496 36144960 279550714 784494374 342560934 211798974 891342136 146645180 414485662 456201964 466603440 28444938 85255960 969359834 959059144 860180198 405639258 564376656 750581128 212955982 273044548 256767644 693836810 695739138 337853460 747817284 956133694 146604668 273679874 766373264 224777602 121596530 12478966 34786032 204730494 811011584 545103362 168377406 820825024 135815282 867345508 626692598 140293508 5261044 724074176 912175584 671643614 103009592 747790850 1578600 263775070 459536652 198756228 668820892 898532672 119364306 223970596 803487220 758004136 151346618 127676988 430939894 313936264 514660948 550540080 233007114 293674718 175461216 321946030 117515068 335740872 723307114 915980986 495015626 256232520 191616548 985910644 217183472 767669374 415465730 481176746 63268592 27993152 924680648 458239848 153649710 849513144 614604248 495625574 453372720 387404106 140660924 799756174 743389668 859414086 963852870 353966928 347461812 585611186 611709968 662979574 230883908 956336270 532183082 390690226 211764596 920720930 900240912 252252828 542892244 521093210 364476040 130689410 109561166 624545582 634979236 323964326 411365272 488773760 570004848 536854860 372759624 375377574 494697898 438324342 840595024 168180484 525973166 178716646 6353968 322148800 454786400 90975666 56085066 568907652 958412632 977360464 382756876 139288150 687269712 719032056 834725064 591973838 467309526 244322354 458183664 605173484 312053964 552583916 404390280 628731552 397035928 255116988 699696014 245784850 54663590 526688752 513880068 491026284 520624164 226941176 599844460 814029572 65168892 622700720 5744094 155333820 547718754 236701452 221517722 823216460 887729368 831621082 338876 966031892 618281810 863680888 282136732 381938096 756549652 222396176 762214108 820747896 892853258 294615054 407775842 200424464 378896042 904331974 141861230 469812244 889825326 403615698 748832420 90925078 998896306 393033030 285695272 79602220 28020606 443744982 728110142 105611828 267594274 142553664 155085154 82590372 188890936 898119778 866687156 123527246 615576200 207008952 991214916 493882542 251833296 236649368 501282652 835272738 395453146 889018600 522769386 606291530 430899914 77739850 532664336 90391962 707920432 883807568 531182966 488272158 796164446 188366324 17029536 213926888 460398360 410629446 16492960 12977366 678165946 987755500 592796292 252643064 527274884 245359220 443409706 69082546 204691610 446648900 879618606 323532944 765979368 87531866 842147542 38427560 627807482 918160218 734271700 419646776 922848916 821903628 199896966 592542418 329762540 517642630 55299046 625820364 588623134 399660024 735205638 540504238 244619892 616738622 672069130 710693450 842391872 566674132 754107896 196225510 600294404 48786402 387436026 429961878 557951448 305148078 908685732 629820192 28458798 538063806 523813826 972150774 88244514 655849690 550348378 840882996 612272654 81950696 18939350 396103762 426338722 596083580 245689536 911239096 295530924 660301958 932749616 832482114 290888290 811289752 253489836 131851710 397670796 332275362 440223656 303511480 279475798 915638738 497127066 379732530 582892902 425485746 464972732 888911788 561040152 552784212 477733428 262170200 836684570 615312000 462881212 641086142 140903646 827570990 99535392 587009594 400385532 454258606 484684926 678790882 784509796 842033930 77868974 250177838 405941742 15154824 670925440 664972012 10145784 673965770 838144556 828481206 272540028 642588372 795083186 107178200 284680922 135925784 266571846 349148696 567640340 614545502 631566974 446808856 806697746 994016428 609816634 206714728 397431562 129417818 805501748 49258570 65832778 224310540 649161192 6305090 94098410 385533134 653816004 720509360 170201990 580023002 119364586 598786202 233672400 573935034 247099726 65020978 540522760 683154926 433123272 625210156 192588876 146004120 455546502 669354426 692982228 377045206 546201958 12936222 4846506 303780716 92284368 845632396 912252732 886188282 268291130 618455548 539375480 981990768 437631016 37532040 184444544 362262064 942480660 285983176 741946924 156730238 514054564 353088722 272976534 816521998 74512870 240195632 838240106 428532262 638435110 989603480 823500870 105367208 595277692 141735712 334991236 230534334 430840974 731461046 960441032 953764718 474349758 487113966 603320566 923339880 280183208 102948714 67065502 119884278 89330090 3831944 815906198 916169206 90682454 384332676 180987328 976893468 526819854 759307736 951532582 879045048 853036578 797217598 911154252 264757688 932670742 244605270 957324058 650458698 781090688 771994492 160187320 470228590 486706648 651526624 502865190 196525610 672554198 681763290 280900310 363638092 163335596 408145788 552613050 524747348 334365820 935877338 880873184 646514856 729673040 679426974 891206214 699944518 295246038 635803792 821405724 218982464 253647728 646941562 572865822 972683954 385756568 611148962 142922572 593326974 331606676 217489690 234154260 30159960 170489704 252342786 523881224 138061160 542003838 867975502 726692888 662199250 94127338 967945594 800371292 36289292 406383130 3297672 261009826 98015436 358713150 580052778 190991518 416919824 288358334 706453194 278734986 927570376 117271810 236490382 476034456 706929136 532042334 127718222 641544326 511492458 837303322 538329022 195787260 5398198 395669348 748010050 529481028 6625334 394272740 16529214 705673816 146035124 691497510 275794116 542954272 674408394 699193552 229157674 53632064 373405144 314578622 180079246 861122500 497611480 833781112 993893994 513534526 651256734 675084958 516971816 497164546 797638686 783424146 540393724 575105142 185406952 672756106 882035518 801773992 432417490 416569220 725238238 873632518 842172036 931536264 89631720 423967376 301361090 696579754 854026838 414967760 764012470 61267962 464178816 862393774 52458184 691189860 793262320 567283552 391619222 354288938 464859746 229834338 714987048 629542332 267677274 90440142 135763288 357364234 903881974 523122812 457319430 613611468 847563938 121451260 632996870 869718494 444420602 604557620 444290566 997792752 427653566 972371580 453861390 381523706 404278022 613198260 615714596 349965368 197941420 558131664 665262056 436258036 831600726 248238950 1096424 567616544 197173074 475625206 689502450 740097296 606810096 487412794 806643360 539706014 719170730 616787474 684718302 455344924 993605420 298785672 211831098 153639548 213063418 850096220 607868542 166878674 230306718 161382588 396651600 451585352 748656648 26932302 296916266 31624762 567415640 207047622 66408266 45569120 191588142 685852014 45760282 798054698 859933964 581618494 248643926 295400544 907557248 758244574 105671220 802786692 523830712 520884312 219314856 655444108 695394708 466192856 484899666 443697166 645087864 760033846 918813798 263979732 9154588 189195134 172622046 717842342 647160478 557920610 470799082 732098260 145149310 846429700 108835508 781623082 167134764 233552008 243918874 544790078 513125624 711502916 942693560 647682134 745947032 361586406 698367250 975417672 833953160 135751328 387809724 657951422 803348590 255004306 709850534 487048426 703716950 722456448 166964722 880643062 178098034 452014214 665634694 58454976 497951036 96837154 450355800 612032608 383956514 508384026 853445686 422803332 42486106 114401634 778626882 121597708 973903358 616919378 382139394 429973114 996657086 315121208 385516206 223363416 661074840 230780136 403641618 174167612 322068028 994248680 195800452 167297152 7555472 986034966 674037694 966435056 311484836 427503358 891912192 744212828 436731144 383075520 273909916 949198306 343235290 645832672 825472390 956276792 499135222 325398472 309950626 226647844 363386116 604476868 769299894 749301730 235358766 272922524 291939522 515955734 300662922 713375926 882626916 476979256 764899152 972837696 26186890 469813870 967314968 521494992 425544780 634917702 135669482 205001934 743377102 67755628 830446576 483062574 322364448 240736740 109245732 377163376 195249060 744036184 351487820 811898574 310027154 174399320 429615652 804838122 779680930 551241430 428067932 923228630 736392616 743096656 313710222 652914666 25060708 590854116 992753860 69836954 625154474 881645936 977660280 168005892 837778376 310128134 210910052 682110722 906885040 682397232 416525416 263803776 467002882 675491472 512865804 89938470 499724470 869366764 109103424 23244794 327036488 729279934 162343678 28267474 960201862 520142956 140121892 936126508 150775564 711202292 471878106 965801818 749222620 721435116 16240794 7770168 203265780 264757458 727186836 77899582 348929962 563704404 422501544 654732918 694540490 622344626 18459866 681643624 622378896 959125828 869260012 711096288 989906322 46256322 145725956 39286032 765218950 26891584 861874602 374056654 252156558 920826552 970077032 986521432 340738548 882706308 530394866 35041942 234188082 183844052 708532366 594648144 110539062 957390892 635919626 372750666 175102048 204843178 368912240 195310856 839489128 340438742 141891974 747512694 853615194 640264986 653915822 196381882 135598798 71236124 952545996 663191474 961816364 568440212 188640856 108172062 27060318 743977594 978197486 260729000 421861928 48750982 604412404 422086646 535696122 715863036 372239548 577915560 735981934 613689454 243244862 227520120 19929260 63015264 983169686 554414050 836367264 66001724 889210856 922955612 661757008 963570812 350989228 884421894 521434880 211114762 503089608 836494108 563254674 25497294 889256438 12505974 837208506 641824952 890706102 650731424 798472708 896999256 404088166 313384648 381053848 826092178 12092502 528588852 985711222 993956154 329016086 599898178 94366090 315278508 243373412 382301098 542633232 406773838 690313574 854929458 405282484 537817772 354802050 333461480 908022260 595355616 864225132 643292554 472972066 353028788 142808442 675931102 856079248 709762900 320312896 901917828 867175720 23887678 375841696 94644290 286478996 718810060 607691302 658452478 261815978 508333602 274797774 947366406 550284240 903327194 898676178 321819644 64503628 788064814 50209882 743342652 744993810 884469484 715004336 24870074 103658928 846155714 744400190 694952610 995590060 356618652 257430400 728466462 151187766 471604836 752780288 363746902 860379032 223580856 848075238 77582968 224426988 269626108 647080954 573016212 196546590 254308496 964921658 287526728 802588056 390475604 351953712 121936924 607201544 571798488 703681676 342127634 57479222 139432342 727989472 990715620 637794334 805828754 267326730 989863550 334702408 965255420 836240278 417847154 277593390 841652820 978966016 467749300 534826850 283051186 546924346 298555760 844735836 254170498 965493128 12837360 611661748 434117556 631263104 137843848 299502220 199440690 381968470 680779996 685878348 190736902 126307992 167429350 671288870 241367916 373587424 674845442 975007446 50479632 605445046 261998956 111456508 688037948 866793812 335284866 85098860 444091064 115859934 328729622 955211314 891645920 542412116 221399738 261174358 302603274 105926716 611291948 222575592 925739446 898030060 981825084 679545038 600899896 23390918 489696536 214648678 370368536 612222286 333399844 994998956 142267098 683125146 969436848 829386464 5625972 915684220 814012194 403976000 739911660 940814640 263785178 977619708 239282168 489455074 609591754 232479360 320844680 780040046 44185490 931442334 455759358 702505660 407712264 596916330 47628272 213019906 407319942 954978364 517755828 482590952 692590454 364563424 278251432 541704672 388418742 30000840 647393910 304699148 909849458 796323792 743104196 310425990 878196432 960656918 137074224 219392782 673727866 695543122 20765478 857386152 753326462 503236842 71041500 324377624 581781632 748368436 87679224 918639702 133249080 388038970 543285496 131045896 340720984 872321806 655049224 307933430 499935376 123509624 775841952 670990186 752375688 210611194 371470074 968565682 431723570 808508732 704697060 823393682 840530952 669846510 347320794 97801402 113385616 330379978 384668802 864358986 38106274 540393854 303124682 508680730 440847208 40675522 111589418 40700736 402133306 160197486 975947872 706114052 80778738 189434814 373778138 492051724 304288278 435273010 408243688 546065818 946064034 833149172 836622752 233894398 81706896 108300478 775009532 645080222 220501586 626540716 993718974 367249964 918959182 559319294 55562866 701297728 366337728 202005320 21643418 850876154 817858714 130963252 851149686 672124432 885840936 47410872 478903230 766509602 44785396 692210284 531118418 255268962 197854038 504520530 453487590 342976592 656102848 257674716 906395508 363683024 78372356 636426898 819805840 769165228 659310352 676640036 167531766 128398284 526020984 727133534 871408402 987894684 614809330 116810162 66557614 730555988 177181716 47013480 610921454 413938116 365737290 236665482 734180226 172554240 427136834 972162604 93404440 362670596 691518754 288673544 314649312 98458136 14094326 543165680 983081842 355658322 37479534 24947402 604058004 176184384 25071080 520581432 211887590 901144624 988996256 190115332 168347222 986038406 748793852 101025070 331006760 139976540 950115870 454889570 821784652 184835392 990867562 922599250 143672032 526714258 584691056 893113326 220971536 954470158 340116052 70595810 906030610 599064516 879291136 594908506 46863790 468184864 43993798 13026612 553942182 880296650 337972208 838855388 656995770 493825302 972942568 501787240 37298582 228647638 356681808 935734012 635151274 368866060 176494100 210852044 539877772 689699314 515213370 738587798 141795494 394416576 754607382 50567476 196116034 441214666 869884270 259155990 246846460 604829870 469264984 971706582 373148482 554326994 14980334 501017810 635599572 268682844 456545942 610197768 978207818 30171880 560719448 226143304 873216054 159287440 892412878 171666560 672725626 765871002 685308826 791674980 110276774 740005690 970650128 762275328 188215364 602494882 715895288 206962436 350525372 580686414 111403460 20933364 917086530 855840184 486480448 312093134 674833740 471147538 995506964 959138770 76487760 373889652 168244948 896194344 413327112 609131826 179274822 220356928 361109446 396165264 248274796 61772198 369364234 795604938 686883972 468889244 798693142 201963082 128490458 295105458 463059780 708360708 756415320 266075212 359397312 487329164 937097766 903029486 439517756 539404510 44672128 236415280 698967926 407167356 351336646 917286660 448061156 75726138 532056142 363559172 985262306 292907068 287389930 238173130 148367156 235546480 556193786 440923228 432031402 393384022 349745618 348541210 18470076 500584730 927933170 542194666 293201250 777707568 418502554 469928302 948170676 673632288 715937816 620744258 406452268 799875240 862816150 284353312 55773270 487748058 253246868 804534412 156970968 632293152 441500034 477677174 991829138 580961332 803753656 896378956 108874096 364742136 247073274 862361338 838488956 170677190 405605378 733077460 6051116 65479816 438888918 326332740 230245814 926200708 831590900 144089472 280040618 460303844 324764524 606683396 969028338 280983582 731147302 703776228 896499546 914852250 572732864 701585906 364872598 582626316 638542670 289751832 918817564 287562760 897065774 94022112 636199666 464573896 314210664 794133044 170783624 585942492 925432654 762385088 962988260 844133124 108836950 110740520 372939874 654457850 157435442 594038094 53143506 415529156 220685808 703317796 414782368 535432358 663960548 635844350 486823306 816307946 761504516 589577214 567166942 770848644 556932754 269468056 195782846 3171286 891901382 994615348 411735990 874012290 599043782 406505426 764472486 15237988 256915168 942375788 425099042 166894954 569684386 525067456 938524712 138232594 705097284 921994070 948173080 761878734 275976058 228349188 32750130 76349902 246686128 137713246 819080044 498625002 522314808 552955394 472641998 351105584 432211968 197200670 897308322 234809396 151550624 286170040 694948922 910098120 451380254 678137562 797164562 40623432 288354724 230769772 299682086 19553078 82347676 705486446 920033778 965524534 19420316 463352514 138312216 127040380 913302406 102297638 473953048 302385772 303019876 875873340 783890874 302216774 291728890 518920398 759074036 731961364 434030524 183037490 544838950 239686520 566728266 826247574 702971214 91126828 616597746 732037052 647777878 426832366 415126034 781796316 128669950 481067072 255530804 171271564 445567248 131056602 226532706 955540268 550793052 307577224 623171196 965541072 752996948 351840520 360382282 437422308 63738510 250485824 382045950 906359292 636846408 486163376 999676390 373020682 358223682 227549568 275237126 832706856 65575526 453364342 715850220 620882184 823151668 429357748 322402572 222488728 392800414 997319386 996560922 281959746 920429204 269003456 26666918 908975832 217380990 986730802 908904528 355708028 32722450 364198658 251937466 266615764 451939218 983843468 219846862 932567404 460747518 437854520 761269930 522452938 136082468 564982816 253538526 221748206 617278038 945663332 665460078 352631220 383322302 991671566 759422166 929200632 87372496 721768656 579241052 60794194 218928824 409299816 710707930 140211514 417633326 909629210 537413264 691101254 606287506 840400736 750580208 108993436 881143060 691296644 696075660 214557286 526205148 750680670 75856136 250531712 508518804 636164842 835886728 380216848 388584072 132694822 265504528 358242374 778252532 312223952 901552358 512878880 784413346 553570078 137103342 957413080 149571956 853699212 186184300 13232110 291407338 550890708 803293138 91024602 783027224 493857316 47822382 541302284 924038406 511372230 489303356 553621236 502225164 196626370 669058972 600116482 777478706 552534080 610541722 611982602 164411840 914052632 684823460 644906284 747461542 248054882 435462 140987208 464749940 145796402 768501782 153928792 937228702 589885758 459912808 133008094 908080676 580179648 848060770 352900014 938484566 210039452 508599370 848143704 7873706 875446570 840147364 415723880 978429694 873056516 730667476 503140722 816633684 803193546 743587568 437989838 855367914 444342700 134123524 21863946 970414244 298377724 187531684 36007450 875882812 150581136 976071410 208510972 674537836 718856834 199404014 764832378 564826016 165606866 578391128 129969922 395386358 59564434 419853010 909922676 352466630 250711848 768063008 716842144 984615948 122924226 897618662 146103214 992480326 505061228 422218422 826045830 763912020 510919498 569149852 478194328 945796556 997795506 318820240 87808608 73920456 987749462 871226148 920031614 990243004 514120270 103633158 574740074 665344870 349197162 333229414 698805808 182289262 261629872 997828590 417233834 494819386 937888586 29136856 243432636 410003080 932440574 625109494 539526332 941443650 800868804 121516614 754237548 227558548 790458986 270297216 355680280 776080224 123340166 380004658 654730188 245808056 870804478 252292516 184711964 152416898 994545844 810306358 958576186 12288050 400320506 676359126 817013500 806297924 438314788 986490382 922483500 997345012 835875774 816782336 938013722 107535120 936983912 983191528 851118626 771003232 300904724 342743266 957936538 17285800 508391252 510262162 411935370 709144886 671292194 111104194 615613808 421307988 501494432 641196792 746795028 402953390 804559944 97444776 674744660 618793294 766211436 235754236 587592944 564614230 176251874 997893302 651376586 390635638 603048718 558570250 411748432 348640828 625378554 353302726 750175890 917897674 219024442 919046742 38602150 72386924 419157722 981431466 704690724 410922182 127288910 558245916 509332712 442118810 824659428 758704582 140450310 49461024 497743880 514558118 822075370 583589066 919636304 127420590 72471994 675941604 686492966 488988926 201623084 829555602 901257858 277972236 886194726 762956734 431090444 275383400 938534492 669425666 582223420 975755816 84925258 196897024 620237212 960760928 269710160 543144538 63731564 411134488 40295692 19415460 835721472 976840516 421613430 954450910 674105488 924254518 542486702 347023726 676761512 880370604 709345370 516217804 368361110 666189772 934926834 504186996 331153826 704542986 952648286 452515760 695081210 230447254 847084774 525587760 557270980 878448156 165208768 376966624 335272682 922682086 77461740 691321048 504403948 765680584 565118518 593367148 602500500 302361400 663278118 575530528 897054982 359118 558495014 849545228 693665228 643983638 865340546 251122474 656863508 820287162 529436482 696825694 16556308 765213462 638180090 829134264 535391226 638679290 554631792 390028112 609327866 617548286 4849488 606083346 657006898 379601800 725132098 877020484 482153536 420133870 374925026 183711188 408959674 918395570 77480992 848733756 194920456 528088568 632417150 614992532 24555634 72358122 537341194 417777372 24730220 858175490 657311600 570929458 158722194 720628030 418319408 14486596 899504568 990561954 962048374 780359706 98993542 87286450 510200824 133412682 196837686 867794702 735597442 172961780 134887730 198393584 586328182 362479190 16167608 743326788 912194048 103653484 454154138 592301712 323240466 636956260 298048038 113761250 573987934 984037804 365467948 611052112 486151862 936291378 715982220 838037200 218317426 159214376 555589372 811735126 660461846 242417348 287554838 287023916 683143260 873423836 218640732 970632960 139846306 892391974 103592894 904253012 641874860 559575228 159530670 45707804 20653686 431065954 644050390 50413484 962612632 864264060 33475994 353477128 325788366 733020302 187180686 590657796 2708970 397665098 623197362 25031416 510621648 100102482 111270674 49424028 812593406 518982864 334271716 446930414 772736178 291776904 205634606 153341446 28843086 550314212 415579708 104918994 487332660 730893372 307456100 150919406 214250200 194499434 969791180 912917096 150518232 714327632 545532936 593534558 166053758 653418800 286766650 13991618 915556560 480148544 650473908 797245062 896811776 54692328 845027738 284380830 104569812 343381742 844379282 115453196 461251184 94159738 535000308 174093404 602726502 657339060 543816552 81733642 85185102 521172322 972153008 165792790 995361640 423686000 350120614 125219622 256750784 4221102 531127128 726967176 963145616 92564260 318725458 753464806 709868690 963720136 737003524 990643570 927071232 874794928 140257832 387317342 916359100 197129128 189210960 794022556 190102770 508898162 229017170 278456876 249220130 742993766 528795886 426957626 737553076 217969014 305661486 375488914 347151682 245050652 556083208 506439374 470147828 581199578 702326836 76091972 503916490 658154646 745320976 511327304 96172312 763823478 535681638 62275128 467610560 690592426 957502054 976786622 897394358 205481210 580037940 836089468 970735072 362324582 924304716 930677460 735399134 517245230 737676924 317250270 740965552 428458302 830576880 666039148 291522264 218264382 780393374 907381160 876337330 850017438 691295586 321990106 395942000 216196018 216225920 864481234 740933848 783737482 856395122 626042222 943910072 576076052 849638858 87957476 282360650 203936016 421559318 647410130 2149976 136016756 354015852 728100242 205250084 181127310 353649762 479819166 489329958 149601488 482194750 425277176 189739228 575778270 422194120 508679702 320757738 198569964 106142378 695399778 744605570 922946450 257180290 38170916 996722862 181964920 398212328 414970218 530859618 519270730 589139588 810653518 13985822 37763856 253077254 380290276 620936812 148017248 226462018 958800696 558963968 813140906 720806356 208594080 303008942 576014434 757993480 252435078 329642240 685565448 236850902 888901276 926226554 311497802 266075430 989309768 141023958 764597738 984955824 302502522 383578058 455349442 571131822 994590404 403254282 56591102 36425994 500924066 102843872 775869176 356082874 581474362 591498672 208018596 121672498 909063208 986849386 710333258 181284378 258824634 393780072 893245432 347856766 200587110 697632796 812717166 187923882 784754080 493551856 921703042 642291198 388495028 100355972 382675466 738831342 110559384 635133838 829276488 310170746 146251604 542994724 303509828 240141824 355328786 159839220 569708074 244773538 454206922 352557592 367700568 867120208 520606212 305640046 379043484 851729546 336856990 625872278 414893744 553167780 738489444 819760642 880042694 984601210 411035962 620974636 973733808 914680500 808997170 933432022 429055724 536714522 288752124 456076452 769000326 251907178 260275606 461413000 957197248 563043108 666694950 620163980 594287454 482805156 666269194 518339398 615324488 816510560 606830740 534674550 369085960 792084098 839010276 579066154 269812008 652925616 879159110 179241750 114277708 596342060 614098368 31421632 650857150 386932494 2912374 797312948 199467434 188188480 378068970 993780760 344738022 265823300 315924078 437909852 611005258 272528682 942150170 623310928 543152158 202568332 894244220 142985414 287746830 974682242 625541310 623594324 634435230 259500606 511487062 35159004 988380326 31437076 703060094 192324132 320788566 918897886 83270630 68788496 19671092 639599042 500129826 690775448 877859834 373376748 101571590 887135452 296632106 661814474 222988398 238213382 268839390 992112178 195298762 946980852 997547840 171069962 318707124 800014936 5438606 428942092 799822654 238207340 213364872 989872496 95527352 56341126 545931192 975928108 673023432 224598892 276692696 889550234 478515032 14731352 671220190 33497242 498824540 413443868 466505168 116417428 733176184 107296262 496820080 590446986 114694826 222798822 52528358 965613408 973402044 131018054 225824016 914007828 313791284 583158080 675002264 854048992 44524064 795138680 789171648 988008318 147122812 563032720 555347228 264856164 789967300 496135706 911230168 785221898 180573746 566535888 208541038 547245526 870892514 309419758 794382300 420337776 410034050 232850632 913310918 426895522 666339242 846871004 123523230 415231080 38694860 406121254 478113368 437056842 552873814 544354750 419760846 911809902 386187172 817560380 667722512 67491036 149843540 396134606 83628178 294082346 60076148 281881822 539230304 357772622 701521964 834324306 800896550 906646478 452995898 663047834 313728454 358916834 707894168 814654878 249295600 174638962 892786384 290502706 643577854 222083858 191760166 639079566 921562932 681022180 985989940 415306400 807434114 714655512 54413020 881987524 624359698 354951594 851337644 631880836 555330068 107731642 638870084 192069324 924366114 667183738 472974764 717135226 856657578 163263382 744469654 681799886 824444776 775728284 249451788 290681704 760849398 389055660 75175038 809614268 566603828 948937792 732991488 664817646 142969334 71952892 546079764 257756020 741544308 469177794 975680586 405619788 877226222 121886810 929935754 634022986 360045584 863636722 551311680 404717626 669815494 877675236 992091160 180238240 489456954 261321614 822869518 594193714 550963628 641613514 797280746 566151412 193596958 863665794 136615208 968083424 837941184 396022348 222625676 354484516 110129762 55875502 922599538 493741498 191033512 120963804 470127484 27354176 554430326 269431284 437302152 94204474 736540110 132899654 369440988 35284692 243071002 229536166 512395876 843697206 894261682 902591310 42661322 642293646 194777968 702926592 132610914 475832578 868075944 240085854 967575906 598583670 906491296 779205406 906474754 799366878 86553280 872102342 193350520 556656378 421308118 730544184 621329958 320202466 330037326 931904324 939897890 506538204 232597090 677669360 542850492 494787550 592925228 46892114 556447592 412497300 367093156 616501960 646000052 360621062 701970486 438261800 968088544 139051902 819049816 421678962 56205304 458563912 485301198 637552432 764817452 977835912 669653740 483219278 659813544 95523470 605026434 315466872 763777432 671970850 436309460 747075852 979832326 964647216 240582594 629728212 478504034 48515314 800161046 601110580 300991690 320834988 687772652 30769742 644847058 115385836 328537298 781714882 293472144 527626212 937076592 358182006 466384688 668149792 116459800 248488690 960680132 944314662 205304024 136929448 980903884 84995772 866195132 955366666 286623148 897268398 309725188 700493736 767393600 813851176 80646628 968303598 503877546 540492006 703269466 334011968 457317684 457826456 189747838 321206260 107847202 212188582 732026084 744799406 275582696 404231680 303801018 56733568 613062740 352255284 15600742 834994750 734929358 209807684 270004536 309671244 975598422 494921062 258062438 180496786 953276520 801489894 138542556 824090790 220838820 651271990 624147528 768999040 454245594 289270468 205542432 339141530 595267816 6251350 859226274 906583466 711366042 557141942 984981662 28335134 179326906 251432550 264394580 509245540 995040406 821773474 752712148 402741700 244032898 765227748 867886162 606263296 502901606 162555048 760641672 530283504 698738092 516907852 265344876 370071906 100664088 732069070 930149614 729056004 890971268 816183358 919804256 758370078 123681980 133352854 515862328 347435544 186781076 271011338 370452876 638155030 818263790 166708236 33644730 684332288 344717616 50064732 76361050 845255818 989123052 949152322 548796578 666264974 530585832 956373494 263835422 650862370 949286444 958847452 697212164 595481306 962303134 987767922 76289812 677657432 374821194 963246028 360665196 468124252 860729794 167324514 935761158 531324790 870408174 93534750 460443468 118663110 708639050 705037932 909282292 424653340 694734500 93172562 42984618 394138014 457328358 550026416 371072686 64469006 522300738 311079744 672085660 219841276 671172840 219667486 553305812 920539156 692439786 338584848 298972942 469689108 646853216 975669432 497963880 515024044 67766176 496489816 119086052 718758822 835545926 42324210 370339596 110975168 170299420 836705192 914222268 464269660 224869984 972388116 589816166 29629004 596542044 845157880 298597138 852311954 191653650 906433674 269446308 105392950 583470908 400538960 102756648 113602610 156892574 333191764 580172814 198005734 666238862 884330332 251361608 26407836 43513952 477676158 177441704 809137534 974080042 121177418 236830238 433332722 147018226 943298898 598482028 515977694 859549742 405098272 561881984 543716590 605493264 1331808 973769844 596050648 452491912 128248560 723716874 295552200 636244076 919851688 307312908 702914112 102564864 74487586 869643390 758479380 2138902 470898698 590912920 317488042 108972070 618442786 367477716 586760408 212359966 29737188 534783650 175332962 414195368 944967092 595353972 418019738 734237864 26136158 179952472 158803474 484966866 656280160 287785668 994636060 335179708 503149286 925553552 298391864 129313168 898368200 682718324 525725474 795971486 341690608 377649126 615175846 139735916 113367764 735303314 573405874 219577390 950160144 428728888 679194704 590221888 671571750 195490126 379138654 997701944 771649130 987400900 378335164 997882610 706603276 565939410 729852054 33320684 194762872 273642232 455077138 816323608 130163284 846654566 354014370 172144720 166346752 246812780 86225028 7233738 370521010 727511954 950694524 285742964 586861332 723301382 867593132 78392600 283796160 200969270 47544728 599278174 171401662 445128752 562487268 794708094 978124944 326074560 592967492 334050102 578364396 725777154 613805534 870027542 751414848 303061148 449584752 494508288 626362700 447697882 967116148 972344074 490278754 334483600 233807614 398253374 913009002 185414050 31802626 195870120 558120662 799012538 921498538 147658450 98951574 442854516 270170678 125622876 644463290 345208922 96925640 790203020 677088088 70641602 337802406 117032470 333664696 191968894 803369230 839961866 438191996 738480024 744176234 594598170 534577380 974302660 986994816 278404288 959135460 794975390 694805010 507281300 798495638 115060254 394647368 502063164 697517662 557605868 452879688 97262062 625264250 910557486 239968526 272651822 500057816 987331594 420965428 137312852 695522354 455727202 462509162 746239082 76767150 593673806 877224794 318720878 749017862 786774870 521665966 977098636 29345052 417000244 376147578 756838976 404297536 729650742 748131554 591395362 824092240 231893392 217258368 268747734 743894550 158709068 746544978 835130994 207288838 593226964 441475720 945227844 395198374 793273382 154919934 542895640 766616382 615711340 894688878 652794028 377134160 30327408 786082598 563010812 751477492 966740568 250000646 344394674 348777638 250533362 887929624 638866280 666734904 164381194 705749338 324977066 389165976 697013888 508151800 72081980 493909816 483372424 674741272 490805152 735986230 1070196 617685356 40119770 413828988 321593744 764063274 713116974 244600778 981430310 596504734 227233492 337090206 38021854 942778634 944274184 872101706 450151022 14177198 950480392 646712720 957099532 492869090 961823430 102751584 618462762 495756412 441505598 509398486 677673504 74637348 935152008 383879230 65564012 699579176 870460882 579608180 372235740 59104318 211760198 387079326 916972556 829157358 644466462 894580874 829531148 634026114 411053496 838903048 421135200 720615244 400526244 500644992 640116382 38227482 550777974 964845498 612042174 968077176 743702586 450248036 103106090 550646994 439398736 893002230 238485226 972389748 241342942 241013824 302237576 606938508 268573008 888468016 660497650 991457788 698267178 992028666 652257790 422221666 69325036 817541800 503250150 32294016 610469036 882462480 544487556 766838960 453873938 84799932 567277322 462908136 334241602 740068044 883086902 549776586 998791266 467656792 634057038 730380484 789919574 983970910 407055058 350303484 890382554 807419178 97634736 598310028 746044324 64418076 823018366 241336072 562594044 795031730 469557012 982977518 583641566 79261126 63677056 15881432 43608012 508828752 417440048 180809906 753993818 918286402 221101864 987333870 341519128 419862054 931181456 774931132 390373048 672004968 262233164 913660580 852986328 725835110 562122818 570015530 813347296 906495338 551293712 592927216 535546318 504059568 639779862 788942322 530950994 198737212 5047380 967901316 597058748 98958088 44272850 379947188 122240904 267808094 159115482 545955686 716939670 705662372 139776774 953335136 590057426 926326270 360722048 331434882 596969170 813574418 789882426 834305074 468452214 255402854 440252368 289381674 294428800 105148758 625735322 831988774 88951778 724829712 475779530 976968702 389980616 550030384 645334536 919991030 187515518 775795862 18370766 240094958 530862864 838601894 155857412 621194952 223552362 198078010 726211946 824666096 245790646 328985640 612086606 678381230 968689136 184662444 9390486 804519386 910123234 702194564 718669118 885931458 331974270 924611104 278137662 122486128 904792556 712067408 654194166 533966712 970563318 616900762 306998710 780845280 13463776 584149606 150569100 330419500 42051430 768370344 662427568 446158608 161521468 409059108 771043748 372702026 976910674 640941468 548741112 591299912 444615614 515689284 626039112 816722580 251062936 327121562 403471522 166958716 619719214 163861904 537499936 905211024 714800294 631314730 651879674 846528848 525498036 857703976 388811878 775857592 746127884 70382574 399226072 914011906 83826566 473765322 233872314 512282886 113425926 603381262 876168922 206689600 510003522 688011000 972924212 887844542 492134440 518573356 731849992 609824200 341863100 838199458 697609236 151852448 375345244 378277896 46333462 870962378 594599340 103053916 931561482 744744614 571348664 156342138 484517714 469402922 191962148 625799276 519416152 239061490 21466994 436035380 763950224 72196300 620049184 873266782 529868850 238883726 264639100 715286344 208005464 123179282 605938262 356607420 427774960 151528500 481615254 568262864 213797870 758967454 381706282 322290382 882121632 565408678 351709248 296275218 915185866 497484180 583839352 111798390 924057350 425082282 721689832 856588272 689515076 809274860 764656748 739722592 65383756 517898424 483231746 157473556 203564692 211014184 241997298 814204196 913064760 944869828 980127934 600720132 217621934 810731342 193222118 41837250 406503452 56446560 945036286 490854026 662424658 970642080 513431896 869192978 151490418 844805114 749719516 117570896 358222556 364058940 449649144 222243780 992502410 287329940 476906112 355785252 366017804 399272922 960586844 763940246 883272440 718043030 695094128 101958866 462641328 886969144 548116750 783097414 995147696 903351094 9346722 497776680 346725286 253722930 141716266 559794920 380417710 548899512 668768492 753529784 318591926 724256736 545799822 530985618 34859978 176320326 727152922 412431820 781422082 118731416 709936252 457381078 453625836 201776072 160479626 341996634 79234086 308897372 427127252 611865660 888910910 903680184 279050304 555152830 528558834 167894936 883963782 17774974 936004010 874247978 996643524 714280406 287644814 703802204 411699634 151885856 866697140 448928818 763516116 416927934 393647760 938832084 434429702 217261820 220526660 671464980 398655924 318600454 352525290 650823174 550398174 626538652 976590550 255864756 374071794 136006974 14977586 60927452 835799402 9280924 261376694 438343984 494720398 771995636 335829198 815774242 506039788 451842456 515979794 263656100 524448614 554583160 175728360 727210392 308805210 311979168 631125510 252098004 386170892 972515500 718129190 817622442 260391016 439636960 429355520 254029582 582898056 342594760 952864728 735542022 497796092 456771346 509594250 300589330 728659802 60065846 846654472 311089848 133176414 738179672 113703372 169581980 38142288 738994912 950525306 580670566 426641952 299570816 322092380 411517694 799636458 178914880 875973746 780449464 422222216 992406474 273973834 546132142 151750446 448274012 565258902 25952284 398966724 472604266 581527284 152031284 425272870 137196 747483738 775358830 662911996 793841006 444118670 387641450 215200922 102029290 221997690 429634544 247191568 75523992 248254962 280814990 167629146 210972330 138644626 180404246 416457050 155142170 160660116 898768234 664119132 17850524 187724336 732767614 7780296 346622138 392945626 290238118 879891512 139058734 295852266 557984504 796009770 544353766 34116778 866027868 665565070 409493820 81634784 471774392 748716470 898696836 282234440 441532874 583814672 761981114 271239228 588379900 519497804 859847572 725764948 179246356 80081470 749630050 406094214 667061928 568286112 562176616 559213504 267063886 416252560 661396636 854326090 912500792 316446250 59966982 799650156 50436520 545970622 368884390 890525702 171056700 757103366 524894876 739773216 366372188 187917828 557542888 445115226 64955638 80705540 53160408 287543610 900937682 352585106 771174664 728643728 143958906 234773564 825393916 156116014 971314420 607446250 336265736 362950340 292255928 438505610 538580062 102354492 472522828 563295482 270795510 244765460 557374074 590263026 932027478 302158156 915131646 729646962 770772032 99496386 948527328 65093616 985035518 664779106 306275094 833057398 650483436 565716014 750636292 247976896 436479370 860487978 320286458 69057634 700774434 416966696 282305180 3954668 943683628 582391608 877519660 995334748 836545620 392471416 225860282 369179912 420921252 381336938 411216558 709583262 342636922 31315982 908939848 890368844 119990146 212631510 436240880 751593654 290329972 378341418 230318688 523574720 145666184 919484800 978236540 320647352 655764354 807152564 368862882 897028082 208837758 401493158 338884770 959200600 497484244 784665282 379844376 642654112 730884064 281184044 582501240 232858886 636007008 142750290 503056776 899640226 649430390 134416410 439103294 1962824 961194892 335075990 129386156 14816628 925938800 97966122 964830118 986593732 333875122 786054328 870924408 97175090 48929420 722617712 497896474 153939040 852209730 742143602 66914622 125980240 544031212 953024654 719417774 592874698 249733450 454253842 164647352 856285560 192358168 243483734 39229104 525600476 812019182 272104958 545856070 92578316 800406524 187645076 237515572 21770670 767362754 586574708 47704842 802197108 173297304 343401988 658643252 775743948 937229834 793727454 994041144 80023270 982339664 700966952 723024932 806920358 356732084 314849966 91119462 385991044 698105228 713636734 611165322 12940542 872467546 126437654 282752372 524404006 92983098 206419928 256198966 111916772 556637386 900838308 867955614 270456142 281317126 901847440 301589950 243009960 269655422 93278910 28693064 89483860 756694474 766203374 655598428 660597584 452267190 204627712 404629236 916540320 997839994 619461230 694320060 870790278 331120894 724788352 388143038 209841360 328423016 131166868 21551778 583349150 915383976 600400004 511998644 902332000 102209850 206912620 932901264 721138964 699149080 277316628 340936504 463725996 655296436 690168358 347965360 311331098 551751664 890246778 45366652 839601688 895817374 270126574 444346580 711029722 846837974 116388030 438322352 821497256 180142252 2970376 14894006 106191434 744706776 805315828 362592576 918031410 180088658 14476514 624489150 58131308 496487128 748615324 705024668 741071794 832991286 997712744 917331372 387577490 934572118 295325278 364482324 908544798 661912068 997474944 779439130 660161212 936832290 295484360 586202964 108555512 990858278 946991744 414006410 406654456 875683134 205026496 436982110 818441526 881004108 136381326 231721314 493720168 611114952 757464922 353836168 940429034 762434422 411061428 69662292 476212328 901154562 816156040 620683676 610766188 949551794 281377962 189090742 505834276 873509682 898350592 943371316 904123716 398207304 269052874 35378330 652206210 369245474 171202636 666933956 865505918 30884968 194644012 902799498 180438712 505667088 202541940 517797824 289229534 135106494 973722246 384950406 903680976 933407500 378516214 125603890 495521182 924053482 68787048 474782334 41252196 320305288 647627112 477185646 726837962 370562222 639904090 185822828 699001542 723878084 212629230 914168156 983812600 326096120 620614624 197594854 899307088 64524660 170780226 976464124 981901250 935467776 5672318 330426392 615887206 443141048 42553254 997075428 438458964 364884386 377046266 615620068 907328006 684454832 123503018 785332906 685191070 402926628 810317692 190200462 843343154 967054712 530879324 154198778 363959670 875184168 328191800 757237560 624673922 382467152 203093348 3046768 210081596 817836046 628685744 510384652 119555386 375338484 527123440 850659264 305347162 763329154 417603552 849105056 829300594 630425866 995425398 422650012 313792144 741268570 163740800 388046616 20565102 932920158 32369980 405997312 10957504 155011674 899402920 752021544 413219908 113964356 419721284 267085978 491366302 537914682 728072564 330981256 609879150 118880706 691688214 217025722 854503778 45354682 732378588 977505216 645312528 248361194 580648638 605695956 506269962 736531964 76109102 757490524 346539396 88674666 532944132 503403290 571237962 443202246 182862956 813953350 115905452 257369484 22701602 17822800 256694270 963379478 341911578 690793780 293373842 524341822 722666048 773362096 753707598 715145464 357060458 242274568 920328478 483836136 505666910 967202332 925997208 141049114 308288324 458042880 864229806 193745750 184450598 939603694 236336366 767722204 503784324 103166600 119868128 857396942 759202770 557147174 812805392 650418962 927742116 125669452 278776372 194109892 249621686 359334690 101139884 71707808 571255882 207525196 933032670 400987188 194778680 755894836 535481086 276130284 644630372 627831454 87563150 808114534 175159232 129605022 572265392 62677244 599838428 415881442 312318284 664231840 855812550 657625062 144351640 119374394 576386324 979919096 555629164 673499122 869020692 894626276 477151810 626375698 632063646 439107422 149464508 28887308 217649082 238341886 408506364 999990840 160331174 788199868 627671332 306767366 57467794 9046608 47988700 370425994 976177702 424135614 901922546 551025966 499435184 800791700 442443740 181426054 758691102 443374838 663630416 258142520 14752616 476478152 842508486 571362986 743678486 190648654 257878272 440346682 348151170 159641424 86209396 640102058 673564982 11422186 475313440 357353032 470068904 684986278 871347424 65267550 441972296 393336338 467883412 74134154 343950490 614836558 724528344 641862550 612013084 665704470 269799216 308093734 497355450 972346196 787589484 638587702 586709042 135325204 304976062 28011252 45929224 783166400 527410000 851817774 960150586 906589716 515723316 156183980 740211358 117803692 675651238 498383470 59825382 489882218 533562696 796508968 995569740 117355250 393603830 45479052 370996490 1913514 840190504 178209360 343869676 507850468 195978040 330891502 877987108 562933658 642905616 921150120 21500642 739565162 135616142 967343204 284587708 214954892 486150252 385943716 278891722 254714088 195393464 910333082 699873708 595494344 477372288 867594912 129087196 749521714 786018698 294662602 840479932 571582034 620572972 858642216 946655200 449838810 357566692 697773966 114611830 565502406 650969190 51215740 73099028 432797988 314760368 501175772 312448288 778254172 471048724 90168842 49114724 768551190 924266958 181108048 804875066 906101828 665663094 425625214 582828418 588171026 151493302 903144974 422761498 278629168 62477926 63341054 754045272 503928900 805463098 549048166 114101102 458006578 601625320 895022750 603813824 882584858 996225706 415983896 511599884 153709770 864077742 159239632 812468686 645120688 795337922 122023920 694454804 71054334 510721942 484562816 814982420 13680516 292925586 952074612 379967212 506644814 77847686 852979954 132087682 48663722 396332608 92386122 993090600 470824154 64139650 406891190 528418198 393401248 249367716 724243084 80066880 998970566 25595922 597363562 528911140 18762338 84727858 348764392 373967630 15651158 739171464 968012168 489611434 121579630 619075500 120125924 249629716 425729912 250358220 129064780 101066982 281015878 423368536 719345084 461819096 446515382 584164856 985468878 761933522 929980922 95616124 914326084 674229244 781799068 60332944 721490176 375512774 998546174 28084448 270413976 590984088 163443786 134586846 372516654 505353768 791849892 238210482 531780760 589200884 898366452 638321758 669292642 431900510 15394046 819624388 61624972 638428174 538831494 227674270 76805322 117810688 200835786 985579898 508364648 974580612 287418030 323590582 125435726 874366500 957674362 151892812 508662506 122108578 897245788 621567826 665375490 294357850 686010712 646592768 303199614 41122574 271079812 632823606 812268122 492545036 695730322 481522474 895896378 942028724 887742318 466892222 459232140 443308756 682666804 69082582 942179404 262632986 720698910 949060138 12798954 558145588 903743712 508456138 290350612 579611816 706678720 52129796 110246502 138060828 309866710 149100250 414348844 824807318 591500996 304691076 265031260 659772938 804079136 132105532 899293102 887342848 879804466 553005014 300276698 230600538 671120788 691925188 526654404 712704284 911233588 161778284 783783422 946718648 147543802 746341648 320513946 439477538 835603846 50933054 939225506 726987880 607080774 1553514 463316254 332670172 801447782 205166784 487008844 286474540 442397406 804756716 126610876 767231994 687094050 985473250 406685522 425175882 81557768 232010406 463761870 988480904 715703776 229385854 221007156 146910898 743304298 623519664 67722130 363212910 168802746 222479822 584055820 88801190 78800950 30863750 531885706 786508694 657993936 527039690 377230678 670605828 338214624 72742280 103786532 899084638 878666740 95281160 702143830 620329242 699334810 429070760 902038038 925212812 383164104 334349188 146893692 833577800 907639060 836872874 143383630 157706 743314182 434984040 622178150 331843172 741430576 540611016 358564644 964857810 981335942 760306210 99015362 375092668 327539864 769680336 28448322 842493432 621503854 329921036 455547164 626720220 432319196 159725320 474651684 209366124 531876224 546970724 935873146 882129400 466346080 530876736 951281800 616341512 604445584 523401712 948966576 490095416 191469576 744770316 555250596 313793472 645847022 995635548 995018022 243230762 178297944 275963124 565308072 715627672 618947772 187734426 212560646 956030838 122531680 863403124 192574614 157597400 400519564 919159934 342995936 533931836 293009414 120556132 213985902 181774694 295358110 617075028 54941732 608896494 618070202 499973248 839232212 518264048 477435950 192301148 15226690 389520544 194132126 298783232 231039380 777107534 125226190 318568710 778224508 296424790 406158142 427284314 373057750 209984386 140989520 426774818 937231704 228358728 337087178 240900276 310610958 16869472 377185456 142943686 123250132 721223900 312800744 925655916 214998736 51534548 158833132 180881124 974184570 247830204 695665732 868802212 476745504 71445876 184068514 308918162 113656334 26873804 928705660 848972336 708212184 971959554 271229222 887982264 844315136 954614536 251029264 168400552 347295096 208800216 651471766 815786308 482287902 876532292 186951900 116662752 407862066 946045060 365792182 65190636 847079458 661103732 209780798 137740708 798867046 745285326 446380950 725700980 388641364 940376976 404541204 154198146 57390396 36610174 827744942 262973286 94860908 897364116 655114110 481295720 332654068 880622204 932238404 481220400 17050264 676300940 351285276 962921470 872449618 682935572 499643334 705032492 992108994 802346386 777563070 642778152 674543702 445080036 991660940 304913120 667796418 883370740 196244788 987413658 265913262 912539498 559666538 831094714 388961284 14293582 152880028 768185490 551117454 844380704 443832430 147624146 921936218 743606462 1724782 905821234 768298748 199653196 739821038 135693430 786650658 685138652 893726658 836411804 663875366 754228450 126014432 607091716 123371590 908671414 266357720 191509324 950898682 947133962 151247646 240710418 117325714 826752048 144216178 90842634 270854284 655503478 749016834 390495814 428062140 842052266 565193966 328164390 55627548 402174664 857413460 62019174 202228906 51858632 38202596 910121940 84418600 72899206 247928576 451635042 561202764 520289714 70605892 543419752 339646440 682053638 729796260 105044946 990367486 620010198 140974882 673168712 290425844 430309164 668278836 798899608 226997124 147908190 492716136 75889786 988785120 729785106 263815354 919953032 717333588 812117262 225155926 920718116 942225082 673673676 411050232 695255568 190684872 271295730 79924782 997948620 689175746 653509772 734989118 479674040 539393520 279770306 84813226 934282952 535316868 314923828 701659488 373272456 807669030 15854118 692911386 119901064 613441202 134245492 779919268 228276690 716976522 42375146 321941986 173269852 299291306 307401344 361181320 98117106 196592704 719463730 13179406 991557112 826523116 462773480 433354888 210608220 997638984 229465552 901648094 583084722 908957218 552643350 531443958 173490878 323512256 385120534 189001824 639149452 384536104 320273938 459030926 255553314 427261700 825796562 990624998 222369284 292458904 89713670 412927456 516811926 706487258 467965600 648942966 651331780 684403744 591923190 767930704 236372716 268985986 91359502 648275160 103088166 893711742 691984708 757277330 333093582 371618268 755770486 944810112 57670406 887697826 625840012 297086884 69009484 668127690 747699644 436657590 211287520 314442510 734306528 571877290 149894170 895591608 320542712 86791946 392130608 185777876 482999918 881391934 519473068 723230278 185204874 402716576 651645528 562113326 55467168 98673924 860736354 301201840 425711440 861845298 379614362 360412808 922565442 526702796 471303364 276885350 430457552 558843750 831556902 679544268 579736880 211724076 364565928 640327098 146788790 339629122 426315790 529658178 167332882 970167368 190357632 110014334 487430016 866773648 216296436 353263300 802651376 774853312 709200264 946883284 239145754 302442480 976429386 816955826 481132426 845246934 510069716 385097944 182336656 798985458 791356428 554827674 710726820 510315156 679251402 384346470 210638394 419568098 966304324 167683456 542127870 197976538 419909648 937476034 638736232 238810670 827277394 752901234 350958312 498805274 555094756 728126368 60331348 836994608 566612138 319706726 270425264 623120508 256570652 846577518 558878932 410063444 849850652 489737212 901870232 823914654 623046048 197676804 224165576 331675126 819484770 844259912 958112484 558591472 197118708 287308616 754084144 592664008 388989662 4008454 447354938 646587464 431319266 850049448 660221000 532437346 204511528 943868936 588283846 232798318 440324246 147973980 584110854 863055348 316244242 62290410 953663086 684612422 571184604 403909888 680531016 170594184 150033340 204749858 588131836 177687610 657506506 73097594 974357326 395146170 884446128 468819766 595725758 470846028 8839040 534770354 448994340 357306310 984015222 5011876 470529708 695749606 486526626 422247398 103481420 483501488 934920760 90639418 715112182 972965710 942476860 917503592 144529464 862340816 642013466 743605634 896575994 377226574 523395608 684158054 504180148 814970098 162380900 451405378 312886366 48563666 492689932 796098262 564318170 667655026 507403494 900799800 183530670 401886262 106906248 133519592 68773966 145398768 99515442 454673630 505533396 101829952 813226086 222064110 350882044 291596324 859773084 118616776 858775590 7976198 331368096 925813542 641537636 748607830 481776768 373260776 410942796 503226806 399003608 381708876 121734310 969485916 786468808 459429912 450992980 561144534 139712866 327295210 70642674 785360726 819050036 237596474 783974588 4672546 169450420 878869964 701134120 102475134 875895180 877494318 897374208 864985162 484220746 930964446 886162056 647070646 125658196 290935822 975146636 968043616 852431152 346215284 592089614 817098340 656584080 419258076 323828286 556642170 17582178 348076380 525235176 565550372 745583762 654734542 410802472 347978810 130393728 193378076 951611470 91456128 780795198 101187300 636873000 644894658 807493002 12505002 41231528 112044504 759196960 749421126 665912248 790547284 692237592 208069390 839291532 222333762 131661994 382641452 194313480 708036328 882079242 763192374 941091912 8443946 982814672 138234818 453220406 273899668 722790786 820526968 521802348 124273850 280002470 643551058 177989712 159792006 51073960 351248110 903044634 638996218 153389548 343551480 371790448 682235850 429644918 836502908 850923956 680101354 952224154 238684650 82575670 503785016 342826770 803765840 463142480 166316372 271264072 53241518 308666424 424141786 979294528 718318572 223994046 127431012 91779234 480764634 165489478 533365060 855524994 975519928 178391184 709142200 62528674 12126732 810156678 966949838 538254480 768056224 821871058 630314818 843581250 638542192 440213702 989296626 559285488 654833524 848341334 648798504 599444790 650686358 865610804 483088230 899163038 297187734 288767138 310042536 296642022 760389328 632820642 537745490 25855280 126838706 553623084 960183932 285867316 529330420 419027456 287683636 624022300 431506028 262235480 93010448 175880564 883599614 72586044 462532388 414406468 850444194 566251732 899569092 702915742 698281420 212430058 19454674 516017712 189256158 520167358 15065256 702217604 16785182 655421492 215198488 451976096 430119112 37560416 925090868 527526352 267889582 194497306 286780302 81972512 203528892 48199092 869418644 840795886 869814828 278324976 409826168 398978388 263014464 656463642 217359414 489028366 450873286 67987094 788473342 82173798 610334200 597264304 399169608 19447766 946199020 355567448 72047818 302990322 252798478 205972880 338930788 118077996 657730298 742766592 676940040 886776392 232210088 856332594 220856340 367508748 995557086 25666404 361698296 741505524 158930050 690988854 359620610 594954698 138517678 25654204 849613714 513700872 515394438 534276154 380748536 490404492 869940982 790332638 819167268 669488306 432212658 963197830 307375938 8454348 903269212 111025852 362149520 460004150 595725764 648951398 666285736 681180514 20764354 660146872 526400458 130249682 911253188 190944388 457831814 150420460 502922452 788554084 813980836 826701370 201510176 21714792 938298936 161273954 312039482 425475998 225825106 532099834 691601828 955750416 400901090 550504364 154409392 832930994 467009962 59285116 277145832 812389686 435469192 128977784 676111308 510656596 974214882 261820136 614589402 994554322 327809868 357484932 88089134 260194800 517113608 330423072 345111206 61921070 338682954 540840796 995472754 506130938 434640196 670937166 926751856 355693400 443893408 638008566 912639600 215421328 63070988 599691242 240026118 422900652 954751800 442259468 270218764 963427530 43167778 747543446 547940886 702408382 470201432 731230268 528995842 955121368 555552806 879209764 936043154 138987316 554311154 765681652 296834184 585477050 791580708 790170466 485905222 717075766 823576752 901760034 48642158 568522644 706513318 933012880 369864238 148181790 368691046 50261866 279163810 291729964 917923968 605173840 510830904 848030652 940058198 699783150 717155234 264961280 350046912 70072392 492327758 909078190 715047382 99022010 40942828 108062056 259209458 230037738 590403302 685129832 207042792 935763116 219132720 411169162 787764242 355856070 979998922 388191514 674747524 739426868 398611654 736413198 759435870 634301920 525583870 915508874 902406598 789634556 47617038 884546018 984978998 273090096 132411026 800660366 560248974 190031012 58569808 330975034 484015322 536342658 778996580 260410560 907054874 332686986 274875694 1187592 727005748 575048176 27036406 275547604 738070010 745537446 714613812 508918744 584019096 550691328 681804346 668180612 409231710 842077212 792970360 702748212 994924152 76741448 623430292 673570334 612513164 221586464 97172674 861300064 125984622 315382768 264741562 154806814 618736982 429430202 874957132 892210946 60246828 812222416 881802948 333615734 494660958 29461658 942161774 58242838 963278186 592196822 457166876 685628396 854663810 275375980 370004092 412931030 145102838 888582244 655083390 182495300 61534508 854189474 551938394 645180290 585851944 415133698 287303636 73244580 498301862 307717270 480276088 869269330 837036556 504170292 422365526 779766794 617163658 138821200 12603196 358931416 76498840 16714086 465699742 392184922 593844876 573081860 685134028 563996704 573218086 555987296 317618926 350857006 31952574 625677436 310720848 489801642 751873474 402875042 836145032 166477418 417011896 548309756 970182210 139412708 210703084 95649924 285034530 23254036 338631470 832733358 329759452 895154814 649416368 890331724 455787346 420611602 47023252 986936886 583297204 23729784 280155236 624653684 509706384 210357094 537778102 555058078 151826568 609628428 27258786 327662628 81729820 384868420 752831486 610999122 686023312 787251492 443565212 860634182 514555992 152798270 686497780 473856686 495530672 733976488 574790750 442946786 238593912 261207470 590880656 358445366 239247316 446463670 609805746 95437410 642163910 164322608 2188680 417722766 959431194 986081740 328892132 434703170 480202074 345704726 444860868 988142714 12925942 664814426 45425608 907751322 67062276 840071750 738162422 574230830 622892846 425753742 870832920 244146416 863570406 184753244 760916066 629075060 626106894 642322556 95046722 329670846 510679430 429818238 793242920 653649456 138929116 896211154 235659944 473986806 761762422 270361468 278143912 647818034 364369422 364945012 449713056 262398388 631486930 101253878 848409034 985701212 870893126 327844424 284215938 65667936 180587184 345459956 956350880 106750860 797362250 957026094 213629196 799446766 111516796 800316696 379479064 416878472 27689058 303042232 607775842 616282780 92225786 220001292 793673684 499134902 658269914 374118624 441729314 841512724 678675654 450953046 642032220 246231788 307995114 987151778 869105006 629651246 377544030 660138664 995698626 318230510 694912294 163175108 403286348 153147164 134840632 649170416 859076532 29875722 490002202 956618968 537675026 595278716 184387566 35103006 485338368 659979170 856632046 399024786 365168512 92856942 571970852 172116946 144475722 189041682 670717708 724696442 583616018 538989744 195598874 147897892 826128790 905119312 130882514 848702814 789046632 50911276 607105892 135110384 889717014 717044380 367424206 571719002 975891898 261473170 566787916 426148912 898442616 970287152 654265258 909791812 274299528 386408424 195516676 51242444 101434948 78379630 218333842 691769860 836082508 957691870 622801288 340274404 844381688 90026230 396146738 194088222 281432010 721809794 404040526 824227596 816327202 783023648 619883580 345514054 72362008 437239174 614081856 99575288 743563450 599869916 614922642 141687686 304884682 712617816 819177482 654838504 526113150 413999754 101101764 680243806 346567402 802097328 308848254 282944012 110298980 153866616 529216856 589222756 615547270 73283406 399879628 610490122 811478204 830438526 644116758 154942990 39048460 475175426 603171262 403537290 321463024 809447770 634279796 974237374 751605458 25836282 566631498 417821896 244561466 316790018 54752402 875864930 57327058 234816794 291480736 965510204 790728188 112556656 459913574 581262356 688120998 656017694 447293070 225746176 71019132 57000304 147629304 271805364 807207954 799299708 440716102 846360948 347774842 128751344 108836722 737584570 522655174 337169444 655497638 950649212 987001402 820164000 687724588 765343466 152440434 557861114 378476382 82278236 368594570 176752210 449478780 447719772 592136246 881172138 993564600 732611896 619167754 479808954 887936908 299269188 971013266 200440828 625165138 417426670 347247406 909111672 407543240 521332230 21825540 242232534 271035910 355544062 220240632 165733518 794162180 126396570 671696136 171432032 496743768 240494158 896195876 421990636 111256660 870346142 752250480 489421718 495014572 194685806 381154458 497506822 395232538 174040220 414150164 166893710 596964846 274749908 8807566 543241678 593684532 533887942 695106676 263858340 876259026 292692390 938814496 268016996 726333260 147469316 596602408 295828736 850671548 128819610 649196638 485178430 192980608 933758614 169964586 572846742 136197648 239421378 220873764 476684168 27591516 828899224 29796336 416560122 536190820 818104610 869557816 180131592 547508632 257374972 48868558 796470350 169306774 713087658 966440720 356474568 405352342 409131466 189719728 255119982 312903082 210350430 349253824 239191698 218058062 873494624 940533040 546631138 329509506 875447650 359890736 899508778 778822654 852696702 235239930 207945924 864050750 422472196 689497486 565434134 54403028 423393412 564846022 146515790 632400368 538506556 714397852 131075704 136428022 962118078 229870892 874169250 334925508 595098388 745932366 820527070 467384478 655927558 131841880 398783766 827470004 75099640 983275340 353644310 79631416 313101530 163575296 69734900 880304460 732714598 370174862 122651018 543937954 665858528 14313278 551011468 144948320 561388896 320674636 503207446 806007018 196747898 303511368 946634734 947436850 344696210 588892870 551662252 625086824 617020560 229240114 538847030 342641626 201331386 572840914 892512184 372910174 594100208 465397262 725566364 447000802 98936232 70637052 223241334 754601636 14033810 471942062 823381354 479809134 699277998 559642522 608323828 740796182 250033290 151333818 550998428 521734978 998516836 473350312 23492528 576009678 550596780 906627222 975539456 933883154 147417926 59138784 16563354 223999638 951014404 105901420 823879746 380231588 772283878 628154838 116514008 104458578 87341658 868818896 762409972 330921216 28117592 20791458 391372114 424856320 265506182 800011006 612667410 689088628 222646972 88326224 81436696 558303300 930475190 427510246 790255946 841578322 217708068 253569900 680354380 214037186 8503552 896795798 847222266 855126114 166992056 362980306 686652184 182568188 960969380 843997910 962479262 210984398 285036176 594961046 106358222 224623296 74298508 886464592 404330810 746846604 149584494 849475110 820011714 504392106 387054420 368129004 523154710 31422950 429631678 337782152 194917092 30560444 83021504 157306272 642566456 100463976 117834332 939806186 834351450 205411010 474709748 648609956 470282046 849568810 565751246 414233584 995874264 507420684 387077306 79361670 888605450 200506476 685037454 897482608 178531062 303447166 308844842 309776856 615988416 777705616 414110326 56939248 660369974 876033564 643284220 838387538 734130612 373946342 3979850 821431630 726999642 216459742 763258244 199036452 753176296 939502340 855928820 274419842 154861066 311695248 722885232 822095518 400626726 742194488 139469102 392905278 201316532 122696830 724659150 119097458 817848974 156497126 129994644 180542876 120235800 802065424 757810038 731982762 669368444 367055126 102639898 841051850 803596682 114976190 597816704 37898066 210886412 734506570 851577304 50856834 411756712 919369324 340210368 771846048 817377642 167942640 808867376 749223578 378770722 382239538 769049568 234798788 404355118 115804702 711783316 340421816 318934436 30074012 279322866 281364414 347259458 715473284 388626966 519829018 325115366 42004118 815423452 304138540 907108702 111548326 779576716 292116244 797663602 83247852 825746128 509797462 55951818 801091008 406762876 987239134 892118912 554894634 685394126 906269520 664393254 308842050 47965572 820623410 901968764 265846772 373288528 102170078 682356652 355981710 697391574 20672144 642380430 632809762 147472934 941773428 22239144 82707690 325863020 740914764 591896304 465369824 992698012 243157942 6133738 580787464 434460030 665268844 255246456 138650462 903020256 8576232 409058686 392015032 3948532 669373200 579024228 184604304 943254670 660836344 810087250 556245404 434084004 264186944 830103314 549980840 471541346 75580652 720489790 401595866 962217996 552614144 870050704 588350846 511223896 421276030 456291034 890996746 786371662 305620898 204160870 804929144 261840690 943677082 131421098 44613558 960813274 265322834 85312000 774135856 444952826 543686648 935128280 613884926 805065900 698127866 360367958 202812006 685774556 202285348 940603166 649687880 190417666 259543950 891726414 65290234 525946904 134801440 585220240 76629442 523762936 318820214 616987662 237617716 109134892 898247482 905873328 460042442 90933842 179655674 991482712 416350244 383717068 385219166 122183256 224249208 785743338 391596140 841778122 457908384 723964952 967669258 975892946 886514776 246324486 877523222 644137270 268183256 159218142 288972976 135799114 239787988 563175956 624839658 899265746 879914070 905675182 31969518 83045854 606450010 98354318 222384920 211129904 443043628 722979340 505579660 778066688 839406398 992069252 995101556 829038082 898449432 822440874 568293902 170273104 942346730 681438466 929156766 52329218 673994546 929102506 972110228 314533090 139479854 123782280 294437658 353595072 45234648 669412142 985795562 678123052 650068110 847593652 490881032 34347288 954491192 133928064 404938236 563376492 478745142 539076008 683466460 277118148 247132784 962772722 526245262 489652020 620827394 115535560 662335186 518332154 871056994 570699480 82741234 891034902 244540910 509908808 582819510 777564322 622380002 451787712 153327748 458259206 856373012 336583626 949224890 295151610 278435744 704184430 909316786 972867688 993864136 247686582 852928268 903235044 533430770 733055668 55999934 18434574 814152490 285163746 86907146 716853764 36468150 149176108 64385214 579715168 12744888 299618986 143345722 383746742 370770368 991958926 835895728 83134706 63481656 748373538 711390060 913978478 512614892 898291304 353773510 778085886 561115344 615225506 125110970 176166442 132950072 948120274 510100484 283156192 519282324 30936246 228036432 176111754 273652410 56498346 333153172 518658294 888941136 361893506 683890990 437214258 272425404 504887208 226860430 940424072 77051882 363000696 692674696 80575124 979291014 261930876 780921996 855501062 82588436 390615060 213256320 42428404 609806834 719259588 66173618 499130928 963860900 278136762 377600458 606582716 68005626 501766372 648333550 360049406 858134602 882906178 246349432 745810068 193490798 203655132 165272986 62124672 608529700 459994990 965546502 651484048 618578328 873475004 312631554 793540316 713511028 261955924 64384172 371523630 828649018 927333606 251507636 501000066 982437618 440630708 67294944 733782334 477351144 464171596 97164360 706785918 410860506 47895910 722753222 768795638 51890150 925250382 400972348 210462682 665590866 394648676 693962468 517263664 26354836 761127130 534968112 95930024 688768452 751875388 703187944 818213778 698158354 5420624 367111376 625767036 754072802 252270340 545769934 232418804 570020522 520734656 278997000 913734786 512882326 417950478 226785178 214913762 674190718 532570774 887581162 607799986 290861064 941255462 116099424 726001424 226985684 746974144 720694446 91003516 769307910 89435886 971266102 563760748 59429142 442590820 814858548 187412340 994231512 89809910 424759116 914452794 170387150 281990514 103646566 478475766 116726760 756890714 24421420 604875274 112455412 239443290 449022168 118735390 524728234 540602932 766333446 922613212 101642668 982346072 556385642 834862264 535603208 136152298 59241454 472140572 179616188 996280832 207676548 545766356 297793616 258150536 728586552 489934276 779091116 417159560 150966222 144833584 624537110 739217556 479908648 825647784 816488678 811008090 320274144 872804980 968652186 625647740 359097278 715928626 191696692 634334474 766348128 62363944 20480754 906808630 120909016 298229646 326443458 202619966 960233976 254732842 890213090 150950030 31941412 362560980 658653422 585082084 89801232 43767198 329623450 127504148 120407740 558941470 455439134 987610700 941065870 78198354 780739992 735007120 583230452 181735742 341763516 300256442 102694386 254682900 816162446 603265796 261872948 462528398 985787564 121859796 710321686 968856396 235581306 237780738 245841504 386056554 747148232 567179842 259112942 404400456 434393592 114635794 292217358 813746000 506663460 614617286 727099000 473236314 528809246 163515500 352127758 119981972 262159524 145918758 118462086 631978606 253251948 990266082 852929510 358220664 865909636 892474724 71845648 372090326 739824064 450476900 930818578 227911846 416841724 615008522 8030690 267282078 449638934 597397302 988668780 479899942 724143200 224424252 119877896 146639720 740457084 930703802 834838160 792473666 386673706 429966332 548096354 470810148 961617304 598369626 75875526 224186562 941722198 917326094 602368248 867543904 505871026 633049532 767501714 390816256 289575128 642192854 140880914 201968928 872968766 948436178 50415822 557768814 826221814 482237614 667614716 326993818 433919956 192513324 530802694 906106454 632456548 280043220 701172630 338325306 233705094 314485132 230338728 825176276 5181326 722715554 84384354 181368828 597628270 923575112 452600658 697294712 852485344 524016806 673857072 268046060 28830632 182643446 271488072 692156656 674267832 94474032 519981698 647939506 286652396 203222424 437048266 743066362 672316038 989309568 632340590 141943958 789138008 257830980 349571020 910298888 534142942 405414466 554514026 418797522 646531554 879813022 626006844 381123814 685818072 30587372 425060940 932237040 163562630 207073060 744593022 768275132 348725504 594620764 309489160 328045230 236171578 619369934 144677354 415936686 885216314 235431124 773889756 370099772 524248658 28875336 426282766 311908124 878557900 509281154 665774660 788925290 773344324 211602142 797445854 745285418 240953760 463827464 613055106 332282876 458730372 366719018 396892546 847073910 645836004 808808250 470827224 644442596 964600210 339276138 624571560 353178908 400742204 602833674 261716888 422759924 656073422 271427110 249985638 562208592 868462990 443715164 940417248 563969438 203357540 656624268 152682746 222713674 74773344 314575234 392118660 71062674 943945396 494907708 727806512 798160758 607527812 557996096 865566464 327424530 159430484 249794650 727394102 753766632 325662326 486312402 383563708 378356038 147004836 724142974 882680918 38009846 629697040 518391924 603915344 580407848 927322400 846801650 563848468 885048482 465378876 855802614 746792744 513235638 304393168 263735874 952287766 211286170 215571020 183103120 895690686 964096092 158278330 339803900 120587424 704281480 78147286 915561270 275463260 666478440 583732248 122698912 584064248 798882206 588581360 264937804 789255124 564529158 805617680 280255652 79681100 663593936 604778876 75779116 356205572 711268704 420537084 850878766 297891246 37910026 724034610 148320186 228680736 294099482 446396174 313542036 867277782 359576524 528564848 437030554 23615170 34334164 211486666 141412820 223468524 63074116 99120050 774523658 480808772 278291560 391487784 542984054 701197434 520085128 616027768 635487464 8567780 302753670 912687248 441322184 202834566 456817920 756953546 945636532 621877590 122203396 448533336 6373334 295382042 528911092 85938072 295829980 534148606 416874302 639664800 273664242 523126714 256206294 248153384 449263108 725177156 369010706 800555232 656028096 863287650 942201034 958543534 795234782 484571348 285140762 915359302 503763066 994557374 394792136 224168034 450392556 434933882 245643016 289408020 182450978 583064860 54047308 948624904 589462808 428647132 909804636 832299564 271444260 450456910 952040076 631758222 780540588 248087852 605131886 575739136 943963958 449229642 670918946 489021484 20976362 16243250 895491874 476830996 755098570 451979032 552439346 642634178 930918690 526255726 824737028 760978284 700629456 695736326 399843548 578505976 596835112 942486808 312737622 267523870 352166646 952386594 276451378 37411752 440490230 354045578 120513396 333124100 199835870 419389822 101926036 143400320 454993146 944606836 161570604 825146424 373123764 771133698 313175178 611528740 860605824 719585966 610992520 418806710 154009918 853291356 543383490 408181818 940636448 544296582 558720628 884266760 577150270 62655928 405370548 393708486 913217756 799907572 350017742 260587650 839213328 496668148 800341504 940312400 322688462 675878830 593079672 852856592 783516156 20221502 575806722 344098124 808742452 514024162 784666944 83896426 665373606 201470186 849551350 707662154 716822066 353662264 505148006 452255556 53971594 280862208 53940314 792604614 132439628 141550436 341685860 555224764 801581026 920282528 768127242 797050730 256159344 484142892 947477212 977416898 289151416 368202864 75947202 622813320 728447362 930006106 562269304 22729736 616683052 375876954 6029222 438085342 470571740 436289444 884749142 935329988 156829658 635988834 527439282 932290422 553439450 921315620 751301840 233751484 48664566 558843108 463560592 667020136 236142256 702201440 322633026 928786580 776091828 557413548 225151078 813946982 676868074 59112446 242566496 67613918 959693466 2117558 969441052 546620876 332324604 905743374 331739300 253945850 898027274 111318074 425166112 479515218 784154504 43251436 275462832 896320868 415764184 80754702 820301000 927491034 148145298 484662812 84950184 153308568 669293426 62174196 195579940 83593658 225519248 248034832 991589002 883997792 309651026 277382124 790465574 892267572 756989194 633135932 442108156 422751608 143877350 98367550 263733740 508001102 650579530 997509526 821554334 109297334 989184776 62832410 940471378 331212732 577287778 810277270 799715954 301127940 759490164 403287952 807099872 21839294 353797718 733568524 316266524 968411804 253539566 91186570 119245770 187570268 76596286 37673266 141945194 152880682 404896040 837272948 593383650 143655736 400223996 790664458 418776338 110099072 135074136 356043198 284947392 321504484 272425084 249482832 768815864 46689814 523098124 938264990 934734788 788796702 620478156 576724526 226735976 367530368 25066900 142104090 61170900 648353518 259166774 905643232 353132770 189055124 233942994 11007310 656137120 283822414 631420996 7804860 958395376 29761018 263072608 356426850 898909900 942188422 919236444 387547196 84074274 837023068 470559518 349136756 518169512 668206318 344303852 815578044 549765750 520088488 177108610 473030756 460736388 764215656 55757788 172316480 203554100 45878808 626006956 589276494 83397538 325582870 260035732 291107226 102405966 964068330 811376996 249941856 545254714 887627414 954857732 980427158 875214780 54412784 383156882 173909148 671116080 694105780 466384092 982178672 637223996 748112634 392205304 464927346 566716102 759746702 715556220 43792744 6656452 428031132 835057972 155007378 499316026 451096206 801960240 857860772 398991022 676169530 325770372 441503780 873265444 932023846 235856668 152173034 113346808 117869796 205423378 180304428 77036490 221994582 2661500 547246456 275990084 620881134 637734492 690143016 554864964 950498372 601963762 285162578 208115948 935891106 306888042 775244 672233496 559616658 662025374 545130070 618812580 391645520 565581660 142005702 979652530 935683160 627128090 151463190 199006586 956995368 632464912 853440068 19022930 423596696 899756782 606210762 297549740 759441232 967761262 127706720 280953130 824805716 78913084 526681532 655154418 656953700 791956364 656912984 172831886 570396428 495440106 733386640 278172906 520780558 139887006 492403756 454236460 612299264 134720172 193728702 477984054 683727522 485098534 10507366 25958484 992026140 893042834 972814480 356583498 358686912 761300198 586927640 893381972 366994038 83178518 291066584 137597442 121307924 609393280 682985664 997293016 128965916 716159150 798872284 159633074 859238018 941954726 749318762 669110218 800271268 262168816 209041324 910943864 551027740 522912060 828328672 211495650 257153324 689464834 283864852 18518058 336144468 274312024 981660150 594864832 930756182 56560552 946484498 126230128 634281876 983489074 369216342 911579712 725708688 336278500 640541252 455777812 505670506 60001148 97929524 188519616 30461846 340756976 605336014 904632426 578175068 619875416 69722426 277590782 307388610 99584852 851900970 123590688 200370324 489651934 784573354 610322780 437275842 353797208 933375330 513382216 104743254 301145308 267095334 39737618 215719882 627791060 320939362 428022922 301238364 461489562 326541942 152127032 161711050 543674502 750661776 935630620 281621338 619080642 580099296 653955546 61274336 253165034 947449136 71833686 827206148 454340012 567053176 591191634 794765100 878755486 515819758 842929266 347075274 31745612 357750996 240939382 494552690 337190556 575582290 13137158 63183884 756779904 453060506 231052004 161226970 725215994 602987208 734746660 822329044 69712690 413444050 710035732 459253168 224951562 357748788 963495226 12212582 905865972 161624314 515426884 859838966 573338820 979787422 776323294 830575082 258577526 716559920 706433056 653879698 340674554 302540628 900761602 296226364 390272326 178007792 800596648 386913722 261624052 262436132 149611556 745273140 652066198 19229480 47850736 68315156 923282464 794091476 517732770 251382998 501669132 965103546 163889454 913932484 31926702 235304170 688885006 904579074 697576456 150556620 32217396 880882920 108602378 850268552 664069290 601546886 37765794 686406512 323915518 80686366 357232086 644867488 138462218 821826080 392472516 706384878 227056366 675184908 108373088 562525176 15600810 85132858 373364392 495617142 985493604 848318816 347655884 558766696 460715860 109220746 862456460 60476830 144475634 517719872 573330424 474425840 54646264 370619494 240430128 677899150 737373312 694573232 622348326 299748106 42531580 513195150 9414370 437708500 963683036 362101530 643027042 560814658 775915812 690497694 338658330 134394718 349949138 342439350 204816246 25981102 2421548 150701994 357424714 394131296 751647058 864134426 497474820 658469592 795164550 670058232 565415828 665973332 174295332 837870580 758794908 228160844 735855164 797337582 797289602 751863656 30609134 411781974 775974874 37007694 962149094 784387954 306375076 46983736 85933942 936943400 65212576 87984282 530846104 676901988 128080216 565328642 197782050 399228218 38887876 588040128 49673794 420270372 983360 348162050 997139368 125288692 400751124 222721138 930424272 919473632 312606446 652476420 357426046 683381938 528679890 167683454 183375376 465640988 470808512 551928952 472970884 192360480 881164160 528220210 930396106 390837296 28098774 51969376 125151972 152254302 281226068 234803940 170405922 543262694 575140616 653321068 540904000 718499778 971515158 843702552 141664672 927738032 884632836 626326972 67006426 412346666 198132464 298662864 162976798 855316666 901076028 956802950 1149984 733564832 253291418 685175518 85654346 690175870 63579100 69302650 412788184 406532704 586294218 826380916 764554008 976895424 189412764 30249144 290312664 40283184 890638392 675279366 524550866 48484706 135098454 703669950 772802316 987790656 190672252 824021918 515002064 431904780 781339026 659154476 729296346 230943192 428497262 797869358 163801906 736922846 904942178 532217370 769107164 550878222 771427646 357816578 329098566 539800694 119261914 396676214 660172946 873244806 528976342 259971744 295018490 458687000 420953194 871021270 225005856 91845122 658783406 316917608 20368948 395556176 507001252 98705260 719810920 442494624 337441996 623084446 398977622 882208280 979983298 156128240 71868322 686736764 584825990 285152856 442669998 217513018 891631288 258754928 341689342 490580316 85243622 74635928 414784494 435504896 796897654 918846172 37570652 946660542 543361176 570906562 372554296 382686450 635175654 680793844 528745408 6482486 688719920 245707930 920860432 27236596 18534492 272160698 802681692 666034988 542854780 172995210 23072584 187599138 480412092 482544318 128690838 171412586 36314266 552187358 256374154 98016130 655574738 435634092 84518454 265238356 258469368 285848566 486559640 759638332 167304568 325059632 224025006 259890708 973571156 985716074 172737778 734788126 103836184 693382146 751162866 25292014 168630460 420846478 328537184 897344136 54758600 985872056 244285836 621308536 393172964 434893180 445474732 229808024 865510678 137730844 40538710 737276238 290778482 810554252 80201894 381643674 147024672 963351382 793943308 217497590 312298208 267488660 388996080 438874510 156132146 854868304 442888060 106559076 923423258 684936470 969579122 937587210 38460138 299279800 919329678 660349246 502307246 210619410 464894986 757749372 670077972 986403140 836268760 372501304 914992292 563635414 70940834 559510460 130719030 152114190 222848564 37146268 781181278 531252308 954215632 990151372 490301798 159984614 236050540 945662946 107839526 674540620 160104908 488792786 862714858 518750714 786970412 135292182 577723188 795192772 878409092 579040930 553559862 945300060 304589904 181854542 133366584 155548970 84507124 68438800 941405512 94435714 956518144 198345550 333651500 108947504 654923562 407546066 53789054 372400558 409335112 594766604 646118444 926995404 744740032 969148778 775647690 2749720 237472746 142818 59509142 474908506 596729504 280924002 363756812 283939396 93935228 286169174 66254312 22079572 178705144 211487156 878423550 131537452 867960380 739708930 749903920 708042652 75639682 46368048 177479806 429899986 659993368 258372706 285401374 163282482 971979480 934477450 656151588 125423940 25396108 491276110 165509278 132958510 373811366 509703272 835876452 367932184 283916566 654234664 869872530 228325520 514346360 885267888 96114188 304699378 949110484 193983278 457103624 265649294 493255740 766554614 822277348 327456884 277486088 146845350 172168148 516883852 797579994 903838182 608679250 429576636 589561576 561193948 782942354 928979908 219347590 990636380 993882414 543757098 557403668 628093082 673007854 396122910 787204554 649966100 418911370 24255732 782893028 110469622 757741098 337650922 382965690 274097882 325521216 915575752 314583120 647270566 632210500 303890044 10896392 632552730 321150678 526973824 850839692 455065436 524241952 97269988 456432722 370767522 191656192 93384272 555285862 551802634 180913220 150657832 458214676 573485584 353730962 135686338 265586990 172285766 489626962 12375668 577698128 499828862 869112190 737499112 214845524 797581812 946595418 197069648 540638538 766585356 567153606 474961738 214059328 986366920 960849790 247522414 651913868 892454532 97727978 377821014 55103834 355707550 526829364 249511520 321522972 97752684 659395926 314641888 752496794 52044322 311126916 5783570 778505232 359556396 2287588 691452984 542990942 398446932 985116382 28740594 462405940 534280054 452456632 67181014 705876082 850463050 466423678 616881898 140999524 284164778 425246272 541881622 551548808 472277352 154040036 202589156 789471436 917719274 157404316 907297738 529879408 250372944 650910104 162709162 464141178 304073878 296168096 232051484 733271436 969537778 282437672 379363722 774067566 942713026 539907328 27950230 766142844 726930180 891365324 58904248 784293894 350912198 252017470 718800576 810302702 683919930 18485324 877027302 495504968 431048626 332023580 985298600 482659150 419121254 291271068 854907610 614083364 302941746 706321690 876518856 299889042 164276076 897283116 731505920 252002372 118338044 409231554 75148624 561188732 60082396 581438858 210427040 641605836 356114646 502715408 276974706 494405598 121910840 54198860 823223598 686946292 354159130 522548780 348417678 325418088 271959854 688357090 394435424 275936286 352813832 387521850 897739458 451372684 601019410 620487386 709435800 528754052 303811862 813184638 928177796 290367620 834903496 635680638 256886110 926416270 123063452 852302942 621063612 47165210 465298232 62051018 535475686 101873618 101341428 157105852 224221560 162320376 91915108 338669936 607107152 233667144 529110684 690020406 347751710 334340756 477334152 676067304 803363592 587752378 744799856 964890188 598675900 30298154 659847948 365752268 349040254 135620816 35290512 804728724 714796304 796480594 963677912 271965310 541262122 756491036 688461820 885936300 22969322 251157702 854600440 300914210 239323482 312050470 220375400 186938062 939313864 985280712 333290626 525760364 817481194 329935448 563811790 249068850 543491532 554538738 689879004 150337628 374840322 920907184 412008364 833097564 184930486 153715726 278724538 698606542 514775158 787149150 107620742 218713226 43830024 210087800 755408978 365066006 88699472 22568002 414601788 984407376 164083204 903380988 924507334 934293144 602848642 471983788 410258648 439392320 358910706 947318194 893597540 620525386 972641132 503479588 609444394 822564298 295804962 954771976 423876644 273873976 719387466 244268072 362179192 949089682 861396796 724800322 850600690 216847516 829604610 953621230 799589270 62249484 693547672 636019536 7197954 806682890 472671090 470316354 71329172 762313992 838945508 688847864 881594944 222358426 257202294 889704654 475183022 206045500 678090576 329892368 859909778 992051150 524697702 763135420 133264800 283660102 183198416 399975578 64545214 747078480 198576674 743406646 713962314 490015772 826274394 549028830 937245028 464044252 353897242 678095960 654517796 198096942 520944898 121946130 667321288 143445028 481808234 702453832 611805226 887163522 231263850 939621500 13815606 101272586 495811410 542157194 178995356 527373942 880933594 91242044 622364626 821555334 596218210 629755708 940478548 629475772 520456310 151319150 483822118 487443492 474372882 802280316 499266094 165248276 430013236 552820450 309016410 263821894 562648004 809179388 186510530 869697582 512277330 682304454 986061440 404697044 57492730 173867134 301165844 365885126 251495348 467465398 818333534 623165712 998639886 122829132 832458758 335188922 257778684 397614664 858190744 105683596 984062168 93390526 583134262 856404158 403071470 61960386 703341142 332419346 495269226 701511058 718851784 825248012 43639966 127479830 880953580 820359256 182026486 118426978 713802860 601563386 802539178 219716386 838929390 415215000 859537950 366441070 319727286 931254922 214154590 478511656 305772920 541231204 100228820 50322178 45128980 874801902 436586252 302060764 795491202 850033500 126717930 206422058 559236324 503231704 822983140 848170290 663096936 947396386 494104392 256477388 733787176 253609786 309792468 413021520 614322594 480028054 988874500 62701358 820315778 32489224 779322904 169082918 946432306 367332630 577363322 108041130 749992320 12993452 45488152 980429326 624776404 83486142 947200880 203812362 948537326 149346258 124296470 49614738 149771718 202999864 963145804 742034494 885864966 776796156 918002812 445476928 777521698 441541246 194089668 763354918 244038902 733805682 725219088 691014718 925812250 42456556 589404896 998126074 124815796 834531866 325918986 128042774 683934638 415541854 695190686 986582866 90988218 520969950 564665374 833668018 470703654 118859258 723202136 50590192 883024016 483784124 231594430 252892924 316336456 91925814 866934278 415027718 318722126 848010042 870585380 925700264 312496506 679840150 401289716 881386754 769781516 941652302 969881520 239779840 390246412 418625362 305111566 485063250 788258710 573357002 490982826 333793744 343370968 45712986 846273682 156890074 161228192 518198442 101746362 656221416 732050068 210013204 352805490 683329238 368039916 961765622 896155742 780543356 229689416 540251388 705012594 406131594 967800864 118317960 564735592 228097204 17219556 480803140 108931702 710176146 323833436 825545450 897486816 907385248 72069044 277059522 401056778 203637480 684383066 676270890 567848758 190992138 311985972 661888952 338052394 682426308 275640400 291312604 237097544 976516532 504616592 88610906 15110748 154072106 378345680 295626120 335971252 817304492 994481110 320235234 241876648 802454452 320731532 230880304 332421914 483390690 612679062 29772560 64539224 676906718 448401292 800719518 548385850 358544800 498718408 418845082 17690628 667530594 48257304 582994208 234089176 982647528 265056102 596638736 280789940 413608750 591445208 828271082 258189098 718789772 444866572 541172102 807070688 997249282 621426610 231729172 512717868 375237730 43449508 754234076 353480118 680251640 101840354 916262686 407183858 345580888 723998660 397108690 953840852 409192642 955245168 563369258 854539080 654377320 981240636 833185118 632500122 614994812 687516380 455491550 470898050 391585630 839591560 565024428 48689392 884285586 461530454 507015758 752694938 213934586 783110340 145618598 578179826 719711330 671517530 177991954 96039726 689919878 589449842 554696462 761299224 662145804 315334874 150930580 644136330 718394768 211588818 493560636 195682592 804951304 464385388 685324016 668238054 621107424 989180794 52359040 790571458 635829362 55771428 660644464 199346208 138297042 767755420 50513478 385735996 923133052 332347760 476508970 74154878 318109080 911031462 49201314 768542770 905891348 423536544 198065170 660701924 860646474 916483918 269263288 675040292 586581466 271672410 632560514 810770914 707348642 268916522 518588566 563503000 400244188 550128560 335324916 725893928 168783996 864295828 563971098 16088456 327250686 946536772 791905100 613069272 895215750 331551406 391526472 361125302 100618112 576737816 991942296 202095810 360371536 353205274 51571122 905325732 38908090 733062566 361321616 705812740 990927510 592203620 391770276 13160270 165961340 796325764 651142548 820751820 623461984 551508966 924804678 82024014 823037148 276247416 943326568 233367070 573267246 679000628 18196164 625118908 794078658 748658784 512235562 935407336 19993974 155052178 240112052 904650206 635036222 317731410 764694562 684367746 710119054 692897592 930570652 711429820 942404038 883159990 992407782 9364606 755383918 408248532 674291890 88764538 605088158 66859084 322934302 516455278 3056504 442970268 594289804 646735530 807524152 830176510 773893580 876810238 571326018 357598302 156994818 982443250 361217554 926520992 852520652 791053164 674007862 90023090 554524724 496460436 207339562 906536782 16503366 361680056 328181046 669410012 7404360 90982116 621141364 522593306 204150628 547822032 497106228 358723852 388319578 544082050 399460076 332855122 681349272 55902092 421132674 945344506 656143714 799314478 64736344 419591016 852582974 46508984 527220844 854923958 820974170 687496044 736711634 737547228 804930636 593878990 181362928 273406172 920770756 655215580 168566240 909722984 863932704 338407688 780609096 4510112 822924688 492227404 982250200 778470420 171763482 98869872 476046948 515870126 249769864 685551362 950276128 156726604 967432716 692108474 451655146 516424292 956947674 56542634 800044548 388990734 200642264 823607382 801450740 450895586 932291308 422784384 506188546 102182768 14008886 721702832 18297066 212318564 803880644 237685758 628046884 845368458 305983046 774027682 403896326 74245820 737363792 876391634 513281618 46449282 355265138 408593598 1487668 613252230 5227718 51847756 843169422 162848258 172304732 147568612 893829882 149560472 685034568 344081688 147921372 165120456 969020424 885003810 931672624 121126030 101664814 331927994 445314426 749343560 521668844 108037348 773998154 24160240 400641480 78281134 78005772 14245998 954636726 168284016 212603682 303207962 568863206 315727694 216683360 19169778 653703804 679685872 754356198 820268314 656111398 596767994 981434162 253693190 301401412 323390288 782103770 364008660 68779300 90787312 218760288 988578082 987213112 486523724 864646370 635357514 90564590 877462790 702296534 812837348 666962188 234256858 632945494 805703102 772908406 539661974 891438766 734288058 583125606 400570976 692008484 887718004 503894384 260798758 952191326 485788568 143521410 160442458 362971642 216073676 784567718 396153518 803422350 511888156 872431372 688715288 731328154 964779104 516387804 659420318 886866574 731343310 593661686 52142148 245519218 590122768 232579132 593806934 408552128 467139218 405359388 20276194 885316764 492827120 638702964 602909058 497501414 935506062 708564440 288640436 798437620 724107898 842522866 868010912 389391748 867176214 263839196 494904022 379917752 382974836 800207956 76440716 343985138 280467858 152860954 38764260 316509534 366619192 532847520 360338422 590434660 294778816 742693606 340889516 282971022 546760050 138205668 157247956 147465680 409098932 599224262 527776120 634464132 617760698 258354710 301935492 299412914 992374414 821563768 738649900 892356634 857347872 813973632 394687222 472092950 371287548 783483492 636242664 474309918 767629206 869622860 88702906 458038012 221530884 146772696 772924038 889972698 900944562 765121612 422293246 564431828 203800830 822322698 721578266 499392892 983258830 649799552 755948850 38880164 921068708 536503248 164094784 441729918 680186770 762609440 69552302 131046688 456369830 231079380 374603900 553178742 498879228 500771218 391265492 347491660 104911564 341963874 79403452 828454812 817717934 823649216 963237610 321447082 197637844 627882064 889571720 420703236 439642590 752186528 610713066 871888148 3165498 998924726 616355734 62666732 795684802 284276836 153798070 711127146 930111230 852592596 625701348 540362548 323761628 992700794 217070798 62003440 813978236 817002544 962236212 977019282 712714238 951430184 655063658 985486258 342617960 45787264 176596344 439722064 547427448 205745268 366630956 697911830 641184812 682396752 131399796 570221380 251907524 671395258 877367948 478560484 35200840 945964180 555942790 139499752 356673992 280974008 481199928 764853370 802067344 970069890 286935178 513701184 862259256 725540254 390334590 503403350 493677828 126277028 191088086 910818282 464890392 246582934 572717940 634409540 19865510 672508902 288742628 31602772 586785638 293690406 215738452 126670530 703692990 969715568 53526784 967597934 224900012 476158340 972734452 703664928 76627734 169477184 548096080 711329532 869693302 847538650 166245790 638345406 652018196 752670490 678533436 19333560 84855006 539860198 652277462 283910516 552704818 133038224 564282534 433107604 694606606 340675192 745795316 257494898 406591180 341590666 828276358 335257762 881898568 378278154 435859174 991420480 153448696 534546296 72365358 274141128 32685544 319151632 770663694 412583688 70115162 377691746 760877344 778501838 513473286 642936808 261496080 667709814 539484778 43315376 652329992 132191944 747156498 725332160 694819426 332262168 643828886 833549758 51215724 742321214 630995776 877058812 688364424 826565870 366573926 707124312 95605040 161716498 20095146 774428106 489781102 669011166 319645036 494021862 607612970 709685430 61998548 384707822 509714342 387259348 417472632 451758776 410740978 199523010 281761224 63343230 879452954 573813920 386152796 975816106 935038086 800429802 307059078 400581608 996690380 113814484 554798458 676238366 970319230 136132066 210710442 598543616 546395976 362679602 482263510 761030984 565889132 23038456 208295306 683445018 730451978 729085446 423405938 629858756 551331510 209037390 795453004 276007176 967317584 101409786 920383402 254436768 623536376 230787986 944909510 806589334 310553222 535051718 474643674 402504124 995058950 520099212 168489064 110755832 814119382 758099956 480489786 73911548 706516440 138115500 294670640 341241118 247839048 151061298 259217000 898082434 54049888 560334980 304728420 201668340 753967288 876923816 350271756 291685620 815845396 775980854 110195912 770073738 67712656 869958094 270034060 752665032 292779284 605927610 794875276 715971616 299428624 639783400 900100714 324119308 398997168 871087672 76953986 135821708 976418472 860551338 597994514 12418730 653676258 353921186 44827454 81926320 713676238 374798544 623993980 484358690 958731426 111969630 986519130 674310356 694235218 573174360 174441900 503397078 763233864 997046284 378504794 46022142 656348114 948182272 73254872 589402258 978427078 450600652 556329408 726383904 448442476 892983008 844393242 182986952 958001812 400314658 599768298 45887104 746014450 760802218 800353190 962627582 377095012 233720120 758997906 270322512 442024890 614874412 708687474 867563412 658473168 793323386 800213758 458133888 383520750 805903220 319598668 940109962 583484538 619806730 559084516 160516260 484243852 464253628 888355718 397420372 41734864 417493006 739815240 54984370 37827942 368737678 749298662 603543164 804247198 803744804 993240672 458615672 391159098 871508568 218684476 663002330 838097868 388520934 117892562 686652326 647987038 546149654 428715276 879076478 716125820 886877704 423430546 58195860 341938116 496318520 117469888 164920356 338942522 575149542 285876322 854175560 792250470 61433504 743009128 421706188 880797342 574682276 691936050 239905106 195412012 240347008 222440302 959093660 366508912 572524576 828374394 271528130 837536264 897052308 499811928 448694600 813937070 216700800 314198072 173493838 164151216 305490568 126916468 335473244 359946440 60523988 4434740 357497696 33804148 738121998 974178048 804320574 586056188 126152922 871257784 231797042 499114592 322070638 811706590 453991104 651994594 407700432 842696614 646587430 726660170 683136340 33761294 343823416 149910214 296861464 723235246 508587668 29432464 583962034 466773404 258428544 923261132 662245652 750104926 147517674 8341840 258883768 995802844 257143824 243768254 48495608 406916890 869370336 919426656 373009202 790535150 658431584 940962024 100657944 666993224 120460178 120911460 364931660 136985866 194273122 760074698 220692738 395789944 704244052 100311302 673580068 667343372 671700600 162243354 754876104 376033886 670278330 521202816 351350548 555434262 29947834 808502726 113534520 424144752 904293748 805371506 864742492 42071468 340858438 77627920 687996970 895028160 583360158 389148524 102543168 249302252 666972042 51425800 917657336 232326804 118974172 486194446 679275474 940589936 779350716 158449248 312475568 194515326 298202158 396128692 385949678 927175134 930360154 630449152 846629440 86865718 186695644 467868032 919066546 660558006 882453388 55129634 44165520 944165346 759889916 910460842 790510454 146184536 796413694 622349848 123472756 390319932 267478824 950688146 45113168 801952282 147341444 443533096 720412948 187571956 27110088 984641714 12824340 108032890 872516670 366599960 703995198 671716086 186033072 305056388 707383490 763050156 476593652 898205612 253336702 714395234 365515038 356559708 51393248 868229586 3733800 313380992 124363492 420724788 891157120 500524814 71233706 754217486 243875746 920264140 577809952 983331526 456035188 618408096 978758408 275001920 305224680 546019086 471435342 519522042 790525356 859013508 532481896 612772954 768865696 89222816 814699550 159905568 501703370 605648564 288194996 102816712 688022612 225059524 360895104 569297938 942711878 812048952 382697220 93663120 694618986 217319202 77533914 500520270 468771522 730302694 601791364 921858618 665930352 281497448 781742178 640279730 769049640 754656936 221374030 797128062 793563092 218296284 139419614 158646252 178690356 812181456 57344586 295806864 664113908 621582496 564727942 652203654 570890402 203727990 681079790 484045098 775075832 836037002 918526344 955508048 676444886 938387358 689110240 823088336 65601644 238334344 508971802 594064446 2391676 699580780 110880950 574694080 8295748 951288924 231792022 211077680 230568060 702223610 588064892 912306610 475738894 45441248 586094756 642315454 563701460 630821012 322617840 872624714 786123992 240157588 156928640 653907954 300682682 480845740 667396028 574193190 177148370 508298258 404061916 219000360 605060758 854776730 536664992 842695174 938640154 955995560 914325528 13700092 715060858 44628692 484423822 467371284 508433758 470926028 293805644 490037094 786995788 35191914 528416104 509078904 439184604 278641130 697604692 414239450 739174310 374134340 726453154 204527164 799409436 828262272 958729726 722708042 637174662 244806138 415302120 514670500 860146748 492840382 385905936 914229760 440300872 746872320 659226906 8318536 668984654 885708484 229409060 510077044 144955004 758690094 618323522 644707060 444388256 398396982 754859058 403302318 887481586 56361708 317940882 645525150 449579862 239438634 676892672 633917750 116390152 755406642 253264204 457273730 914123028 448851448 620196734 437166098 906576018 527850366 81936644 384274238 283608998 514915030 550971100 643003980 451073220 539777794 690180118 959042010 566676048 303851282 942540762 888909126 8968026 52284068 108393038 799471756 365838550 481424722 585380484 990696128 710130062 447468992 246263280 464429692 998085278 577266302 467868840 591861682 275933888 441341728 230420944 888697414 849479206 897958688 952873650 4326600 406209848 60911708 709264638 35413272 924795918 417436060 316049482 915047786 50640574 739090220 846334426 628334058 950575202 467109734 420171948 466886140 922924382 635639730 218249050 595552716 708225098 573186840 127079988 200656266 90286248 529148772 717976782 522373528 415632084 875863688 727811466 935510780 975831866 771853702 882588610 33224102 121576420 613913494 905267820 45967470 668518414 952423650 962114742 152545604 488036320 501310112 426276652 859004706 626332000 221955870 76032912 978480626 561024396 4086640 840097730 801340076 850605372 877615182 113463662 666608524 222514174 273501848 451935496 414870566 144423048 276841074 794212284 724874240 701040458 415227880 300633812 240868208 530098746 890356266 812327296 548485746 195050594 119873304 528501826 745737676 805547280 64201208 250358182 937154766 756123450 80513012 113924830 534553316 548606710 790132252 954546878 725618392 679378368 292523884 643337172 871836526 812676052 280886908 222951090 981615118 873072328 871936024 207824984 849934786 831370966 41614004 275184266 445350664 611699544 536144664 645002034 123453646 312965374 624921164 492698684 759696946 640966560 990107104 848739434 690969676 583931852 797788434 780463288 205329950 346003826 202242390 501977362 942115258 543255084 599648012 630293448 597840300 402348666 100233780 88616474 160540976 743710708 405514674 613445192 95295384 222319694 844268314 366400608 171395412 439378224 712893504 708830484 78037456 631787516 190349726 766964844 416461924 624316580 774996068 371002090 384345556 991088634 517836892 423742400 540729086 16669526 377601836 316093886 386533148 712401736 871538828 415384124 320620702 672122702 645931084 67427540 904959620 379228224 713414104 791383112 294894500 395663326 53241050 630546856 796203380 669608694 400406886 127185648 777141278 389356858 213100180 722391010 515733548 107024770 276712766 270750176 263989714 619503132 413878494 285887116 869556352 583940656 68521164 177961678 49271594 437081606 124807048 465987210 499913308 583644570 549398080 670669778 331297122 940859306 111992446 285616880 860354164 382163214 902522204 556730256 738493504 964516606 316347358 727011606 763046148 987948608 837310036 277907680 10792176 722783146 786044428 849409596 31508986 616288410 487318154 131591266 308178176 207893454 817277754 93499614 350867672 850150578 373237322 992754954 547310398 881418562 887744466 35207510 39963782 121182082 485900198 373085544 239064858 782326808 703123826 769889158 623659510 659039926 572080288 481334512 516495442 778564080 616668934 659136290 698239834 32909598 552336344 91148300 479160358 496020706 364843640 899421368 22448630 303576190 693016774 314301380 250535048 629298040 258266550 421144490 485223998 720803568 769850470 616006430 867323252 355105238 846192846 340517138 384741436 129982978 815495566 17421932 46295122 861840026 87515362 547644946 128399142 417401910 846589984 185644590 197901990 31564130 25347776 269076124 307762466 550012216 648081230 648154548 624506286 170250794 162570656 914164730 876611570 528307728 974354408 518130638 684906260 839537554 802507924 673121448 798539380 957974438 21876300 570914200 216179808 427047844 789489640 676037280 91770956 167932002 37041140 558059966 728932432 405495964 678187464 750488166 984013818 957731926 538727604 864305726 695506294 986113862 464787704 629270262 561485578 759013018 17471862 221124170 397221626 144605408 70068228 569023212 360843676 674501102 658614584 498557080 899520016 483688410 155543456 682495504 942969016 290106548 435607346 201133422 869339912 694193856 357673660 551197728 567675082 177403938 979043480 272953500 16311038 209521662 441190278 15007082 764722102 967745308 485434884 803467606 159131378 557235012 326378366 622378970 497308018 534769638 394671218 5302616 962256612 269739790 777859690 376863776 868897808 757306812 317003226 268881164 793375962 943556596 163557304 297857670 126983952 339923762 213967118 959669896 797402046 385982472 609212022 86091008 332810054 555028564 749712262 209233882 455798710 600371228 7145380 623831508 514937322 999269902 180220820 386175434 998267078 319488028 49199974 678666392 933873278 779421978 76235354 311712606 256349734 591917026 275022870 535413484 776247540 541185738 96715414 975960430 147884770 211973832 757952704 402440194 668421382 254023790 277183856 39125786 413122724 46939744 526882656 11987570 431034486 44564166 812451184 82165762 354307610 77966780 567368066 125267406 794028846 290361282 923746208 585583718 265915832 142673580 290937952 819957222 58616702 320750904 313836582 358466138 515798624 457230412 31823512 310447542 726454880 656377544 828201184 292831902 726547560 3658658 467199382 90646850 203430598 202021946 894312706 967964030 753400988 758249778 434966802 623466994 876437050 297783412 73578150 100691198 549511818 567545336 504712082 154162108 738477150 559049012 123211440 648592934 659252766 785929422 425903094 796929596 350025210 874571454 122041558 434034634 526574716 764789288 482024302 421306180 221445078 589866866 701082652 232443340 699174954 422835432 709729770 334963388 345463532 311635118 37098536 729004792 141972086 637029018 584626910 332668376 901335962 604954550 636569582 442674730 271064008 826084634 93226422 636297682 248942814 662163996 65637764 27653578 342429220 43053914 608300862 88350784 783875938 423628324 825244440 622619704 489657640 564874810 414524608 629570262 836966256 101581298 971375092 608241252 219256396 257857164 256395720 861756000 388838956 348399304 796333416 650153580 993666924 960062676 542053828 134622370 546241280 915928624 566138350 50519640 368990752 395757290 958578708 300002832 96804500 706013770 755976164 166017114 606146006 454609446 45148200 398307942 854372728 371209704 836806150 705330344 510653200 432976152 409028926 739183160 894198528 528088346 315959786 598820366 844224724 474973130 497653490 987634904 546118930 570358046 191454518 730239428 833972604 330620798 347672912 815818026 205425398 373163298 822116904 609966922 970573416 661625794 218226836 370817886 704500242 241490528 85576600 621807626 487787964 17716338 731525292 27538948 136345770 213907250 959642872 852260440 968674062 465163198 556088118 302950116 914175114 880346698 601330140 272487384 646343042 920419746 645174864 168237886 833733872 81301128 100724562 317289504 704857044 431962146 218597838 463310910 461815898 983954624 852051202 484255820 781285134 842075420 278859030 986683720 698638456 772463516 194996144 336846122 318783876 63603866 705916834 616185260 182392576 932110832 767154174 472038690 355803562 426673374 636766350 699678774 400029742 291338744 136398606 446822322 585698550 232114894 427754066 677269726 154110858 881455416 454808722 244946960 415644768 98503562 71720028 790020056 38656334 417968578 951295412 122231340 456797908 107635786 207719370 316695696 181321710 344582962 832753908 836750828 399791440 190346618 874657702 161386512 731521086 542442404 174135390 234737278 231560762 477237298 682709758 414634080 886971758 978911004 144206768 322429766 976050476 23452250 261082142 218292548 802771384 701333006 344239548 672843800 695293034 929620938 43719208 273286196 946481734 979858988 930694586 200961188 696666928 878237796 233949050 156132138 127790472 552106192 554353426 403484194 695657184 708854710 441485802 14400158 408851238 299345856 420088042 73394416 270875338 162169780 350641094 662934488 879717454 256387666 94112944 301988216 609974194 513749976 481343672 641436846 93665414 405749922 253610996 86217400 732504448 878431018 346450472 140579290 363058320 763690044 579457644 280802824 924805238 318604686 214054320 315565794 921669200 215236634 399948922 709324400 700110860 546083418 710380676 929752106 443283966 578732558 281799274 837862506 157780926 12723358 650024636 335626340 27615126 614875574 787417066 889139640 597692174 848958778 295232082 703580686 409568542 547459912 555678848 868585744 551942838 515413868 118231488 891454932 753673814 157709296 540158472 314521572 692135366 51696186 270143524 685099710 420409578 278218622 698469184 728663120 972320590 718136866 556504394 768667036 398907598 145041724 338279178 821345046 808086082 440229730 923360568 311868130 689705918 430067728 166482566 893999532 659934436 64708036 84884610 287781440 33947906 418192104 140221912 563230922 475655750 135140554 590368842 878073676 167584862 838138728 619157940 94820882 289271222 789795046 639884552 371990512 551472738 524363294 733354652 912982126 953295950 644164228 868529876 579702422 896160926 264922460 213643584 523067872 666094958 211814638 12406120 211105256 926629398 157793694 351075364 757323488 380380972 763445962 343030918 568177834 884160350 220895310 440112786 625661928 237356090 640620754 580581504 528227810 689724712 832376030 71408624 575352874 11578768 408831644 930771278 698599268 467690678 610870188 367957124 778083774 899574008 109396666 386444698 183514224 899810980 228613922 429495304 907618212 720942188 425156986 441350358 314754386 343534824 466979982 127489190 780843660 182458502 442325032 872939198 896155840 576518732 333675468 392591452 365604424 862029844 275245574 677360818 433008676 711558672 610717558 660459368 474836254 189886746 451685496 864102504 353777918 426705508 512191256 535854992 663774392 130329340 180402572 448653840 831332688 492885182 717259164 232000538 816244760 779753634 698832458 983182516 286398070 515954264 260578188 834954294 981168354 16094236 844895018 174726472 953553644 950810360 889861662 432665688 225498504 317120526 546634966 608684516 132371622 954364684 602624794 225282690 696378446 676372132 912450924 933822882 34979582 372870526 970071138 563351872 829961606 797873520 793631406 22413216 874392526 156444386 582855694 587114344 629856900 520165394 396881750 253275004 82563570 308726252 816303744 487710578 790378602 6072520 921579078 963809138 417154216 290974346 910366824 839811374 633388976 730325626 573117882 336087278 988307838 296556118 704186796 207254300 689325140 256806802 736515994 218433436 852448944 984551480 283551072 182959236 752425668 42376380 375109322 620789366 890564152 656570416 697366078 457203886 293439998 126602336 836120574 965662064 366580982 541810062 362908728 367921954 911262454 756375864 480190096 630156078 803814318 189923374 894678022 145073110 482504028 126980102 90332618 823396484 767800378 362711442 58728058 283089636 703862108 11947300 435143676 105503740 308101858 172306086 737430750 444016150 708053122 720532702 495287118 344082248 502391844 656743798 694995364 854256864 843305244 737396978 58666728 447146924 26622912 415514042 552788426 498673666 156351816 488909586 557510526 388197236 843497056 207397232 599840328 588033430 805017550 901315650 39192624 993144508 187084808 516175622 91738314 463307544 528449564 195449488 457307328 552087674 654046822 848343660 760997390 85846698 132812658 727708050 192968238 908845722 455732676 643901282 8948878 187561990 281296292 355271990 887150522 203177952 362326296 421438536 541240616 356729046 811263388 604326518 575045198 866492520 331319222 764624484 429531096 679706468 93168354 792336870 772010296 479885604 274046562 477367192 801279894 355009596 667450452 168945792 27151602 588424594 826941740 701179608 799552190 145155488 799071070 63117040 698304320 692830430 279553954 602854466 854528386 597898078 200871904 433381130 955509784 887638442 40578394 28709656 711787384 455837002 958423122 479196414 550906950 912027612 954738502 80453578 776326496 959156060 291165228 399047048 220923858 123151948 706758144 212604478 997930916 344308550 820368020 950926292 496947656 170371974 236365384 648395840 929475928 119489704 869409956 166463772 695673112 371907890 823081062 304933582 275824566 341737430 265322738 91706846 664855078 853106236 748096074 82300330 652765842 612596492 980056148 935358434 986606104 550318790 681584382 366408282 504644804 259249384 800198114 272869332 786335396 254199336 836714194 856973346 845970312 750722402 332935838 204501716 554018748 164802010 998533936 395927540 503732830 180267260 154918820 452580656 162846616 156132666 906168424 202751768 908718342 91358168 401653056 233472844 557779328 169802830 433862162 820983116 102394112 103737892 675624466 481267138 849319826 420843662 805775410 971840382 281622898 53541752 290485998 50209330 552806522 163230960 459156246 99272200 143727100 693012978 709891084 451156406 724006584 714232470 196400954 969448654 8338456 627428906 533616658 746695510 846852136 428248992 865460062 67277950 22371548 812952312 499150824 634003698 643979504 634056734 82466352 86588112 421608142 615230876 638756102 882066012 844928548 40868464 375740880 110617108 662616626 346852322 310621328 594572498 707995366 762631870 826412912 502218994 538776416 239703918 343912320 691433152 47707500 606222976 664879754 877369800 376477910 954671750 962674224 545666368 671121524 84187744 138111154 786201444 252492740 816747808 541432348 307714758 225350102 289335096 186510418 679446218 793478394 935401378 59022910 633519766 60847362 791611084 934728512 264570394 847025862 812849302 902665684 277882676 135153060 322995490 360658864 147495050 526240908 500624470 978181860 82979090 120348346 797611686 573128362 362152388 250524844 605386132 939121890 544854630 649551666 309843886 823128062 262343360 216612088 875302088 483612640 424607482 812973598 642140186 173379968 275710164 812688468 140589214 584380228 510277334 678106214 629302530 921340258 550335584 98412812 125984018 690671218 684327758 460911626 832039834 933622710 554131168 502146584 949826142 623142822 403054760 387596082 524368402 690907124 172205140 315657864 432389570 575026682 448909416 730374514 921489130 422282142 781041602 524407984 151675518 425458966 62295664 692230240 608908824 607253894 634727472 178478702 577204748 170825320 887754328 734885206 645011420 284226950 500086362 179651010 248598402 868444244 521526378 50925198 243644802 401082582 84400278 955330534 732997826 971142626 308038800 588998998 374928076 830447212 84787812 103275034 729531392 734122722 163075568 917970376 797759528 967175520 243292290 488559454 956048018 87852282 1776230 783821856 685893530 956218856 688494370 260275790 828909228 527054084 149315794 805984476 719366382 670024494 39168332 566022700 608636846 229928110 492548404 911725106 117009530 444591378 84393106 115717974 367944212 581932748 733488526 234549412 750686646 870248494 594581906 229828132 359294262 419724428 832907530 702137628 575857012 436327160 956361794 993213578 886065344 125850180 417933462 468910492 930605628 814760794 759263222 799133230 835129786 99746884 14100376 400252574 328150084 717294470 9045540 616363330 802193370 481599820 111942314 328411310 418880342 561616008 948469870 479868602 669613766 814825616 628354926 285318202 524465790 707147848 612717556 842349282 631207504 894211200 292769606 291526256 934679710 781419744 253027128 91720586 788774268 884214764 757248304 795073186 365016876 710655308 857299120 238723146 480415284 297218836 315738812 534846068 556383982 409361112 41482016 495797486 396899778 420408146 939633768 879992662 250881452 144596672 427968704 924695258 404051736 480297510 187897832 496763222 278364172 114563518 314267904 122304242 422520334 144906838 409694080 467574668 799283868 810217766 462571696 77844040 870433742 428922484 216528544 258673300 667842214 1819334 412107246 653011180 791342782 22690476 764791114 205254260 251252462 891088524 564147344 198794690 671422866 11465152 831722828 827907820 403544034 233390706 195317774 884456548 584145098 776459758 132128016 349995836 133422844 297011142 514149172 682121408 691698238 946759410 196263956 499902986 662756068 554438106 959117804 934729640 412887048 816340610 227693882 875758806 314312008 527252428 579736382 848371168 648934308 933536356 991668414 90576086 747235254 23767570 398758364 699191754 779798406 678609856 492944344 303886950 139640654 531099086 488682468 201585632 174152050 678568690 471854046 820579318 759456696 489817474 297549170 186707498 724939040 794427834 952812768 747183176 543101120 425453066 531139090 286404206 970452262 536064538 192719082 953908152 447416796 502744158 444580668 742981532 255428724 620757102 578815866 286813644 203139758 475073772 456465498 445513132 634439082 633611626 843124992 824573176 737941654 734685092 362888606 711890404 628383000 103382050 882699248 658779330 563519726 673453740 194325058 398496014 303222890 609370876 396239736 778108614 638391218 969851042 219081638 489867246 10182790 916367900 273677946 624622016 573193588 603634308 574291580 453612486 177600424 941246122 741410314 823661042 65398238 857108474 901055992 446224054 256910374 231324484 69387496 377414014 416820712 958899002 387849354 827783336 782681676 474559944 163439672 318861824 92913844 719577690 134525648 951815790 641082718 526381812 641179708 224010874 919039368 446738750 898284030 878516878 56460970 629838264 194331690 657398072 155592378 769076734 719406558 941624102 390723630 779645048 149696820 204027898 272327668 356882714 929445282 915445382 875340670 146816938 913386392 899140760 351060082 361797896 98644796 382281078 591080498 498959516 940708800 721807162 100903300 672499124 124512626 429792652 410276968 813196746 709989838 545618856 489933332 918498436 942056870 844060126 100571646 212692496 68742756 860795700 311282366 416051706 33216262 413244910 140573222 512529440 57894428 975433504 756950068 757891700 463762060 152362798 734963754 834046786 44699622 805328674 589798498 674107776 151970182 1848344 398385128 846786772 197971000 373161476 48085214 500721880 72371780 600461070 437517976 504268156 162738002 810509596 579845306 860989858 246570726 279607926 229012132 871980938 930469820 853618394 811259552 158936924 616895308 897196348 478210138 390067412 35946112 166320340 234091530 826048992 676082876 556583782 906087092 921865180 270155802 680557108 38624140 477216346 870988088 97010574 754772738 188081026 915266562 301272816 346711512 364451610 992426198 692345736 278627308 366326606 647228442 226615370 622468574 852661374 295171500 383465040 180587762 344974394 425382914 262051436 247483150 641302126 67650924 459743510 504981952 840204096 962198702 545241310 759372992 34852446 578512882 488458136 873323158 872334526 827452410 258253772 250052624 846233274 988288346 708639756 779122984 678404228 285694498 778282736 948180110 226877720 798628386 11069800 546857190 276259480 374189828 863645138 407392028 932867980 420198612 900808816 410798676 922096204 16772968 842026212 525491670 165942808 633335814 917994448 230448842 680589148 169774972 219079182 365379060 162316522 731575480 734281210 845025720 917737634 723967028 87359560 382825584 916456946 257666448 902190972 105157476 797414910 82795596 582520910 587001810 245526376 279714892 683190906 11911442 291526966 58889828 663648718 668000682 759137432 683789098 394524820 556384826 937571858 613395036 922729326 330730306 921011598 322210376 652694846 983886374 455348548 21139444 970497150 353115192 906349642 777375820 821669996 439590740 896714292 607375618 423182704 843760412 267216568 764666104 69658246 950161720 964319830 642394690 379621682 117602888 723530686 668062940 940173772 88633722 848881482 885191060 793185404 552725912 297184432 991719130 118768072 185040232 620244224 249913404 261117850 632718788 84166192 944414918 682689200 995583574 312809056 912963080 201870886 894547510 664307580 815102424 276536670 311386970 861431920 368406718 907582002 462180632 693337014 260276678 215610508 603908564 961060602 883907112 6281014 809712020 839753270 86034360 54165730 525503638 582191560 304647636 544948014 846070830 724688296 640174068 998114566 957191830 778824082 795643164 145802684 594581396 718716140 253697090 797092968 745829130 763098314 846047118 921341908 783149376 423874496 967958092 138686366 292364348 246907666 411997328 287219638 593907228 945835188 180069984 127581056 434144690 785245482 510328254 702128016 345154368 259810854 16693064 405833376 267188284 837178660 187612140 813896828 35284132 553584558 41405440 82156828 42247528 261060230 139948050 911698720 396990754 604031026 543257522 183368870 164749240 955956434 252187430 179047160 528127286 10417290 731455128 320035256 674882192 295374070 603934172 879494028 261560232 365822582 755331150 613252370 855459276 401156228 99029426 513780094 812650080 711425142 154176272 459991628 753077994 196947440 340573354 245286024 698158810 916355188 898193256 116596990 656853516 166733064 315937196 715085736 740694038 929078358 894927934 732103832 255576568 372175764 825551576 975808442 67306924 505516416 570967766 598337948 459565324 995260636 79100148 124222730 960711778 28706214 612873368 1244266 81831954 206805746 400041060 435921768 698992034 814665404 906273194 689716672 538733516 900778718 529392226 246671806 672567664 642255530 862199306 335637990 575628106 630082666 224620750 298077558 760900730 214997188 850068810 812885642 105085736 172357642 374747398 200368808 961137130 3458180 583630414 63607588 284612006 17145102 531221470 931582882 885454098 950431858 129224470 281234830 100448604 784207140 736180304 302011792 662793950 436344930 474725720 850975758 198772992 292019700 577733934 579837042 859972800 331921900 918138584 558970878 123612316 709672900 422363900 750303368 503378670 531670728 607299578 121913188 908602860 581182462 63217506 17368376 873753658 649620744 603145148 732683108 587516802 168279886 846322422 971091652 444444288 303640458 241369456 889070946 698406630 221378834 677318268 863207146 1863300 339770906 261168068 262203262 536898734 324604404 754536300 164872208 112780528 540536034 272177152 141571196 651614574 677748764 141227700 45302398 965320180 293207886 966652696 640863952 272579440 731990352 921263044 308014964 104687372 19790876 941940888 387969764 283273524 833503700 486182450 98466190 263233862 102348824 863071650 958061736 980168992 519628608 281258508 2895584 895257766 643265944 281146810 246357730 912349666 426928066 86193234 267312546 954717808 313972792 99929532 456673622 37962912 212231476 294205984 378509760 499733134 289012344 496242564 542307488 675553682 568398310 599516260 275959794 858940950 188397884 420582798 378727060 281605946 98585814 472720450 467148280 542705672 952475148 115758664 164517390 2548232 533684738 489256388 121912512 274826548 710429262 939585278 435173698 648964348 629077438 635486826 692935730 734854248 882612990 385377572 695718770 89738298 543440360 197816218 560823370 29831124 358338774 573484260 726492686 729928262 173891628 633968796 823282260 119359460 53056420 243655322 69283374 590048534 402083786 269132656 229485698 238667264 359583542 45039634 460443596 597278674 612438586 357890588 913710472 940849260 944416840 831985848 491883906 755436388 41559864 122665472 683662676 864604038 559814676 20630578 833259950 259283494 904371938 4605696 134578058 448693804 323918372 80737958 490414910 838853374 782430820 693906502 887412248 215251996 934377696 321377282 208284352 534495642 809577044 822306934 411306338 405650130 708482436 882055916 251761188 995123630 196715528 410947490 814411016 450566968 151472864 975915812 438115634 545602390 921186348 26896886 564743596 895323902 836688008 163735338 345327122 820937624 249689470 947342010 907235254 749003240 54142434 228357028 181609470 34530822 55738194 142372694 221530696 471097106 828372540 657239932 387592416 60235188 41338884 616292048 395838268 982573534 968493518 188100812 919197862 184939348 635939914 822188800 193661644 125019402 118182972 649612842 6067978 981195998 254134132 387427436 846828532 820788242 761305974 487796778 890712586 338314878 325732582 808839042 158694316 978416412 331621550 57269134 639852452 805401768 185258054 75600280 23960692 780361258 851324184 236569544 284197944 601310940 287210298 442036754 493505240 355644368 855868896 762112012 582980072 97504820 840704082 540315124 275192100 35229122 524740734 283936108 640898270 749933514 716051610 294686958 239836596 761482344 464767078 723099212 822418024 426253254 494756868 873116936 235681646 980872286 189164796 186959276 467731172 18685946 845146728 67973622 765088872 691635908 985213094 679473162 434506042 249836474 662705250 494960944 2255270 134269078 646487394 836820320 962603698 431956904 251437270 466862120 126963272 186396244 118950260 221469898 68163848 218838728 179199324 87297582 457092262 292047740 633029996 441994502 383490090 318767666 630367884 256085408 186354628 300771434 90189056 132268988 249229318 467034980 363177676 149012182 346036818 458453034 922927020 699442204 186397160 71362220 386947618 574974552 992006142 962806658 295551048 400551826 357311208 479735436 244351184 173592822 111264156 398072726 597553810 802723842 664443750 881076998 466320910 79900370 49196306 640856804 54083552 769083400 373445626 971994922 84430608 579601204 792171300 890217060 33941264 605096608 636350956 170112446 266272302 700525988 965613394 674841742 179186634 140594988 3960816 101069540 186502938 434959052 621335704 693512830 44036738 966168156 140526306 807025796 291626682 635829866 441654518 629940980 808999048 287400194 884557178 613710766 698115904 80788992 13309186 451263916 774361238 735947046 634763134 963610828 618393502 563375606 151309434 46269142 598304150 308156776 765729408 29890560 211136568 538643622 726749148 767461238 524222780 503467410 333170158 595600654 244547986 925192198 633940914 634161426 466711004 448190004 284935220 700025694 991975666 760096318 497974040 313743296 706086972 969705134 522213780 763971336 777058706 683891642 719005428 493180198 589824496 361738236 966085508 268798862 801964894 19458640 446750438 677012140 191178024 236633102 193859840 108664940 126134678 828692362 830618078 212423448 76816840 761876542 259350112 473455280 749205530 372232298 96151892 726696696 935696546 772988826 438643192 121503762 454451998 474398914 927805720 60664458 276353032 38864962 507790790 390105720 514063034 406158584 591965470 12695898 413344420 361707318 335705926 266300418 348596990 144469370 907715606 172136430 251332592 305490484 454601812 435581708 467673390 299209772 939996022 250881236 345759624 415238782 681394814 337112874 282710610 949584664 186755290 867703402 862640604 393540538 269206326 45399344 264749316 933158490 760663014 814578702 224058918 450306804 585577076 450749834 74153212 174262398 108030452 728417216 569656080 875580636 320039992 151362842 178417398 592518220 794077174 961278976 75869604 265589386 211738960 1085854 28330716 642535518 492170208 87619300 620584708 92919880 948605286 536584504 415886434 627325144 473028632 481674284 126216990 397371450 81673026 568049584 53518586 333828834 722873440 827557456 297264836 327411606 314823770 913607026 746152746 139660976 232765718 943369974 475798714 52653412 328879832 119271802 127131354 731761332 882980582 333995408 6002252 22945494 590292190 163143230 275300694 649216286 928584850 374757380 557261690 762788950 924529778 486829330 718884684 587816372 879960888 669840134 863341968 155504240 794894086 308439420 759848410 342131058 564946538 618047312 746741544 499379670 345607942 307600658 289067792 312511928 882519660 805524124 189790990 247034174 834522314 905152810 712138214 978452990 289665190 589680548 599745898 561025888 314179034 604695292 620989488 658762230 40833266 945728970 35407794 67488124 392966096 771986338 761155168 247091350 785663694 759933920 799784900 821680424 156610620 824161430 848867562 951430222 743328430 123672960 361124128 708492458 695568946 994190058 460851060 531315318 725910076 614973262 351636124 811196748 455195300 587210838 986947760 199006002 218470022 139229312 414509574 75674528 39502454 471805664 963759708 633051120 97322520 837767530 838177814 547616916 61230580 469896 737134874 166313332 932719084 894150682 45979468 680264784 162734648 846203324 21535232 310965692 500307776 372889822 459370236 78934962 18736724 530766992 473285230 17252760 608709178 13931544 153919458 575075576 516022316 892146360 896336696 376201042 957529530 512767694 992157840 601502726 527115584 113335434 89757988 967389734 934751146 283708026 866267688 475995512 778891434 20730340 499065798 36077052 544651378 177189414 933667636 840040078 503525910 620566960 563557584 168905906 546412940 278475122 695260926 965938294 291746764 978338122 257997752 260025228 477888834 450737544 958100628 179968870 23717528 989445360 997464008 905263184 898100272 228417998 441743502 393516444 120596372 74868132 637435810 356853106 192393916 379588552 265385036 539620716 833985614 797663332 121857588 830028390 565100482 157775968 719767604 163580956 94471676 410858646 80609390 593584234 927775712 83390056 396597436 981079348 406545830 844468684 635176092 680080708 942201066 14935246 873069450 903865072 74356806 616592168 189268566 235896434 122490356 235533816 311895364 760986552 966885666 307642114 386921304 995174050 243229158 552229844 790308412 815320392 137620696 190457780 909123414 64901436 716515030 49970844 988222708 282017272 498718546 317363658 541945374 750835978 917094260 447095984 367078654 642734360 941537602 560145078 535632476 6111322 723867704 824624796 829561548 749642256 526429658 452843920 521176560 295979280 912735414 602387146 747568786 356468626 686659460 175184048 281952908 263050766 723838212 109878492 403982320 187858242 111018664 522113830 283363210 152981680 367394972 648726960 48907940 900255888 333136156 846141024 523082244 560962110 72030078 973266390 866376076 331741528 709572798 119296208 234370202 754363922 795069632 367522152 224898280 347571920 713777842 966273706 259716584 794502344 492599982 810024864 209787078 917700842 632091784 689534102 685624808 669092336 40191914 455982906 951457672 206842910 691307612 657325538 433981646 717328860 787268150 17558296 979054616 230220606 197173090 910424690 266819660 850976950 161482834 921268888 952484438 627186596 10464442 938332676 874945672 182512538 272159600 566584112 409271692 652021220 857892676 969152756 800216406 894236742 78941090 996511928 947836640 548419046 988800744 893013788 549574190 346208232 480303166 434099684 430336428 62154404 859782114 101614872 865934084 480018388 310944086 769325100 85778564 477895454 41715884 864360324 386857764 185090602 524383800 584300976 510573626 786040494 106020690 476624242 502175992 821164832 726704146 457001338 8552982 446000686 996441244 738036242 512807414 242413736 410969300 212471156 484980096 933048458 421036162 304884524 78856152 35248862 237271800 425138302 731219202 384488118 176829112 746404330 338562178 312898506 500083070 304530832 137042894 976606398 920082686 343371264 360679168 839883220 717475166 879163240 993676276 986597822 774123220 549607028 959294382 237712730 181617736 227268096 335187392 890712696 207221350 751930602 163186306 729008616 470956264 639093958 656148138 171402302 195196724 74293410 112014776 923574022 328396574 98810476 460311956 849400422 383555532 360484798 741466586 787693088 604210658 594023122 725700602 315226532 32393794 669300250 169891624 331391948 470555692 226998414 620242560 828651644 775807716 29370482 370686040 274714298 779053996 919415928 628112048 238860380 354793922 816503574 904227268 544291398 468144836 992962646 394387522 436227000 767269444 190671512 326337936 505937260 308273774 912792882 150091638 663445108 169604852 79992920 14946816 437103458 806446548 47998496 573485782 720482576 291899950 828733808 467886558 304167176 320880434 359935822 962473164 836405542 198154818 724759146 889720528 593511520 538443328 687642180 495665406 814329818 527306392 413572588 670003040 694698928 646991356 800002154 449830090 282101054 806814258 189266114 139931770 792172548 115327056 175701668 116417142 874417580 198451858 87310482 12947460 478263140 996812408 634761754 574635186 665329406 272445422 524426070 203286496 269089968 967488258 96018688 280011974 971310280 847370890 360408842 802665886 921294528 339031842 603957768 559144622 757526890 33381984 966398100 916242738 772334530 245153436 294446826 611074624 814495876 60245996 473089302 793175382 627652512 582229040 516949432 189667304 40229790 821367604 158045454 481837778 452261084 73024180 410191010 502175276 336653344 342746824 141735646 949181044 391882428 280014338 278129302 477582356 272772546 401992906 653686744 861488220 526780144 777871794 179326236 925562940 118447892 768673190 224841048 108435312 62977104 725222348 175445830 383789586 462863182 334009458 383427566 108034848 663636868 51210364 992055732 14254910 138291382 703635368 920728594 403514254 597852656 363558654 144371606 610425180 70907292 703120070 118168864 767793780 543038342 865740406 353784628 254322350 112505730 723698818 170112156 484733682 671755680 227644290 246743898 791632306 941819920 155753162 317366350 504375564 146789534 688703398 648166004 117775850 723591700 70042484 693178384 603178628 743167102 570472546 285533004 716469202 863358288 797742168 181452410 278113330 336807304 293254142 792951214 933803468 897783046 5879244 341664246 78525378 53210480 626199374 500211238 332049198 559824058 438544180 332404376 572161540 555009272 351252840 939312004 827765042 615155488 911865616 760303528 536750278 92662222 553052956 751506284 178456272 990353666 174445102 377042558 472561582 144014788 975480110 591979310 861317288 10228498 489853318 679503708 627045626 354287362 788871848 595874696 639020338 698723292 271165006 418313432 200313900 288928752 299094372 40855728 893661954 761820526 244153768 565624800 745641824 829112464 357982208 98943044 933289538 967449886 396461298 234305600 269314774 73406192 307641774 83902388 736245292 339215134 264702832 191387522 65249290 114728702 948348032 449568052 283006758 330724376 290007686 723579702 916971922 227055214 864061238 438531084 201584000 804998474 462835906 314884106 672644486 276449388 197051084 809936964 463722608 264484598 53366766 671597916 133932784 166989912 284058308 885276030 873484936 88258772 613443082 203107090 610143674 8992252 153431306 876644272 770036128 581369676 252176042 656019066 784528454 388276380 565450372 413570310 235971596 924070852 707087188 420417420 608915992 265763618 406803804 491657566 634473804 834540110 971371606 120018512 129167964 186334348 329872866 406535498 604871144 739475680 56081000 73487688 232715628 952189298 795619860 301391720 232096282 132167018 319282824 468036620 636704494 83198482 319896876 747150656 872261140 547648740 905595704 732760066 934732198 391287024 125159806 429034404 870337162 539710430 849052972 408183386 602535476 203974348 556086812 147491672 338287886 441930228 680197586 940505608 808061234 13226198 718931088 806353138 766301504 391064748 931316836 543663814 598376236 2187466 461044896 962490128 796849682 924998240 288128802 774481318 3313568 187878910 152185572 790943436 637016904 7040098 809820142 561096648 845714570 53815540 400678244 981951126 982935436 318267130 23794672 364208870 596543430 97301152 191401740 289299720 517787560 338493970 314083658 784290904 928054200 952182990 672773710 873270706 365564776 889991838 885639554 781179934 418527762 152353348 389967628 996469386 423899292 486108416 26906934 511608300 584685822 525851348 637970122 385321236 322312088 690753744 362103004 811385122 388879088 488566780 468752040 64992228 264544070 664496602 208060574 479086090 660699930 104951012 541923624 575880090 584988612 31115050 868516492 957070562 513109388 554674308 865689704 532778520 613200692 577790720 275566048 57402758 656696288 147730608 512904206 197186456 301292568 357243222 430217624 649574220 92993150 359310304 336162630 410468654 304970410 788084218 290653314 532610548 186661924 34078722 702060394 872751298 361335424 40893722 529418162 255113990 376508590 873807066 636356728 310640480 22004926 589769884 443989148 543881478 456622406 282695386 138722780 881676516 600730778 657005422 150640478 818157968 464581662 873975562 422084656 824630802 946512830 874054354 602192116 300380542 991271530 649940966 381742476 402793250 126495828 261109050 741834586 687389146 223226350 940076598 783296832 863791296 58487072 695020818 568229286 645740926 223527602 196714326 896879720 991955690 71644362 928923976 222498790 431965146 956925146 279631240 812095468 751036456 127583210 382726484 492326192 208983956 49451022 653313184 936599030 852098080 21117352 679039058 127249722 291645206 556757972 848975212 295133556 147283692 169849522 482661112 182909604 286603990 131745412 256803636 608400790 290308188 802972848 590161698 355348330 226623728 8623180 656807050 134877236 559327528 33373736 42983990 445344656 32376918 196924460 822939688 662650370 371447462 406576446 483414148 432706840 14044300 724350220 276837564 671880298 469702916 632254750 767437644 426130552 992968662 958927324 516016280 249758770 197157500 665646648 917145084 261904576 223233394 500906252 209489032 917301312 594413658 321086246 636664970 508715132 240123776 481051438 654058440 26111052 293864500 366117062 576420462 550864836 923473672 122625176 118583802 263846206 981834838 849561234 888629242 693037466 11272568 105047148 376613976 308561638 917704410 435130808 40555772 424900994 496505218 823820754 560022048 404769726 114126030 128248418 59466096 805118484 788871662 591011476 128113462 752774772 407107864 30400824 622810864 134312404 243488528 173143296 555050592 380481256 139842878 895496184 705955120 359237556 425092848 367655368 159586460 172452350 281353888 690773786 285580534 953725342 872197222 811497060 688013202 999973492 652271098 282473166 416525638 248063168 567369690 355743902 447474872 255250582 213196048 170652946 494017460 760636522 827489432 440749332 171368400 98321064 801434558 202799016 762382668 688409392 958340560 112177592 901824400 160499530 475851582 164088724 480772868 294398380 563347118 894102432 51917752 501946074 681729952 28938524 267655220 806159902 209695298 178590914 656535134 667562172 80005798 190997636 141852008 158423058 326760062 297359214 438816548 172398862 324841376 881750504 418224726 303771938 9370544 231496778 852975970 850445838 893263340 666677370 47865046 939104018 769418650 923224694 212562354 419738092 942655016 95718778 297387516 67441962 981007946 760974964 869584500 724129840 277152812 197466276 511657360 172798176 698407670 816662398 712304806 783122816 978855482 720508518 452587910 137374418 508961402 947866656 538256900 849233378 258707170 778591958 407408886 526575586 332192172 111192846 294227638 503318372 614507958 41868076 371692210 641828674 558012416 556699682 54212598 993896858 81721878 792899716 76511230 831217570 184885048 582920956 412047496 98690110 817582036 628720770 36790 247927810 734969750 539933114 182644356 872491996 851541106 234286772 279126144 711837348 148489170 18766050 540280614 522099670 163622260 587804766 138038920 552129114 305120028 629628166 265736482 704525816 833805414 885091182 436507484 225917856 574170932 657750668 656847974 423383070 507677862 361796072 891176934 605695432 955583952 186327972 857360960 4032194 844633512 755992206 300181562 299353842 268891282 75742314 342440056 600500560 70318700 978864928 24649616 64134884 872678030 333721412 665257062 441376000 651826052 573695904 894640290 46650746 646236920 152171320 871308048 126274308 630733054 725090410 668221188 940993536 480727142 444930322 745951248 720547820 213774770 895600030 766267770 913244344 856625110 280987782 469433540 935403682 275049114 798414794 564497092 840875004 681575208 789226394 670997126 555081724 941914916 302642528 746987138 85832136 582427992 184741240 811613990 425325748 838995024 794011520 859775846 233088850 634380286 537194820 948591142 170766830 531371238 605078204 989013056 726919426 687700050 12799048 848502768 37032404 679774362 403483042 747743206 985340996 707893084 391491834 280726646 829860596 813053232 328330784 336549210 457990076 620373794 911635224 528025714 691302130 421293300 495507268 77402990 58677930 503126342 794649940 48929308 781442000 535776370 545301100 850644414 113637572 719385546 323325724 195479436 786489638 192689268 805764044 185525976 572044088 781089702 412239882 751967924 307709866 823199394 119802958 297566104 635291004 509237462 425805572 868619016 253621850 526654390 744496268 424407580 28093064 237542652 581123130 619725680 942108428 187943904 421809488 589024612 204919094 598995502 75324178 622973934 580439280 950858204 576873030 326302932 965804764 517850934 124797704 919962254 167253002 861375532 607485916 657318460 184843568 263500048 188478802 345579520 81572768 725767946 712070070 561730688 741280114 853436732 101342206 717614074 14587040 131458488 861823568 720700238 122390788 260940690 708296910 241876090 767457352 602272776 196294300 512431696 64140286 317415394 464342686 947859864 977659282 595707570 765596494 275781832 21045056 929401594 952162454 724128876 583610438 960631112 814817620 622997230 844608132 673521486 535792796 792253482 868541948 641398428 26067434 47488368 169908796 944451702 17872560 195079158 911515154 166384270 156163422 856432750 238751902 199230492 521519024 559502580 687374806 588072664 880541358 905748926 555315318 498936930 183495262 880172146 527416670 235243732 167355328 978134268 750098428 929123918 676003136 599802644 989857150 461668622 608771742 178105798 793526708 463655998 507421234 24325742 776584672 627353564 96583182 508108328 213715286 423068992 360800352 620485088 358092252 573010570 538929130 623836908 351955974 198340514 810843346 885057324 407380562 486350610 168138746 617457666 148167858 677722616 15627164 153751720 73073440 284824388 96312358 719083576 238469432 242864734 406277258 734600908 274157608 58126776 956274066 76965460 393187390 199507496 160920510 436734494 736863890 346633570 887323682 960594428 299636130 353536036 594458762 612784752 11471238 230362374 396915064 895632544 849847558 338859592 6333032 954360974 967459750 867562832 387816754 392883478 528759120 132810074 409668094 577596098 417181674 847394108 230879874 956214434 316155500 987839482 616618160 230458996 354268440 256076160 999652540 686788712 554911266 135138898 299611016 353633766 273540922 576432018 716296682 716232874 558297562 41400996 168544060 588400580 778388642 528110568 983817850 658535752 810902854 656470362 486398756 252197130 414685790 921954720 152193340 289258162 589548644 710720496 523989982 482501794 734420940 70841100 566683406 743985534 64216888 125234848 303494374 982731576 574560548 498751356 252303728 411796816 285490196 751748264 290447674 756968272 100483370 755454424 38677604 40293924 852884452 640979560 958861336 321657052 936908596 838164634 198409718 571849046 156564810 609252706 480906240 849024276 291518590 873667922 680050562 35294956 16325940 38536710 305602356 209482824 535949294 741837088 263376752 24581566 551353990 592523678 799601632 61650990 652048406 212989816 180855844 871262210 149009394 250820116 637110838 881029108 310890776 278272106 589316522 956564992 637483038 608924170 555453996 229889400 750388954 172815686 655732328 362503910 973934916 594115850 768141790 811935314 689195200 594899992 469917160 781011948 203969852 400504742 354444482 887330346 141925474 111002672 931624912 270958450 171136568 36350418 8759118 661053396 7153162 317276106 441267306 15177670 164079500 713987850 828235268 742224454 170213368 348009052 874957026 585206954 777867062 973015718 648159106 175963248 556260454 396296112 633546274 892385094 910562558 444634606 170033486 666884440 320542064 756478064 341010626 147712836 747493728 986655506 583589050 717341630 905273840 706629404 499120198 176545476 189478508 215867382 872878386 361175162 224792340 960154148 796196222 228869536 404687944 642021054 577089096 963544086 16927078 763829620 371467800 268161768 747187576 597736818 861503048 77279516 419138188 440760104 358544656 441867998 270134890 302010048 936342338 817151624 263294382 430266748 826360684 973803850 627521414 159614866 523489728 691847432 452006486 811065028 557227952 970934098 506711574 181750394 237601440 704633430 858241120 243632286 840839448 961391252 790689648 841893438 530959900 455565834 999193888 680262272 567494696 877739776 707464726 876452290 738047462 665815012 296583110 82993172 734473246 523938640 485113106 6156358 824787938 655929754 722597716 689726092 877245542 242330742 673128762 125895212 562807306 228693116 521254638 755776502 62073956 851333586 61575440 984226126 834585084 637595614 591183050 172018166 472526836 880425884 355762300 153337056 943235744 297970384 665097188 433064796 347980526 369369648 917916930 757159044 777803856 579599038 608431900 980272794 757793990 425923640 204668058 412010104 236095514 214885688 668033766 335162094 442999328 224979314 668371812 52389820 847979532 692076946 565752706 385483690 214277874 204777020 875551192 500703170 332301804 885279050 881023266 451579240 660992534 534082652 323406748 586023694 859707570 537968474 910253586 210820962 823519320 732576162 269611540 163872354 370389342 704598580 869427168 405906710 746880070 143707634 608164176 979684708 188051670 20157012 763830274 745919282 593474494 832547688 683655552 711546682 483993366 164609158 815697382 901537606 900624806 45060962 216963372 434468634 138477292 282781988 288907910 894008356 481132616 842425756 566477380 815296758 578259444 388679346 836181434 811986252 292279982 645409858 544663716 969880806 385207572 723184950 565235974 50781544 432903728 353607280 167074742 782701072 567625736 42036482 289479542 249017100 76703020 894316106 142692702 658992130 926143372 878709690 80754984 663393920 356938576 199661010 909758872 896953842 824497262 332592118 712114058 7951326 80710806 837177060 689741798 980708906 476371448 788063014 900280298 19396498 853480084 380362774 441330436 412745760 120232472 29675110 949152582 964573330 852025720 582071218 55782814 131623062 948242818 299879068 987865344 682182138 304505476 246095866 594519976 412716602 746081966 717492566 44363570 631540002 67063756 272834096 871250848 774815012 212776508 985386568 322835078 676588172 870870836 205618242 373731526 156094684 391763468 985773114 912582354 820632574 61399854 940602872 71600700 373299292 815413316 664751600 90867452 235555984 466985360 685277560 201589992 619342170 268005068 868243244 723376662 665819114 537112204 547699962 76572126 515229670 326594000 537523324 78810532 768350928 640894056 453746348 968606802 131443146 540947596 810314564 433484316 679810074 125385848 17505072 470747036 260022876 747341376 620021662 352721272 95626924 855060772 750917872 36331812 714594726 929789978 871498886 330460668 888807390 818677696 825321946 895644946 807675836 236067440 108760684 521400878 741965262 459656658 181376298 432250248 43949416 2242592 965659554 324534096 947741808 653007094 281021320 967518790 226223240 243883440 595150990 166714810 721266366 838988186 76405586 80942750 384366304 891724182 597169126 689457082 206839376 374150852 631763038 73161046 159943330 661139538 34744432 953823870 76486160 425570456 122958610 654932916 181341270 863931606 7746926 409501804 486486414 245902616 968159600 2623680 940243268 484716544 539453406 518063128 256764626 654465976 342634022 411470996 966661960 715218516 55638536 589502408 448457078 759417444 759638388 585302746 995621534 424781680 909113300 511511366 194384114 998755698 710457000 668349728 696962876 241625720 665999778 553861096 828514206 583180664 873406466 57511062 64874018 272335984 630469008 165613818 867757226 350611532 717790278 222195188 713738816 110268008 897185556 421885664 980661726 130903350 312256746 736003628 131037748 154388780 624421866 397350370 465642050 474541324 388897952 491244500 217567732 434810868 767029724 189002232 607381016 782742930 243002262 133508250 401879732 707770448 377339950 503265066 811962640 365814032 577261510 764684646 436141402 525201422 725428200 420665072 833968688 574979584 370908134 255438500 306845736 304658364 518040620 117059430 994312750 805827756 653626478 670530712 297588212 523993938 139131826 465830784 39448306 683571260 826614464 441359744 207610132 232452842 732697410 210710030 137211722 895007466 524712196 194674426 743088892 108868346 809375276 845685844 759393736 233517022 21441390 181557820 186423908 917958952 906234266 949084492 824236780 8696314 515055796 659971570 226455558 928668508 325450502 794450630 229473396 202593190 955940792 761561818 346172000 501368510 818735048 121407524 118476484 212991494 811809460 953954002 30778976 293836100 993359300 562693528 757020742 589517098 330650134 813565482 418424956 976278460 326841002 355385888 282771456 989230652 132410320 481612528 695501712 203987994 725223278 355136408 55842372 31492716 335517254 664862842 611594090 672686122 223423852 18338586 220952746 46163110 301836836 382587506 378506572 363981384 578216424 590548876 319409766 480688132 603359682 150624768 25581576 650560080 744281482 71937888 217177896 762704362 743326334 60687012 223789080 557051014 429936336 947114766 612255178 938790224 844672830 648954302 885457362 688606606 502942022 137780072 528442342 356543058 661588092 491209950 558719504 651467546 511471726 971094830 337467088 729344556 53860176 606493396 515218368 354563676 353597560 962344144 513760532 302154192 665979994 906706780 422918 299306028 37592884 611515218 393139492 804055958 819982940 646046862 224405066 517031746 317678458 791744610 636450956 241790692 197845914 757575342 863152414 442322856 773269768 835737272 788775706 700049542 953109086 739493128 410975790 257160908 803025128 602076632 171948842 915685068 941612256 426615852 292817208 551352486 850971848 295823516 461365308 593598508 881069880 885590876 855467640 658150650 531149866 623994148 970685922 712677758 805661116 188022616 770707892 664479246 263701016 652614324 428739122 21521566 708448980 715196844 218309862 97353876 386346454 995996186 189727898 728752284 492096402 744069696 497451430 651571126 509662342 926484308 407921298 388125670 868787770 432521568 90256198 405766196 493110378 864094894 829354162 356354474 324781136 813842762 321844608 124513856 697670940 453388474 204941330 141912332 89712120 3635082 322507168 115282218 660058490 594408638 657377952 660047672 451270726 939926470 221161068 939827242 964678780 970335926 626835918 57668038 603132156 670583246 445371028 115038738 427638376 539656524 118277986 493219590 919746438 193479272 839150094 7171986 932960944 896088000 890827080 210924728 227358226 710076140 958643230 498856732 692604772 131481052 44323806 63993194 945203740 838763144 827727682 690238702 932990828 228470654 798991490 603109988 841082806 787882850 969025164 856314072 835047836 980241140 987586292 423568470 620646888 132538822 82273250 938792040 283809416 906423148 414877910 409353228 255781034 226364334 502099012 67006428 815544650 735399150 867339058 941281930 877366594 142160200 332747598 719468650 856668600 698434424 733134166 273941734 843903556 82709642 446636884 752851934 313886296 408998752 139201114 345036456 852418260 517155004 358904656 59199214 991890898 773390626 79768342 874976168 791496230 206420312 289319174 339009824 879337798 865656712 378814322 590018244 816688740 298307794 263508180 363267870 388081716 427060636 562028328 300197864 130728652 479757848 850442914 987839790 980410096 247049178 301223466 619488740 299896070 715940954 668968550 742955856 833254758 80343418 308159908 450808144 813196800 765833530 634358072 592950364 190935288 699277456 701906410 809706162 841703878 679064798 841516178 413836816 112295714 982262280 79299866 784471876 85449026 796359944 319353418 723409370 229514860 119641568 581288178 302150140 533891284 560459232 45528586 346957718 901080526 907801796 686446820 964178086 96166632 847770136 272335708 956799512 286836000 33247412 14639872 710506940 257382986 802750770 197653810 102920586 652874822 3590838 376325074 878777130 410117656 480258900 691655224 719336858 50608176 131961164 219692150 333738306 294956118 551835302 304384330 25785606 436260134 733854036 885960534 209636492 905914010 106601328 237794864 293555564 316184062 267224036 548961308 772215276 968147376 274456226 122305960 940297794 159623554 410485222 786572430 670008782 213980004 47064096 17921860 885768394 113421498 495892532 405506194 782517762 753168692 856697338 341202692 961445746 851089948 424335136 110228194 581219328 362600454 795855010 817095614 617208152 484755938 353930830 796592702 32913144 587203238 809307536 750139114 385683316 72214922 485885716 314047124 514922142 701534186 879091054 367687288 266117350 62131024 183128644 678611434 827988750 950016242 728515958 310837648 966673138 676560790 729714744 456911708 103317516 292207668 873393774 665615206 883191824 251636034 696682484 61069358 341191178 315815344 64986742 726846590 77624708 781248626 667864918 172026088 535187062 720173016 804006 454334314 19513050 302498644 994762576 881906038 632462292 696076648 84832058 738039834 438023476 877313628 897973570 270964894 692461864 639512572 308078498 402768818 707209414 731523402 783815390 251163138 351557350 789682328 233179254 784043018 9571622 181340964 459925058 215961186 408299986 965516082 461037604 663317940 745872616 405877244 157517020 186039286 296173878 978044612 474756818 639896716 31255250 779271750 958859018 383582914 480040154 992278906 369274196 854293054 351024758 137073446 851557956 463589526 781116994 888225626 957861598 965567058 100946804 351840836 422156014 699034454 805758770 546615666 627805366 747038556 716109748 734046304 871292204 392710160 195803494 492216102 546315120 500447294 248714584 494480876 317103760 61846634 543120998 176466162 312909918 873004232 975851132 946549792 498803280 410139798 192349188 894250934 433009766 680332110 763623040 436895028 689031126 437914132 201538618 866991368 51155520 774163178 61111674 439704450 19467756 244383208 279669908 33950634 584222318 798729002 235029072 751962144 82549662 407883426 229535604 571976816 896722102 32827640 492633036 788994468 586728254 919392032 258433364 66488350 761621436 757406372 852390436 468498518 940907360 74570540 123845056 516227440 970611718 467124922 820297956 71647194 372182106 714211168 169501908 200284406 740478858 78077662 526797950 120931200 16552180 365391120 307413616 161705000 515966294 969505624 642118010 706565004 603712224 455850614 357509886 332308896 970334328 645969710 80139300 928544148 700271532 970155550 331974894 285008334 41934034 313749562 902182050 814102224 59885554 13475890 356759428 840460078 655237086 212725148 841733324 788959524 495813240 447868116 632439422 123932144 385445712 916509452 250745162 982241088 441966430 312558956 206391688 774496728 774055148 849789990 569002558 802339870 961065912 866143342 686578956 256243096 197745476 514347452 258013694 649078708 414516558 203714480 236513956 508685884 376203630 584889808 63005170 956416190 618997012 389857548 146093932 258094014 166284430 653245886 582593546 922111500 501587400 428326018 689479664 653034980 364840420 28306802 833721458 173421458 81421666 633197674 129089938 464821138 380845598 764270776 666929908 639476904 35354096 754508404 349637960 943240552 225172292 601228142 960491714 131901082 21362680 486863824 896096702 33694002 818886618 431376584 93197956 253357528 267659322 343590252 268830746 705456142 489811638 554097430 313130134 814312720 331988408 645236892 764617426 756175752 218415198 106904160 96019234 854688674 382433888 543923228 125421636 503762506 993490916 32230558 438083688 46636464 209211680 404714190 275584424 228702446 238940246 109446508 606086736 412800538 433965272 383937160 602534978 122759602 979170812 392410990 245730836 421870534 457504352 210243156 12598410 641379032 288384954 132839926 248723920 443168780 142581750 870137438 426037256 257853280 497402042 506921248 450273848 715245390 405773540 372369136 263008698 660411858 487094690 881770236 726516986 835584914 100693322 685948032 998557924 948051242 368181928 904300488 118088490 666072678 656943054 95621506 108404248 329021994 144148054 106839230 828124990 832005902 292452662 335758364 52407136 845995984 431335204 167634096 376638788 650324232 249266270 127378834 580318430 179116042 727823304 443729476 141002030 83514266 648293744 527823670 39670360 4498730 58895436 528723856 507642852 291945904 871113054 770493304 219134166 268533314 39540414 59800788 158007124 499312964 981836026 179560544 872049978 669125840 508723548 452372250 260631988 259113760 465465584 549428032 785751484 188426974 309900942 84856466 74820944 576562800 160922636 195021730 941095422 59316260 14208476 581217364 74585422 648403954 767263268 963818374 30406202 697821342 161997682 189692522 948216428 245876908 706579182 156342976 381828410 459607080 319754792 745125360 280844804 31590482 191140874 805319580 885856800 604096896 58452320 465817890 780061822 61292146 537047910 613739320 41437390 1573886 40485060 504179448 453217816 13819186 70456980 672033602 985140342 247660340 453730718 949061630 863033696 379979108 838706814 763554948 292312948 273464344 875700612 662395842 627696382 18133794 201118080 193057640 514053962 869584580 554956622 922036628 212586964 539795826 393527054 771043994 410182840 153288408 255878768 481216268 745901398 861901348 556823798 873198538 848597696 441370216 776991744 797058104 84911142 473867194 448252616 572899046 57182526 362124492 835052616 403335140 606309654 355603948 159636896 859201922 801426654 50972286 946567776 221017826 94540794 220260222 552931498 37164102 652499570 721203198 460230878 924174310 168749554 233137514 325960118 850014166 19242354 897783954 123563430 933758974 746750780 899083384 928063938 577268726 641916346 41658344 319728284 259913558 226125494 152709900 77339082 7148020 976088148 650911018 645414944 679548790 547540720 540594280 814207386 399197936 560512102 833908600 182587146 874853650 124771400 391078396 813838936 412907040 701279062 477741546 608802384 446787284 993568450 306871836 65487464 531581850 296809002 546958608 277301808 999819588 577749230 851687984 154924976 324727976 392092174 350351652 52154894 736697212 681374302 164858774 639527016 20152896 516681772 846515586 200296034 794899442 704551872 187225660 304053044 227506700 364715204 838149246 711797358 251986758 879623182 121826596 688925644 152612110 465902654 98414734 485725838 166091414 45262494 482054772 194273508 701429176 762507350 513391916 647773986 255338930 124171468 449724488 34250090 823746486 316304886 985274656 606183330 524102766 715621094 866518358 109853528 697649224 65004614 626435788 969231770 161138668 232648118 511266458 75415074 963989234 965608892 775748672 584399042 835224590 395993976 2627904 746467590 289703872 159752920 674381644 287417318 435236730 615560352 355717472 916301026 125524224 794536368 161188048 937242842 180176538 838865948 973608654 697079382 619830018 639566364 190635092 912683038 339908414 748412982 427137134 888446566 619020078 441895152 514704932 214982712 708359190 819514678 610064546 617599374 213541470 687313704 588930024 682598260 622922728 400744640 395821388 454157884 136664592 466654010 899610402 90516946 84293296 567986074 410880160 13302154 932206434 738258892 374517618 334855832 316588856 15166392 581938728 949740624 905900200 525060800 281067314 484285528 334238484 289285224 451361212 663609818 230453230 833261676 420829886 920765106 382894590 946649054 489843186 238796554 57853974 747381408 765547398 193015932 346990968 622582806 800657354 92899698 709131156 848676142 269353464 413303228 231602534 822924556 506097834 313162414 743559584 117794868 214455112 133655320 518454120 342879774 691455498 124871296 635383684 330486704 130467644 592230842 851564212 805035612 533619184 983782810 734385676 521167426 41308436 844573954 377092650 321526316 764773528 978500132 967034390 320069066 412556482 979024670 683939660 23514306 688294290 297362482 757150984 990686642 773764698 907762526 627400900 13910122 142051948 962999512 109117162 604319402 400882294 408612940 496677768 243465130 834668772 767201320 587729536 242707404 340321054 759352950 11678686 757201808 256111082 424928742 395998012 546759190 447440054 240862270 910675534 655533908 99778258 553139146 640186694 434480498 959867826 217147382 732468738 629813478 787835374 397057140 705279242 176828206 455898596 989682534 221410372 640884574 512271804 832714792 446041492 535797762 968819540 712705520 636692858 892812198 77012212 342111768 814545886 90349334 990697914 468622796 716498580 710294806 659578368 733976068 414062808 17891814 777017314 244044126 694541798 19841044 327434838 694205462 795522464 840471698 927212548 885317000 716085434 972066376 733595240 706409380 890257242 570505636 660555024 171938330 575685790 872135240 919555562 435861864 905676668 343771298 941068066 890790586 813439120 105488384 780570602 79166544 709199904 704712798 501413650 867887436 849578870 242860998 17695036 506380946 872199918 158590946 115353018 930531924 972063982 93311354 92018748 375156144 488114606 734102222 934025426 264926794 168740762 494128518 186241840 238351800 640985018 747597872 864669462 13452454 743844800 922260548 275420954 141230638 285432610 789132946 326938540 751478802 126459518 172649390 848349208 990016212 151376394 656625700 900541564 738566564 276090266 426415070 645828234 835273660 508632176 462072148 511221470 198246186 358650206 992309438 832837344 432935822 817167336 462737106 121432000 303284338 215650720 447353310 448814554 932492886 230060252 388053218 486615378 389482598 802549240 284666652 454181388 750215100 728687782 445596390 256185990 523444730 474327062 569252182 868912170 18941506 210917290 453113136 582849286 668614776 173354298 256828318 90770390 968297322 896760988 67378440 651852016 477901068 67035222 122519666 444132862 499111428 769500064 396064332 405187374 494773422 845189190 4599710 965401828 260654612 609981528 22912772 319367578 136542598 554271208 80125972 794567694 915233578 488659892 443265794 86793632 401920648 114684366 763048460 741792018 492570678 540191378 709737162 748142512 809446730 174060758 338905106 522104614 473262414 456597340 177288010 263406478 797078166 432606510 100543030 169663268 919738348 647720372 156721200 266437798 422204638 757494826 808100290 54058814 26908744 858175596 710082984 738685662 226678184 851339796 377001258 754604510 781359054 654955544 668905664 968166214 35548150 601751514 939446156 569788332 950028020 298242712 947984542 1411406 76137536 299862692 55386474 9250540 244760946 343791320 15782618 534799604 425534082 334877470 146388016 845011946 781197784 789613350 993865764 112933054 463854780 780948052 687479040 2934484 564357764 500039968 29641672 974476628 261486444 696062144 304515522 254139692 556852782 14761058 413608432 198980666 673272356 433080526 244270124 300268366 252358970 472039264 507659548 99922948 412116166 475019470 77701220 384498172 980041428 122627762 58712322 318007996 827594680 549724978 35133726 154109378 507865698 971852950 390325640 5422642 619202534 100954478 233716898 487219674 659500914 582052842 769925712 122684922 17700534 138744050 493393954 19292652 944522956 208051312 991976076 321917726 834871886 616645618 916607108 695194852 98898932 726072158 197135906 805600748 156636294 224127264 237071184 95282972 267730144 677973304 28810442 297571578 803177636 36788078 9778334 935041712 267113354 230117732 977966454 35863246 888249334 374312344 266119226 66332604 285535536 335072398 805026680 854164280 759387996 447003314 710157988 872046054 57138106 905608286 697012470 907718810 753676564 354579062 774067308 239213796 888476228 841592496 605920120 832878264 380440882 631267098 800296842 791878138 404658344 436941702 513194124 559645622 906909272 273453172 213131598 867446132 935743510 35802980 376548990 47057886 427257976 554346842 524313508 963109410 749404780 994924572 464416404 832262304 742163880 410083696 997306524 37768602 748461268 576884364 914681560 897202968 625120748 704091482 280313332 183994754 57574894 488380112 274167030 451968128 293701814 941507768 5356688 424777712 862204942 319864256 760885220 47248990 519106680 419782906 197172506 779698898 13445932 397054792 448887786 529192470 142119262 991150388 41627340 570588594 744277966 556698468 564165400 408768508 295397648 424879186 757992734 809956352 923619626 79543314 943394092 359002976 496328128 719859210 213192512 142817326 763362954 285218710 144162500 214763684 687262224 948859206 272793370 685224372 148103168 643125220 476806442 216484184 25308240 729256960 240705228 914164650 757952526 149740966 722165092 765847866 285821434 167802170 354370476 333620774 929880992 944664510 810812310 778501564 758614978 384909966 376173838 361166430 385751250 872026758 627402262 283311416 378046114 788291390 234476074 203713330 716736578 119803162 437816462 343073658 292975038 815740656 509337098 802582310 64991418 33482360 241866272 296117016 113000336 112629052 609082800 572698650 655556776 941213458 627797940 640001884 333545458 611977328 103754222 621531394 277737242 297383904 32371520 861079432 228350246 686328984 627098332 444453344 416310076 748647832 576227904 965610850 363485554 960234386 688639398 998961692 691695066 171126998 358657522 99883866 278164832 259572488 182157002 974837472 371012072 758666432 259421322 211292000 685413828 601900260 502344088 296684718 728925252 149257970 563796584 851905776 289345872 405969562 832369984 921052156 314726398 31616932 208402392 656621542 632587428 331987620 114754386 554783668 292827474 161561578 888878498 376451440 687059690 573814178 744723540 324037206 309262748 169113180 786802056 516312116 852056362 334396468 304667940 327081332 760648434 301276444 840951842 604981858 164289260 50467650 903509464 546356892 108226038 2294084 851849484 925034104 798949888 248520036 801742912 341541146 589925976 130556716 444486552 221478530 591701936 86120188 189744812 878747712 880443966 148456968 487849210 875327010 714897024 946909204 470119036 713724934 789307494 526613526 641453486 70972258 916266572 447681768 27211992 229964532 159195184 661802960 797600082 385206852 405419880 579699470 466224394 573024492 860657274 396679552 241397292 91531696 106468136 401563028 978660952 685782862 373016890 363770336 520904530 667096612 536588876 257746940 155999168 888493246 710963904 123023830 838163054 936247366 686633648 19649658 248441620 158122920 571330738 684368628 322976766 33026558 441210332 995661050 399077338 907249592 495928928 691564650 191161566 524595322 250819470 740579518 788665194 622222706 558644748 816538908 681839094 654322188 571140342 324528642 90041888 729048110 62605904 623508628 891033192 206632476 315101198 17735208 92610806 488020436 986511548 508963148 588264668 509037110 942129812 225872966 145810814 729900510 576523322 816596084 821284410 720789906 901935612 969736652 565450578 807616786 937465854 976831318 686277708 57009162 476473022 329426580 333207898 946724634 571592712 609865340 446024552 12571080 732437080 541403774 42612396 879634970 692726512 580015926 935249734 971025242 174058820 438962544 373806324 111245372 586232620 124627560 215607962 458221260 870202878 956659570 199060464 34199912 235179208 841067074 698864072 724567730 306038184 374360392 645655664 568386250 915501714 745557288 537781852 484721566 933737306 330540678 432875748 606641596 236617908 123095226 840769166 352690544 279047752 161701448 535125384 672961012 573968688 597470422 892950012 138549802 362880594 977515820 657631302 135321126 374346998 432477530 314720274 698143192 517861796 554755676 690271318 37238120 670897528 688136338 644484478 140408562 226116134 726762990 524979912 270495462 75475826 725699102 425788012 995294476 219950446 231202470 608667790 176663856 912766348 959228780 214431900 229071444 561661968 769668408 957184714 422212088 601001244 277585720 200690338 619465352 738329554 397364328 199112198 751561754 840618316 334744944 101060860 138031952 947935138 766502942 985091736 75738764 836595682 915503820 174294778 147267086 808012382 271076260 655772678 92647548 440141496 82856836 830299864 578069478 259657078 500519502 747116032 315375300 286817600 501060590 285244088 418262448 600009262 241069910 315125590 367149444 423148588 173179332 95065552 670654790 352296216 931781392 297565682 997923364 758734308 591954676 907229024 830510862 498304120 329757992 224390154 295620360 379399688 30831294 828481598 403055736 577142574 901159552 874379624 698262450 395802602 872473604 22418374 339620322 744278606 139558984 210338052 875917274 534298768 281725444 167171552 468172368 181258462 94091122 726620042 243245640 124784076 317438674 394170454 616655854 768401368 707755948 869825316 769537706 753964778 339303000 646258632 11729210 241170926 805487772 736416596 195476812 124162134 984242992 191313384 409846748 753832770 645639272 217035818 379472422 11435024 708797280 299638656 905334404 604700726 247606412 129261610 604984882 361054426 625885700 232581266 25834626 152661164 192465420 205724076 757179260 74032678 902745896 650640052 796769822 553268094 893453700 143427112 133950100 156450338 24419848 921191134 338747000 429282726 913438038 851560846 930977390 487196580 45143574 116040868 752258112 903838978 216317562 55150736 131582530 812120554 873206704 795387930 667134466 627454550 510208916 422452476 612087642 113003118 913840136 361811074 421648052 588046714 800454442 958957766 549268300 285780250 152065478 332854364 340767954 756519866 629826400 910634216 107096292 195346572 476510748 338119758 545409628 826706862 442026080 614311606 454505414 653683106 550353522 939000894 363401838 562352746 730178762 456884244 340647030 232030276 26863410 79375058 298146794 959282756 86313766 575954300 484251224 715840998 546101976 517876710 800524866 701170160 945395064 144060302 437428986 689209572 667625786 321404570 754735084 548321468 687020536 125251534 127255656 917270874 179625346 139412144 372690646 995475388 545254658 234131702 727992356 557873364 391675352 138565156 831144496 691553336 540018476 647262324 640582504 659356642 261323698 32875468 918534922 388591078 280795036 127406592 248333922 2802222 415534332 621366034 955114978 992816882 958166632 859681576 677169448 320010474 583954224 805619444 725698978 795215034 233117812 116075682 402131704 351221596 220621660 657382018 143897094 161723934 543292970 879738102 163721198 214568058 783508468 63069644 472939258 159191014 163612048 336126716 625417314 810005262 48761500 461145650 131684096 480323764 676528016 206397720 569218594 743168762 158419886 999105904 956155920 828378888 393002198 814027124 424706494 261395374 563747164 55764678 22640176 308572842 982834124 181367286 937158056 415437544 455705842 848661868 114728600 498572214 618089270 603716202 649857492 949891266 947233006 471026108 340253348 632484888 796795498 645926948 707461100 70569094 560341158 551925072 890004066 231213780 297216228 255968946 92154636 385530528 902181134 565979476 917935370 631157964 210373058 49768944 27830478 424094806 989573952 749523302 546083270 897511050 85091776 818533172 788523352 377452296 371159214 645128056 354804270 102424746 141307158 403375912 512915046 415185770 432536572 468122428 842731286 338705142 185065558 835110320 754302194 148071140 124971382 591579566 470560576 10127666 152343118 945051826 503932540 894327758 384823202 833880876 563066930 220741488 599196944 807489434 522800216 526622280 449995172 822109212 321358248 677698184 719004612 48452580 71823364 400388742 856666990 474221630 689389572 104802100 853217498 915025412 247141538 281051654 758272464 415226946 688266886 864204978 662443164 272711664 843378996 887964042 702002330 103213584 896563886 266754390 831648582 940863826 782482620 651412250 182547316 635308508 462350564 903053498 932275564 242416196 204881134 792144812 828736148 771153932 127723692 138922976 313820908 264629490 51503592 548107748 677126596 103812228 708417620 401221700 664068618 137977658 131011580 437888884 913467320 354910228 272536716 66012252 159656870 110094612 491510146 570422936 559934422 214994798 456529132 665525202 996877186 638279914 275419772 359456406 587349690 924825010 140691526 43090348 441750186 194932642 964678724 108342628 161335242 222829288 145967896 743933486 248832812 754245096 91854616 894149844 424219506 530155362 888766474 960698322 648284988 672673416 34623292 637501036 819736238 726080916 621284762 665903062 782487606 240031100 743456362 901158234 60640538 396494788 49054402 636952342 178885426 926125066 276652902 284112226 39057212 221545218 480895280 825774154 292224876 116425794 483660496 263331122 98285024 429480894 674637390 703404272 128395648 499922420 667004406 47611278 571319144 892867878 597502720 306683742 300520132 576804466 232649176 908922972 942579960 295155426 388421480 783885196 597974410 215392244 371743766 854906720 683706744 500560800 987467422 295121196 877012496 557996848 123612672 800324398 630352836 437954344 529034330 5918234 237511230 838798272 873727054 430190358 56537384 328314548 240045398 979211942 452667402 759243518 117110076 607433884 426978704 30900800 753395708 127047056 523530778 452123654 961716358 265870224 21456720 121861872 102014850 981326830 540514798 913902534 675466578 51710090 116220476 247283066 406810880 526518020 590351604 188446628 656407298 350358150 669654198 39124004 41738592 982301186 547290774 893100380 340599976 424145324 485419046 137289278 62931806 573305974 589143402 288092662 926261948 915129690 870311278 617024524 411172120 623572964 311785456 62133146 678617338 977905336 75434166 806740014 769319102 324073948 124063150 589635344 682114722 320983608 156975574 540286962 4196320 225992948 56611032 448883428 237996074 816823056 285875788 100123772 654336218 996530644 632637032 997718430 436813268 563935630 774292454 625187720 576822172 382770538 130108232 2952894 177123274 514401108 24099270 164069708 254259614 380491050 619848430 685636890 100984810 885184010 53097404 26369422 285450672 926533866 163766894 258839106 683556640 105407906 386974344 965088264 70668888 306994362 582159034 51366252 237757852 62631544 950011270 13034668 523864536 476313194 143045380 479964824 75748958 226965228 210444662 310717488 503513666 44071354 618472004 9296854 598350762 805895390 992517622 449105096 706579530 71292162 833875860 803509550 633645872 169743070 906757718 572134584 196423590 621610700 447827260 657843348 842332016 885878262 921327312 112856634 575698000 566986978 30831874 686224310 992632296 58717376 285922396 207063356 481901348 659162634 643219122 829190088 977701056 407143094 523185688 41868884 366573336 365682794 856342092 918960756 156780896 669751350 699380712 145555068 450536424 70378230 764988312 411871936 344795298 849976810 437344682 294864038 45501610 169892522 747252278 159274460 891392058 55900848 249216444 351586760 899406946 906502080 578742534 46281682 973968516 680522190 729306946 85493126 296068978 114701892 497205292 41659820 454312848 671083730 628989452 4231592 954829234 370128990 679966724 176665626 598760534 577523992 137740672 367555604 764218840 631018616 925031050 182890748 15374952 878208770 586965218 275139350 666032018 797062136 994404352 868860458 829935256 340902316 169975732 590858484 207727486 97773168 243361578 648555944 642713824 145548978 781856584 495976748 231768726 483867044 336443650 106610826 893273424 697463354 38944528 730733540 689402482 766725274 459175928 565408638 196975704 644867620 377397752 90451920 164820642 744663068 707450740 71303074 808756842 845630132 482321886 623975708 207431426 496150630 163064766 843548302 574730902 752785680 669692054 841783806 852960064 124532158 689329474 856234590 508444942 314199422 451414100 438469996 799489854 182397894 429640134 17622456 564052670 170992916 514730190 813090570 932450006 673891146 457445632 63602988 661066750 11593636 977969306 69572566 794516616 991408568 643594624 729676196 498683420 592639832 586790492 394465340 108330842 844061582 599294934 857511888 323640042 266622194 229065824 345569638 312240152 409273640 678113170 466262010 265865918 627250898 268735646 288265956 261325002 84064644 324433228 807960004 157158382 191958070 191396854 491324612 629849090 239004526 530208560 857982020 373356386 723877624 1857790 825077750 453003664 401058870 458127920 186658892 83356454 128182458 256828130 431401378 802653208 326698170 22530616 348217504 148823722 756556402 923664752 470109070 163056618 830176642 203844662 599139554 854270474 132656950 930236624 323071408 889242624 383387288 600850632 835866280 779245712 883799956 202234220 758862218 400123670 523464220 373220432 692240138 549479676 972176924 180121610 941902302 631945178 693547480 193290134 235792332 309104036 386628378 473910394 800226270 108745368 899785302 961701252 888470944 701431826 13033086 586886090 336545772 866598 959189142 16295474 451653082 843044076 975702174 166355140 621588616 926050728 975458378 871827504 574886094 159663292 457591476 423373516 860515550 984471244 89850498 161833640 152679788 377993456 203859284 115822102 326763690 961790586 441716714 953295512 772942986 247481208 140024262 399344684 176858504 836358188 785730138 917846950 456261748 945171180 229807028 277958918 14631196 47222880 276358666 296092488 548163376 980056900 432080956 750369240 504033968 787762734 156947266 441060386 819819596 848771166 862357860 730738498 977849682 452536712 911340174 237367916 222715030 46385020 925101348 155327448 716155306 44717448 67737402 680048992 371808218 398593518 302410820 976998028 758745590 859641408 552796604 248534638 848015540 574224756 638416146 258921054 372934262 948976904 137692722 84839798 337665660 765560668 406726648 166263378 746456128 977665596 180267124 358331102 475527344 720245014 589735996 470665514 584642858 635921012 77217114 14644884 10317426 636404816 721798138 105461964 350140570 301572178 355903170 414703678 167895800 3835968 492874120 758985660 946747720 360701974 930193056 946744190 488922158 455820484 692880928 532876304 768501734 118617130 995496536 257587770 937820740 906588318 999420504 282881414 585897146 525355502 273831670 61566714 905022370 807555776 724428778 514514002 949469440 98929420 790134836 833256836 251589804 187134566 54644458 425158394 525747800 268729936 31522266 721241978 721576212 852904818 689930568 875616230 665830752 269758906 71549994 882438278 826907004 279694766 503136438 905946002 791300502 148100348 17440762 358893734 798407386 392063796 108553154 609841174 601152998 506225246 771193322 894023954 668136980 383867814 102890548 245359512 445032800 593825682 790985550 544604946 150869074 735398850 100526012 876298860 297340914 880742378 876008488 183166470 720996642 412118978 157782048 784719048 696578610 486089270 620587704 786735668 961528830 675847014 291948818 206551088 483236230 964293782 582480908 796600318 373984202 148149538 127907610 554526650 933777328 187521434 961334392 452719464 947935516 349860372 410792148 119593512 393809746 601944444 586136560 213008720 92068852 136098324 266875976 891880714 682528574 214864214 848408232 120573070 357760890 631571180 531826936 852972286 519212766 488638788 926669770 791983922 904525128 203795986 721470196 318901828 439199418 678023600 561622392 62989828 410249810 209420560 929386278 814898316 797990012 35762126 343458026 708621754 555134340 361300642 699669916 896896198 829381398 491894082 488388726 878945360 852231846 689476744 423303304 266839128 965868208 809301916 458311550 575371398 517541924 342403550 625453714 358531662 788086904 77099068 961475378 104812166 253485916 900853506 471140930 18642764 287951816 682527102 203827488 571541946 201578254 83046374 41538722 775579494 127676030 647394976 565293242 190077408 393133764 986610736 678570318 242474126 700223196 379814088 637973574 200819924 7442262 377586730 795206564 328695508 681987180 371356188 223997442 761397182 343976828 722965610 159373022 386831998 387454798 965770916 949177618 861083214 329057108 219714142 7194358 189596366 134504410 252901324 286130096 185727822 703886842 736235048 851105510 159051578 401769984 521522390 490585940 16015510 35122884 53796386 441619054 155037962 825970528 846243246 990513978 603756850 868169054 835839650 89868856 237137984 592803026 97143430 517640848 668297830 116432330 22381688 494880766 52253772 945542788 338859274 724117802 271328302 356658644 273343326 514168382 431846236 999626878 340534108 53971008 201726532 538693830 69032488 256800866 508736350 87927180 861657326 356532776 169275930 648463962 570154860 997098392 207342518 189769814 902150956 964496754 360822284 305704950 820224120 199114880 723674960 460889226 739262304 336022398 370631840 686078046 22650430 982644230 820969856 865515368 336894642 503481532 724135918 466854770 156395020 317961136 682367742 336066988 809651714 173105046 18688320 845143352 710431920 709755874 192344784 307135992 755059534 462570516 729298588 425203346 741347098 530880552 39345946 606948906 642501864 995121270 884659824 779664436 179912242 881948542 312343112 68210832 560374264 221133882 214375262 630353732 190470710 258300310 764311532 641990834 653295986 352509752 345317688 417222984 850221334 950975028 191120148 290786270 604160116 140190656 536589040 142448626 401305504 978421608 619362924 940258284 947284972 810815424 273752940 656594880 248097938 464264086 768606692 961115140 134462072 148077634 620092104 738222312 481516212 21690116 791264858 589323182 954368212 623454378 64816886 949461780 67849926 822444824 390833872 586024864 387305960 228693644 488786952 441474072 834474946 253173300 530687712 250860650 78538080 889716750 703232064 635435620 714251132 186091870 888995328 35288560 87271326 623803370 576629448 321313156 745749958 373646020 365473644 545258252 945270082 907327982 367529020 799345202 426621400 461706464 491756134 706065126 394580520 485857588 111406778 793456602 11347812 233937336 598759866 670296932 444291766 541479908 877397150 94197290 769990020 669208454 638699284 173765084 816559866 326182188 479398958 27306484 123470874 280798830 631837456 679438934 346180772 928389780 69092140 900248690 349797934 658176088 148749476 300767002 1892892 990221022 511950476 145520430 493840280 529431346 249350582 397970938 521367200 508928540 880527272 679949002 264433008 403300524 754898656 785420690 760424104 143436544 190369210 566583324 607377874 474558804 838260986 386797042 542084642 43861936 901935036 303016514 653855780 927059784 81457578 324653712 847223872 735739240 488658512 275696394 649729500 786661012 899076932 583402632 307802188 105996300 594261492 615033816 137623096 518406410 397674470 92051744 844755530 680268640 323655122 193069928 38936786 339525802 154641486 681640570 871641916 795144608 692565324 794797334 313874408 353207762 752541500 930238656 233058126 75011212 981300034 189426318 33990120 516428770 674850064 701501502 158683604 105678510 792640836 165454164 211148186 776720348 715016486 148170890 542248296 587858910 818005290 935676732 683805980 343152470 274900618 679467484 451030560 551486918 514876388 366450340 542660396 628078362 473409804 837663120 197517668 217740670 419350558 441759262 813769764 936854936 685587692 645358180 501532704 218053798 88356294 135603096 27172204 211617042 820709690 457154808 981869102 589944206 485350658 513053908 326492514 891391322 345856328 932079454 530707802 58837294 341246260 787022528 931344942 106224544 626521080 169049642 960568374 333882436 611422696 985601662 798633714 610370622 542135238 298950908 218297804 22010084 648394512 895915220 426423108 7477526 800076588 205766340 115655232 663616184 114252932 580500260 606935012 378961648 194046336 172354884 828190540 85879132 276840626 106595818 320063392 852998404 84400296 708255290 220891000 290946252 202744322 502560158 47774308 791405544 570004798 347049334 389314754 850966908 971157108 469897252 7827736 739388868 82459156 435379826 876146692 85057344 242096806 396958720 275371198 656682996 283175150 17747644 674278550 198618670 33207174 899601034 958210572 907388088 298524332 448149308 580335864 259799766 470487992 130879958 27433162 61600188 2320916 154925290 493065708 470559502 170289172 43923084 857793874 191902562 219129664 730342968 178784970 926303496 640028624 345895752 344592882 419728732 151475892 691214356 67092508 965686132 894889974 429678396 967419644 902093038 391362958 113325630 643360774 756341256 364631126 749835454 286001432 424961698 137773944 560692724 128387788 203203846 962336896 396438894 101852454 78784404 108666488 628044898 985243866 616157764 523789152 545417284 2638950 718733848 149701670 145519054 697985454 325222918 436595962 568694034 473242274 935953344 275933496 698733934 627907550 164212590 974216092 841669504 63187808 385904502 779231906 651999860 567417680 22398748 996444404 809177050 899576750 589896334 695962818 787912186 812088900 728800654 393932002 594885630 133435366 382905560 34510868 402670198 435304056 467395292 858194322 834422902 945137828 790512220 63805880 911396122 252207654 998021542 934501436 769431416 41969374 88764488 542987934 711714686 973049676 850607508 504608664 285822876 513496492 729456074 901566948 523882610 314057956 637732 481311250 330047604 721133544 73103468 958406486 454581812 190088680 102992366 131606214 934356948 642023706 230074636 484838288 471704628 237868252 77056866 79643804 853642490 613491092 274943930 121961560 284370764 96892456 43967552 979790282 697883372 876387792 908787276 614632558 684231458 450546124 338365346 762710422 885031598 170639370 700491478 80685318 10211182 957006202 198833638 557353752 542522724 781041864 211717174 955685556 586391942 278257848 727443102 843296550 986026676 687990206 672279688 421629546 746644350 659032452 106790084 795499320 794909626 998173890 47830366 488258062 804649034 617140598 579140938 219908264 735135392 990693922 358722308 899551832 192505000 916798870 893181148 49638562 474904554 51000002 926575324 735991628 319813732 576449378 567542078 327909682 624596110 852489190 250859078 358376190 825545978 153197180 978836630 995884452 716656586 232450180 341209288 561957938 867171254 9538600 321144246 462806238 177535184 864548490 451325724 713867260 292089694 819391658 507795446 94309592 459709540 248666984 305846422 183319792 946022672 98587632 727671600 582338798 541382692 453596696 278589356 664260856 690941352 360519500 524081186 636576416 852011394 602388866 416621936 940878244 128959696 463234676 536641450 354785338 275200238 501590042 463681670 525540242 858813036 731061352 329346808 336216586 885161440 276452116 970069578 378967988 173529358 774429634 628954322 526716788 210025130 366886936 397415104 233622514 107451880 472759012 887971524 669462414 910418660 299824882 669089700 317300834 563174134 868078794 117564610 284741716 960883552 936431652 881964152 663581230 845842016 257332534 99427436 401666956 62921104 412409542 379848846 323341588 168306800 39881788 18708582 681808558 917697602 599650428 817076558 368581778 158590548 776705028 109181022 333585772 186415542 405756008 791920810 31349098 54043636 676800350 517150962 373731540 949783454 53562618 405848850 817816176 126739762 772874740 254574272 570963250 276645250 413614006 624921784 542110860 208274578 259089842 293363566 986092252 683073958 128164218 397879608 272751584 935905426 679108734 472411294 272481208 275777218 10032504 981688370 368848636 449425522 751383448 328285426 907217998 591586284 737238758 988352704 121552520 637198722 751604980 510382490 388227728 666010616 474389070 879835432 788428318 651517736 929573336 795122 391697002 866183644 699969688 92214176 752672924 534992096 169536590 19176924 868194924 92291926 298148278 28459202 418318026 168306538 825722614 278325720 973533342 469841792 82846350 324606002 446158152 52328964 171995458 68765240 671926460 489999012 452672538 489007944 541295742 658661762 467928736 735611634 738363720 639359514 423382720 625905394 897947358 867626788 902182040 385430138 573346134 974313984 471403462 917461290 225911240 237891888 959496572 480469500 117675494 222752778 39947844 668048386 683254468 571017610 376043204 800648308 69324368 848616106 679044552 944448322 688123674 678947336 757138414 595621546 996197022 734698678 624557114 624351842 543830000 510672678 858245982 329909404 247511838 565443950 287535318 904384190 16605530 98539518 395419426 935424072 192402378 493642354 785951114 453201886 440714154 785920850 610088740 483898990 497316478 874097732 792685482 619726196 27557088 170240616 90391214 390405426 466601394 408749652 213351196 69649218 216415228 921725794 945604334 705181112 701920636 250150958 516029800 333866676 485238712 235242404 247769250 826547864 121912948 54602442 781585294 631232788 912424144 226886678 535371756 133126898 367813650 680460160 94470328 532965298 307314684 409405456 955140208 810707746 647730784 847798650 715801798 330533316 137202024 448232704 154343912 34534354 31378866 462082154 880171284 337494820 122809616 414380036 339981438 52189242 822926324 250116460 526060240 799569240 155571454 684786614 279839794 667336046 302544346 405506286 441900124 269329042 540592716 706053048 948348116 14311290 441977394 281756858 488696796 972689528 163821032 176845348 371156242 858230960 343292268 948462404 5509550 461679898 259755318 269332408 465548026 58070948 178901146 945297254 18149102 581237484 54507418 969664710 297160360 79514314 49342066 268166368 736197278 785694382 111795124 989270578 229381784 71493372 628919756 36260884 107328882 305967738 480729762 514909460 397268550 483132964 710195868 249626364 50717264 683714530 977727532 583099780 436149362 409215346 84104342 877502452 320738046 954006496 670696224 572555908 431905592 804104538 611471174 285622810 887221766 61260824 38151750 731617226 968312624 930296544 285443814 232035990 9791324 306670192 250769940 276568204 909359786 4655154 870200470 945854290 70581016 313621090 398535958 635073954 592407438 630975416 154287324 262397834 837580956 969804836 59473020 610056860 594236472 583735114 628765330 80796890 296107814 356064030 222554624 428646306 2526094 403957174 598771600 609165082 670005488 965239340 505389772 641552888 795549650 47745962 618163086 347442460 536974374 786564282 131073658 529526318 602163560 544211230 238283652 163136576 53259718 397151478 255795330 966194490 347131280 830138476 658247380 231088520 759112604 493199814 28462374 566675602 706369518 414334554 137382208 862254834 59782706 109672560 287262770 835679886 774140080 64904508 911740172 208483938 377551462 968212338 400049032 279419872 977784288 161106546 740371622 824546070 378121702 537351832 643984792 616393088 94153796 986715012 368845960 893629066 164979216 231410088 679842654 725007188 684712566 536511036 442490862 280376810 392128538 31952350 49448534 76265382 260565354 7176676 769402634 901761030 810006198 170793156 523580312 371646076 73966156 147522848 70220526 689121342 574369948 513742788 581375450 710369340 423109620 610709180 6343254 81942364 865730276 768856446 792302228 894789628 969570442 53705354 763820896 600089432 995734734 918959562 984433418 702274088 431055994 51895394 470590368 415413890 525778072 184484970 393019394 909810388 32670902 951376816 384549128 566812574 327030122 274310552 507190196 955072952 655917510 257817178 607749440 962128192 712017544 979611252 854025456 447236880 308057612 295522334 326785366 318403752 288208952 818400256 337523408 306155844 697087368 907385656 861427948 306283356 276551330 350352058 948181638 30852958 364312176 924913780 903071008 392247194 71459502 54252284 439011500 484949402 608883696 31308030 268817360 896962438 831616262 862645604 281042100 985545530 854260376 695230920 342229524 975528642 192539036 475909584 461914242 822313948 530200848 854574950 710902634 461924740 360235670 455640556 71693752 387330808 261075782 554052286 345200222 811135424 46458102 498905702 259162370 418197152 765270908 214683288 722614042 770655716 64099584 374807634 540792078 510546804 398217078 327540950 126506288 744484986 781253430 215210730 459059678 60360562 190494340 919791314 395976334 542918168 738426514 866271610 890906976 290068022 195670268 633349196 127778840 325805936 628622236 775802794 345178002 579924254 669281632 638564196 266954776 373034120 377229800 509331524 637116512 151728106 807936654 768448060 207997922 628082942 999932252 11967594 391275084 69649528 889430076 521778290 882555250 637675830 154000694 878070884 832456350 425092758 96458324 696965298 398269830 916468434 403019524 344413592 156367716 385380946 594460456 278494362 479069526 566180442 255764474 321519502 564985750 876951340 354574090 854560078 697045502 403815904 826545644 869777034 613007424 806532684 163045378 997678812 463293502 776831092 619055696 520192396 147817462 184803212 663319562 391063488 131517496 974117034 365635490 329065166 614432584 633101030 799488492 884786160 379785786 493204346 931425828 176379548 28051292 793751230 110674638 488156322 782878156 621310726 128965764 720704950 395868944 891394198 403145436 271801966 876751592 373319488 947029380 810152764 952395766 582337744 547240568 64985758 277012700 685044046 279614300 797623956 284420632 344360142 51573534 781944436 959679192 712120528 574273780 394911112 81889600 124106822 229480972 236302594 123200380 768771266 730203854 663089684 101789720 742851830 673342544 399170750 244727100 888061896 475294070 13188738 957433780 190239342 747173728 35860922 656126222 428594358 153769832 807439390 548994052 766855460 965918430 988064344 84485074 196174514 924094140 948759198 305393754 73922614 439372664 140369158 538554352 24762520 477970584 219451848 762183068 444675690 808431702 624696380 803402 544016056 121413982 879727552 313761240 616185186 697619970 248256382 23606078 916013124 56854050 482405194 638090346 244833086 213147164 342740418 308324788 448062962 516628682 32327374 977072308 608273016 830017912 705553274 757187058 878493890 378387876 745520372 871701810 717684176 840022274 676872056 851526114 983213160 147419714 75967120 734109830 906502122 718179232 433089342 408223272 748411522 458463186 363855842 794542966 374061810 21078554 198835160 117103908 811451726 12688422 750879222 46913882 318518776 620783536 91887412 346161382 846746302 658996654 731916668 991249428 38610700 668284338 925236460 69148918 309878704 683010630 875186104 163546770 785147448 278637716 615984512 413111858 83897622 293160136 4899780 597684004 490470260 796676372 452098884 544305472 54819008 724564634 8031528 959500190 392890568 109192042 531391056 111954716 91790772 911115240 809667902 68509512 182276388 915209610 985843698 700570040 10428304 755466486 173800064 855921216 52765716 865136374 925677404 676726456 678270230 976499222 468422022 69407372 627687574 866665804 945278634 37085832 715736470 131563994 60438740 211346598 323394054 408662500 896381244 865119268 179995886 196621432 431287438 139246108 871417888 640132134 718515444 805292486 979024682 75809058 945922744 77060932 830128180 798241778 994581570 434631518 174847450 590044284 723984270 526638616 242429324 207274026 118341738 846330390 357737052 158659516 857031930 564422694 422553748 269790048 342361900 592465258 438881110 580718456 485880562 14124236 967768218 87876644 468113772 695029632 863108804 340590322 917247672 562708926 604003782 6523330 385701656 438486510 625210694 890840826 343260616 325294968 75842932 436794622 292272972 925512528 612321142 720600840 231600136 364650092 343896236 765395114 266741898 778892754 555512882 771772084 392655010 651524850 191869360 509391808 336347754 191323282 608906656 309901690 361783994 682383204 556366516 327352212 528349638 689057816 823391534 939262576 482413612 886071750 168063306 575997292 762126592 711156886 95743792 406171942 196160992 454658108 451587890 552537420 921055300 127829106 142002294 351217722 86505664 249388132 11878178 238967944 777742144 575979574 124434502 755976356 986276398 577203860 910447384 102974090 405923174 170876048 385297280 523007672 632315582 737073386 533136422 608875086 751754164 605080280 663653186 41959230 124895526 602165976 834657448 114736760 834530420 501570542 294314758 332401452 129088962 765134622 383036860 111357452 580180306 984197982 546847244 328566246 987806252 814814274 496690552 989662656 50887330 857124498 203793504 306988994 351070682 586978126 257248910 227584156 846937188 737291104 501194466 304530502 659205190 432396374 386880096 390278024 935248594 34221104 993368394 831221632 929062424 858892338 298492204 16948772 237229348 28615784 65655052 306111266 872414630 364902888 540123740 394164896 443091248 122092950 111511622 544406094 435042128 975751482 280858178 989678232 908434550 119160926 344885118 536151038 757645736 80101186 187291086 954874534 646737890 771269344 850265546 28482712 991347898 371153582 673778244 661061380 873313492 887484234 542673592 903944708 322093702 918815650 350814056 762904818 35419010 379775076 818075564 182861186 820502946 532138836 878412224 297703206 443463718 156469864 425612646 207762428 886549976 512382582 689954240 325675600 425749872 236950922 912997876 26958662 538789900 51275814 660886744 99461890 632093076 465956006 765547840 554329630 35161572 573230204 911711320 884427808 790295126 345028180 90765220 746653716 581346602 185154380 598597184 997166102 385331212 361843692 67812306 794256140 142040408 584231570 262009058 354468170 580694890 540770264 596005778 26379084 833497616 544076996 427053332 723396570 70676852 488720006 560857734 659586668 586701048 296874472 304050702 247079136 747015774 476831462 889176186 898830054 878699992 272957566 390871312 430886320 267480708 360954630 75293206 574855050 434099354 933719780 665286808 382484288 870486328 760535288 686410520 314493550 522438782 405412224 648967942 836787830 43250344 369441214 631023966 854566544 453262348 85333720 713907996 582385000 476966274 746290328 799925168 305914178 40214094 565826260 515043424 93844168 713369862 149024746 453405708 657587104 371832818 94417600 201856134 988882530 674067752 632261064 703296892 959329640 835792020 275190890 596513770 367296224 380853880 71418588 480991808 556062904 702079236 149610718 530626902 327843620 988938940 983115474 6910430 202322038 616883478 922703466 481385050 588658956 334453940 884394474 595340476 746903782 517525414 717561316 636373642 202435032 659241956 924557948 691313076 142431830 222294366 426008342 135332336 79319834 963526748 404070220 814402410 902497358 803139430 884510972 64204610 216758508 63454880 185599552 375509252 818545690 624642286 527386716 159735924 506758994 395473204 410079210 534672998 214022064 611984798 112100530 299949130 971850476 268162208 113065334 777386368 382080594 220618242 401014080 990702378 96540502 880135400 837722948 284866052 731545550 658481334 502125306 843246116 609122598 88097036 261691698 571454572 805284854 967474806 610871674 903944022 96199992 550131214 747156862 397299794 638805370 629069568 117867392 284372734 618397848 43986748 232796010 104605862 2042256 754638384 213545488 81268210 880268368 94910878 282825602 104765732 462358688 126604768 928136322 389229402 928063500 589265098 25104084 287950670 606845422 966087180 158674404 489748404 544253880 743131002 528462566 671546808 116854320 33796748 597661750 247893138 529872972 329002314 263400214 108101840 449473312 49167104 233340024 866008632 988736904 910135886 987828632 368901148 706898554 185768616 698260248 724998068 128916464 755732370 195741708 517937818 521073938 671717494 344005268 833612510 178282260 454791906 399968890 306919810 759707286 626331350 99882086 436128120 578365226 124333692 209341464 992994760 2513028 613445020 892429612 42162388 263891816 358127774 156092034 88827608 389491768 666845928 679142822 877149956 734250812 486162558 893152256 283280702 75120806 260806582 74879822 910949168 783182236 708198312 702240620 775768404 787204904 765236854 359257192 375864380 219830832 651972348 910695922 931372552 708791488 248883676 794996378 668553510 524889178 822043014 992965066 911095458 675638914 403245606 462728412 989934330 318412834 728338780 448440138 837048274 236668822 572451664 997569484 446378740 444886138 401678380 71342024 917994492 277544648 669492398 12168786 187815690 317466296 977737202 888673414 480682126 599866776 875022786 932205590 714316670 399604594 921599538 688985238 745982274 488799698 595382490 130930252 526875572 766195774 971602766 827731524 401348744 449615796 819041246 100592000 719975728 223087136 177763942 883542832 497965680 448161124 826071130 595310462 887921208 39660684 785935556 176074624 92482848 186320616 532814192 66031908 177763886 831709476 475471840 958019480 262088730 592590102 324796142 730995616 457333066 535833128 101845770 106101752 567042546 40642234 204704836 856350932 7672934 937859384 417682584 913105096 968227650 230370088 42103402 355111586 193259050 485935952 403742664 770310594 925433514 154923644 609320034 308289400 951073934 894616316 367355460 759597854 534728620 522091590 734293052 713784634 140066848 104090466 170012232 49157790 858260702 597068498 15344098 851607334 343733710 986811894 180886296 527135138 618716886 456147442 718454184 11741432 356399634 977400734 584509252 841162272 435041908 447113044 32190398 103039002 851297212 895042204 460399832 817396868 992270512 900703090 188879604 277228510 123577844 437703084 626486978 196558086 303340458 805239688 167097796 556004844 671402468 385660 870474222 773093636 438762258 283573150 856017968 930636198 554701258 711265834 486272788 986366884 463300170 50259114 766238040 426222240 31205402 781347354 857868236 591427208 588665496 551048674 348697762 423118082 725304638 267245208 659875648 66292716 420149556 47838446 19724534 891473852 471959982 522912632 387447562 746964200 349971706 453595026 131863082 982698410 345267170 996512388 527143746 474234510 924629596 826288892 64795600 761516066 788746718 700938354 221083426 814080944 164312880 362719206 628045034 846722326 325119138 128844398 911442072 602400316 381415134 674087020 841977650 649664746 204543568 275411360 147224176 314472392 342204342 634476586 565445986 803685808 253768186 362247096 725920016 846138424 503014538 285388828 466311562 883348598 45786440 496468576 701018246 164232238 46217216 258167836 33655352 425394118 543104506 15353058 873446180 52272882 581336048 682828000 2290314 657839294 963777546 551664186 854497208 255610742 495918800 272954100 522676850 731218904 838992224 159661432 719778502 400068352 846885712 640365930 109410380 672542556 87577338 357342726 368219644 103465528 393384070 95308678 424191952 84342946 884142700 286155908 940984068 294060928 219623724 867642778 931493724 957461150 994350086 215375718 604933694 992410384 664305616 177527184 197805970 434648834 722401434 470859818 10204308 376502818 130159230 196766248 135095184 662582232 74263294 947532230 993105230 298228260 608461258 147080232 341975652 949348014 729270572 53288278 970537278 411119436 657576146 363837394 610079208 18049498 442744958 793975118 678180988 136978860 793722574 181100074 47212564 255577698 532369968 947567626 446117250 650406766 290894256 764609750 164113234 15468302 374742980 131836460 484533858 464705646 227200930 630929664 472004794 921267304 629175536 518872846 673987424 988743902 440759262 831095926 820086130 891923778 479316862 89554938 941840298 199613892 114765644 693603092 648593526 647116658 630882238 292330066 169036158 491568606 895190892 642902074 499631572 984310808 676754662 147472442 986066266 834747730 851560626 436136292 465036938 273673090 839617990 795149100 848096146 475983978 396309646 361985536 989737704 28732494 611382642 915299668 944654094 555553166 905532778 540044496 731239442 77859694 476482662 871482668 655470880 697332322 588480140 897368490 852362522 613119536 544383448 244568152 228767760 97523352 315813782 210467394 71727420 681200722 402294688 553686242 340890464 949324498 263114390 375440160 766022424 434656586 423806388 471769748 967877758 591728654 674048276 335627418 28670730 935992696 35593764 663295148 76610618 717131614 244403556 709162736 295479294 168727862 300314598 123389398 171535150 588798788 455251486 249807026 858504490 91738610 945314358 325462842 259390920 343176094 857004606 509795622 240236154 274305946 464461354 499948112 921033880 772389526 710988266 998920290 981938278 3543996 74897176 803051042 360373788 804879852 554292052 211866480 202373768 511513794 352873876 785371416 733295704 535450590 524240962 896004078 561163540 263131606 141363410 132515862 187944918 537853680 32098606 391189722 797211960 268765542 605418794 429692732 693464892 664960804 328984620 429832688 868908012 292602626 489561716 958820836 880165674 562216182 577464372 487012328 434132970 99694580 374273910 452489908 685282086 891558404 486971102 358610258 284980338 205647744 475418468 946137712 376297024 327107836 850454052 469717776 898033772 841558232 551107564 172773986 403273178 804045238 117263430 630284220 781532046 240826458 12242400 293159622 187858970 18816724 530232956 802502120 814539822 340389872 351590066 754185318 515138240 600481692 707387486 246729054 5411388 492944118 299399310 993643894 105028436 334880646 780159932 50791948 856603498 755533654 576805270 69706176 319150472 300663972 259851038 605823932 787896300 80715528 804267754 205171268 68842468 52651018 741809146 414884742 348218708 613574196 738525614 861460114 799244526 556036160 580018532 318091024 299168272 314126070 272906032 929494296 546651940 577230334 218174528 10985052 361489394 647144614 596063366 612800110 973223094 883762922 748532120 505957056 429441486 17556278 235207576 939020256 702630894 452729358 72830078 130561868 557447408 63874622 789275438 53199346 231222910 149552256 61793080 122881150 737127534 240646756 540861632 14883266 690316868 528287222 925166164 923491154 618784246 645772090 789313884 270004970 604925128 101752762 141790232 931371132 132864732 642469218 6531334 462090734 880218926 499570600 217626370 818312132 775059312 888066388 679622072 519104632 766430606 597342654 667063634 412733524 249113970 783116952 397892742 863325604 424453652 583305212 568009050 214703902 121713794 157855646 432451792 600462386 727683374 471221828 144056930 796104336 71537660 665430764 679227954 358480122 980363144 277803510 355309878 314765396 371370932 468461224 836340766 641032958 464043448 62225442 852317824 339636288 370288300 603127060 700627036 769446736 443914894 633556278 904769982 954368374 365865628 440350132 817289312 635519854 783328858 176403358 934929086 103810516 443407086 378377102 536598958 422176394 432602166 826911344 844542888 95044320 448502926 265807486 409387388 839704984 243235932 417538182 555267928 40336876 546373004 317816956 876342474 763666992 122081604 972210414 320651590 145576390 443387056 816673292 877933328 244138832 627785728 775059952 265689938 406414744 659388476 787550880 618138870 530893846 176266662 664371532 61047714 272339934 1510746 821355450 478313828 849491236 385183990 737046106 380035282 148533150 709109316 845698902 556814306 449930312 689880814 871594838 863778928 6563768 369900420 599160368 620178240 73173640 893635158 222248278 440112414 560720512 50989874 199594740 319369114 793744002 631854104 752072370 353241156 816807442 678502532 539873058 109931864 981738420 574810776 692665136 223517748 245861676 381955988 15888288 810607880 299231268 594807818 833342424 175738184 137715972 209662026 738922850 241622728 518184094 421018640 326349506 106027376 386592344 681403016 18005324 213086140 909893436 394693620 359533304 991722492 149535046 718126202 926366004 301769318 175912050 834606610 667067752 937020338 441979690 288309360 942501664 171521106 261606270 552766230 246646988 839139450 390935292 49291650 366812858 731701312 314716516 997504196 154324256 205457828 634101318 224349944 969759096 925259790 860300992 636627892 304292142 166588330 534756360 911308366 456955386 929849504 640225082 22308462 42105528 447872056 437239776 435450332 436454394 809809784 691275568 336813440 234898946 44612256 170647402 359680256 50780378 114790778 219946646 832764022 683082186 759634540 249206178 178686872 2733490 272245528 738460 742214520 758245762 971777598 153869420 723069290 113684798 223108470 395935964 346007930 394505032 967216776 466968940 334450832 939124182 643720096 739178812 723888120 820785172 883582722 202201436 914933888 477120430 839703390 68811660 679930938 393252722 95194734 325428926 922661354 953067200 974377450 479557274 87710240 968087514 317202434 466979988 80945210 235740120 539951786 413810586 421096228 624078986 896903850 600892060 667502790 578868946 648902754 872510330 377656978 46895192 324951314 190250284 542594984 903169462 426306098 69433468 915680556 834786714 276595814 373994586 805526532 271358700 196693310 326250548 813367148 967546630 805302712 216935766 654920700 589405644 452264246 559839136 199896204 53226910 944687714 617426172 126334370 291112182 818651444 297923788 556399510 741496146 224398236 567492822 112571050 945759038 65552092 991157664 411733726 881230528 42560430 49769288 118708248 668274732 848003480 720019664 685506964 892218896 801294344 75851482 502932772 337501636 77044242 33972994 37253900 625131068 112698492 362077448 64069008 857296934 58792928 437293132 401461488 229344364 279309370 311171630 412439590 759941712 118993838 310776744 329372972 907014110 887398328 482467512 244298866 244261600 549245248 173021538 643079736 621237324 75068976 850764118 342156666 798148214 28506494 258962000 870024590 549417404 626219768 689626312 147219820 31523806 898071452 997731432 48652496 68885162 619369738 634351714 575017340 976644822 789383392 784153228 892655726 135826352 41809710 965639184 389475616 926709294 465606820 513369482 806844234 175776782 724336144 663213046 929456740 444872046 484663232 273223064 787414958 123049156 621394290 59857160 792822392 608080050 284165728 6617322 706161082 806838744 938993926 298251530 552246358 155366886 358736208 439054874 599548794 361969492 60467716 248290500 741547018 373925248 344866406 85944360 690033994 573356966 998756896 786510238 176648814 325289612 365164438 86622396 449311894 415574202 144570482 759995836 215024666 302411500 778895358 502217548 590541742 697836142 719534556 487849592 753301592 355540338 363682066 438625396 424864784 88196142 219439778 317972316 29054614 712479456 560054570 176713898 376666404 461001852 847877572 230927138 982696816 774138172 44693202 632609600 136674844 256511946 322152276 167182146 495928648 40201264 628208344 152095418 166935392 836307414 548134542 580149178 101858978 482021406 864197994 363389360 590662088 62735806 200549332 605123022 429059346 305667280 79902468 697781934 955852282 734887838 688383862 637844448 664939242 489784484 447715946 516501420 611183056 308914248 351299064 852689520 226573582 474144548 358806336 577442298 718765300 97667198 372698622 177902358 617323424 323397806 245844806 680127462 413901542 599365832 828293792 228372512 194040164 578132506 735147748 922899974 263558400 436462444 776624022 731522018 797838408 435771534 191601010 213281928 687087772 627029074 419921522 710396606 740082996 637224454 793346502 967027404 184444804 294048662 171837494 949953446 15579292 904031224 28378404 752004850 46177272 162400186 811669782 354908506 107434632 198854206 13572240 640045336 343398248 490894184 802546332 706404042 725202964 884564212 905012436 440677910 878227164 608965728 975539972 692621932 746095244 812672626 923131288 932490382 670193654 297722980 218485910 954716688 759841226 489601960 764181572 195468030 367241666 423801152 781272086 222136960 310064602 794375352 538940138 49238048 811092228 445073852 847698266 119623458 317941098 786040996 583660846 210436846 924010242 545711946 777187184 844494198 261051702 658377920 452177390 398355564 584832742 924956722 10712096 741384988 319230090 537732576 127711614 796271890 242592078 865732002 39765436 618360152 387291800 475474244 592065178 471706576 41287932 815656832 176597048 734824764 505940882 331189426 452763520 358935776 649064080 84831616 593989966 495720638 532380934 77117780 897736978 463877170 700854686 587714514 645220268 129341266 381929136 734201650 892834244 925350142 653744574 510693330 53407150 387165162 780919460 55143754 633523162 127392994 178834484 178156272 740889090 563284596 64398638 583557044 316242680 747659384 521980774 281554604 265718536 709481342 1549970 492260990 561995972 14895136 859495314 697466246 780923132 993987060 556588384 344986256 206599112 904494150 591623550 403763960 399368076 519788380 240545002 195866472 87678370 475733686 575456844 611180626 91032304 609445330 720163954 216263468 335511598 734835330 109357962 389449838 982656148 467645016 79048358 980958288 176661552 466878578 75578586 915470900 874255556 311207078 192979302 826940390 167248814 689954470 373257316 401710810 369233610 286931058 101460746 469476542 973186558 411876478 128005526 884399986 795271552 571955056 892199762 544870154 848295726 88252668 564560968 549412002 519465076 681022760 818269748 657635576 742753480 743072668 426915962 791238608 666884792 166841340 807334712 965111212 78336594 924249552 706390350 734131914 818035424 971114628 115402868 625330488 873443206 780777952 682367818 122239274 708694698 163665878 532290216 248922544 384167610 516454630 590117924 404924060 201186096 403158978 764668664 480209170 704058748 212881252 386982798 802276134 195286642 305900370 602238550 531379722 246190996 238277040 615771340 814902030 146564828 362693374 693595084 900023066 485506496 797064136 123373508 655951880 139676154 378762722 927152180 448594154 527142344 533010854 442243822 900928360 477185060 77333940 210930106 256276686 424819738 49409988 462369736 575930920 216804252 880588120 207929876 3065034 847813918 259348120 707292494 142812304 451169406 216145258 169314808 316227214 698336020 719339194 603879478 207262686 163291194 281800568 183863340 7516782 679264514 893608878 914987416 19400928 47363766 29097062 627414364 763202434 777712938 213717280 339037264 128663652 666824598 699336178 449952688 778736602 272411590 498774792 317921146 696397872 308633276 651399352 8173746 117493492 915978264 725979796 923845144 613264122 883954764 38084464 117157664 155584852 576299712 453773746 607714536 457910804 532301770 50672174 529013050 221253268 395799586 625935580 361649700 502416334 742662724 350035058 97012548 982002480 456237578 403678550 749169950 968578462 739551898 395400444 704393012 314850106 644159904 773771692 792180104 957367540 538297478 95208266 163066738 887980868 977148762 458853352 977729762 858349756 130428354 489978014 502081110 779975018 41048728 463392450 658077944 830568254 33762860 753437296 187891896 399163106 807505762 42956628 664788542 34510622 190645426 551821454 832966320 345245908 511198354 596693734 723675432 70555728 878700092 423972986 785581100 710969432 223313572 945804360 949350348 441717286 897756780 892497004 75751524 421051578 319044918 811782062 767933566 305467350 86216792 214309994 193830710 523936260 675234260 130515544 241143712 349479512 903740254 233035594 244606032 127088940 490397980 700065380 346719640 574472376 578444444 101344344 216974962 468551942 386339010 719307424 870332650 445294700 413702830 381559406 562445484 194827326 812856442 511540478 54147310 106197324 385858828 224691912 584284582 703555242 975487452 910764386 816859034 810198552 288489930 360497900 946683704 595699808 758655318 81172288 473546558 865402692 595590090 945966586 987457192 504878634 882648308 657357828 125404694 356011308 716550550 789179592 477441320 794096882 368019794 271774204 684688984 936385780 111299972 8785378 726346128 510469188 805232092 991238626 100074620 969319212 515000240 86179066 164175228 583439658 465015552 565588370 488947378 999245460 506046478 105578692 658943438 50168782 949470324 720143796 587941982 560250776 671183782 275766896 460380746 735841932 656131120 858810014 219556548 537447304 976740076 641593542 711368336 179704892 651961330 85175160 92641184 526453866 35750242 818684480 569599272 57076530 801910012 455138702 482169954 90017678 145608024 109146192 845768558 619871500 253122322 95425758 126293552 132294908 694013582 739120298 238904090 939479620 670369022 14784360 31136542 487256874 110085636 201310774 995614670 366786764 439368016 938821358 792629176 459595588 849148026 6791204 521466944 453847028 585196872 193290896 549862914 802325118 910263200 410503040 446386006 584913850 36451858 339321596 467887852 337023852 662098146 37449870 532592668 954467686 898678476 902870568 500785616 233342746 481237886 932318190 49377892 109236390 945413094 334875408 276640284 777006280 938361708 713821230 965150920 394684954 320939996 390420318 509263006 684070100 595662730 460141280 705760666 399638980 888840956 172688038 790742788 247137236 940929118 384995476 663418184 455462836 352348658 933860914 588391078 757558964 692348722 8676530 672748740 64542666 227395182 607365252 628054056 863362712 6008092 738581158 9321732 838632990 9093176 160132154 341422008 340863986 320126352 713703906 914013178 499029588 3532410 832444216 493470318 700278042 455856836 603623378 56172332 140856532 807087696 858207992 85831982 589620396 287891012 932360452 908277962 844775758 829480638 250493480 194749976 582736522 902243102 336841608 991216180 135567990 550359592 488795132 161071430 749077096 537427604 585556740 517358982 364340750 976209114 1953978 201310528 99997678 401818586 845420314 842363566 32594248 596945688 660497628 346751054 849077548 588688824 355724930 643820718 267391740 841482086 863239494 940795446 449329680 701625022 443243984 594462058 5202102 389664670 357137342 657484730 158374674 376418612 115106744 360235006 902467514 443810608 219229020 619226252 254662060 876123310 339539462 507752872 543839934 502203612 559482912 366699184 664458360 852787672 716488346 314660282 51949676 639443528 304364672 664581442 741195028 804229556 712889460 217205414 829234742 543619252 795909814 621513574 509879354 621051796 569282024 531185514 198291534 69534232 596772866 211545742 976795664 785612964 825624818 963195488 123063780 87362664 73779766 699329174 848951958 412343594 784134404 870549546 283548548 845545718 836541594 190299116 443140276 990761256 98525526 237041418 7072106 816363184 334457710 827184524 66830576 916003738 12654908 383439192 911612542 837383158 6140448 550306644 621222704 880866038 754496902 816968310 439924478 185520394 552278110 80606544 670642308 266310584 981025094 767004410 743253294 13905658 926079424 818636308 176120654 74016782 696795804 308572910 561849260 217436048 242805736 398523938 655242526 906908262 811048780 860845178 678403134 201566860 227505300 780172414 373218930 84164826 960419880 334217178 356332346 89253880 132630902 890579608 986219628 502311456 832607344 619059104 172004670 160758740 959423862 400036382 172905984 633844300 351907820 532145998 454469294 388159062 822111910 737606902 739485974 209231522 508707946 433266178 474977158 784561890 342663534 526041820 442384310 104987004 728370284 985348742 930097680 798247100 881257770 655184578 579396846 611166854 974655856 236333904 739234122 94978464 75645590 484629814 519249512 793690374 383665016 757961216 717908582 629098270 673234178 654049390 145674310 618489872 165411230 73516580 626742988 313880078 829815408 353506676 346336166 555340600 968376862 15070226 592344294 23752264 628844394 900517134 853886502 847157150 559705416 719618916 745414202 136774378 438017812 796911836 804673574 808453200 773932556 837899160 34799124 332999062 908282062 67319694 650329360 647307760 895655178 964924088 759941844 517562416 976227152 384613750 293097650 624229102 523726004 585174524 905491768 17505210 244347054 338673440 638762172 465700832 75777924 656153184 546607122 827608060 228810038 137913994 997347372 49473866 412525232 436476226 943812558 378540406 105313150 439089436 269314808 119219812 896669402 100965538 453027312 915935046 847928926 817879980 877220964 98885126 439986830 494874054 617679336 420163294 439822904 75207540 861777534 651799222 132211004 617627272 919612468 304622556 850296874 57314870 165441386 923552878 959375772 122458854 627780836 170767868 215515854 543435848 219616416 721198626 461368084 181344302 927538380 840092822 404289628 986882828 444611956 708072246 498954128 940001656 348669386 235232972 897328374 391459576 747229284 501037494 107162382 712836122 527904186 738681806 450512902 222556606 38135002 719752588 888217794 954081774 473266058 694767242 796064316 716958864 649009942 604009486 181775874 996899862 925216478 287358200 101423810 178362512 628441956 932780340 735433500 526702046 497165196 464875396 924549336 765591386 456513140 412880388 128777630 409979106 25912996 572705200 670421726 420024958 362773832 920915220 690928678 822610218 312520868 872061672 757089822 427362384 558254936 544330610 996836436 575539242 236573180 518417398 13319096 548478066 632976316 937097320 337475350 496067668 102125002 2253996 858347918 817220034 562051236 821819212 514250182 966907162 878149194 902827442 20470750 123692876 801770038 609730786 825017244 401755242 720099066 851034072 866996172 236495618 995613668 499239548 141796414 692230166 111062282 441646426 42741598 19811690 451428192 598360118 158701376 384644326 151498546 761079414 9562368 793304406 242925692 840521584 935316952 913342266 763666056 530311272 59577430 985268052 287394930 424975346 628213010 870632228 302778248 187913678 176643660 478234832 871838396 22375378 397634984 902954128 35501520 560755158 434864832 769995528 336208902 394252088 647113710 104054850 246108040 932154208 237776514 96160744 923205306 524033464 887987456 246469732 516078320 809652288 109670662 720894562 129217632 961026306 812114126 687765648 191509562 505583474 375464328 789707520 29606684 998565054 904352948 368569692 714521416 841841452 174596974 764518922 591246402 698007186 725806422 735505624 298792272 42349034 878555744 894432848 331484258 159743068 458714570 520656174 586999110 222535436 710741526 967591458 15711860 708630750 394340506 565995530 890605840 845789400 106345474 734388512 694311570 222290948 750482898 706531624 278710234 270627676 708654136 401378658 621429728 604439886 919207756 830959888 11865728 720085872 978135878 758314140 514417142 382382802 744067442 330117558 122153308 434384206 252294640 902223314 88931506 673876382 803868192 933196028 826570938 989961144 148428304 607294670 464594800 796424496 12115802 919866774 848444808 162343282 956668000 466786092 397952100 42915452 264460754 216290818 777883722 769784174 931489442 981348152 86867438 935709998 88035130 227998454 440284394 287029090 408741064 378775152 889237864 880319312 971299894 782098288 383709690 815879994 418121292 424372054 980498662 877728490 331670638 102371006 722377668 285050184 998402070 793193368 44998306 427969274 832260950 70905216 953386546 549030474 186053454 311845854 684083076 98701084 852791362 535431502 760269922 692951440 509400428 562792896 912119354 211598552 247777520 575931422 396077676 945474998 263877218 708032762 130819422 73226032 763675818 439663814 153900152 616541716 742684742 173320164 702318734 379775652 410405524 974468754 334129272 830392242 910464812 781530718 527809016 570221952 265590640 85206118 274421624 329864916 92695570 166947526 954337554 931127694 953280360 528552554 661047412 546413242 70517100 110251062 328757656 973070498 947932068 495673304 787389578 818759872 575039134 844863298 980009784 526061192 250368510 343903402 678679920 235467086 564871116 636483114 744461886 772232498 608244962 309570324 599536398 26020796 221369054 349018712 409881656 737341696 247575376 897817452 812748354 598405772 12034888 667116 324676226 987649048 547593158 246453880 186912328 168010868 401824522 615061814 150157226 816966848 553416846 267480360 751832074 978478792 689977790 69006184 986028164 267512038 820989250 667935352 255803166 435131584 492611494 412309966 607467914 200298526 441766580 4845284 559568620 74194150 11201166 697181604 21087530 275048028 255294060 542081780 35722204 739628730 764811134 737908092 630191748 383840892 772263174 781606122 420573774 776188812 448783752 679531304 386719640 878535940 538028596 511033926 275387336 366890718 995904338 545514858 410862992 92990420 724233138 880575064 74866894 175187258 891692716 742867224 772284996 914049140 400360364 502575908 156024976 627944514 804325508 427026514 349942902 847548334 746090008 518493594 780590150 242494388 994822618 164709636 712154762 184103186 695862322 311191756 280502776 542892238 231140858 247067698 85250540 242469584 669611870 291583034 765435244 966287588 550328510 500176458 131439528 96648088 154463494 279974328 215321340 573778354 853875484 524440216 905925322 762739860 815780716 334039998 180153572 893025268 636596052 31265550 734726080 675747910 110803590 579177472 778126140 868176966 149558948 507838208 636689246 973137820 546023362 441424716 468965844 194910056 720885668 162799862 568942932 307603326 351462416 158262044 614264484 405958262 973572324 441079020 27265808 457122328 711183622 556173132 752233000 609726656 971160144 913609212 659429996 756439688 725200322 351193958 700825886 991813030 203769080 421904056 210950520 821777356 422635662 774902684 224878474 86019644 304452878 667931896 465170474 650955634 710622738 933957266 30697724 230171656 922058016 845204036 427130688 582934216 861682136 64475060 857096118 410801070 513409752 669180258 183270108 993190338 228729162 287378246 572247542 828296066 629623812 757559092 950832398 998404356 880403172 45699692 259154958 38160572 766955310 275728098 363973314 880376776 215723906 59813532 145790664 285008196 492494312 302734622 5693658 118521470 149457942 119816402 447925422 110630442 544683104 231209356 554795908 537144066 4435418 435441268 720967352 864087798 897664558 230099260 785404780 649553970 729222792 763272678 213194318 953642948 502271100 924983282 765913986 363585922 522606190 200816516 338786964 354454860 901108020 675919334 874879744 297115266 345144726 174197420 50663302 944705798 807843020 934528798 322313896 391654196 420957690 528694822 498669198 906847724 962228026 182715256 359402074 347709006 144208128 630964874 262648138 735044878 545720356 51431480 41678250 797318148 37512968 152148648 367272212 376178746 359928834 537925390 67593788 450290440 696692074 612520442 123075542 773615664 327306366 455612026 296647084 3012006 581134732 843792600 954703788 962248466 361801116 889947548 125327316 133035378 317048746 420529092 966879416 464105044 224257384 228405920 194641448 868882010 243641636 234974556 847195422 667600300 202375386 299633050 685454060 658584820 796836396 889406304 139708942 124593748 123783098 42188948 661449228 745927628 557350492 211681424 775523218 820902116 617327476 900592404 941681530 829494172 598837010 980516576 407455792 858638384 771670492 904142888 342463178 556603990 564759658 606907174 367048072 398081240 859505846 345482714 612479400 305204014 498940194 448471294 12606256 402059948 422619326 856798234 293338096 415385720 54373068 511145178 915465812 919705656 155057874 690154808 570674580 898061310 24249772 334443874 6939280 466898616 259026600 856019902 731601622 335452358 364780104 8885058 88781290 731907766 404315948 257048504 285520512 851724354 852353804 205463598 476444774 306470378 133881532 636125898 580362084 100439956 871021182 30847912 709507282 700935836 329648388 525798268 28694476 121224614 811748922 55472726 478863694 516995412 635406350 921306932 159934682 573676904 140447018 748663118 6413136 539321228 775749630 584688248 364172752 578219520 143338296 259679824 693579148 886740950 128590446 269212398 235872836 777035798 312565204 673124132 995107042 556684620 700196614 690584508 895502420 421346438 651014324 820510624 681381436 696732876 948102364 60997034 870378618 436157860 553674036 428032110 992452158 120789368 46932608 678615582 544981784 220774638 913517222 679376374 161223738 913229092 60979846 978834974 344823356 929273094 211659114 441105508 312821236 876761820 491980386 620883784 107530602 29398860 64955518 752127640 468951692 862743926 852393282 134331910 723655184 929953756 229634292 654432802 933515018 529723394 863909244 59131102 865065306 283983628 389113124 331403744 410596718 357786614 291544600 752608644 410201482 72244046 279674028 364352740 466789598 74126610 832907562 547232572 223302884 281574488 63435682 926788680 874472596 550546172 233160822 252386192 469212578 57504378 168495298 487339130 987288374 108233450 165621912 839993760 433228678 81976096 405297978 599311018 688364932 198558612 86601780 671474658 368658888 967689050 826865276 748649536 155071722 795095492 37750230 488825648 414165700 307971478 720009622 416005404 298956080 289080838 916284836 686009970 347715796 342812730 604576348 862796636 856335350 393227668 745637506 94193392 935207666 583969708 354795564 436039778 76593906 7826804 510669604 215717886 454710646 142376048 854934586 610573022 128715100 142206924 710593570 11081560 569497380 552555930 597816242 520597956 649885692 579807554 281613814 956453830 971560060 694894364 701555170 267637098 354155696 70879602 634140156 516164828 458885380 781688506 40153174 446225686 266783974 815781958 489933660 974945518 806569576 123414184 369496466 918641148 583248636 555359938 487681654 112344242 653730078 981796698 718818026 866632516 13035584 540312604 750716370 662315336 330873934 877079784 292823572 756316268 354694786 53949932 637905968 702376448 734481796 282967324 837070216 614594934 188174910 715931110 237680902 101210608 738046498 360145928 82232840 84762670 951459648 519500836 628833798 516597486 228177114 383078218 85888782 751661402 922735302 512924748 612484036 124657678 654374902 366005100 212497024 4524784 33522382 431795242 715743098 319804950 508024936 780137190 189296196 111617416 185294824 711306106 374645432 231623046 337831968 220618010 563148064 727428306 277323496 116692480 795147396 935374916 582317386 472368182 169908962 91460502 695702136 308998614 552563132 325934550 601794340 92790996 729307454 832286548 999575536 602475330 540218302 906473692 914957366 965833270 897042910 13256592 561080798 914264090 720733542 803284264 92488400 189537998 91923668 413014766 796148284 317182964 364349802 250590038 84400062 688463686 184093364 233214350 859423322 361596830 233291454 123291618 745336794 810971922 953879498 534218060 518773482 578041772 44319660 866610880 154372280 417998284 657750738 51837060 878927472 566012650 435027360 355294516 18202892 193814562 224697402 844511206 137281854 564237994 188843314 951856774 920227482 986788780 678292972 1126706 253427522 294070878 31574530 910842962 579871042 846321648 867016568 10125286 292574700 724143722 386695896 904896844 49041832 230708632 165985052 136267366 960231334 861201936 991837744 751680208 560427772 381802086 638865374 344051924 728845918 19341262 430422938 429203946 386880294 370681360 960428788 347300296 163725472 787761446 228414750 510769056 967438386 168746926 319276396 347210944 624712242 58763854 123110744 940626160 405783086 866414768 417453704 185997590 267435376 226221146 904089930 792499482 129146200 341050470 747823366 662246554 904247806 949593708 439217064 515508360 304524980 268572708 495454556 802954130 318968908 78500536 729223738 633972180 566155684 604912550 199539904 799377344 449604834 397430912 147836506 815925454 902461720 725115898 828561292 734916120 719339478 49689338 181520582 20151546 515784604 241746840 291727016 478276628 611283486 14594290 353750390 147594300 880415748 968495198 559351442 530722064 298861710 214135410 268821412 481420756 680330368 594170936 938753438 240204588 659303548 476545084 310030842 600323054 68961684 520738076 946033378 679539322 39288024 184395478 124632154 891841692 694115456 804611320 934669264 783690470 867647198 794122036 881011450 864892284 484899182 515211664 313793298 142161152 471345306 790457386 515332546 134819976 680716902 596526310 29589506 183933788 535415694 684066500 54949354 38101518 399926418 804440602 364849736 214071598 206283198 710552324 480031092 616559758 498034982 670076280 710428350 628165848 42405222 923722744 583229354 536335432 576483592 535130624 645979240 181867418 1684966 842434746 558073660 743432084 464224260 576687742 295534158 935586412 915840120 520827248 941449226 753994134 109991012 625975908 10239292 736712456 720082570 21118468 240934812 652426544 225032820 602930880 442140726 435414020 804660916 626849704 512929112 457599396 429881404 949107788 954129206 999769808 278622686 854112032 252970224 125285338 444449146 942410470 875398750 506834942 183862638 620389570 881782996 402450444 408828750 412275730 483242646 98002794 916217532 782485320 914488264 295328276 281206680 442788352 683882368 985691190 911873076 387693338 155439860 589031230 490801770 852146906 97200958 908854542 443413314 351755948 21635780 177637840 634081154 689052286 630596166 180646244 83799458 409884934 150747584 300962002 543459000 418272668 761418984 53292218 265947894 605275106 414278264 259936996 34586012 60970498 225525690 749266436 792229918 345133100 982954134 933683202 86429054 145205190 723867998 333523542 184362438 187725164 819486836 458528674 859079540 447215340 390517830 36744688 627002586 44688252 927752986 675523160 40530702 252300538 884489190 875282416 437238384 649748072 860705084 632542104 429477544 804130382 216554754 634278322 545599718 768134002 982512038 207058844 580688378 881839124 178462256 397041992 936793172 74642696 840720696 219939402 1289772 568328994 134072448 764015586 359249046 141335708 685367602 121224176 884725126 458822884 325973430 852362794 169177952 638775030 727538722 817777878 458298722 931770964 243292910 760937344 300167296 993764840 495042300 906048472 525458630 36104776 617319694 782821054 912238892 314188134 964386568 548610696 436263838 347702200 566226290 721117304 531799466 282475736 363001910 981128944 651154954 501860984 45125310 677510276 606926762 110058748 219390624 910750900 517151926 386259206 895546476 742437576 618991380 768593784 109637498 838392460 747947154 289938096 77028334 3807364 976206510 322623444 209509386 427779004 861352768 397182080 18705600 768542532 237464278 973430416 828116478 162147924 819861890 391496706 198650070 771214380 104056748 407354686 979629382 349826026 548588570 340229124 414109140 926104080 913520658 693551190 831664428 211274604 521560604 408553732 621442982 991889184 554379544 328916080 779742104 66508956 110829268 822338014 190936176 934634934 454484744 526542728 389402316 108309112 142870594 880516736 275728756 75983750 618566092 533367530 129865848 56192954 800696104 780174080 467943970 474777492 392123498 275571570 275126360 772471776 102931458 975133672 876878206 461387210 501734840 957144356 22656206 185073596 860990566 540334612 785692570 653257176 395231446 22196594 598069458 20143742 954227626 684724760 46485200 489155664 506573208 735365194 171114002 900230338 669681158 327820344 564939028 322979632 819966464 751852654 403144110 993632562 56176882 652153724 481981940 415370682 401247140 251595938 518752268 118549276 182321826 356148688 692866144 232374440 738601098 585665644 548395036 641535450 337528320 646822628 589803672 582645908 642266744 156454338 981595682 36411528 195413334 885370784 105153862 363410680 776642326 56313400 303700304 717687542 193438032 835076090 245626120 107729382 66714752 114161008 717963024 893751504 433114774 817685188 247811938 839774496 726767066 573870784 762101894 500857752 416297890 224453624 849294358 779080910 334005280 96312950 522562330 740147622 787556 217451780 578942810 539209654 973220106 897894970 897357382 324564032 708529160 343399068 35420850 628391852 400729612 561991628 272236084 181535784 265470846 719623442 22615220 466900594 276680484 624397488 934413012 792508450 543270096 219588548 345146908 854727414 940100646 914997786 706828164 771268382 638067764 447740728 309009272 859228930 108454270 959579626 785080604 727594284 102006998 515084152 496964496 760284826 853728626 430532062 389149142 718001970 87102630 936781294 194322776 445532612 620887082 864005142 190960586 738358866 376042114 593544354 688415526 931296742 223558154 207909042 591507946 434508844 922844718 763318658 959721248 672528652 192387392 549062428 754335050 227454056 167713704 393439034 383092342 261692586 1127402 343518444 798201674 695435648 268958014 888374918 226325048 405067332 629566650 731906844 114676774 837673254 868920086 566849200 659163588 206705936 590557610 317096260 327546230 901309828 245522674 830301694 79638550 282232424 959730884 753995768 929767478 4404112 652793058 748882006 613207288 690453310 936574682 253703768 913820390 330618646 600469030 320742812 835168596 642093444 525522560 593885478 623306512 193701006 778297240 473847498 979520048 690746130 6552994 2056332 793189608 864697840 949051504 489547080 749017166 226574330 31162332 199867626 171512876 614855050 829709364 375709394 429211900 232478708 586126878 472415024 391314790 329943126 321765440 421097668 213910582 430857642 452471272 622453070 244058308 169202792 404645416 75197260 155075264 779820246 274339894 47234656 798141850 917965142 8798416 715767010 793267158 526463584 578654176 494999716 603178630 351701858 70495704 326492242 704693110 981884058 449916444 534575656 511432220 832930448 344268742 418016464 248785262 592366692 735608194 735848288 153422390 142766006 731602126 793965388 835507316 383018908 715500356 707085616 809043482 755709918 467159618 888283288 744327172 729782768 980510428 198964084 797518796 440707760 914606166 263629352 851000274 784977770 197162728 546320756 907536086 26545382 519654542 747883996 303917916 460585016 574980790 269751418 265399672 385880514 354383930 760977864 877527446 874160442 224826776 692970036 6520772 162108796 221222504 291529572 330186788 920109722 929523812 569856184 940221170 32453766 456742268 818827584 69550294 274725310 2233638 488660062 921585752 746540408 237748898 87200136 466566496 808910494 909365016 10383150 854701888 304076128 228465940 609596584 133135646 673800502 635802630 624768250 120549734 216415676 926416246 455790816 379381470 219043438 361982972 833476380 355662150 240605098 22203680 821665250 981257246 335342498 437743486 404881774 245546818 61100820 85898218 216748448 737442294 206779602 159694642 592249048 855518908 434310112 398468132 209877310 676965368 925207594 540371548 868577458 676020902 300892088 764516126 653830808 558274974 18569508 610187908 371337528 98323090 63875946 999637054 573888418 25943686 332098580 948803494 395117274 746993880 534202394 299759466 893692078 640148676 527431250 621804810 101515118 289379712 881443804 113125906 198293316 559682114 530212420 183285180 304288906 714031006 301847368 134661852 964983202 477175324 641503434 686153032 551205924 910362348 658950726 71464342 932962118 664140968 356453870 112410692 713789106 961320718 697862046 740728122 943573840 648250538 593681620 281940124 2035432 937034102 633688176 198896610 88611712 142534660 423764600 970096064 424150510 982662118 762581204 866284290 635684176 175669228 723056194 787308418 355843406 574188900 924462196 836093288 796904992 587984780 536858900 986614806 709390084 553145954 181494588 386314804 338762512 406399456 615703206 933433722 186328034 827381188 224817968 992696192 657188836 517538854 373033220 354952904 481834274 677931186 553462734 261215672 972924756 248395912 570512622 95964748 625978380 492732064 677717460 470162940 541026308 508491420 970605856 313027606 520512446 174814276 819966276 583637698 246678588 72219156 216195926 459160330 188678308 275642134 935544904 450452528 724777260 727956516 677498872 276514670 762221574 408831658 404269360 324180186 441240292 376249832 689809170 780263938 48515622 599186644 822058074 543999326 559640180 462648552 909544126 78622066 235082608 892945082 311818720 588345370 105875882 811401166 743082562 123625902 227468296 695076082 131434380 472343560 934322690 230159614 592845842 310799076 605386958 560980686 756499766 379368874 330425264 224323028 166964104 366014824 607951668 790176520 657003044 874470714 42883180 309427866 279501648 764110006 980985788 529077860 568259108 322275906 137024312 367421784 623749198 206512526 40977756 375797654 523252182 708491768 76837280 796093566 191265520 918580894 176404650 242002930 716518666 739570784 999628910 883194456 560946294 165273050 168977894 418881792 938402402 513759898 524981166 982090200 26211828 24543018 668682760 415290138 158751834 712852640 941035282 894624348 326648786 415079832 642637734 816442680 162706638 211177690 759312100 604662462 958665204 350480380 798430650 868821294 695237520 535380132 786006734 946428372 131717402 795282892 782883706 925635446 386013294 887201228 564287714 722748978 906611442 406728982 110409608 546327072 74532788 586838182 492188618 905238518 487710108 590372578 33841984 902310550 968432476 826010314 855674082 225188420 749072794 284769128 641513170 928712878 556598422 943592966 60300342 217500800 105673596 383413610 391055320 135711380 6612820 687951618 721858104 681579284 959851180 602203746 940299020 392098980 709349950 886740492 648979982 187646558 700718712 985621142 351702030 427639710 853055986 308991630 600233788 66170544 901795410 212508674 49122106 470404456 474075038 634924092 716776980 423100800 458765310 28637756 971167572 839864838 160839602 674746974 760853632 905715196 752433262 156001072 148104096 777934366 563420240 290596402 809261202 117599680 779820742 963802546 522885070 547720510 948997926 279046462 251274638 490651258 230681120 391320476 704915710 202531100 684561012 756737622 803274068 321475796 903196602 267916732 56354818 975412674 491711174 329824406 232614094 188312882 829564126 329216734 3778280 918627058 64542668 62086634 800483958 736695714 821780422 475567994 542692058 612946880 616736928 94150312 397132984 361170510 720471626 259099650 496513024 506775464 904136408 268785544 861938622 1208776 988602954 726194916 473702062 351785976 386061002 663231286 992026170 204554070 762858978 187174784 512297058 535438014 162170748 918079372 541392710 506423928 863079358 546265568 962444810 54840348 826635886 875937958 755882208 330542656 921670742 832707366 287665086 117614432 932756022 277030122 333534272 430298110 632816946 920187900 821735462 875384644 306568652 734652578 827370286 634679672 595141844 762172598 302796942 846368116 168183516 633079200 730647384 573064502 280160664 144275328 876716504 658742236 546601634 405489142 343223966 735808586 91819496 244674254 415736306 977340968 245426362 136821590 303787422 132237098 716201476 608195652 818505924 617304606 77786258 517277350 802372370 896480470 278557664 979925746 936874942 895792280 640711570 218546840 876901298 552402474 902461942 518831888 994100770 945671004 375859292 604454788 445488866 730895184 900046808 773507768 639286234 304124382 371156456 277782024 83104826 706518616 836058984 394363690 667101214 248730700 174394336 796344500 458421432 970243724 739976080 716616546 830490630 729060116 551299510 890961238 441263584 520656710 803066964 13573914 374588174 758300650 296809058 985336328 592188600 20356076 50488768 182962504 578671384 442573498 733988848 991602870 196491892 329304104 407809270 508219476 296523038 371623132 246071010 103578004 928789866 199134706 134775648 780124530 606039946 561918652 109758456 992367988 654744822 687215458 789040970 845101192 607541832 224106076 339469658 62627140 943540656 485770446 136039406 15306808 794950006 758480330 411346692 342112804 730709388 317702554 246082102 775224646 566987770 112227796 383996020 407288254 394892954 541772572 677592792 399476138 174468636 154640066 334841266 884268704 798908304 933819544 803768758 859644568 827816274 865479220 892600626 811738426 653427992 13585088 305544306 14267050 752527682 636489408 556352768 946522634 523718812 935392324 110817446 222994802 940526772 589951552 845247002 972050672 408953530 947076592 883271540 580699602 736254204 319431046 644440222 339302304 512283160 864600260 254984656 765462752 130481834 795435304 797869006 700744390 20174966 117054560 891813870 65108418 659219366 611590208 780968220 826519654 733388674 842827798 227290614 889546396 397117428 4027964 738015468 132481008 460145912 598195444 460773920 515278580 971309812 522391996 303272608 450604320 248520146 209167666 371242298 499104686 667939578 309873108 255364878 272297756 895375308 80047316 447201932 854327970 511984986 950168506 773650722 851525894 636532348 247129692 492131882 528389684 815529808 514822664 698040828 393850640 165353618 820408474 302181704 905337924 302925468 662802946 390380704 788833358 688501278 855084594 308395008 977756186 944333958 566009284 93178626 510683674 661351458 28637708 619379084 176026494 689231444 816355826 88099948 787225580 140734774 369855602 964776482 512970858 40751776 431466210 876101294 811266430 488950804 291708000 356948980 861064808 530500380 991046854 356701782 87886848 154137330 808126516 576050374 355617884 791772030 49555054 330741924 101531746 760878210 162190034 410554840 201193992 373850536 623155350 717141392 681943824 423178920 436678950 437681328 710893688 50109410 943959340 891096316 469682300 550018262 841400070 706087880 530847328 418365574 868237684 691803212 842661988 913270956 255424628 302168044 166659396 246024158 235586620 393619386 35618720 91260060 498559120 768269194 571449262 599360664 992440966 142337130 344897296 460036392 689225832 199651540 142695566 847375500 508238922 477456890 665645970 870116080 991850066 195484442 851589482 929191376 203509574 306041880 194298578 611038070 137412132 832830898 885950116 685048560 11947522 488333760 706275158 810119330 699567636 307371818 262718652 293548506 110541830 491251636 390398386 636718730 804477190 553365536 119028370 150933742 639350708 867951228 852161544 481264526 103403468 227196512 196413652 442331058 286307592 116303222 916253546 787403248 588269660 108237302 368406438 568597136 807064014 246880808 866373978 82659338 155703334 297503038 522952168 15512432 885674506 339302476 45175190 292737938 645740384 186200054 465523372 445420710 389106548 162936644 509244014 42393702 657360100 701867886 92212516 405940286 673328752 614582486 490153530 902914382 126381306 499804986 611743542 954042338 364439284 647714772 155460348 201322646 75139540 747176172 97905372 91311502 965540910 948022202 571971942 481157892 379192498 128489718 477738194 933433236 185125450 401389028 952686962 962210412 984276936 9553286 849787642 754847830 647698348 135665716 107339330 314265728 92415346 495261590 125237846 990316894 148627260 513157116 26071098 505786906 601195464 845098240 188513334 140470574 375394572 380779184 567930474 6610292 819245164 260446968 562639706 402842514 354359098 862263902 814209516 436745710 755386698 867019914 518150196 69519604 290238842 579099016 356404890 175552884 399045778 739463526 736453116 499537560 778136210 204644460 505519468 957046780 958236268 581495264 428912468 564815102 631833818 596027308 331311072 127866494 426870096 494065176 121472230 272602756 699173654 186123602 856776666 728245224 285365328 836855636 497095638 908161428 905883124 486259800 562728410 279834932 32735968 649501714 799791554 440275726 553808278 330675654 91545404 513343468 126304912 446110324 295560258 721790438 988366542 810786862 949335594 345999444 365210258 735972254 57239520 940699442 424388066 996650320 972602076 610417388 271510668 298771448 121025468 921908750 717641094 178944068 339916434 429428328 377924852 931382718 124115600 471617300 284224566 16524410 340783682 916878920 943247870 238044668 286878116 610729728 42942744 460477268 669367002 854423604 476153596 177124252 74190976 491971344 564155752 105363330 467507322 88058292 717113638 503858638 424909954 566325686 323682028 974626466 363246102 578233952 100300844 936363158 382920010 254127964 99650402 844747232 963941278 444953732 439266398 722075386 900553908 644754378 890928012 838462426 828635054 566483572 127499848 724697860 64991872 52611366 60296986 942522270 694727594 230613482 975589756 512544276 936554240 477460010 336515542 199963988 783504362 822634716 87403826 208299964 546120386 790269506 246187380 326517070 175422760 718433148 969711352 888148324 245002016 856991792 68528752 893578122 819809092 431493082 952785470 451995408 387873818 886302176 410730174 669837042 87322984 928753806 728635916 126442644 909506042 692280750 638452948 351270402 133847200 962534584 314335172 230392324 590990144 924892140 358330208 2342630 617284986 999045228 468638394 603237114 187888500 610824398 365685066 992667012 130608168 929268580 753236086 830810296 326467694 103996832 138211786 681355890 759221106 26608174 857045298 806652882 600143786 489584178 116983470 969831108 85813378 305834344 227188222 597323582 953606874 113280106 152151634 944071132 932506068 909984980 408286208 829155694 154012996 725111310 740920830 994170510 8608922 274773800 450223670 47331060 976546562 650169972 37348826 503542994 945329068 891917548 991234884 497819974 373406746 222117816 19108750 721381536 772801700 617784218 988154550 507961260 647490026 877869642 820848944 452094852 244017658 11954884 287286522 506978216 126727732 960793814 869183382 760809750 481197852 949604314 110208656 932231898 352672780 747545256 70968020 892653790 733899138 106949286 195638532 285567094 426899566 508578278 292123592 317290266 936492294 63648478 440242500 779381530 932408930 187981020 725564206 539789994 534728708 376662872 932316890 783498134 42306642 626167204 576059456 187309176 781536464 141286938 544011312 951695320 663254492 883075818 792538862 524274234 165050080 852813224 230064788 836972388 568137010 482353302 12123200 32677976 11481118 651213456 512594824 359227084 430655804 763148476 317119972 108679456 782289262 154216296 427045218 55859498 732390864 184381966 480300108 848588452 427487064 279222944 375528174 321830544 221853608 290164154 411671494 301234436 745771140 80426212 189731684 68741880 45855002 606217258 626494692 342618796 576070126 574870996 910652754 254547616 124923092 797120746 92476674 299454726 872169250 361346150 639520052 857935428 351120924 904583910 322340150 315145722 399817836 368874894 956967524 159907518 229086884 509107278 277607224 73817050 458487562 517525872 887520244 361948712 886520870 118506280 669500086 497138816 748677978 550919930 451488862 539407068 976649180 278754914 126060784 329152018 138029010 490481412 504300926 655105416 927174678 655837184 920693218 217867528 416467802 235862262 238038764 644643628 251532758 838647486 348229182 866674840 438369884 973636052 233143990 826693270 694975294 393974046 566127270 944785144 235117418 450819226 477906646 443935500 893226662 325609366 710258094 129249898 99387526 357530740 104926250 314015786 1437830 165762910 129992232 19345754 143514954 688925608 788394406 954805424 280280848 578359464 382289194 81183214 348190510 173764002 518623252 189867090 699094928 242860770 953077520 94046254 400124556 614737678 108005474 752343870 122704468 474168540 11825512 841254816 227730468 857479014 488514730 390512396 942293086 27094470 643454956 585532144 272008118 450736022 188863228 52193006 25510910 835480834 482591144 685406794 86302132 916259638 339427040 167603412 9045948 469182078 851001488 756578884 843503394 96493454 850901182 475357902 984247334 259101986 137919634 939036834 241349966 562315032 437041038 119350934 192883128 283291518 479791598 667301596 889146462 145448724 828154748 561268222 441987300 528456506 908821568 618072984 503668838 222476856 927909600 361687670 166113360 174256650 233246764 132271942 480301682 174536888 529899600 331322892 563018938 501124404 211220508 292597964 44769250 228867984 299501112 285511606 27134272 746287512 239510098 785976814 379700798 108616810 943000510 790981804 311297616 651796882 778850432 384145274 806891720 560429658 4467492 316043966 946020852 878448514 794581086 349252604 546678660 961087118 619474778 552638498 767616700 417215792 583066370 693920678 492621350 655506468 844183884 64709326 753245088 492190332 155277122 927523892 242115502 907799904 610197706 17914346 93738576 231659946 249946744 834005150 53690374 145747516 731579866 126069794 521540484 416994004 452049084 571355920 298590682 743986204 163983850 902012548 647652612 375426444 568496798 775724050 704282090 595581716 985724024 109434646 246066520 411590692 552479832 294076058 880629338 759976402 128925004 692431298 212467650 673799498 507155056 418944828 446628020 173978102 838936056 332817190 726475600 745779946 52044048 312393396 528691472 392120770 18450018 636429298 58686540 13743674 641823564 42062900 196133808 366366546 858923264 545487410 437666232 542957424 140523576 719970814 695347908 687955020 725126504 947561480 333018226 807009124 655341392 711577826 755930328 812401884 303505350 117803418 488095606 578399288 904511674 254452908 346013798 308962542 863472654 221128314 539072520 742948828 726751372 254028886 443958392 573982792 784645888 55652990 176684094 340058056 236644850 445025486 510167360 277867622 861748802 158337896 498251126 513958250 382688350 303957962 584635370 675949470 457100674 830901058 196231424 363151942 588311068 469576002 697328390 434477218 619326908 278102810 31771670 883047912 450922246 225694826 10742354 382259666 170323456 496839654 751659606 483310340 254642120 151178094 399887604 890366406 693270938 698436280 313768474 129915898 600793026 453073530 142504304 299066390 721233998 115163900 743208766 132732696 720073304 163885094 464883674 755836532 452227218 571955086 318369998 586934514 238603146 420354120 422940000 746599736 377561072 1318692 526743826 500388644 935241386 909079484 87466910 569410784 485241930 508162512 372034914 696284412 934845538 459016486 193113284 859390482 491036462 504701822 213095620 779319070 639250678 765259852 877880262 583297652 966877326 914620518 595879122 957162578 466941162 801250680 802445194 340662726 876684048 563192670 866445608 992099522 47459288 54522848 249091348 911290004 805851484 754895906 198948740 4043446 962308124 135066072 520759820 401856646 902876828 349979634 972233188 209212054 887221630 22744182 549143200 185998834 39417196 942778626 413410770 202170220 104227458 528785466 354540940 386718718 949944886 723017546 613226106 248529466 586205604 692207376 328047402 736661258 952020146 122334240 452225592 99815594 67290760 273719870 149431236 284215780 661402064 128616214 332002202 738819648 438500264 879496348 331518880 712559054 437602276 831967320 514030670 494281156 565971474 59006468 274425582 757742528 175139254 417230176 146245950 713763198 311341018 771694846 927653276 749033972 340497074 6086054 314985960 899003204 543135372 362443530 827274916 948809816 991483660 504100320 117310080 433041546 750118040 824143944 323878176 846531500 993831038 902771318 613315656 362677318 767688948 667498632 728317816 439381884 367655708 193731504 531984360 527858726 969125388 634947616 307073470 44502570 335368998 182311960 466307408 825854938 389911896 928806132 383755608 706077314 585569950 902226878 410937240 229376118 126250274 524891276 321906626 646007134 40996360 111292834 985071664 968018282 39949632 322136344 419902304 601382692 706717944 120287602 743197716 243513612 551023118 870735600 177762850 138615778 660909798 902349830 685350412 137432872 618623504 958142908 448780476 653434624 476730344 251754740 788225556 419223312 814050060 803571984 264842060 304180758 848472286 841761822 200304400 243465912 60853546 371372630 413901192 259084278 995492576 570389620 366710218 157501680 933863378 248393916 144495614 671448538 786261010 456243542 626571440 137559804 524564934 460240202 432554106 710729464 707849204 953344464 101011090 12928358 398943892 46112902 874780576 100932940 779807012 414570566 592041660 831317142 685310796 98933594 577436118 592604714 190844154 302877478 907556406 42809228 787553634 339668974 979765602 866288504 202186512 697091388 198111264 580272410 320597046 750903294 367693204 736555186 338087060 385561268 809091722 201426818 408820188 183139272 33429384 194065204 544381758 39095288 751273334 193359520 474005048 548202498 269598822 347470772 553558514 319878570 257929108 440485298 846854850 136512028 981725230 434235002 121717142 17004922 981728262 712545906 765784918 887318376 367037816 787347908 68300148 312453340 862449122 416335466 981785398 91792026 693289318 603645030 951590966 47176272 399474416 306567288 452688530 673401414 894791516 197577586 875822884 264489500 365519034 10287660 58521694 664278706 899587896 765738372 210745098 678212184 968560484 57143470 530941326 276011780 871372780 779861046 433923446 575976614 960637614 72433666 941485416 865502724 85279000 163452410 848631050 83272222 136492980 641549954 840672578 617815050 824858392 718189330 280357374 173559778 160490380 456242030 780415058 97449820 114062388 525516720 308326412 177330130 174398086 277836388 516072578 266329368 614083520 563840618 809786512 692088900 853718098 439238454 418993378 481447962 967903996 112823340 353220758 817990564 199584790 658721322 290172840 810186770 140941754 573488334 903828748 182420328 254489536 809397210 206800688 56866800 262574328 438488514 497355942 401057294 228339234 218389372 81921082 150897274 951967520 411183176 208401044 740607734 283588878 657456444 754814474 291873904 981987114 249717404 826246942 758845528 886419880 319803094 568931494 668477760 961220264 662892350 161416876 505498658 104953404 640460056 342308126 332951012 314004070 558297904 677763688 707558404 163473124 244226920 731608278 778759136 617257840 891177994 576040362 991973630 550556710 555773294 164548096 607876734 842374060 500809466 584535128 115082506 552959906 434793804 564907648 731120066 198235028 111170566 925477868 189551110 66720006 259460586 367671874 152270066 233494572 995783820 975176434 584229760 367639016 967548484 899348744 880718252 221751188 517782438 878686670 560359152 333771964 904054386 737671826 96625902 802548158 747581874 338930214 650116514 732095818 348882974 637736270 45395594 279129314 48469826 579572206 30575106 766875114 165135736 71717990 304269912 912761042 985884276 13349150 492335062 215991828 187576020 368549938 179818130 427543396 30470876 621754092 679340290 646113232 581226172 997507088 332381484 236743548 931565166 417515590 294408600 216709226 921035048 583832152 421094876 666225868 762735980 995506856 780881128 240036840 240135818 272474792 197302820 483806946 870731324 434805000 713286590 219194272 593917352 532243114 91893012 262641708 508454992 957787726 271915508 419967676 41109140 67037876 300923964 777584542 266649904 578902224 254040176 941561270 603405054 580148160 18423124 33200332 918380654 146628886 610071272 171295294 36008976 115158540 16028594 354346220 528074566 368605906 388620166 421327622 266079218 635772522 597205686 68056694 171482548 798485996 511158912 569322164 537178720 779224566 472615372 981872792 815460234 768502802 176573044 660747250 196278962 951846088 477159320 777011958 460942526 310605112 151899862 60072330 82479982 552257664 963864374 416406712 683445428 47187810 938647066 589764240 677011608 92011924 977948992 12941594 743911682 983467188 567743814 633007112 134558530 127804450 67986302 985498562 824655406 220990520 112517594 285519196 703845808 148817990 192786104 933211766 239266886 173777158 945594146 572945626 457416484 326138300 593702464 290196762 538107730 384015642 237939912 838815852 315610458 478387688 681237058 265327802 222746604 473871804 532699024 715891946 478847582 513700414 86438784 331533220 138997982 207926652 266668778 851494114 157028892 504710444 515633648 154818218 956035204 850197180 118517834 599717972 679489788 135258366 287108910 988642344 263455878 969814874 269223360 903280038 696814602 858647926 431815172 476595092 441238966 360917726 787630110 550840896 557675580 471885946 423217134 967315062 784415394 842132330 874390326 566722950 78850332 978791070 290552732 621072740 397443194 490149610 397768550 200634612 800184878 417246040 424829956 490322968 869902136 386683304 958779394 678414546 628828680 975224736 914911060 789901760 906908336 721515938 756253038 968775580 156243932 216464774 136953562 945364250 673915788 136508362 255225644 349175582 200055756 99300668 266596956 575580914 94560672 974305466 132921968 965311380 850954842 421012556 513388752 228598246 718838710 682862774 685325824 653695160 168434488 783635616 134610860 690945916 51857398 398994212 842798232 427575766 855629816 18537948 829598276 223035532 839557690 777737874 283575298 418876082 608514762 7594644 987203726 72762660 421102658 592812834 41992124 43042108 148447120 713182254 517313184 760739058 729511642 68341192 826251884 433132172 894766492 833361508 820645916 829973776 767933528 996901658 780031452 223370628 71709210 564861660 802570650 861360436 397137180 141331812 580496742 896455226 280517724 715365308 838357290 305455090 875392964 730804608 166284704 302199668 298245524 972046954 540810178 457165130 697737712 880685714 117296622 10910826 136499748 817718136 194469464 72068034 409283956 716611994 600420912 473279226 226777550 517948250 714847748 763048582 131343392 710051792 449232816 783599328 133981002 346216406 381598166 151835644 106056536 299144984 535361306 161016326 432205650 517841762 655826834 547294556 542364768 673146270 988246160 434626022 962737566 566420454 46974092 121723032 908805376 188822752 324238756 331160442 294733404 486410414 552693666 172094788 212685622 301587896 393986830 362075682 870935992 28688300 864943224 665330264 22760392 503611146 58147336 885173630 587405264 98052868 177534060 931771036 27501396 110503946 558415012 747124052 809524314 356611240 228503944 768472284 826567398 10977576 781528074 900368644 80489600 567498340 241879762 676833558 839528396 239221466 947660600 132501028 399119352 940399408 680978744 88481496 698916320 242876704 942230160 870328532 386308174 25191856 130868512 631826190 752299866 291829330 707290120 382590138 952877224 284821830 783451768 520110240 665789234 457869742 321956180 304491438 762792188 321902574 444097382 676783146 358531366 994026930 300513958 665112756 784346452 780265486 693452598 334210092 772175460 383954018 539098720 356321282 205176278 983855292 771682326 658386336 923783530 475108272 78658756 575335114 54303106 854065178 962314884 21636374 513562440 372250280 961663020 1524148 200112786 140880582 691221870 905649848 898037792 254850 772622996 740158406 7410352 786159838 147113088 341857664 366788832 500258234 603230306 78086544 886996510 109525518 292127806 944162912 151290604 522989868 208132130 332441622 660311380 144175570 860458914 116106242 510215638 520151712 125877544 630964012 495219324 975393522 506022766 902046774 845888174 27751112 284422174 573875224 414382528 479009170 323370460 578106128 162938642 153602224 323751988 162095232 414643528 672640576 491007250 523951494 355396428 758735222 108561310 779389350 760765268 523985294 757149112 489313100 915572564 53866890 878856116 744602680 476478954 939981606 900624888 938688820 140634206 231994822 322901914 750435274 554507902 827559952 96949916 436794694 62421446 215642604 791971784 222188028 334053000 475453068 726917708 629027526 617142890 664497376 138789532 998700304 880694130 225177128 736750218 636537650 225130976 834509676 686740680 813831756 264793502 645211434 418316446 576201464 547731360 544081392 697132480 428267186 176665858 398080990 751764496 527207032 247238918 193649026 839794894 236359378 745442354 371700784 711590460 873997984 516683908 820360078 27708644 13460912 798856026 942482634 917873368 996197158 810785380 377137928 601044946 646565184 700116758 533862712 737122676 405893910 487995814 317247638 888045782 760968744 47607410 345813204 993501792 609037246 481083924 315201412 303539890 429958726 794374908 349595420 557137050 691277690 515569880 633286822 187933836 755780288 943918952 979905372 605537028 925241782 603094788 908260956 797868960 734625376 425661852 548684338 821498366 327503410 598778822 662069264 986193174 257016658 402255948 520897846 923614246 972684392 187589138 465645648 50870736 378212026 772865032 75922918 117643012 405962582 290934524 168953106 101963232 34842438 179404218 142766794 539971738 148767782 137612190 549805280 704505756 637902522 233422464 743135572 380889328 197283170 275347884 533720462 241054300 141705636 154445938 65230818 227316406 102341892 462643408 685220906 635020540 687801948 500557866 503127426 257963488 255782000 786616046 757705810 980121112 538127574 874986262 410118664 390955606 777094216 489100268 536833452 762299466 798685688 549799022 356842812 227775312 213537136 495020370 711891618 838583526 591774530 123580086 26745490 653835894 86961152 237824356 858755284 122196516 33592526 816242020 810101092 934451676 808146494 299583924 626868402 624673754 672286750 340344190 399159702 548007468 790233206 899148910 188877514 763790312 910352194 30973942 121387930 93605224 428613028 566989066 616172352 200664778 888901060 839761302 375562924 272885436 96919156 77988508 258661432 844092916 138296364 687152746 156374158 737724978 802595606 320521734 888190546 92231298 51279196 964936346 432243464 84345236 199978812 818181404 429932768 264480850 707852952 980646968 254768988 223588836 901876252 506803980 509612792 372250420 788328866 7198674 120347420 847123352 981403922 686878428 70232890 267560354 982515878 766281518 267624958 979946026 203648574 894224452 135296286 698146374 929546242 568177894 760358270 759711338 990310960 874662542 663595962 773458742 934983024 965068264 773741196 374865912 200962400 7747478 715525424 941419808 165517634 471644740 179444542 31746036 545555028 197868280 61817282 422237310 907400186 663984532 749135536 553552952 244873124 543855262 321249228 115462580 222619774 905506446 46753106 655261754 441789700 270290642 479480910 526682218 987760822 103596188 953128622 395827990 10684856 396604140 612601994 433070794 558086776 703459314 567805414 573631822 297049166 197426816 101466088 403928396 122773330 757240266 934260872 279405692 587432698 907407306 711280502 363843158 642209124 358640230 649391058 323497606 434062236 870101350 620364000 45987836 785503408 988683198 315961636 678127240 347211548 639892926 292449870 582164084 523295852 166465586 349120804 541602594 817341966 473890566 894998672 526171412 783309966 797150650 704729088 388213936 89600786 78578506 677263930 516017978 872832994 127773578 227564884 61051038 278611782 704866186 214831506 958828182 918372370 588120062 184795956 486144242 647022754 510175346 291749686 760177830 918539012 191421482 807275496 468688084 273598742 596004432 50906288 932916074 242621690 573186442 420106740 208764032 535584914 403444688 768661770 103330222 48496974 479006640 489201438 576472686 528109202 186279946 387051358 738929630 667649240 243923848 307653012 3390092 154404452 958578692 115790796 483006816 789786514 752576460 402941036 12110688 741974036 65207638 671309938 629779326 596377654 270834386 132694478 884001750 874663842 198636734 272345062 32721686 192868622 940999526 332626244 958064724 17606216 870224526 649631828 304480418 135717488 81426718 918277530 530067228 964537818 248341138 924760618 166486358 198239424 549587258 322332406 871906238 561424944 942136584 368902150 140498404 113895422 179616918 45859486 440749436 530715652 210027058 86106262 911283402 366885674 190298882 34602428 699042066 530968812 805957272 291843710 482723938 704978466 850046520 377547816 843341682 136438144 601305468 425665100 871040286 36108444 343340168 286694644 84617760 687659796 964053778 250406328 989931924 373560902 621016098 801009880 512341386 981435520 118274474 434503052 829240030 900486752 958822338 793514094 55772960 204173598 744297196 289750902 215645318 536218438 569124360 49405464 629558714 563311642 712954434 264676492 243626690 129917030 684680962 417023608 536309492 965955392 383982966 172361268 886744644 304011644 665139894 942479764 257046934 385921880 515366530 562231028 110035790 301376828 397141308 917134536 921646132 571137482 118428322 418368128 892657740 58193622 463380418 194213620 83357826 589661076 557021892 443191554 716225612 128358958 844630446 304417870 47816292 759076212 619099140 485737782 53020512 290981620 883235540 735464718 192684206 676978188 343783548 322789922 229413718 183899058 543324898 738924012 696343890 999777096 951904942 284781166 74144882 266470140 718052006 590644764 886048656 326564980 727211548 87481658 351589546 610060116 297448274 291417498 444929184 981248890 611323522 758668162 185397824 668136332 211461976 856644352 954831836 122902196 362592400 944518998 190293258 44383268 126957200 428495628 856850380 740203178 488363098 536499818 881026800 132013034 986720124 387358580 822289882 543337724 840389292 535681640 523875280 708476820 909619838 487570334 737746058 120676902 210660358 247092290 574143968 192302616 751365452 472983104 585282450 847417004 632478850 537683272 60359276 891346842 428388764 493389068 561671494 323287520 386601572 541392328 352011326 213312388 484434142 577783590 955898218 489069396 906877088 269745272 744736550 471605572 622447134 886371482 326952110 328300648 68846932 240184778 910902538 336870632 611900180 454396552 196153080 781867878 604539012 799441408 713230690 972880954 589598466 194941026 846634776 852429502 624847814 896803248 484745976 633155148 155457754 327657306 858213720 701195840 498990482 763591350 298087592 68169424 956999752 760225868 766552514 756276228 388397482 149510854 973315456 795598822 716456554 880181474 683873970 950498470 342352438 299382348 615903516 630495008 429086698 304100848 849713042 384559154 307525362 719080312 173773450 828940100 761935012 103487852 790461402 897023330 704714480 949624220 932194856 193196022 970676258 775023032 399876116 536851122 680742282 632903896 25069394 887994298 458459952 89376858 83616780 297564028 897849322 651438162 910000076 831163716 246476598 622997478 949944716 614405188 470646606 148233660 359474002 7405908 659134786 223737666 897259510 571760278 736975570 685973590 630535456 384088408 397958086 218606428 345951650 844778472 317838448 293213764 108016378 953233362 453613360 327476726 544732594 724847560 619151516 740447166 411844340 563143910 834840334 979597852 419886726 466036400 384413518 139535410 102115816 620975568 428183092 743670532 11678830 434108216 880764980 308199014 794950336 108145004 918747100 316969246 115853594 474773954 588396020 611574586 670051698 799316226 853321620 196116014 983267148 322285830 17501198 132909498 351536588 260231150 370484328 782036906 597297914 976656762 402384770 80157286 890424816 315639882 506295358 6848478 857397508 857187364 84846820 576579904 126387138 232018416 500740516 381727642 158343886 612082460 363561130 222711740 605286546 323309016 717537778 549637424 30917654 795893060 467603366 79906678 112163454 140696962 930026158 158288156 340158832 660315340 884680176 140035686 31599140 951368216 823967422 420094390 628022872 307575000 312394110 92309086 224671372 497549040 185040362 218323894 750188292 313739722 951521046 850574332 118674696 503980842 813009362 749438138 253636852 141215392 607609578 932315856 576371090 199728258 616928574 966427396 692094492 44797450 595402032 390582020 284760342 289126686 378328230 853694834 219915352 572587450 332223984 316861552 477895858 493296580 295111422 858975582 651682548 649617958 10947406 449641256 375777584 809413516 501302702 63193354 979694156 205255504 144573004 970412758 501378120 223483166 113433424 480463566 431495480 987372308 628204270 497722352 167293918 322481152 953420846 708210286 421102728 27013148 84903658 775555726 537108298 387093474 266165056 707919510 696203802 262589600 826407178 239426826 553812854 724787634 736576264 850728210 810127322 405795372 752359416 378351432 25760174 351807220 182304026 446470726 383754868 856404412 94977446 244120496 956685518 319895186 994320068 590742410 242977248 215674390 85672018 675503416 699440060 184652168 489920026 921175060 783723410 296940654 509465584 668282314 651630794 190661386 451532230 303321928 345836450 927029850 341953274 260189020 434870388 879656898 534723210 154638562 455211376 807514774 339077572 844915348 973015692 776936802 195506478 963032332 47558422 957855062 106509702 98430534 367323828 451378006 918248816 213801474 68939550 109828496 585289292 932139696 404667996 955346082 42063396 956555094 641156096 945733994 724713868 311506644 147674134 6237646 94702950 262843494 166935886 956545714 656774186 206984746 795522376 2642714 197479528 208135468 811299296 706218852 890252926 653484064 766931122 351520860 94360290 295030764 202550076 870625906 535923886 46103640 641084076 600754890 737734806 560936820 941689828 486816064 80114506 533159250 594147892 476216030 961667636 912473518 975750338 109561836 771344466 542769786 937597124 863280702 94135538 493246034 642756820 863869244 402940332 843369422 710248826 604642848 944961784 977799914 39334952 419485010 996489528 382853090 665754248 77012262 55761550 515849924 177468732 656037454 496009010 527688132 492972 144529904 644194604 903091184 139177546 508185542 254340320 589952288 52607074 293957224 188354298 33804994 77067216 351712110 863890904 671289104 898992654 44719786 888249938 43607038 168598788 246077590 752298148 774902386 145273164 736949234 634247436 540651028 209724516 451791350 98968214 243739886 156649948 519311344 156014384 700467970 821733818 320755264 275746976 355092108 669958662 525107856 273639548 921467524 525725500 269784218 697285908 719420352 331403892 903000314 549264628 409507072 756254212 611118272 42839566 252529904 103633894 671185818 19420024 957321674 626322950 245582734 317898044 46741412 558886132 626877774 502283132 708026452 413718528 446634506 621737306 817542688 725800996 819842422 10309312 52318298 331634186 556623160 334415340 683775074 9675646 873951948 258287340 755635218 697962082 312472558 823951880 488213706 480256412 376335238 694208454 115902324 953679950 589348368 968507708 292096228 307123018 116014370 253539134 112569348 174749688 386766352 168765936 844311042 511721862 897868548 599637874 715996194 212914128 376625352 739724542 422008380 881898584 970490930 242057384 392021668 105935064 170877086 848164052 164081236 1166908 9090248 946474540 694707356 588289882 253108344 486258682 146005466 306497252 897227658 834542114 984499034 605245154 50347210 405490248 950852860 481515560 909585568 949507786 901211902 30293526 209139180 267846266 751237746 257639596 309091940 670424492 300639078 163990846 23879146 506060358 93557518 234369588 135423448 241859104 889010284 887745950 49849954 67712454 176228050 416636082 148154782 271546344 886797818 482459730 186740770 648093178 97714698 474433376 647375792 135919558 945940126 673747250 62506404 902571540 669168166 885982386 258959514 446146210 48085612 491366062 202910378 967690446 286539916 439274200 774135262 469315394 371178164 95715900 524181328 269770564 615730168 554929106 398323442 485598618 990717370 227507706 659096708 334372740 889969628 824226334 43836144 226469104 382815574 501400460 56894668 979880824 566435354 507201038 488003032 867956298 759741560 388177058 84397810 390224862 461453886 192344610 652898848 381846264 292934958 385000146 306082436 554535130 525816176 121868184 643861650 74668378 671383018 713568484 843501580 337354026 676134372 343552930 306218808 880046280 227222032 949519496 567770158 854544148 827127166 241992834 873165400 801852370 315340224 962485024 281271844 844638848 412702660 501579502 361108544 171106906 535249604 253640350 396045940 469836920 384659466 214203620 50767448 151012008 842938844 40609818 461863014 573248872 267554746 632548942 732720932 600035562 625255246 493459298 775967040 529050958 446733558 908496984 761124284 197058142 617066080 228650618 516864740 736000160 461655518 346976998 634499940 927799876 394635278 664756738 40288036 641112258 807020972 363570260 745321170 526815734 959758696 795339200 882187456 512500966 967337992 277961412 443412500 939419104 284730238 290417352 741175330 401206342 47192042 799841060 676999762 159021848 249976656 780559360 158593154 96443916 580525330 430818254 582754984 464037884 854789260 740743698 264233292 132071048 847798268 729985846 626655658 452686772 717882344 975127222 50337522 436653648 807010164 124767472 878467966 96151988 620487510 526600734 190853072 812064802 451063290 792715332 194648018 166707552 13059964 302406348 394131544 101655656 139349876 568931968 967569424 319899088 827969782 78517652 611630624 434208990 213389462 680849672 161627176 864947638 60685146 651471736 206927730 326697328 954844714 328202166 616956018 637631142 499270504 287811554 262550912 926943448 753456192 335457532 654015568 687565918 49279214 302989138 166513540 857585566 780015380 974033028 611907906 28618344 602046448 796898470 905869608 987686978 764185402 209594500 537466214 580060998 939287726 104459528 886972708 753646250 112731262 405921650 546001886 383730274 413606956 272905032 406896642 571015472 516807160 162031734 176445144 993406688 817364754 159547500 653164210 368677308 531622836 449553910 329657436 40052470 125651432 123733920 506952292 622589090 436763894 199305082 246110088 184550240 658306244 893931186 196048420 685889842 328016954 843014624 686129722 920730462 647492274 859714086 505128122 888773724 917561830 472816824 862080102 832249036 690897712 240369888 667946386 745388142 138351272 100612612 905159248 696117870 485898998 158299280 191027324 487502668 303553430 834817454 718997870 187743934 219644060 187187972 176231414 39688868 589902298 190033842 507531052 437902848 200416892 469509514 122585740 464605976 443027120 431765178 726268198 172115284 884233624 7606720 545799670 499393148 539021166 740476318 167290532 507441616 112540650 940565928 740618992 635788512 172239968 695114810 67426458 481973174 326067450 198541678 112929172 708076396 494176384 330020896 801275458 671746402 852082522 367871374 446689322 990905074 853725034 200084972 769788434 100712718 404771900 324204728 549245414 215956346 227720792 785857232 657804040 659760140 889393588 573610154 749988644 833265268 352073032 349754674 868639570 142130224 900407844 600111522 703386244 839477398 381585046 414816334 782946742 185399072 738015550 458872390 439463492 112579724 426405000 391718482 680600004 200842324 855889806 898894788 900131880 638596562 702700514 415616176 915948152 619055718 595244638 290517032 951820546 844298642 351561710 495039100 373128776 688432746 685624762 468218608 407288956 728420868 831343458 265501440 753315272 626161750 330609322 745868758 986052904 305702974 317816496 688312442 643203854 983135628 347531556 676216292 400865452 516869150 651588560 125977814 986595114 567970354 971504388 993407240 594954014 114402188 612017688 879511192 885115748 684361424 974546368 917826364 698945494 859504598 154784078 920394734 195421536 448321828 609130800 18477020 391516110 563905588 213328114 158601460 785765754 921382834 891441582 42662236 751137594 502516042 369616230 520849264 889188968 785204754 553518652 708654532 455689134 834776910 571542286 49717748 542224020 547678440 780209188 925945360 884835570 407699756 147640544 886877608 889088212 431542446 369832186 140048246 544810718 691548580 940554202 805487524 654169130 84796734 550596388 403125422 61949534 220891028 964491488 761922752 277167860 318681000 806113444 930573408 940964430 824439140 431332576 163727374 509539416 589099580 815452674 64946894 44014346 900825410 603353490 412742410 541058788 438543066 270873954 6521496 654430012 126211446 59000414 532237614 520949290 307341754 406808542 790556320 806048170 717457998 9279014 16819664 204998978 384599344 95189248 657924616 876019030 816309708 594876772 655897098 548743466 867087058 29549976 766702304 683940676 305329072 971253142 386926206 715181724 872421248 256508816 551010162 982664878 633283532 70177560 270851242 650901888 710113454 712523206 464161088 954648432 772788368 65331836 737970548 921601778 586761180 5499892 757260672 149542684 859291640 892287996 440798024 832777562 505263994 557133388 229213184 763971080 285248444 466352342 475347934 670993458 122557046 117182720 564466586 561582568 215730212 645144014 329748290 794345022 598791018 663083022 330543620 114291028 971756994 199076516 448745826 621913008 949334776 586217342 826114766 970376838 919739500 947420916 31821656 495318530 678530256 923661840 570866254 370845826 461308554 692088186 247379690 762941498 708648574 624549106 860479792 563091548 530525804 27864788 590027398 99541878 12497946 129812654 496035274 641812992 696336084 301229810 298400252 692055688 756781958 986768638 510477966 74024134 430643216 11797966 523555970 451995402 489742438 362731358 846947994 286249198 314603738 412712348 635981338 351630102 191467412 909335990 297561116 596208288 802878428 464374918 169117896 114901370 28955228 274166250 902563182 239233090 339219368 965145488 561127872 224155362 941903636 579411012 365623434 159489416 231084070 210830282 881614388 175602504 692870452 221069604 403426592 120323236 250355622 542323778 290493250 437698214 761816588 806898552 562451696 699819798 882653740 358378496 237641912 626644126 716854832 645009098 899637800 200629330 31562810 832512208 232686886 64075974 917119904 766291492 202158784 373947666 419787406 676414882 751695234 254356980 999400750 74225330 527175514 35251470 69777914 614400150 749111250 886351336 39891552 46570430 148633770 982124968 314623236 739998492 957036818 952850736 9195684 963987726 713727980 221750604 865255348 899329606 579510812 358999178 852631158 251222124 554348796 874668626 452696038 814907406 576094102 594741166 691608486 910013308 23399012 273368118 656532068 931041928 616268782 519851054 328345466 989717810 851978486 102364606 234676626 688522924 577253670 390720184 293554000 757376606 483048022 111745208 616200952 604928800 441975728 184354316 582454842 493553742 997592616 134086246 950654656 932874704 758043106 268929804 1623432 902029246 822081360 538567258 187726790 692423240 408720426 192846796 633199790 378356228 216786090 612175752 192310072 242473138 80438086 628835880 250562258 571755434 678386536 532787680 328692492 960443958 636405300 38706052 371554054 216699992 430324636 512463840 678181510 189687418 793693164 380229718 189553146 512098634 548859748 877597870 116366750 205593398 818108054 902429252 884146506 143189444 871222368 726491432 103718136 929556494 427828800 846010142 875996716 660641452 488985384 709442634 520837944 657490648 255973318 987956270 433560724 11211196 972779724 352425200 509270226 652995810 214903650 965292648 532141344 960932792 175247850 43909112 726620606 289992236 767582676 847992204 334854966 720409054 67460130 13892882 41518946 338748022 584928786 575295994 733780440 92376254 214793370 181667560 519080254 383059240 461022312 265928232 998669118 617560858 847475304 964049852 182517928 273074148 585129798 866107542 745159568 874644048 341748658 626705406 725862166 578258986 268763858 363781426 842247648 829064270 642491214 562104744 361162748 464405196 604004504 425529320 677889832 726511752 656803832 599360628 284227248 320694756 400569816 431402940 105329528 599204342 385183100 510959788 516781076 966871676 192358346 844845662 241848164 509735672 242732900 397227858 995277554 7515532 13510568 910865666 207833492 423664416 474594028 479831520 380772646 207780868 449729966 568038356 227763378 940206750 912821132 137960812 485106224 443638476 368918030 381133386 472802632 991656410 526598862 808992886 530500684 318386494 424391214 78550566 318559150 682504870 355158592 442267980 381433436 885520442 515862380 888789868 114809090 79047206 509942426 494069952 376230142 148767320 79321294 772055972 268456384 461694672 877098708 542849702 407683880 511257160 338846504 140589886 488192326 135761286 325657472 949330406 462019008 682374372 479345026 138472280 193741562 169443298 880620992 659649214 262556296 116315102 841999152 15859740 199609420 515351976 460593878 226207958 982273500 580464214 825352316 757428246 910871752 48717874 212100072 7708670 800889432 239778950 376993108 28268364 818134814 12900046 516999526 13496448 930585138 375784086 223078944 668501210 235264716 849272336 120886342 757739752 717403006 784233594 192916742 879929674 451766094 985252658 863861440 346508556 334689430 72478308 311489838 28405732 939382822 495311984 220667330 718941908 143108288 548576600 249709424 424683900 505131906 622326998 41622190 997250344 680607230 845211606 571208802 643244686 350495390 814173906 299338090 779509198 521263330 581169842 638845320 581646598 74919756 425816600 694533990 729313098 249861862 904816238 486311324 184671642 240246942 779279140 802312252 211989830 748870440 572785960 370912818 839899834 684936606 296719248 991064162 534232708 213790970 729063926 611588140 487195368 465569080 825111944 300707732 970718374 282067406 13285182 212957606 853420664 408722096 41076680 121973266 177801980 614723678 510288552 45884762 208972858 119999242 856340028 639254938 690014594 399541236 846427774 949914172 998485384 90587128 164697030 845980792 490788492 884483654 239739490 593820832 725309306 935125014 186314420 564599786 606250906 252060392 355048660 595147030 494224740 138262216 793970732 760230966 535423510 162792716 443551498 75084838 118228700 518556030 750727554 672080740 171769128 675747288 558056810 296643714 707517704 635791546 536942024 207696746 619628228 536271338 567966560 5873824 900553330 899171710 976951262 777260372 500929290 45197986 405708862 100623382 172601016 674580232 280177324 609473682 851389136 974007918 415810346 180419150 551342902 424387766 406218450 560333394 391570688 555304174 98080758 625210220 358157502 675931150 282949776 490620850 981334502 478521162 536860224 648773738 849274738 223199124 559325328 185908120 51156676 314820140 154164506 729982040 739054762 831038604 773038782 286442132 921825562 577156762 888652832 204007090 82909704 890189330 349097672 35182302 4049452 548209248 946024350 790944042 17294664 782054858 403569828 818198072 977419468 794493114 361540530 809998816 585985618 980127804 150630922 268750936 148661756 787010684 437147050 289122636 256892438 28425176 68821830 421809792 179205472 800803272 690040514 606260068 468851252 888787522 337568996 370756172 32376316 542329386 599338506 241062466 911559982 190398340 723722244 127754442 238776270 784827330 908594020 789921286 173125808 432101452 4169390 849789854 562221148 569886040 778917920 768387612 840804654 276277314 191560024 651799394 511658092 834035070 857996224 776347620 659358792 65852082 469641820 482768386 281455840 473542806 79174198 692739202 679182156 447106924 151067602 48885132 959501474 887342258 646301630 303030778 434624566 97912002 167529480 829903296 742103812 234917082 363321260 197427682 725239214 498296718 192446076 627227946 477281326 568452848 368573802 469663236 104087546 860856374 350397628 625588156 49113310 636277814 830616442 824414478 305745298 778852610 743931872 41062474 37294476 728020452 715584426 765533958 626136470 728239570 604829406 201267738 335210402 14823422 687059304 315604040 749798258 5318960 284397544 382425572 794382994 716380920 661487504 217163620 999752712 637090754 282966810 510523726 35120982 296775056 42036358 263546762 603877392 373359872 145386992 46286510 244974568 571767816 103875062 279959930 924959530 980576050 13870742 249574862 344797456 391155920 141337604 23341056 480302956 291861152 648001752 578935348 913166698 303566822 146532134 411742662 667403120 394922544 378915554 970130456 313250430 205247274 970860448 876504018 848826852 778597836 284884674 43311010 877724958 22307538 685394400 558562782 926954486 760756094 954933086 561899594 47035586 480706754 772930854 221657164 860683894 513550152 509201918 62947934 87261102 533349932 93409528 950131566 894702448 684447714 178945908 313242826 29760468 478924160 813270852 6169460 323947856 898324300 818889598 632403202 33910320 312727950 798535752 296240578 270463840 570905336 595849210 770889620 324050264 730882394 630589338 631902566 323305252 790514818 193002128 705488636 423362018 812416110 964832102 854421816 374270366 768402684 756730046 728417222 610104320 447469362 71655014 75702934 581068530 62208582 161582562 323932628 168219486 319246622 665537782 308664140 459622568 987066262 143074656 853897078 12297190 40476526 454026024 295209538 642476196 397154530 799734648 541140078 693990378 316295376 108916236 176924546 74538920 491041658 113872838 682738274 571489886 911233688 610727754 948552386 904980222 1717698 17500986 616870238 387952954 88506982 241745290 885538214 984110480 215590814 286581894 844404994 20876854 926759842 924127736 398782730 678484006 633714250 866263398 629981056 957411080 750063332 519915068 972785372 29185520 642669436 752784998 355930780 218554404 707929742 825453898 267162058 253653686 556042118 344351230 307035088 308440504 305182148 953340172 738120502 723750974 219674376 685715554 48068966 111727080 126303170 463336700 499285014 593208610 358227598 11582140 814818972 219096882 560653026 833470776 33621130 490627654 87290088 975450424 791405960 425255600 663880816 256435830 117936750 490167466 974957318 135503132 407476022 204900438 944355170 783351000 738160964 383643534 207857552 25772988 670469620 958964062 369565730 488226412 226138130 567674510 121051156 385385658 528343096 893529844 666887270 619818464 838382880 756948342 636078304 335403662 321726822 876706636 533809916 239980260 744574456 520357184 41367536 953079072 165454706 126628536 539595788 244038808 854680338 6552952 30342748 471096418 397351396 371903384 514773320 975228344 680319092 111766618 688160970 587638482 607236542 770618046 408831244 87774774 308744470 143156928 231907640 107719860 344446054 162259494 484559762 293560364 118929342 891034996 674348280 896870342 92127790 723975892 517282622 188936140 333643936 197503502 781568280 548336904 774614942 950888254 969320758 309695060 91792544 516728960 541977914 51349178 476631872 503978226 14281642 989628194 174489574 751234962 239439864 723428378 969120978 695136388 311530236 496099948 877987920 407689048 98142348 398291514 141835276 202910426 949501976 214956098 68651316 719258188 639353428 759757870 652461024 891598578 626216938 998733046 481266404 941236984 656612148 771529304 150644900 456456800 517450160 138705846 468034964 494088654 149603016 283277080 313101274 524676860 582317764 980642100 657983252 684740674 322212668 108300722 680715204 465280920 793684796 724285390 39965348 671044618 737255136 280077236 341739366 74790350 469815174 666788036 142213660 335029126 540660842 119784918 616357336 263169166 690887590 524802098 523526522 418036894 566821900 139252072 860884234 161867878 655719680 420329872 640963576 736762664 176237398 735128378 316994110 530323492 582344022 447389068 193556476 836274184 707720010 435770022 628369312 410483096 314825140 479308162 787450052 656886062 251295388 733486898 468059574 962002492 691706808 44377664 695006050 393506466 472761622 647184748 279852310 810302888 586530856 994301758 366862724 199667144 474782628 155841028 720401592 92127570 454267182 973942492 513840752 532198622 968965066 318820462 550292404 385726938 622581544 456387312 305126394 855141870 827466660 143940620 284680700 767193362 601005352 146949290 337943400 163549556 553638690 535639258 385032902 836432146 791362246 838815356 148745744 426674454 663983868 6309982 779436156 26326358 339503118 602811446 407474714 554116418 263671082 875617052 279986078 619328352 16412520 448827972 166171526 261073838 516624522 299265224 400126152 528899886 598955548 214196982 928822104 56290762 161105680 62032302 15903380 546682030 295612072 620641332 582020444 241972136 93425286 593248128 605107644 811467928 263015068 326823828 389873780 968149794 243950338 961439172 366851178 159763220 308446620 769842640 35856390 317465634 789211118 341763396 758663978 142582248 120101408 443102504 608030970 88230220 29969872 978007834 97930078 508505268 250084250 779742704 569275470 686175896 347441034 359094964 955350234 143496152 191680760 318552654 740883696 702265294 275677122 986523670 525040420 202207922 60849508 611851170 275338290 467246506 137751114 547418654 873778276 831070298 901271190 370068764 378351810 773469802 954096154 654887758 611380650 81834150 171406970 479971146 950387530 877195100 975022138 112111434 190802630 802044208 958549218 189642238 132325394 321486880 863244100 248709916 240043000 298590512 928595050 619208652 189027864 439225994 957344062 723868836 650792376 128408790 426627944 725483174 169894800 952461794 955871428 733082504 624287908 586742738 864257862 934836280 560122550 121984798 16456976 894777764 754006654 486465112 55055250 805076554 871236352 57557070 339820476 854060836 153000280 456112046 260288440 291626794 223858412 334166220 141039668 913154602 942209506 988608360 841581134 861057848 84454520 709025548 187845014 778502832 818433712 166063362 409834600 490108944 915122470 744648140 487572042 244557412 37368024 588023942 827152788 266440950 608411528 902208088 781118314 939623548 893027912 444076940 105044592 695048182 672586568 72821936 269470894 243532656 604990816 504437572 415401086 710089456 245719064 385517994 685575058 916500480 618508070 202902834 903752182 524055176 574365258 281278440 768183612 492018112 323018028 725163444 197544600 987055796 689435164 897688286 132197298 10668402 812623392 153279600 76854464 748943818 493665352 959969044 296142608 770413082 847451650 88252642 183254044 648710572 449232812 596045556 646571272 556170792 632909042 814873938 128549450 396038548 293096678 828011386 656615282 348571214 273471984 121100802 295726780 787216582 295038930 453676848 140888896 82453538 865856474 152688776 865630142 715637784 139628428 860568104 502409866 959787564 279986974 375117360 680693178 63648032 622197996 145439402 601853288 557348420 778443176 806760660 4510630 746079022 376737678 678695578 589020916 57486570 816705308 829994952 757318558 653363464 2672054 376944928 879196576 445093218 104933988 224244772 698058366 154347540 275996070 24658116 406410102 355850112 49335354 951887048 541919302 831984034 811424092 112452154 673141596 228880462 201175616 772248152 858659066 965499054 815158322 217011052 16689656 154948480 51336008 796485310 198083364 197518450 920306838 602794410 626663766 259162106 27429168 628280138 997845740 995984536 951833966 434742680 301423416 9639662 73632242 148350096 47850040 836222848 971614794 352115140 983258660 798481026 921080336 669285642 149549286 362481530 259282858 854320758 697447620 818503678 320216554 884425982 480495538 400985034 690837276 246470838 902222620 702053836 399821832 530526402 68121850 902801258 84004352 192043252 737175490 355105192 261857968 490247452 746132356 628379798 997675674 280848094 700687550 303213912 989639034 542420128 835133874 264330848 701523914 840793062 669450138 483105092 374387690 929871866 179114834 128570986 733675012 339060828 648326896 695492254 804254780 903337690 760331038 540624928 320678030 545827220 702918098 490642174 501130948 692035168 157329132 256240190 609196406 328176246 829369346 408345082 755095106 451345110 985577160 501088920 724264130 387581072 99754988 898296176 416001200 149209158 112206332 199263346 898056092 642156222 651114300 507823678 929018928 650422522 560148318 61494198 229592450 610824466 692114006 372058 185837898 177794746 605470024 475702536 619507214 500290420 656774546 512551576 373238340 840048458 747609324 308269210 958740738 574140382 880812294 636464192 194382884 595654210 480723514 742333798 761516506 993343950 631948104 270989808 236205398 538736538 876974852 290124944 652625192 631210264 484098668 674319288 123347042 466497166 356055242 877802404 300795234 917532054 537147852 981298050 864214524 601456022 646147834 299440200 903803978 16568698 906667064 273014206 719885982 775828426 507134706 899628670 366872900 561604678 376315826 203423710 940414462 151991660 432712742 996008612 234132638 498494770 996132844 684970566 661719504 160442158 823908718 631432760 918214154 226659240 240706426 978075166 895186710 889407958 65923476 509242244 801419676 305884638 445805522 719211802 993663118 693827034 991024144 907703772 748296 765173396 217872346 530535496 205274776 829101420 441376086 562606116 358905448 370785718 698773244 531095424 905104740 670018870 114694664 772673160 520535894 646686324 954288828 410116446 815393000 595732438 763640108 140233516 255900592 976548336 349466788 654305054 447549204 728659242 417541288 435917320 143185100 97214846 879678910 23572412 516747780 775807550 247719776 186783472 123335690 245463512 51307132 448960304 555886202 15723306 392982120 105627514 22514472 631587920 338705678 902554894 940923010 556817426 869550516 673797698 115961624 556426664 375943034 812498936 897476938 569016556 863509798 107205314 163080804 907589220 410575972 424271198 333486652 461152956 551208846 298151674 893976042 587090490 873348628 84272592 200645512 432607244 302865818 936675696 629246632 600174416 597279406 921644380 705899496 820146068 779012446 959164486 729754058 796763040 265474184 974342796 746610934 765831516 11775578 950246794 565887994 544491688 111606164 953049068 438388930 246964152 925845528 368094812 631892750 34086944 56337808 767299814 632358304 435254924 303267658 376730132 936099608 388257642 160664482 985665046 348673616 186761150 493561102 164105898 524645848 688795648 97311130 705450540 868194470 92581330 473933726 602181178 33318570 640384780 288059260 483802054 380511076 45189534 316015166 129582864 10490318 250283938 503319788 165155834 386212432 297148358 415532940 851843836 888220734 344817440 897721444 382537946 152962420 398314420 387965518 228153862 319135426 612731184 460805690 779705292 83238074 415904664 846356976 741115664 46252106 365616294 895642784 519040940 589872316 545962982 859172122 908243578 487332548 304623964 15854392 897000628 156489034 561150360 885123270 194928684 115120038 827941662 962642456 951007226 853207772 221503414 562041586 435994224 191801688 705454936 830621648 451034620 205671612 86574392 144901042 440136634 790439156 525835894 995949958 538006220 720496052 217116698 978172932 190589256 865379646 825572626 251359128 512717920 573317428 231210202 475373046 213243008 909837700 858164288 144014188 230071956 614848556 27622288 302755608 684262498 828658776 515765178 90426596 497218918 703776804 250848892 970233502 424406496 954820192 104782706 703395224 928029678 875098130 249314510 43750828 501248874 844859444 14528246 822651138 231104612 431040422 81225602 853117910 107085236 763053714 46222616 595777056 860772024 639206662 76525692 725790954 984953064 712215610 315203670 57303076 112270360 188751716 815909468 280525820 892120044 997238060 35310496 283308458 645935562 980891316 42480722 100557830 442911704 773020286 394626814 645697734 449509478 844365462 353592972 989657750 504226458 489361480 660919406 966832478 676646454 365308782 98544306 860349296 249486844 6073626 529646506 189768296 342742776 915931894 904129894 756309268 74460174 595852980 992029282 508665142 26996442 610760786 157486032 459654498 329944834 764185074 244957510 238685388 14493726 314424610 986489408 517809996 810713214 228322422 344247814 99239042 140376318 33092026 1348592 347596838 494033484 967629866 490869118 131843122 730256598 689972866 326868420 566614332 690263192 110194154 28329602 389795566 299228230 326305532 315660368 444209850 625026184 723474662 581928538 473283054 71550264 34125808 49463690 508080986 710151070 912914150 74140956 368358080 219516806 775341290 428018574 288716758 847222594 67329554 911911444 605399660 830898768 526282652 378817914 970575432 358868374 181774862 257629660 281260994 28148962 799194826 800173100 602594836 678458570 605050730 896341502 44933818 136237204 587921796 988282138 845377102 895997630 928410520 447195688 16852752 241852114 95710898 880525596 524643482 387080920 320373110 713399614 208272184 42075546 36254450 88154326 859926764 780812770 265128876 178623432 157723120 355009340 843017390 957618586 846583768 991486094 813141512 388799178 695251078 117213740 675873348 617691176 577546868 522883870 934015608 597647872 832820262 790785342 173294246 455306618 325997704 107063190 502163978 770787656 206221546 437876516 237899258 451621312 163173922 538994354 360332508 299648254 224986928 702416796 576318230 375752842 247829778 799584746 337295010 334206958 7191608 446347174 548364980 197134496 539852136 997880666 901140052 780861040 338778746 89560516 952331852 159991158 218980924 193723804 357609942 990533192 6164692 461926480 316286916 651915642 813625040 388667302 197137078 479402834 191411504 571831532 283225162 137319012 384510634 118958602 903550706 277594204 851095292 862906052 569956816 875261376 275880912 425267526 55346790 2548018 858113072 343668850 282381728 324094180 127056250 948973338 963093142 965331828 134560912 997404292 611683252 520603298 855475426 157478300 559790276 996237266 385797456 474928104 493395632 909922166 378740896 915306366 706180012 6114192 203703958 947179962 482877644 309710180 640266736 957064604 985196122 163619056 892577526 526489610 361213232 424681600 986304602 881328394 635590444 706024318 522125566 799029460 138470482 14276188 111073788 474102368 822260486 217940370 326884754 952641054 565994826 454480664 954048028 952884478 437962282 148378228 145090770 490148624 115888982 865950556 780669004 472456260 796823750 231375796 155978544 533180566 63493234 308547352 49410848 44786118 878025438 266161850 863706564 786724548 3591526 109869404 354897690 253755116 130139920 530746906 979428978 232555994 83512622 206162370 746755078 557666914 849192586 729837598 944826208 877901584 873515642 329074288 655308362 551020766 498850304 710750840 442738852 926732432 440559544 98874974 544794344 776888208 794649440 519781512 458075676 650918376 346276324 414234904 180930798 216290238 747353154 136302488 354368282 703888916 32228924 609519430 166023672 76000744 139476944 842102476 629184254 237663752 874633026 482033768 481891968 82169052 929127902 157676262 170518738 144550988 810264330 314396074 971948506 711204034 157289212 330037890 63054386 396062436 475649844 859931704 875873418 823457544 345850720 445521792 155307178 616557666 627847806 221468276 646263176 271474882 104309990 694157186 815360378 559255838 948542290 964538986 70821042 668097656 676892652 527917452 474517712 985740166 647155098 240902906 128956354 394498944 803164052 936570974 485451184 926276256 663936168 439883178 586700718 768425306 860672246 702236864 951054220 424838230 691302010 868919852 952096118 548920820 224595272 349569954 749810606 527249760 880764146 886153048 805077192 893146878 88413300 67160038 214946782 208091750 516294634 438720436 644578866 329886484 154973260 988042886 607410078 327998526 191475230 775989674 790944416 481221084 709655256 888087842 107087602 619853178 480939670 172565558 229146320 676162788 497258850 797366010 131728978 429796800 775405082 713764308 188156216 448595298 568540012 256330936 551964232 927506562 902374518 881658042 817254744 524011920 408174894 52495442 22216170 176890094 706015764 801094166 636983678 626900648 52011080 973598326 56965954 207228890 26648444 722071356 278335202 564606076 700180134 378045102 905720506 550048494 461162546 44893266 466580690 412758452 134607270 362188612 847451404 329056500 213519864 302176248 92403152 166007364 29321434 682649930 273276456 316318406 392815634 755224148 984603572 702996156 279910210 886227544 882702092 918980262 426893244 130824798 652538224 706005418 10173196 165646832 140064266 105653908 693479784 672669212 583440496 816517860 987765230 430606410 821236512 33642662 952577358 157021812 511015918 383119666 940973840 110592574 827912048 387904056 877417160 641819768 802749468 998390602 967959930 279301580 384552816 761152732 125960800 860037260 512169234 495025664 903720520 205252386 365546604 609511410 336907466 52090360 116869522 684576964 448372860 133155842 227132896 83027890 135444084 466133828 868902244 711221170 254692048 152862914 952141886 256819416 490432680 502134144 12068454 52577174 882061596 324654978 281996350 999969476 846800284 113279606 882048266 775310644 367253624 971900476 536814252 635949354 777796852 476978856 507556688 249898278 689634632 666288638 210783860 466706274 907277956 477513906 277259280 804569306 436291184 234208598 87987724 897614954 578020576 760067070 556272306 81478648 819587770 941683576 37856050 64753210 642530368 358309490 348868486 131374738 129050086 112255768 82037852 223158228 959555280 142728126 16880500 911869308 508594370 812646284 836500830 922607824 669562888 293499970 701313092 193393084 225253890 963604446 541836002 424922404 409297090 941487750 479333746 114503242 830871782 923784830 50631282 564742484 259003086 690645920 964878154 798868812 375774808 688798558 859806398 920207652 275973450 200268262 242079752 724710224 695574854 302999098 362018158 251335686 202579888 81796714 650118322 951972306 832749612 381650800 407903130 564757040 74382264 676893936 404550090 293186450 192801872 741875324 572722418 812617234 552601920 783025872 423887752 759038708 706218628 699943610 737073962 526881244 906661880 544842834 619964402 941115714 287899740 156298154 28290522 546594024 507490414 567748486 985024212 408261814 600181638 789124492 120502458 959191346 999310242 940684494 767762966 812907744 494799790 536830182 3728828 413685790 857264348 937786584 39124660 473580612 73577082 536862128 416825050 452469788 887882726 950970352 628800092 70939440 636474312 534769770 750865734 452545704 766502162 761131640 59126072 484995318 43818372 320768622 140760778 120385402 168956640 869490662 767554846 368638566 173774400 732390830 234209184 423119358 654227888 143528700 767946198 590785928 552767192 865703706 428451434 633110616 397930002 150974716 528767794 249425316 89230624 680454652 236657518 245040054 766240452 382046590 957548488 380734494 563396564 585327748 298346974 421390390 343277872 826038046 565705700 190760300 167699156 551742132 368702688 275219644 266028004 311826444 275462262 658644886 879193450 362576764 205271522 791707632 937261892 616760852 401543008 714603934 755433326 724434090 502001698 685457756 302836426 643079712 156846620 299286418 991503242 544290472 739053788 681793974 440449898 430110176 11651988 153409598 545250922 481220046 641860110 973416404 390149280 869039756 235312810 6401958 569250432 126731544 675582324 923453496 278572242 543659936 232929958 912564610 31007398 90314048 432257442 661204130 175575208 745180210 423114850 148316532 115757096 439000384 378504876 424160974 117304668 565530930 68680846 136687768 746957384 587361704 955043170 254189896 326078376 63009274 794709308 104473632 722048024 832158566 917278942 658810724 341970024 240287458 176084340 621665968 406618306 18469590 267100392 712578644 149155638 911769982 96179712 689572000 890203754 237581452 134718338 156819848 812388240 68953536 338862024 499203180 462595914 360009348 976783464 746399302 552729532 943182042 217386808 834317442 541332846 956443766 709320116 31921692 318367448 835740024 857791090 283545512 113895426 230394254 552625396 947822648 210297678 545123826 939746288 946231024 115614614 750564758 300817706 856040888 128964148 938464012 61612784 576375550 199316334 86239968 881002856 93524822 771169646 816506616 442746652 38959480 453177586 129800028 447212996 503509134 937160934 498230798 393927068 272342396 799511288 34232504 54268930 933602046 304264632 764645996 997961870 668506356 43383616 251130490 437514900 562692862 588901810 720095256 309560518 247079632 663206492 380183046 309283564 768727568 39215326 672481188 417616320 372057498 930177340 778446376 902923062 21133760 210222936 403735512 724313974 631313738 769986180 986764418 445952570 478732010 229367408 786893976 734732044 695126306 266364398 660719478 353319686 318260914 484718816 233702382 941239350 774124046 697893984 857131172 181751260 420735222 640841356 231347982 530308542 870180232 537060208 611828358 870576300 649593238 859794288 487099002 649932844 565700944 795580396 40618524 77993236 594644432 299314030 987992750 419151474 976109798 548504588 776773672 736157360 371095664 868124164 558057988 525076200 800618218 591939006 632688670 347568964 598988558 214225146 375694010 155013410 435579446 197712080 708825682 391220120 881033828 891253398 391023400 290766614 815148930 442376770 496010108 106981168 450335306 669531096 79943612 275560532 212405812 90891332 145061490 780392386 849471880 935115584 250466874 809359288 539449112 664250266 591275468 62562912 972349522 11562734 14317596 618912548 375706188 15049712 814362850 172788016 872847858 242558182 916993676 829073050 844297520 830304636 90490564 794651244 892097666 442341748 271327636 513696292 179433342 512679636 589693220 401828058 53021550 25263318 232988136 817446860 227675808 402349140 124118480 857120590 34589924 252850750 226753376 586359846 241262616 956757494 846422734 593310888 909079414 723306304 300657270 710549954 105316242 943470566 455436316 620197082 955056562 342285034 117223066 202684688 895004026 610293314 655723130 689319594 90935520 814103718 200565680 45859136 695402516 806848888 288454998 928048686 923774638 955979204 835291230 17349052 34554968 464622184 120578434 201877766 666896986 19456912 399790386 135660118 160604892 438238540 613498864 842101588 569907780 36020122 363944692 796440878 644775098 314507582 132612266 477147534 912531284 347280070 654356464 484730362 616458184 356402206 858810266 473416074 502958684 887000662 121872020 163380912 825995790 732568976 709900716 204575212 68406698 377764974 360085174 545778302 640375500 352885532 487785366 154517384 16989298 7172730 807607808 922477432 145713348 396958338 911354590 632231530 2334206 202267080 110333954 493697272 307194942 746775896 902818878 132957960 403213972 445008636 343226932 543494656 175089202 144773600 842806480 419287784 737734694 56009404 822773866 934376252 490436510 654816410 728377982 716042298 214308054 494749096 860709166 108925710 457475744 253908160 709560824 812925590 57459466 886708770 625771780 850926290 288943884 206890294 289019978 184730046 547154830 750595600 682428050 280215736 109036242 509924048 113766084 50807140 495466646 270386630 9127920 605630164 897011666 621150202 282581976 571444982 524797222 927247916 278783960 64405490 66971294 25185674 281770394 740761932 228853556 263102234 527797000 519117562 180914812 125915554 986030248 248471912 906982996 357414792 605910296 301324812 539261484 146146842 236431584 86950930 760944524 73367984 700250680 195852046 834705166 754319992 965309148 18427034 452043674 99917052 898209428 321956342 624331084 195717636 787161522 395792822 561927452 530517518 319270048 975368486 260287318 904460076 743655724 401265104 67599556 549082586 975233360 947682056 926148262 275480150 991384828 362841610 897505984 654279110 124143426 787376984 524375592 708819456 730654988 958779850 307262450 817309826 996570802 744644774 430982938 477719516 843839744 452733718 485558156 820504010 488334048 246960348 666886714 191259252 372406926 308525804 390256650 623111018 575326286 839687402 816460954 343454874 533759352 952566684 761887310 839855026 534079204 973768836 408730326 526912314 713998934 964965826 670369400 193531412 951562790 763888860 980282296 210606556 993327168 930144828 272379710 406641818 346403934 225751926 250350846 572058540 854333904 552295202 983370138 606522130 478197392 785285810 707607274 784046726 259992366 619677144 277294260 785227078 905059128 300682872 978584502 705661660 940128092 21682730 590010706 983018920 307413960 71487218 421741122 867975988 26727554 940444418 448882632 677750456 866290914 81268434 336165484 133277586 385792606 729469084 263402200 928094084 551521000 431701280 411743960 137636318 468632496 449784406 215365878 505147112 522926758 990990850 355953914 566640336 53561342 892625856 971972806 242890940 365897396 879695436 943541366 486093264 240771202 384958648 575814480 376015398 118772774 195698868 794380736 812906664 698818232 3731788 859877096 973764124 212754908 157972180 514432324 870746828 437630114 191758278 291289118 690058048 455086862 405301524 997324310 610035994 700281610 178016536 275045250 863254682 825125802 821699442 385963976 642591068 141282356 541629540 347087050 170871894 323350628 429878786 402133664 788760238 125643406 418512014 272459046 715100360 380555584 514052980 556510028 417195948 218562032 396584546 41957912 125339660 747118294 30628904 566497950 276862982 174386012 687916878 533139562 865358412 282700296 626215962 75648138 851608548 293617350 115344620 212059524 42143706 839896802 733990190 48459566 351417166 922436230 425071034 778332682 258152108 746751486 720848076 674980544 63630438 389624380 173086982 618812856 79749882 529295680 111551440 440429788 678275772 909702562 734413106 81821210 642728926 936156900 724066782 807405272 264331904 664028880 213958452 95049382 129991406 265279896 108591482 614086514 296932912 675993016 190999846 164037578 901644904 378760358 554235924 524019648 317653418 176832668 232683630 312814462 665697060 553282866 981054864 123462448 932245528 141910230 77301040 356784914 125323036 616492506 821812126 656726516 805362272 884628204 843544712 162627746 868197096 815420188 800793296 82145352 663684890 302594926 932968232 343095058 280224122 250333870 580049684 51375824 251386594 605755572 267806498 432466822 720836668 691156120 825692292 378537982 947659140 860277250 235927262 385731778 88555890 802481502 293598650 623610052 184448574 691528588 452600538 628314276 443705160 187259892 28539678 242553640 725759806 417749704 854742960 708446456 34336388 710557936 467824580 731152920 514317758 109631008 270628366 270109310 703492570 204366498 470266778 325468750 756537134 794662602 825282150 808394220 955933276 33598000 704195124 579069512 155845036 503093726 806694852 629756936 537405460 598644006 51700294 644608264 52586452 126603966 642242158 39833564 701525222 125991804 824359718 90356564 543446036 852322564 238457826 652964880 396749206 471178428 780888288 218963360 842199026 615014366 425012596 848463262 805221066 224513448 652586224 785971666 600028848 994176052 194686110 691252326 380161332 797396704 611369832 229290622 317995164 196251820 818171532 939326900 649271708 518797040 536040614 463136630 249154018 814391796 716109664 582456394 391442764 325616898 195614342 439691018 309175896 902901276 408670434 996210782 405732342 418099446 659205278 753537490 495981932 115099668 266419620 778429982 682108562 340044952 634669170 134753064 469151112 887827536 219514856 732153568 729541334 744025634 738495880 61399958 885272416 460323184 99881080 662849216 421868368 637799882 506903246 329187038 55352272 958509582 168004946 436350496 349580454 297358462 862421920 810871502 827498036 635229532 43606142 184214068 934349480 414473046 476611672 517139890 196117108 71934604 790810726 472502280 231282514 454140408 564526486 117366438 254902016 443106174 364249930 788529798 625127686 400937560 850282382 20705822 637509824 160488172 677158096 245838150 301598440 525996550 401608156 790240180 614438042 129191334 329889950 311631098 680426498 816371302 267530600 345333260 181782940 876410514 826988236 850903816 298224640 357883122 411849462 528646390 931570172 278012760 641915428 805209146 846167000 484981346 79100766 958746208 526559286 976660426 414098160 10832250 760113112 82849562 440017438 953787126 185328096 63923046 763407792 644955642 223622928 690310610 255912538 614275682 323668140 51609852 582315852 835838978 526096818 653833806 827122038 454636388 446904966 31709596 225050852 565586406 375081050 541389186 119488366 444338726 174705152 315222772 499279656 953925510 894434384 442244478 679757694 850128092 789902960 193179418 630369750 942854166 350182292 50257412 815744210 571533124 426679782 519879856 92431152 739236458 786032662 91845760 679584050 966055296 942098860 829542328 627488370 610210176 160143768 232636866 956795070 145924382 825755174 140861056 365128978 785760410 516167692 9392730 957041126 515036652 240089160 723485664 259792740 503472284 183715298 948277526 857236732 921970934 839439286 43118434 998015968 454568012 933767408 128446460 599575716 610670974 770106898 695941780 989484534 355049062 406923276 645921848 584943300 535341420 985797854 672019606 554623750 880806838 87925970 364454454 46326938 900409946 614555654 201797352 304026320 440668636 945370132 183566944 290690070 624593714 642873540 921449836 217626014 787399526 979362714 869470814 312391424 45272440 885661142 890485614 697076648 267602356 824075708 119161808 444612718 920163948 652223898 922844894 204356628 93536686 102342756 965078976 762415716 415034960 62002326 166276136 317814094 144441274 951157668 184079890 316321590 322958752 7799324 652136100 48014428 198236832 447989806 23841074 958579712 15920612 890881272 340603850 422651162 433866866 332344622 518603578 306795966 434766282 611087094 124098156 722802888 276376034 759620892 13750692 36468724 688863000 53964886 821317366 163903110 142637506 58251614 908220860 495629016 749514390 558924994 237845174 753287450 600021720 428758588 572229552 815526712 239774492 493179866 793312640 722548244 72434240 303802188 841178144 704430778 427941334 620257476 299956074 433011682 36906234 574961052 905703654 362370778 561376292 34715332 793438390 326468114 914566096 197462722 160967796 60876824 715278970 831308078 648129244 248609956 96519092 361036104 417979668 291364694 751632958 340334654 432247660 702421812 351311806 224396392 461440468 537213330 765157210 891110076 629949870 167783592 492564876 70996414 271678042 684233754 709767576 272648036 124364198 413500162 52888074 27983322 528327172 96343616 353967802 171557434 772413100 786140318 350089762 991268326 983080 449122406 138946768 114196726 616967804 786066748 871350786 352488116 161553752 512460870 505929246 755916194 106762078 469533416 689860218 60923716 971995010 298693170 334447836 955102620 840493902 92928536 827374926 92559188 362293890 301648250 730181884 720522534 186425282 772152926 927576086 674476548 299692566 454473370 919029462 909829080 515458494 593411224 180208268 874553746 575662376 291313484 240933618 103663848 613183824 498753936 890033264 707229000 424294936 69387036 442132 132341336 579695344 228718314 493905556 838525140 443429826 462166910 620777834 88758124 594153934 806158878 97798006 19886946 576322190 863137412 626963226 335767456 490249554 919882244 712293038 169126808 627576856 543377092 602886126 962265052 829765626 935791688 981719560 335195804 479394478 373026782 636183518 858240210 704837858 350047330 353473842 636882032 187373312 13416116 535486686 251351598 335506636 42094800 942783832 238295268 468816030 908417596 559100842 743958770 35871344 774609344 782777760 293663840 749409252 352280476 346978456 659821832 507113830 161187276 3360062 549094390 845220070 515497144 778421656 820396314 195640102 868399794 386067008 913216760 302959020 877176904 967322740 697198456 51909812 325732744 376815914 213231722 762529520 744827412 801998012 275236340 386522242 611738108 906941080 945627164 950873122 392723994 723568112 209400392 908690380 896585864 141338886 168095678 772055252 714522 334267952 911126076 499243570 287971950 342436254 238858016 452567196 596154612 742271698 174629572 198427216 60619654 637057688 49946670 721040938 316915730 624823464 119927438 178970314 577078242 28834622 263220910 406303950 908407328 707814776 948837290 832671328 367513612 870903944 452344882 611866 854135588 475012286 427265362 270766354 438235602 987567572 27885150 599051294 317209194 285169426 268315902 114966084 209392368 513137668 690641826 173796846 699089266 372196390 363801440 271343078 838290244 220021378 49433014 133551538 661246718 620130322 10697606 919235656 60411992 309584476 286635494 491051740 62838312 312984186 365103332 594355636 741223342 172794548 228959056 758094538 715476674 390196006 511186830 722723480 940261442 63514036 483113812 748050414 653245288 337230672 231113514 129380754 541779832 263522494 322917226 828760490 174355924 287924318 5855446 89041776 12591788 18031074 5064118 375516548 662281762 262314514 153237554 535225644 303851764 302912718 860025702 557769860 481766170 848857648 557822086 950672238 14545804 415335370 839759670 309692692 227365400 509360140 910894910 423676428 533292162 431457766 138522354 41095934 188108032 722933608 140850224 306450064 319413410 294459706 118770744 272625434 182939748 737548432 490990246 571248484 119367320 351412814 437187782 282744052 191895708 663309194 739198556 576435560 862879784 652027902 365485934 357496268 144019566 682037628 856876232 163981332 617665132 795021890 245380774 125741782 152970436 70335544 473253966 768145336 683012216 995149576 837734728 27372582 563744024 225237396 204253016 923442494 732040274 386568646 772367468 729830752 504919562 259811992 152992180 673014730 751198184 867198174 727252466 544942602 107696242 553746048 208170986 993586140 195749634 267178194 955983864 133644676 716235762 858448268 546883436 517159276 351296014 861650224 331570112 648322532 182099924 449497072 27023548 5126966 756668624 178969646 345298510 442804356 369866768 270239188 696280970 944913092 247350858 464650378 979414626 184350104 456265634 638264346 600231338 14527974 248098374 261632768 63041874 784170090 747911880 412694962 820484046 973667462 776554804 898450914 849902766 91282088 786987408 259271468 948311800 528766922 904791230 495047892 940977612 726070418 169182840 804507146 346456690 435729052 610731326 142304214 430902420 851791500 79996244 587228174 898817890 158779824 399515410 154240172 190703472 407537934 487372238 846532802 539690766 182720744 8298016 539976360 601675488 703340204 906279012 118772256 386178198 575731576 717407974 566421806 26115186 923253894 686625542 366081664 964002420 511678168 70375584 433148936 972927356 244407734 832081426 674860532 177990148 204067332 540641842 564675240 784078318 827565262 729457250 466770630 790503672 555580604 818809204 368336716 678092036 219172194 736066562 463781808 67694870 286521108 71243074 686282050 715656042 977029822 526771090 797434002 801235708 474500922 161899052 498551472 965819448 162627640 239211558 149107600 570242586 498244030 783204860 386021598 925307632 575978440 170651698 628403030 347403106 457531130 528384430 747268252 539420718 709246304 477410380 174528650 694045294 579433242 801580816 967904924 256436676 356619698 819950666 535627718 237195314 126272844 650315600 460766086 345184462 463677110 800122214 722921976 761767050 424759920 405900902 649825466 331733316 731381528 665170898 72037168 248868986 648449454 661264092 316239800 293218220 69867274 704206174 487068072 932463926 808026962 294296814 99155682 938920352 262342370 841283680 961287464 400414210 173867906 654342224 766519258 103134178 116461462 988013942 653521976 421782894 100555536 958844806 410671984 946231004 190447988 665823358 401424546 794112134 583542000 788435180 760488290 238012744 392188828 144856660 536142380 329095892 613790016 89035874 96543266 956062744 996522824 785599090 713159342 223958368 219303976 963813518 971265138 988836918 54107486 592874778 492446190 17951378 256054560 766624520 411711950 735852142 219813344 721033642 486684708 645366748 62359290 449200266 39488068 145986504 454621938 249665508 661156968 331605730 78851996 166290432 526668584 141730420 73357844 904324506 131764944 870766640 699355204 589521682 76289224 627644674 805404464 162540556 416760734 300491436 733530826 91723772 294119556 483778052 604277232 764410942 29698904 170984210 191545542 333476404 650725776 699452342 955752436 371833834 260816750 85913248 570005258 921057402 960098284 851318268 67781010 148500572 323523746 32261688 112646260 242936322 289118034 995906098 93304290 665169440 483864468 341237632 939471664 424944478 501461880 618631104 782078068 541787180 998002880 435747164 976973930 925205684 855804980 485876540 723861462 345594676 362061480 998096726 834538466 415059574 17402466 270444778 988871560 643656672 457884952 504983926 233235230 72466282 612570794 351577854 742426944 202178798 381408192 370941730 783679406 436197146 559141402 973665738 335269638 768878596 681242016 99040916 304060054 270130106 10017942 642799806 542142362 211275782 928541912 860198096 890125790 549929518 691121476 479897320 740405798 363494450 480358012 113994092 807330722 237280758 958354918 682556416 413655500 433970940 278587082 864198970 318056560 260464622 654468044 596421784 217003098 280165424 239136454 378686308 139489648 741607822 360820938 168824180 875493060 501586506 554638730 405573522 511067990 183336106 152960898 218167152 575262010 808478490 490640532 72686992 450910670 152509656 970772512 459784894 555415942 685371490 271107074 536961010 849023916 685341270 981898558 990059608 584078126 28436070 516999514 65234960 274783270 260717724 563827900 193325664 952452800 863661978 765292126 658342136 85418564 451368528 18878774 904714336 100038188 282830398 320137868 182258526 304759036 80628594 328831656 875046500 964955564 233166310 331350438 25855454 992923736 584102876 575056540 839923442 17672316 659202090 933199500 124282948 571798344 930168744 845482814 147158328 544686148 167845486 356834922 690357658 750132950 57979420 636330768 12095190 558234300 555555614 190343406 253170876 370725172 600302822 114019218 626834444 426336594 705481408 325712900 148658050 615121256 929929218 763950194 849269778 208786164 264576288 547210024 833171746 508860760 451837530 437473342 554410720 116810584 982626490 89323650 343771522 252653346 678364934 329699570 295577598 609132502 365268962 112853650 205746364 958316158 950012170 425698334 305251556 791080452 448221972 275961448 285525204 58724460 55657374 419422446 743989118 505947832 591396630 631107704 563441878 753242270 947099574 820983238 838912872 531166310 229583286 380557486 421915636 222152780 770451646 645859650 945812848 3480910 621099856 850607364 101225098 179073576 373905310 705106878 991458338 967253256 764240918 100506980 937553186 474093152 21190106 226040828 483542750 245378372 964233032 180450954 200464136 20578286 418141240 577723974 773818154 568664290 881964570 66300184 776062616 884013780 829076524 38247224 246080216 189057204 365545496 824161304 157174854 246059686 638741304 48480024 905531840 778560476 944469172 114604860 678287418 863230854 72776228 792546662 4819202 359763946 890200708 530135972 300517652 575266526 281215148 539501932 527536976 729751306 602068206 666669726 910832588 925465720 550659646 939108396 321445998 400876456 405099314 643206124 56707140 130539548 910704966 256494242 321877800 212203750 996051720 738864492 850470508 823817916 464258730 635575262 66779964 342713958 62963006 616931528 642328084 651244270 924147442 286648122 886997170 908646024 444281476 102585922 928035190 975408648 747303584 978718134 559259330 826020230 545564660 931846044 523152578 697067912 331321932 333811710 438639122 403059164 103201128 161755222 186388256 766920018 883592070 53356324 836198530 797975808 869255552 946426804 934493870 842502578 180619670 211817470 220487688 144247840 933194322 438022318 415548138 138887360 81742884 281271966 3031448 689385744 579473046 182318276 449678498 320584906 131022788 104613164 121885372 131388084 70351802 179438914 76988416 55616750 436395636 858996164 274278484 373223908 377419172 399632514 204719084 103057622 484163258 950527696 902539986 787528344 687737506 148895956 296473994 194027396 347734498 905654534 770566786 870260748 589872610 488265326 293824352 843998400 545138758 878635544 972454360 28565016 837799120 378225676 635055164 878441602 142455822 927786698 985351754 83536912 591392112 285112712 921763726 494838652 581284134 681707384 689201808 583603468 990357296 878695238 459247402 988320284 454861290 329847122 388868724 944298354 621782270 45268632 507884220 10951830 510847828 928516020 616301906 212977296 534446154 893410370 98328786 511000200 500567536 987367238 934660010 907200098 906771856 112822840 739956370 591172098 266745258 985864136 715289316 841489644 121983940 303856914 223207668 12861860 906355560 65012780 293266756 832854972 549433598 105670450 270844922 982672056 640049976 752316856 251393600 923382218 359733840 122105476 335508592 5082416 520185286 761520696 707389044 166646128 143257756 12532604 305180354 689520542 897164162 654571186 338699770 588254698 786194152 680949574 554181944 579181850 933102656 990703756 324627554 185045744 348941588 591085862 451823560 209377736 525905776 917160486 85160716 608646450 24701288 846274694 626674930 340396168 764220902 76299484 300622854 77805164 351220764 575554838 122376072 544036140 713865406 835711292 271664584 67843338 485859972 319549128 613147836 60224968 425304238 155368472 414903988 890987596 605537356 117209484 682086234 534697084 220462244 159449054 697064114 609649366 464787274 120976374 752674106 414444466 159145022 365340896 685236928 100376520 914714802 602237720 354974562 584852210 358842810 580004108 19455280 474422120 596803330 929895236 235359768 782198716 266008938 824483172 691844676 843250948 100109058 829971008 453996512 416074152 461705384 136492134 44232956 840737818 912505542 594830216 257684528 393786262 16033016 271826338 49598088 814154158 158519444 386522094 762384584 540752234 833414816 455289002 83715286 946454326 686981392 935555410 138930992 914462608 999816392 28527026 184200848 57601276 601416350 128066996 285625422 153686272 873027616 886151522 459831500 173542472 349381008 584682536 273548434 363832896 283494938 906036650 150919430 326177904 332349534 70932174 442546644 511939234 354267330 20973656 357391554 795878236 173523130 547110950 294075544 339624174 863549030 133157532 715897554 6821522 233175686 803485300 626454744 372299542 194738982 642214346 307605966 651487608 173018320 312399004 367813990 467476660 910896004 769514842 385643580 320375540 376015298 78239014 800089182 289845908 561963068 898250588 473078556 980138222 389966676 105490124 191247708 190242358 746803698 328212082 1648092 748006284 49454564 742285064 677718490 307065848 904340478 335718208 881962124 605876364 501931918 830913732 194750408 897061798 333847406 137705022 99117254 111528198 664789222 115359358 424977480 451655812 396642270 430967588 680094036 324810422 442822968 776257850 458144036 47992850 520710468 908129752 558689094 324275076 156090716 775951446 317764036 370562328 439388700 248018990 286155710 21694602 428090556 65682882 744808868 473747582 464312382 567497122 42194128 243166688 451778698 624676946 167876364 798915220 171021100 313015754 186270400 107612214 133800916 877478948 160605882 127185662 568761022 333323566 964700288 324467628 983227500 302689554 587084856 456736224 464583358 242333394 354121810 416947346 914046662 295227380 223469108 913449802 332120504 757822076 163053556 967072204 348239710 906743086 567053338 486911342 414839292 678923184 618412452 605325342 961383224 769346964 608137204 684468790 639705192 247643056 622433440 301837094 770930184 897842478 510620600 66625902 204516326 469498390 958388512 840077664 209880148 456129722 215516360 250764348 879734600 822541704 598952446 244685436 770408140 439691022 862673818 250651892 684899330 364951964 88024326 184650000 676760516 381574476 657171804 134454956 494503184 199665932 394934422 20459166 414092054 698436446 29806206 937187100 179798090 402080660 307114670 937818886 588022442 53299914 247923850 606981414 5183854 657888466 60343270 184926872 697971878 405449262 326925060 38409990 387762284 392193344 581198482 906007502 294053732 302548982 652686012 358458144 472146368 844488506 567605274 599954762 748523624 855481428 344821770 969580862 480833266 496361708 798163798 560111978 764658956 61459498 131634258 6510586 799659186 155797890 844377746 115590728 820721156 130051644 6434830 262133436 793501956 335455210 993673516 572713994 383288994 324287092 816649900 934192692 414767938 853533172 645731604 689236442 812476786 282713380 28875602 123052984 187982956 64141968 362010146 860720830 55359030 227909008 92625010 535302600 149711866 154730320 839628578 986308222 134715332 488954982 83064456 534008210 669884940 722683290 615408406 146267334 970735600 733211438 988018942 692269896 968410494 147007928 373424206 194613100 959417388 126458740 262663618 459929708 206699706 329321370 565666608 229124998 158581540 258993764 771515202 163827040 350057246 315600650 699804496 782116038 516562492 981058066 17746324 914503052 697543588 963114116 671900952 852400366 952776580 423287672 903978726 310094172 91518706 360885384 550804312 409762028 459629986 562338930 73735992 267328662 808585572 58766764 679526326 37949174 243414008 629715930 82754340 850708492 766840848 613988478 675155406 638759938 73920136 204588058 676622088 39340518 884700410 509947450 624434158 708346198 825024034 379536 472407698 710242252 247916426 138335840 173840906 711070538 478989496 206161322 187372380 97695890 213995158 101036614 388789100 967357418 903716906 357770212 874148640 841566506 31730156 777427296 408885110 785130336 160509290 990093006 147904804 782065586 48137944 227139790 10065618 837335826 539018148 300992598 597188180 864897680 240180758 706590692 887338862 963672516 237737492 94951614 493780028 916997984 218861594 140238076 895159992 384097650 713391676 58822006 547207062 384338168 455326668 755862850 275401028 871198208 101823548 573469388 616069162 109140180 545981190 779908262 213006774 670982010 157169828 900142112 211826388 894049036 411265752 837212234 745380010 210237412 173581738 106491368 48169106 552959822 603982992 866366692 619629202 394019300 384240004 139255070 567467486 291661228 894282336 408796340 463802672 291940898 3792764 775406850 507782956 257689724 596362156 135525068 912110802 654184458 950396416 33609524 779882028 553960330 907599698 650788546 837627860 840258000 148434724 457622300 191588350 977257598 805622748 750915264 80527090 852732786 218170766 458948166 622085690 416770004 723977112 471576090 322683980 940813344 711052978 51426108 909579682 906561752 591490332 561319848 23474506 314096716 673668052 483112634 260697478 982183412 665982580 700192932 492597124 79312334 179696026 953145112 127559030 183479806 870956270 943243026 835146796 874060890 366026424 427827472 941645764 147987672 286923414 939681886 963571592 989607582 791020668 305032638 80081048 323403374 826111870 403632564 119351054 723510694 797644294 327339478 866504750 284901520 635002982 610879530 423908264 765849982 846517892 937963520 23252764 756396012 339209610 958322642 912876856 772807366 720524476 308634048 948810522 439699740 115297700 271765440 688817220 98441594 474598780 856758494 784579560 270082712 68257458 601577766 234656996 530237160 227048948 794355420 203565244 674443180 856036834 148672814 374291516 684430522 284046848 50149766 831791572 603395630 819803874 465902866 173441818 189624124 771571064 15346784 231717960 622226496 170900560 24372668 768352528 892759932 486862968 891024980 824824910 862690642 796640004 463632766 687303818 734360384 962029928 440266298 386650442 992880390 577457806 504783422 741891624 654285966 81334676 837779890 737694200 826031618 108148688 410072716 171852046 417364046 299675366 915971084 260522504 516470452 429791418 947193692 14687638 592034560 360340546 675038454 72841658 613057124 587074664 672463374 189657790 627662798 386810852 216351762 487185978 488023320 418726074 909757942 682883446 943555314 902465622 566784894 22950528 802551114 31517692 493471310 663750488 773708216 827750438 216437782 649961172 70472188 551971860 648454248 13505756 861973820 75086980 113443468 496548920 23115772 814727524 386393472 175132148 726361618 692208146 779635390 119449164 433213736 872912296 337206690 22758484 945416894 487485992 421167982 913886692 489162380 80019976 115202078 538253330 918872170 296963710 210949672 139438002 967213198 834405348 620180876 746623928 568306874 725150662 39297340 851403518 558529354 189735716 230854786 258644868 712898202 188128404 632096780 368763236 306832496 5935392 157339914 957521650 121190038 769364648 536593230 995493738 99052648 848962792 613521940 242300680 969461796 573323440 255544292 886259324 138766052 922380928 767497442 121258616 337145096 232822122 365210504 879336260 221302582 69048572 42482714 995028028 952056676 995868096 207598100 807418112 739068334 811980358 581924260 739240304 774756630 896674418 12087066 523143744 563866438 639153878 736810556 143220456 666979478 875769160 856135134 530902174 408954246 589216336 572079190 35814918 690256726 412329686 905282172 789856754 325974488 959284658 663133002 885645852 18229232 665563750 566173764 506538618 978501088 698009812 517346036 984739502 116558486 352917304 711066046 782132838 89733774 96697274 677815152 393813582 279047710 480191228 146825040 378855124 472353368 919338522 842998844 711719038 136389364 184109936 429461492 489658814 771466308 486398386 50268632 757407804 869360206 914359950 963101136 352186198 564899988 924365780 461313442 345681104 311989404 397917824 262297814 456276924 936806530 181680648 176234742 58169092 993652748 963193398 435975058 717834676 440755712 822349626 334020396 956640616 771395614 346655770 788342068 59266612 900947830 896172332 485500520 234237610 790829390 809948380 512521084 243648976 45660878 302497476 544435622 78124310 657370918 553439298 97677660 349557818 207847534 283833392 932361234 803432710 403750236 140767202 921266638 826309480 306409524 977264748 812503260 926048426 356179618 758023770 794206518 577033342 175104090 182001286 309766064 26172992 462189578 979868692 708546422 159689458 808815888 190056732 161871704 833500456 902314878 485311686 209617340 125197926 673635208 368718464 317162158 547665732 22404532 641123846 187808228 654913824 620390604 907937374 501285508 533538852 892976932 669041750 838976422 141947654 334276650 374846224 482961702 839475234 164009112 148233370 329819184 619793834 663375802 991192656 113199060 94172650 625226256 879455410 432393784 698237084 300687386 648468066 781463106 859766004 492839886 259986600 111713242 444564298 999615868 368031658 768191738 52180210 556194916 369667102 242785760 190787726 376683120 714792708 169921342 657082342 465213170 259844628 579128820 691446158 808434570 814244404 971103094 510570810 470481734 473209312 820141622 145829870 453968276 964724272 789674020 934302174 301012882 410433030 956787866 557073400 403796146 166593830 192707942 891132274 983710834 489431272 711719490 89110506 157105026 357622868 65394104 262498970 794123396 215862374 367365744 269143716 817024470 77148372 596453880 944249802 815196182 797353552 851393750 82258548 494597068 277140794 362972554 81248 236101548 178006436 944851770 597432882 212726506 250165612 593476016 12662742 876548954 205157582 962451476 432935860 540517888 296519766 793600906 741799184 737485592 428228300 422470424 351453822 651088922 31130044 390288162 671023570 587689282 762515148 425583624 347680794 399172916 575190720 879029438 952808266 431563198 634463200 516825202 185453822 110737540 50399394 908546800 338287762 914970286 212336360 59671292 786841960 265832296 474246130 417540108 527466212 245218298 792082618 808041758 10930902 213520456 837828028 541738834 558024178 94463370 844019332 714399986 473056022 851222888 436653094 31809852 81711942 830082192 246070040 666300920 459540216 799788610 340434130 858677496 124108040 645809362 897985740 121718214 116972462 218325718 735517828 656310142 573419830 497623298 913212798 464103360 728052846 755635030 468194250 312780016 260283336 474472972 446745488 381932740 110121768 739631262 551107056 342129080 754895976 588824872 29233950 987998996 867986886 851156056 856481036 384756232 592686884 902730668 721821456 651455432 614899802 339251868 97300022 23936212 6354602 621166704 407445662 640527938 786673426 821711506 540191302 64606932 239674016 916510202 259107204 495585132 209244280 50560414 590194602 369401868 115295584 721891842 347113036 517599402 675117776 618053496 535689722 163993342 479608934 241819648 161286152 417314594 777446562 84694358 955222560 364750982 412745654 327274038 724583338 303802672 518045262 171643932 101568808 570956138 132714634 530092304 858844908 61599778 644150116 499881032 380022864 72997974 610005350 303951886 841602904 721223262 184401046 503938040 732127140 14582866 696027348 609599180 110283054 378563272 33115666 315518220 704968014 869231610 200433272 161166354 901635098 769980654 402330672 517620564 879990848 629961348 993154220 339203476 468424734 975557272 52374030 343513008 828306424 131781970 636179538 2809828 852645172 447243844 560551462 443313414 985604812 341909028 256712752 940925934 462102168 610123860 390094542 646339130 170236658 550406932 813549924 276750210 152098486 271657640 437708262 593298378 315666364 318500152 449238262 914339680 694832088 211582218 646412394 668265026 616719430 546405512 693057638 162728690 161698072 62290012 554718230 821038248 759117614 318980232 563204144 178098704 655260092 982174942 134764090 612123350 55005812 320761958 896671752 126188290 174268720 825578310 875592724 497980582 539600008 509364588 505559386 681630622 409470174 301125006 378468570 504450384 748641610 770331354 819420288 830152978 395575020 124898768 54710818 317326310 931606518 980033660 900040666 168935720 644739786 484295040 756351242 872144758 659154524 34733914 349534216 484643380 465965376 374077712 390214364 81755214 241823254 296830514 588344810 254703584 389664348 79339382 4138236 123279206 261168238 869297148 171150146 986230950 351203280 927125472 994514662 434553274 743841754 21573000 342704144 271358964 905858056 784168298 353590336 620156932 488256382 344067142 267540030 468918324 729620988 861131896 193235168 732501114 68357230 829792282 483401910 772380564 577956928 725223694 343350004 847199324 525096096 160694056 274359930 984967974 213040692 189948172 712258 745769732 148267322 750960838 54323782 769327312 192873028 10339816 581127480 95396966 68077336 3268390 617078524 399894670 987480666 996497032 837037286 199667086 469785960 460683686 350736552 625137574 830818072 972849448 335404186 432472484 855966326 827454230 74670120 386423944 296546278 337730646 835053892 599012492 196202596 648613650 557815808 319303442 727179492 247175946 716685268 882873120 727685118 422686766 516114188 428671102 633504876 121221718 285564776 506361462 80655340 686403110 370651070 220431056 879853568 504688398 411891784 267828808 94886722 228360108 933617160 592299744 653910594 305021194 212101388 778247670 992507434 360368538 707706772 817932740 107210466 278033218 907648116 979446236 751349780 903400308 556320198 936245062 914860098 322877948 145241330 382723706 6686908 525065948 653250030 292539168 955432108 809655244 707172780 342518958 81385734 765973798 276512340 297644428 30158610 162107544 697732520 444430782 16986902 588747534 467023794 587644938 961483518 777943690 270990044 859462554 15130882 517271306 296299240 251658514 42795154 373152198 911222600 680086734 609783544 268413952 156414758 817088304 267842898 714623588 508145734 464626448 473077522 265421182 483737430 496920640 15040318 250884950 726311826 588005446 713349258 745243758 769233452 60005140 82145900 214317360 30559536 417845462 993765844 874887884 783244120 185680472 985908022 437469650 689375390 688224662 304181818 42895542 130458110 632086640 459700276 679015216 673170444 387237212 519280870 962633038 181229834 541116340 235882420 483435746 852380842 704910298 44681588 14902314 420215646 796916152 23235260 598893006 97057508 812084768 245963092 165246796 408261712 566718858 600680024 339560632 708167100 578090284 216374052 816117076 669807940 848283946 784242456 926991174 366819336 59514992 143643464 429289410 23987752 369547742 770344208 890327536 386338672 860764092 398371876 986854642 977766346 81962198 828618030 255023632 814914618 179590940 507058298 18380222 603444120 572882024 713912336 523032826 481379432 326561312 847259748 462673788 431632396 937150094 808174108 555619242 171795794 195699370 930393108 170653186 59218032 163458242 642128128 302776932 501120042 279010726 481665224 983952638 940647226 625647136 266053072 512163792 485389668 52055088 513804206 130514512 218652472 697613824 953079196 719450488 17138976 606194238 802636414 428426508 606819282 84355318 646844664 836193682 93468148 188778462 183116254 160106916 911260154 325873412 459473170 699326724 3970746 900937666 105690248 276684988 507776648 354171282 329392514 898690342 709934134 372984178 577661000 389656246 488954608 627915408 447274192 324430700 66398828 635797860 477102762 780862662 989109280 128548596 98908092 309026748 463343630 38912178 873516720 608209046 100375798 786202008 336400746 997894054 432385160 125115042 392791464 303510790 400988232 880014794 683183746 911146442 595232516 815865766 80516786 864948054 882541752 843689248 475329538 35053466 544601458 692884814 492701950 121133068 761747440 90248482 473800502 946579596 500773904 598268198 586121916 310808890 451900318 802586440 938908782 562075016 682963470 546970072 476881730 430352244 56039056 501252834 572570954 853876460 43875216 630480560 32508052 949818562 870733108 118658616 221547988 399274586 655076744 997008182 56433362 757402570 32051338 707108712 671614320 601439626 694385254 635540124 24213090 246880228 270020136 198612952 527113286 140298968 289583102 334613016 655989012 726005840 63877976 62546492 873301640 470081150 720556134 206733258 521871846 502632278 495640130 650672684 303510356 536425768 637680186 202555176 637738570 647555956 499260836 989290234 672589260 969924324 273870724 6026792 515890990 279822090 211775216 174308648 915674512 457901060 407535704 619413704 406478966 280900558 267552528 564050396 970959050 75394116 571016 72259164 377878802 276915282 459739196 812480012 983741110 410563030 927047966 839255278 189918268 618416890 418829482 127299730 847453390 855730724 245057850 32114510 741555738 772856248 607942588 222699674 897428766 313810032 931487236 913507848 76990124 837496840 466436498 465232118 420561140 883984154 740675884 232611478 298481802 590872228 415377448 891626122 188577364 583729884 291642730 874958738 540542472 442454736 16232326 448780466 76477624 730026484 280412760 296054066 312051238 360312798 488332906 54880584 849118738 102635942 738386266 801138506 668001630 227846548 377041948 208595784 73553066 122473890 975637416 427639240 186273646 961327026 45698896 424608956 536090526 892818516 163231278 934595106 643536564 256530566 76048954 124729810 857611810 806583554 315467350 785126 603935502 223530990 597721138 534136392 329851914 277649000 60049918 877622206 442678426 714238288 600789956 172409610 836279294 288151260 927934130 57150566 445264392 238090836 812177904 496041960 681346724 183175134 641929426 7963906 592289192 708588778 555298382 764186924 351366520 764174582 415477644 409527404 561268626 936317520 160277840 54851684 871158790 955957342 13147924 791782278 186489158 154880814 873992358 420167042 904182626 756043576 708765408 983450860 761761456 757852550 594810792 934620700 991142630 377962628 974879814 161848600 659105998 332628760 727599664 857491062 28286048 444404270 597588476 353711216 951689044 793539028 489893106 794690708 106412380 92316162 631707972 524995576 171237180 337995734 208939090 2312200 66436572 758970586 474858838 590423036 587568780 908270040 235934342 234983634 152809064 485736466 975820808 179916424 470622876 250474086 291756148 234874376 36033706 25851546 602806610 525462502 578537620 189635420 236751994 146198152 968587096 937199308 94824838 876454270 868518204 586141458 582520450 521373132 330551912 40486826 216757170 604213548 412512322 82333574 818314264 32421090 278670056 983677478 677080910 303407492 102045302 452058950 432826070 297087908 726553084 590577896 927193748 557904106 87282094 521677044 684372280 183705480 631162490 859516592 754707066 812197370 716318204 892872816 397466490 635308282 884834538 446621088 455504056 250601828 218480138 288325350 165189378 901746382 429078528 230774480 411161022 636379818 838037528 582965288 744284982 381987088 284018620 34726364 499154402 642522208 785139666 236714740 77175950 35958170 942630914 846949692 651461852 468228354 299999956 882344772 236766140 638109672 630984670 326870806 13367130 349656826 677775154 431158294 543895370 706921206 574541062 535092962 403755334 522201324 620147770 290506088 538950346 716415344 863683264 600172846 539406264 179160422 129443400 114233294 886857824 988824972 553823074 80325448 510472606 881036948 471502818 553470536 114368258 160582470 626604876 360596358 964565666 313479012 949329818 722808532 137333842 86640534 581510628 255765486 706133488 168250494 298758834 456184924 892039668 969211424 380040440 309262824 343964584 659023370 253365688 510934584 96182740 645292858 104655668 4228556 595170466 264687266 907631606 717481508 815076728 557702986 993007658 172741680 969988556 747117566 166228546 456809590 611501186 983556484 53615654 925045978 325404410 956611514 999517230 11402136 434239234 516963154 687352086 755233982 457398724 332234686 274686196 434746660 776546392 278030286 969966676 432335928 197567294 476286372 172376806 226907448 546670324 908069190 750224990 719494078 455753452 632734206 170854894 311478352 723052494 256998346 955933560 587048906 3510460 932680046 789807878 660975820 927817276 66999556 736195608 775795686 749758112 351705844 36241570 936713050 494762174 125477020 709222256 896187834 399019836 367245150 296955234 483121194 900401516 148726808 720357232 533525880 531306714 500797148 653416114 374263280 492234998 719041016 945187344 685148748 536007050 69990066 887065770 716411886 294347546 510714508 144399502 403762980 835494886 374897296 48402320 520310570 669072416 145826238 117304858 895534440 626559608 983693662 625310052 77748940 693726092 443004820 970081160 684118920 558390126 414717866 648247570 666519962 461454048 553979840 412731064 111549474 136532754 971451920 702553014 356668010 800414932 353855170 783313510 674636980 220374636 942342130 159537754 814174952 850851612 181207376 176292828 472844454 819263786 887072898 852179082 837457902 448657828 232251554 321497394 463140698 845497280 405004304 678889908 317059450 208287154 227221486 950841298 664376838 808280568 370927972 3802202 79933450 440618812 517153984 583399086 289579196 972930972 287851584 542267176 409047936 214618598 409393296 398096152 84255410 120679972 487967118 837925702 509140936 824119494 261495640 213350362 108420076 310941582 386006800 247840860 891584652 619519898 990526698 693789644 808078158 425580200 380630904 607301562 188036564 586035708 233562056 809307314 173137906 544400898 460361324 346360952 188328350 861491548 218229516 227981818 527268124 496942850 257395120 804724580 820174130 916835492 253879752 538851118 906341440 302396238 952174420 821421032 425955882 849082382 40755210 894018610 678768840 377245898 214248968 393832218 40791516 904465604 263405210 141533838 513524792 534280676 199933842 88504476 86117084 521832472 164185946 845237196 434394658 593598260 236053150 4286420 507869936 531377516 278496140 177827974 101642240 635170630 57468166 95882160 494761966 138245424 274962488 668820836 166835662 808370086 32925486 69628098 700617176 436523874 877385284 993177160 787286286 940568368 42040856 153905178 639317772 65052612 688668696 637264156 411391110 842687346 966863790 484320460 820469266 369078792 876566132 23065098 17571024 483829066 257123662 539444432 856272194 378961526 6316190 813263774 804065508 669277956 468857022 60817492 399516118 134397354 385022394 883441178 514598420 214489402 149791362 482092006 392495956 956590828 927371726 118460230 728338674 381222044 693026638 598141814 757132946 421069420 385501340 273610422 768251876 990743906 198548576 728389532 549582608 955812870 879404292 948287728 519273288 990084162 131192294 706400178 431453556 104429532 86987110 835389550 132644102 337422512 896170268 735265184 202219692 414533200 291077698 761686468 839366672 61490054 538327250 146342326 141304546 139626716 483795110 737178692 938107958 752107584 985491020 869440140 302819128 725970316 285386636 138291400 297599192 664594206 406278760 295607196 332260626 161346546 562606008 332830216 965634210 829757004 38440996 43069234 635366106 447879432 193429618 676211910 655021648 334673284 724845650 625532610 659080808 81064558 376894894 400107798 552997268 783859470 919374916 877081630 665140888 429324178 950911624 954045930 560928248 384780550 597270480 642368206 469154446 498471638 670156128 713611112 256302302 40450988 100857046 230500182 111156682 227888702 625179088 704234632 759131536 835617518 95439850 863168342 737235344 875462724 594625622 247033736 731061016 726861576 343518590 165724174 983126182 12711738 859528410 427683152 629754484 420225336 859885628 205761300 152750550 996285060 430857730 80636398 168688766 702048904 375748008 439688946 75820240 694528880 219944582 270048858 576062184 358458196 974080598 53660010 612258164 224836022 926624114 427334154 428121884 692513650 994062586 145736400 513117938 388462002 818851802 192460238 196191748 302742488 974213304 785376044 630095738 90071638 20522176 379198072 595991972 748522942 505758190 633873016 767325904 524309598 837106258 472107360 399065734 720132440 878944658 325308350 368590748 135822850 160788930 353545696 711230076 103731800 594334252 513534772 289819208 432231776 507058056 707530548 537493882 842569214 341538522 277566202 275582608 313135490 405784640 266311816 577876480 776189284 836024474 44353210 127086854 229886888 504574592 528675798 627521944 36185810 567077432 37279396 795033298 665906364 553863762 203116280 778032086 7508540 865694956 401254788 192770346 377353332 789611818 33511200 752316752 238523436 799923350 399387924 634622570 749923552 429853284 552245702 309945196 240945786 68493714 991939462 250823138 7584494 508529776 102455978 124355894 694168756 791260566 927827948 302084116 535499336 508235886 562982708 660623930 1659348 242800364 151078446 310777810 422262936 1000702 695734698 478989052 43597586 329768268 738794028 324806736 8963538 161666228 150852102 552401018 375121914 184377354 785653368 868448240 73747300 996109748 719759000 907119032 506453724 94820584 845183776 517481558 779480052 755443796 108827466 983470674 420205142 956526398 355604970 358899262 515256064 730501134 25321432 232157498 687546122 546605834 634011724 325245020 426133432 437574404 659285238 249111438 205117954 269691476 397651762 740146286 749011428 249477486 459325620 62578426 663973752 974103204 823696330 975711946 695169872 991295272 697214192 478743892 450728580 152742318 395429490 586938688 222781216 136676008 401827582 698157756 870108616 180924532 502479240 965588928 425913056 622928630 95700794 712626634 597526466 676554160 819956894 26374184 595130614 42842916 849455602 626313592 51344928 934147274 819179590 772525060 29018126 112066682 979047600 226969268 916243762 69921896 843126916 588932992 163687200 520508238 526426774 236058930 44010838 985486492 340827280 4832328 798826264 37638620 136798922 697083802 487309830 407991026 831387368 997808966 635341172 791446600 309068050 179247704 448365034 967123174 126647404 236878148 790578728 550950078 397023700 231337588 201942790 486401874 253362540 797123082 217013608 197069956 65976808 205797552 862973434 570431116 97589996 942537722 3718990 478333366 467210256 719320122 193704292 937058046 823911158 282360284 317871766 92909546 871514142 863339288 827572116 35636024 942925664 769779292 697966440 931454456 69456270 531174778 778294132 71309774 827741184 741092276 745699766 693447704 779095160 677666450 592634292 124170958 131506054 426706376 76816430 159682066 293687338 932250028 378614912 365909572 12405014 160593708 613318730 3394422 965718054 142512734 343110858 404057948 815056768 342914830 296786288 267757978 901215470 57089214 44115222 939612780 18495976 78980332 296020616 841961222 539621996 946870576 413545010 932531250 226855874 137375294 894414654 596022180 209668576 746159156 970018106 396215202 330992270 113508120 857844092 874948444 990789604 75027356 430858020 40835216 709172426 293718372 15182266 510318752 998515400 187270230 534290666 292215280 741591720 681211308 967817860 342285744 864114486 405321194 402370018 775348342 806096590 236167732 316592652 222528360 731221480 377784138 960145220 556118650 906345446 238270776 907430460 793969926 732968058 493119848 7827164 208591826 967836662 494928894 337552388 404636460 181271534 78497692 179462852 964455118 636145172 525612714 802743608 468451144 150036070 909085560 492708516 103434650 745672236 41445818 274493346 79407402 28189646 719366592 513212946 756130578 484401196 394575870 640998442 990921874 52213178 270914728 999923364 850966718 164192396 877783206 416768922 931166622 485166198 898143044 612039366 647489164 428822464 869005240 584214766 56499562 118066788 858625500 160300528 277059678 836408764 482319690 26014028 161190602 374368048 907390790 322872382 878190586 65968222 546206894 174219008 294268486 952786544 225908332 911826900 943874632 964619186 2992862 65659518 346316142 729375582 830297478 954750716 820373788 620888654 15144354 460311488 794866522 773644126 112407350 423435278 236654336 774734782 537051362 122191688 513358830 65071870 187178974 353648410 789587692 441232710 508070336 263757760 972005912 473557590 998565670 87600800 156313808 452502682 485063472 516333590 797768136 318816184 900072278 672818032 600971440 473208886 663814544 890837738 951173302 998473468 99903588 611247250 640324846 987273674 167114034 255192754 870804564 16511908 483993708 424126274 476088636 188979390 958688708 183100658 168034890 508730902 291207140 799940406 532790138 646623852 37082398 143932362 589121038 26598052 361217230 217498590 94649136 241552142 490255128 535272936 552723616 852149526 754860636 440975190 920235208 678943908 878585596 169912812 454275994 110992666 752455266 505562488 86527476 875788226 165482464 927855162 706740514 366988968 445330422 59035158 618975876 478024488 756849218 877541260 404805876 518112804 127919458 560195460 949191986 589221700 296821396 539913094 696677964 860807922 556221742 439895694 959999512 808845212 35604248 364860186 641602132 622971150 770703592 912569912 267554906 482884764 341531514 251203402 193472184 359658624 575384652 677972382 661989634 221118500 755045420 366768440 105686456 383340902 976000002 678469556 819625516 236882928 366672898 417175918 70630938 492063226 123408128 415083710 387813182 973959596 757070708 815239886 588726356 123520482 161330292 224426338 776410660 300383988 41787832 261704824 569269368 941141822 573137652 322535798 183071468 527436972 680207620 499863694 447132066 55535122 367214170 980264858 72329304 743578736 21041324 211846242 959926684 169690024 491896700 296152060 277691040 198615694 87769560 399866664 473302240 323006678 78334080 252116002 898762858 608766532 473968676 950394748 22825760 726805324 285808358 363977000 449739430 60454450 81844042 204589854 25911720 639812836 628696302 26669254 258505862 599385850 606627742 143632332 468055246 829557024 397308974 991231564 815712972 932262114 743777398 900313428 699109090 197101866 644086840 159165244 941168658 283368914 287270694 117072426 156901452 10713776 323000978 689971224 285797392 442056050 981276036 255511428 395497752 20355312 608131440 245893394 987422966 522192154 57329138 267150696 339640150 557005810 838064518 620118116 599843164 558095476 535532138 601140918 14564182 557584522 309897648 650233610 911872844 212900494 762367450 55516986 288600672 612296756 754203278 425481876 654886026 803689782 627256076 480472716 859030574 708657806 842459562 916896820 651830530 84918012 585642588 504305980 288041270 215447628 363928534 766942224 915768212 322942902 402994814 677359702 228170774 81573484 926687764 278371346 261028534 550747886 692714812 194793718 240575614 181449584 561024900 491768318 308185298 292099156 841071754 570251148 293358616 161267200 377446548 725249412 669587916 481916478 156529928 387949750 682831486 612025326 342672242 958982194 41175028 789010484 520660816 9386092 730543142 422206578 61780332 438271358 877459860 909848358 225550578 95662268 799421578 589266650 625959308 743868404 848599570 370621480 443094450 616198688 408948012 174192374 631435576 507914758 569089992 412871994 325928070 679736342 552518128 95541048 557718746 860360138 273828884 689009144 367578734 741726792 929018264 803422010 523415098 868865846 874750990 965086114 197039582 868239352 936604030 741496842 382055208 345278390 40473466 587879726 108915832 204876952 595674378 242322206 107711576 932101256 945328734 875140298 723260244 604843100 866412902 654227314 251159872 967675364 303742154 132236982 352311404 336777568 460582550 196433882 684090724 216855044 759231444 375705194 478023952 124632622 56315432 307263516 755810192 65646850 891340854 50303472 17446120 707938548 724704838 591732828 124251706 976502304 449124012 975568382 512644000 553500194 686553448 811761728 870602122 216130476 43819274 3771450 668228496 958097322 593720482 701881274 924083442 10436706 643694380 673271464 729974146 234298028 413835380 488745554 81895364 300174796 531917484 390347810 763930168 793380210 222121266 622779586 890286892 167318936 940618304 608762060 814334954 604880548 135703124 655053278 745892468 258546748 934134616 624391434 979535054 417000238 138482470 710833848 265981598 584937994 849293074 190638164 792419584 849044418 25400812 473248960 384035620 516509712 729667154 67791660 760285658 322922634 259115908 637451466 845644762 555333324 526469742 602163154 213897052 619037216 641863830 570045642 434545496 349648662 402098506 759361884 77037026 638919886 227729760 688359748 722009064 615810476 393813662 421040750 842412448 998179540 731870310 635289032 719457500 769395044 312860656 689048540 152577846 409423858 832167246 523399760 588111076 109464904 318751344 14920798 611275588 320058810 223749924 201612666 424950376 873423286 984501178 822422204 542417988 833644926 771268612 931018422 399692650 717286618 507803686 486940836 135144164 578657592 270315688 951127022 479427322 626104402 942913284 146159544 12913374 11400258 192078366 306465868 107660096 996702730 645460682 298438546 467008236 995505354 472341794 897514078 402895916 143730840 408282498 316388064 15691104 288658586 103094292 343875918 391157878 122480950 142502680 329992358 965976078 678056698 677766894 955186228 470739780 110814278 908922730 933739406 259279722 705458132 262139438 647704192 832033798 763029320 754633504 386801306 43799562 623338068 380426084 815397098 461038172 938216668 616380682 681860016 403542146 188282478 979591538 39880272 501494062 698664558 161673252 160227668 853884410 211832620 314841346 238262610 82255164 765549192 689468276 869257524 713438100 513375558 459667606 854521528 766870976 134812844 132059910 236718714 170003972 746765778 854526408 504940998 304358014 794755156 573947554 873920192 422845928 168173356 671700994 68914556 977838712 647024084 956738192 71559018 275659452 698042002 986017064 535263894 756795506 792571462 400786208 17482524 518690174 56024236 171049046 752908326 148784926 228890050 172634914 536461846 926706592 158346238 246356566 339156168 213962634 459593762 439209470 614353690 186311652 974255550 952379144 639869956 178769090 485173168 195783102 28207604 268062478 302296776 209512050 618015668 675537654 211521580 869601514 792253498 263567832 27265502 579831450 654219792 681687790 682443848 428089818 241347934 685176724 421646714 895420372 976216942 962789472 111718164 878621102 411173728 522355776 25864284 737018956 446186026 928178236 959543714 254365606 947150020 528316008 577630370 49897728 346049502 174539866 854701848 357367776 948815430 368930796 109029436 275767012 118106668 505832372 229377294 170552324 506320624 642654656 971963320 640807022 871756726 514354546 450987140 204379358 368014572 797496156 180374628 564065248 473399728 355889202 21344732 545806032 726227678 623759198 518098692 10676006 712797044 909769010 851192128 830531954 628710856 180987286 43792062 128773218 491667068 28529720 155072558 158133748 394751312 986982686 28389156 216684786 723136928 894682000 308717340 209526980 234325806 986370888 214764804 970382124 776431456 755697730 383673818 960643206 335823772 511050076 292093724 551512578 977374226 714361668 589370392 421815060 512326660 285728932 567218330 468252582 345401884 285692448 8275860 511775322 190415676 208748390 216577380 705122832 744993304 809472450 115214436 259598158 596255498 154051868 160521910 186594594 408029772 680612370 648770056 214489002 83137546 171356238 517494112 642827328 278958170 180269340 683172624 360396322 166060674 711835858 846930370 783736848 387574986 866653632 189857364 555592090 367160286 765894390 175856562 339285628 747213850 33888386 339135250 800746772 545354226 675263720 728325644 490704198 235102366 471827848 422297056 267826288 761324774 280851154 376468984 504577240 777217948 664719644 952177254 29681090 519749870 341890790 882095434 730890118 702735526 602685490 827001438 950396556 227854516 330064762 357404304 22051634 199946808 176828656 356437736 819777012 211632800 541286820 289768226 769429710 518704374 408750766 378944408 645288334 319378756 826247028 908192430 529231812 67164450 338806486 677618702 46685118 849639874 301122024 65183804 159128416 648514258 246152164 162439492 941743274 139110354 227571234 791573954 638146250 969403996 833381152 666099538 558622032 732447256 585728828 679340426 610957486 651467232 505704096 861532764 357529494 875175922 266352560 310069162 667370146 251690288 957202480 36311542 170602344 431223726 912683854 48501678 356465556 87593224 672112414 149897858 282914180 354562174 356670266 570104156 28694210 648505974 421759986 574740096 355864798 932662732 556772862 605874720 254595750 746233554 372199230 940062704 703232680 313278070 630333876 633961750 649327306 678623176 297156660 582401558 976582454 112416730 643571084 235964302 298682318 532262122 272490624 481811448 524643540 10743822 608871424 135489310 88626260 195906174 134137146 403692636 972903170 30579218 794694838 873243296 356549570 413072416 12005166 91815864 993546950 988295748 595598340 464718622 868134748 138349462 138745224 521078538 531737788 849687440 465506172 912588094 453437812 742679060 563286202 280966890 214751722 601370466 909204096 971633508 918736082 104330722 242618602 553022558 293093988 223410178 69456798 680406752 270738444 536430028 170336564 12643736 101563074 29332894 336201474 857337998 399545660 390329142 315555666 438671330 314586990 544775708 178156072 139776536 652136326 470008096 835421984 746725928 733446458 311202324 336760956 504907414 168753090 498214166 212381300 804794670 340913822 347340024 238566398 144387040 661183242 828501460 468231678 327737934 244214620 668141826 350876740 427925970 994859794 209425358 495410456 301806174 66472484 93907656 289385258 211787682 705522902 839953742 338512268 739462052 615946254 777402254 555372226 248641900 991966220 10191708 586843332 481776824 228863136 276580908 948575378 223013840 741143408 843130088 269690220 100644052 926348996 383356526 971361870 194665190 609303440 471684902 606259536 783988976 884320740 198032524 433157794 184728994 630829964 742712692 63618162 729058826 969069714 535377860 618769000 4949862 500275124 271236416 341737642 939222928 424387076 515539334 32073758 933528624 701176034 906481658 620712136 694742052 419769668 630066446 977796372 769156118 307576298 402288714 434670084 591739030 113740118 982314418 41345984 791052496 118172794 804078224 216185340 719427104 273909122 258095320 562978884 658127988 413861134 179652978 364675462 227743274 848073704 893866020 22766466 169634522 770768534 484129546 976152688 594036310 56305092 685962776 345890594 596710580 430128308 510038350 455231772 488312404 452521666 207787978 792301550 330652750 713921812 317364294 159010756 865840078 348580030 748081746 104282804 446463362 305700110 727107596 585576456 324222260 708757598 349232262 607253156 247075740 426942088 451225468 226623120 834912762 860238968 705209726 356062570 439540596 158625956 791532122 214320310 102563746 591788994 717533510 734410072 888220870 754043014 477469168 902744280 116562672 326305418 350055636 297407526 414044630 1379422 521663664 666770488 772936924 671702880 539289758 61202724 942237042 48183612 286852092 968828080 925218164 753517300 726896112 230722698 724258466 570834638 841062130 567203380 252850656 530037406 260019076 54814168 794035326 271405788 716312300 827305824 474906806 876936596 666280800 755526224 767752572 446308438 657585998 729914986 142212192 252972314 896323530 527816520 326892874 528655940 453494222 217086166 214949758 464827040 40682840 43883506 812433324 637902170 313561736 489433454 749342862 286362516 286367484 795267226 567345450 336824032 469953012 959754680 55384844 744302870 618688900 740268216 567914030 509048308 396493936 848663614 84251340 994162940 4556936 673458510 855353014 758813192 211995126 92379292 580679696 409921744 933805242 724735372 113436384 542200398 402887596 447954658 623825308 515264304 214432876 537182646 305083482 442226242 803197054 559611762 883007804 373339176 258334678 664607334 780923586 83177280 596431072 793147518 754840292 284404468 481487964 566793624 894258892 193742656 264570908 796832468 265283632 219209996 782750068 552732260 552430586 25700562 322331022 67483392 627054498 673715462 390467026 986164538 951639496 938475842 321727490 135863676 221315368 52840264 627991420 40537372 232856734 618743908 2610802 119131214 307089226 478215318 771812254 891589458 404122510 741480846 115343168 831630316 360744124 333099268 958375234 382717034 509899256 907341972 945205348 107019728 274233712 824481224 598862016 492657670 389486452 325949980 369081970 62954064 544990696 397576172 490610128 486127150 657632902 88037520 772681302 868719502 278373778 763369322 162760336 483680070 442641546 24308604 474510626 659720652 602010918 200515018 627833166 760610910 476057582 218775088 329131640 878467976 417126000 620838 596187250 504571204 531450586 580965412 611808254 350027610 41207038 190865428 97229744 857523836 41036172 98329444 682287104 883156912 125757052 465173612 803758134 708166970 681838992 699468290 550990940 573223080 53519342 841481482 181734326 543134242 996933876 756587214 361084700 461990840 186468334 642516326 820459210 17943850 485509166 926407496 997598752 734877634 14059740 485200276 249235044 10341908 712652640 201911984 799534180 560414184 944094104 916699996 585669346 202733340 637407754 818748096 305298270 88401478 497443846 260367028 836543488 967627676 732293838 16424564 623853338 293758646 419072414 892389168 916531886 211801516 728640920 537552364 143012928 613401460 594357222 736083552 269981836 140110836 402815406 87741768 657204496 880911968 852253840 940567376 461220862 649440480 268940304 818035944 20343524 426852956 212223734 830960414 502477786 315547270 575038414 495363948 47639004 19200376 622574556 884222922 633882328 589140252 161739348 75947110 480127630 887881904 920409444 804364688 316908876 420674418 788381652 911136556 960568114 15907214 369048948 159907636 795377996 307503704 406706370 539501116 780633380 759770220 858743976 834799754 524091808 192823980 366953514 97167706 76697004 85211562 777160926 647872342 266233142 333625454 651848154 502438488 80806098 166225260 420189594 752089958 868924956 46551438 365349760 163215090 35662218 951798030 477254286 63530040 868003850 863990886 257781324 280121676 788444662 54837656 85544342 328392928 833157422 318442392 145285438 590678852 634805286 317340836 243437850 956157544 981739180 457127424 258297224 247439962 351602512 197812678 456973548 171813850 112693528 312069502 755793654 873416316 962638528 449601956 234191654 707294668 373434638 54460244 516859756 419270626 31539148 842537426 213379186 681817276 439394880 719032288 270920672 793526416 465222260 586170544 867015920 862682078 727461050 215394112 625737940 953391656 903899286 257066034 800017362 63445360 191177058 300539884 10203146 358043558 344194350 355390680 699653288 362658836 225413960 349259596 291095824 65824526 272946520 835214112 55152832 86514790 335592568 434357342 744946118 100505378 361208774 386867986 236888234 902112918 258786880 170402688 771638608 430301162 650230460 559641474 7237496 545049628 826670430 49159270 679763440 664304386 107756692 693769220 118857366 59933084 162364664 841311292 945863630 501421762 852096154 958434008 3992136 150187416 685479234 117513424 488122960 402228806 688219862 641660910 130095092 493997600 66241564 75071194 150250460 512275818 183357518 691863570 156753570 488757520 321585250 946337020 980506658 395662930 434124696 561692652 973361152 829126906 216430426 461278612 845269704 983594628 271087304 347352064 11299282 459961804 671964200 755887226 839680798 60524182 993822992 349373560 932407564 507241320 330151888 122031956 124722918 324255768 606955628 994155792 622070104 639267942 210058394 455862412 988580994 846197530 427746800 127260042 501419192 407604050 656734240 654812350 601426150 248001128 309691008 948347966 347848992 96288558 908653124 475069550 832332862 559938358 371772404 947167648 534737972 262505248 625906174 782474940 478085972 465521600 63889602 779936346 400106506 100557336 254277662 509773228 56350186 50180550 113837938 4165310 422505042 715583060 719285302 53650912 858737458 642720330 631278124 368286930 116990308 368839628 858364980 698454458 364094784 772303604 216939538 953525806 122208458 509113710 435790940 714840562 758187892 666834952 893875472 556743306 634430826 215539232 78526444 30901996 12121356 817562876 231062416 485145992 310563304 544134738 521662326 747260162 885348230 849939814 186990944 829341592 623242296 451303260 34109506 265022716 798181216 579667402 212085046 781738326 460969006 1917190 731260886 355902994 501601854 892366152 461937426 843711618 631513572 24198606 630360366 332297190 94100328 601319818 208993272 168382074 171425216 846354810 170222762 679963006 386005124 899355346 736487234 408660358 326230342 110728778 693668630 226837808 336445622 459551972 742708650 931140818 358196706 125013690 787634434 487288414 229565732 631127708 695465672 973986300 941132998 44378276 310485286 648416034 287724358 99024454 480744966 723999788 92709092 21848620 538691232 786484362 641758808 782651788 848599082 883304878 588678124 914692252 378560578 815535296 483182020 210361216 160469550 397088210 881022926 214569802 823243284 563599076 7781430 875912292 443634440 48294306 556956796 416627044 104864604 321913424 753356814 297698042 363653530 395386852 720268810 212362436 509369658 641028716 33072280 124728216 880104578 875817094 393595126 440691480 819159622 147811534 962631080 681652416 895177402 136162894 193834900 401456220 50876734 493657804 282143284 690790710 99643844 679894202 632750294 511669520 940334768 339293382 192195056 720103610 95844812 263623532 510863352 939453976 595702256 687510326 313523728 166563856 722344728 909695046 945162458 808193046 267309770 886960168 601493836 964394188 110714258 160768570 667318466 754470350 16750262 227403390 89539484 440487844 118255294 683094862 805947796 134227770 516531636 489122820 488691358 245952788 775888134 623714264 724367166 665176928 339509110 882078164 49824826 684203250 198707110 598734256 557143020 729909892 30965548 288441460 827725808 619165456 334881384 911747132 275025170 335604104 362196214 46073630 600222868 57115704 824455196 314038438 455249192 84622836 948581708 4889532 837618056 147661072 162615760 845505956 720214074 228130434 786445016 839672162 454205154 914742622 240966012 81899826 466399614 870531782 956005792 832843630 791893474 910187734 647792294 690959132 233376082 277469618 55425872 809020122 582654274 646851690 386924048 925872036 482802880 970094896 399501424 381625330 252487548 966340268 169854124 129315884 637831444 321053588 60737594 11697146 739246512 301998444 830832390 2129472 330897544 198767772 993637522 196695530 423139928 693443512 820658128 628293938 97463968 82139204 633270310 44364254 590593548 173289658 773806288 332520364 834761630 737829620 38852508 29504574 32698024 45481036 994728688 167322924 737442368 422124314 404641000 374551424 932703458 453162906 439253276 752689850 587289060 622141142 122944216 548025290 581210450 181669628 890400308 585383070 971333906 119376984 424295900 152037650 474395136 608184486 142797402 431094316 105960986 938024102 936006536 862051890 98636868 126108986 312214214 291696962 584666538 662961400 20321218 701402038 495296854 22661326 487911522 41455542 32005974 139504816 41279324 356961606 684788904 45107932 359503398 37426380 981087764 469545144 735759556 128147112 293544650 892961570 404412248 635648414 187652678 842389172 680813650 176062160 632142998 404604968 407898248 370644958 568826934 676833338 473506860 224232150 883586436 313527836 858510008 770974310 314938964 265297962 323563358 978368146 113377324 759880648 930839136 406628614 83745990 478715146 339683486 17869084 73620540 223462312 596602260 236630172 374255766 251281632 360541096 452440528 56330490 952450610 802254642 925871238 859719222 740630896 311730882 870759236 753240324 141604956 154744346 762957478 154239170 752338172 902139066 122948168 993749716 754609362 738188420 796919450 788112150 158745520 21913570 890252538 166430994 206792756 463493692 279559936 905977494 732518328 992026134 545220666 289831266 741285520 558817614 818085234 559627400 208551898 281559580 737966726 181826990 662656786 527551160 850977478 398180292 662892248 460723332 321077194 150085886 774260286 857421768 858351148 713780714 354079480 489000022 29664234 329179116 656517636 209401084 735964454 720284642 696239488 224060138 572360634 999079228 507575250 963240856 9181986 453742778 671637672 207699570 365973162 56412628 589754408 671443658 635627330 494002108 264784976 256436924 626468506 240933152 331716072 927428854 94189300 897477538 966412156 292464148 708970564 838933712 24063474 110328598 272756264 834312998 890400150 201942628 339415954 795089448 190098592 544395864 449370898 752384972 744643674 951455460 983732350 276695304 448018358 314451180 724324334 490799066 712062370 366650236 972799302 777814958 720529228 66905708 845622234 22998326 88725146 178507462 876816136 933897628 211476508 261430856 584888628 41553118 510490540 798148554 272015864 455073168 305648042 439560906 537081334 440002068 234222492 62005372 969324384 320106840 221727250 306462096 738417542 922887826 511377220 283181566 771679668 671987250 929250962 140004460 695630966 514916824 637654430 341347756 790424 806982828 280984208 539606146 478605066 500610194 651253148 830068160 810961240 60243466 287643938 753505990 306272330 26038182 581525954 190792274 130512798 690613042 361300202 859309348 686992358 654578456 439401108 746712762 642393148 728909334 367108864 425360502 896527058 906712116 527111350 467975412 978349888 812423898 989594792 986760170 340189182 468840812 229981288 452979588 287821284 864244448 201915524 945433638 702010300 499338166 975602542 341380706 334164284 286382512 241889662 452879430 54974070 500582720 28867802 998812958 172171056 366222916 6167218 888294832 778281228 708739318 41879210 706507676 730130638 446518654 917370694 434412612 964588302 435179134 186288194 35614200 784882430 16432868 93961652 398602170 899685740 471516672 418697172 56016642 179307366 8798234 190021678 706812912 328226524 153875286 196815582 750355136 704906566 44520032 701397952 841194650 915195922 343955712 991576392 741614080 516477268 953025014 468973046 569486760 726076310 702479578 130851120 125499898 453573508 474081630 757423516 594634200 207476510 714744856 817896790 237854908 299576728 546744388 514559454 420614354 469969248 900787276 442970946 238200706 695822288 27002482 363510074 31387828 834414892 873557164 421655664 203605224 561424628 319371536 265478322 207824230 415523850 300887368 27908534 548170018 666262252 26426354 809468780 485706814 181849556 517751726 660022624 843779724 532105222 391224686 140842106 710406026 912821078 583724492 804966300 259412966 226213854 479086458 92598768 551377500 88494482 704872804 403754148 72927522 540449328 886512940 49143632 212868434 426531084 971600024 295749980 545823248 196491610 496038564 454805664 46162390 922525724 638134892 725973458 391251956 287859030 622013874 672317334 376013182 930104718 230493030 447131214 572210182 15942930 125043386 655927662 240586710 235789746 283654398 816677412 122015056 406072512 956827068 285761694 903180204 9315904 880710866 254558456 60860388 134027484 563345182 433889506 536908306 632903882 74979924 555079542 699091896 904857532 547067706 816235808 515674014 311926278 460429920 865564128 318492644 780063380 571248108 856232774 564923864 871345366 30386458 195722978 721203136 305334592 526960046 411600686 773688194 825231698 394526124 450543824 319466692 547239176 694031226 541270746 114491282 454904128 736189310 547759468 243032476 29249024 792033312 976244918 68535494 920807696 146491810 73410836 481675310 568289672 798420426 526776668 189166078 793703598 319651358 608349638 300238000 370541000 386784700 260348652 343938980 615179616 398812964 763704598 119607288 519042816 814359172 168194764 189598366 476408290 906149010 603190674 379230116 139753204 454837138 759079226 782549136 337097176 299341834 558176122 833352594 343172616 302639384 193593960 940198612 895512386 190701932 150315150 930546812 862474442 229548050 472358678 258743738 144533864 479723350 789424862 151650286 815834434 668294908 658644516 417621518 531246120 676308602 886073650 785001930 922184296 370605862 551684292 414792304 87626234 457561742 712668352 864899320 907137680 901454930 187253262 901441984 485815304 730339356 637017670 166143648 340536928 889018542 195563832 897585622 86280234 865739756 107957450 347429656 149170898 435947518 3234444 868642818 202177126 575153174 43496518 517937288 284954994 374044804 582984710 475720404 567768550 409433424 787852462 514679874 715315576 929687822 286954858 136664714 373904842 215302938 79975610 53528758 400355278 363865646 681144152 367475964 801542106 356651032 144561038 343786590 629976730 880156892 971609546 614486262 688767598 285859228 708739992 145442756 975120206 892844232 584097956 438134758 761158484 550387986 459889412 66886076 410079058 466347208 560416084 712331674 827415266 52319548 987761524 812383176 82765908 355571976 927562028 31365580 501461342 478130416 434524664 120802076 872107644 249915324 935568362 817706898 909245604 202082 625550690 656747538 573639250 537033134 372146196 255697294 580461872 650655564 673104756 486244830 169022504 675442716 161898520 392841708 35572188 321912212 616744450 532181808 962512204 121590242 883727688 694246164 161141270 237394796 412736088 963265518 569547008 332853802 497295354 693267052 258493596 335738846 886892882 70404642 576854512 876713388 321954336 396487850 311030076 949755152 801421366 555698760 489352730 885795898 2964674 539886304 225402814 906965348 508772576 769214048 204043484 622847838 728837476 615799706 841738942 694400732 170351706 971729768 64820366 623716808 886948556 632966438 471060646 952675066 206327958 982683150 207425774 691332950 572559516 973205276 394499252 766027010 384121484 165245532 347352794 502129078 752126180 709398006 622328880 529688772 917326140 609487924 608531976 982308318 722353518 435634588 521318116 647518916 456997196 392364740 281471694 559082546 79859482 184682260 144500236 41324464 73092202 106594632 195043976 729856144 312487336 167132286 890008270 413617964 422790370 83327450 925893222 78324178 926947916 611976596 696189896 577907998 568843680 987592292 121417564 231057166 157450580 175194468 743332924 441478978 843044176 95249362 336252272 462194156 547306582 117241852 863247774 893107272 608952216 822650088 671039490 519302338 762617770 904496820 200918430 551148524 838919930 651277516 628883634 454249092 663229264 111256290 323457082 764725924 477188492 887205876 425585042 543219704 114216538 171640962 583575734 709923512 353425834 37642186 438833850 979300972 946085880 64354048 500408790 843943686 190811610 816759534 196855954 151397432 454908800 554407420 568794434 736595060 163353878 497829466 980006616 206318836 414606716 357648540 436769408 575416870 49243412 947619142 828305126 986505540 369324896 906445914 290014246 63041148 189179078 367648920 486433648 860090454 323124164 194886362 933935752 454844642 245914978 880842952 667305108 511918452 438905880 6633422 460043516 969202108 449825042 69164524 654733228 7965466 533219366 448722604 437001534 896419136 607529670 898898160 358578402 995969206 730523292 752852258 271491158 336381204 970852630 159369578 647563426 5715842 208562384 312730040 164088386 372215226 654998950 195450084 549578964 49781168 709665660 906783250 540530548 638959998 519478116 790437808 580677892 856555672 966946802 861619282 579840618 315122888 642907818 806303352 790171202 898817090 838515550 146640828 138980076 833564342 913888904 202695884 476604282 563098224 752478024 316538906 588875992 12612160 451300928 500850372 306454458 175513362 495261550 148608698 132201952 509251668 306224154 727732076 129825276 223322386 588126632 751328366 214537644 330150770 475385424 36414438 92145396 934328348 984178278 938995746 266655904 162667142 758745894 580924942 890057250 453004390 666674436 676896746 742121490 752116530 559018864 945741580 562642908 486276132 230867688 179167998 194253442 212490568 864514526 743031490 260565572 951213026 408064286 91254764 562985732 184200820 394839610 981599362 532890320 91948022 772254082 36310184 440649262 726692798 643420190 567763164 337997658 444691050 984100872 82477978 215717916 437774662 604298378 277997594 243012902 940693620 45791564 419051340 172255418 392978844 116114252 24268406 911542392 117745374 991518464 991737740 333679840 966536616 521351822 739063508 86878228 265208886 357280120 479081202 312326390 693956628 222084660 415478268 361613752 50273740 151935896 794225380 967969212 401560294 673350384 548364840 897057168 860230746 152082050 565179270 150543370 333868266 480573618 12465672 727070042 759539214 114039414 759037042 189018886 796922070 503101898 673013284 174499132 252129894 24191304 138595094 271271076 571646786 888703324 350776356 374253520 68409954 190332278 594369654 998086692 276768272 923911136 805960716 777557990 726720602 724063522 872839350 707895884 637261362 284014878 888009072 635309292 960909730 590978400 795140160 879215264 524598780 370150226 165784092 625987792 990134086 531455364 723743480 621916154 685148308 748562892 46989826 140061208 200509624 638394246 184381466 108369558 119183250 939847088 424667696 266021192 813263244 703561894 184514050 104782070 983079312 675169600 929606820 196382332 170698458 687065944 395883174 714055630 752009450 844018214 853612494 208626268 692541924 33850614 922631056 272197550 192338346 179874272 10361988 247977344 37246720 671242020 756688694 159989386 420906484 373284046 546099836 723510074 122035872 455795180 487981874 755455374 879147888 825720992 825151430 967916240 672356892 26417360 385120876 293297632 310131702 246256070 35589626 673760930 116252262 403849208 477282538 414936404 426815320 289542210 661827432 995982000 913612462 640382308 552839860 242871350 317292458 38346746 774965836 782078488 225729940 193109298 90157456 106102732 643708888 966653002 984810920 695040548 727460862 932126184 152274304 254495160 646398570 531958794 137264832 613074342 919785272 599317326 974742468 902622986 177831298 606673764 462431360 207269380 183086610 811376564 875955870 729857696 925073154 237323910 306071454 612222772 271158228 615398696 556682914 804079502 883629530 117459760 719983726 219997000 782834892 358021532 382696112 933410294 152926166 220085762 108858556 306075206 260032764 566186478 645133768 257868146 153832900 172056894 422739222 502804642 782937032 526909172 181948488 236050618 507614278 556320810 753099528 938250344 730778578 327289558 940553550 786596954 711568724 328303614 74245746 713817492 684051362 232720162 292651210 476035652 753961244 624409816 630094654 210079190 606234784 419731830 516954634 912092328 819565216 205187734 285135624 163366812 56645228 874470904 381141770 909724522 958051728 667286604 297948150 340588684 281217350 544357298 743461016 559841634 74986348 819560714 8857878 329256486 707144310 972671880 532998732 801281240 175135330 840716416 168332678 608171826 135108910 101577442 162445424 194225252 802733150 398005642 386419788 239800266 332581850 292255568 269571138 527763794 457703244 108196960 190441362 529925238 87848192 203305434 46129796 587843804 278262346 759128046 329908320 665029806 39839696 464108474 213634350 219841402 616096268 947083630 799815996 44403724 527262984 240822564 532733552 156964816 430340412 42042084 219500730 105959350 336096114 278523838 808853020 227309558 314484642 438267218 314285320 722179108 534115404 527900312 938699288 93640590 956426228 702149966 174585004 488731850 764723006 736300484 223790252 887943128 331538546 61650004 383970384 835658576 754825904 512959864 902727438 146764816 692522404 223866456 508625012 840836430 349479354 712518124 232602508 414775600 779438890 97037136 450030220 214915884 514759276 377992710 644507682 489824796 823013688 734616298 984186208 699001656 259473448 151950518 914302888 935151542 785978966 162914344 669633920 704281490 305489626 599290938 601148836 469882498 360173266 35325006 990527570 196030556 292891134 199629324 499619596 672905708 981347602 890747322 873789526 560698294 479009584 541482046 726830472 572209572 214072866 867220576 354590082 63910050 134163262 128412264 709760570 154867004 767842022 220166284 26527110 195845700 360547514 85722934 255607738 405194704 356479440 317240886 114451094 105053076 37710848 648989040 944373156 661143018 456184358 868987862 201489934 678650064 35003174 728058210 857384558 340784762 9337560 838877540 235002762 601837660 775920154 448979516 244610932 189010144 752679942 992034262 739998578 252223416 398332620 803674292 321013702 927708952 289070760 76003476 525209844 321726972 465712012 719603450 377001366 261530094 496250246 650863390 586171776 82592160 543325640 409420000 981386376 432224322 450204022 672886706 15176698 964582294 553957722 27879524 582807010 482062172 731692340 64324814 231462698 945316644 968743250 415001238 677836578 828586102 608921736 865165306 892438104 330911308 392006328 250839382 586689514 10039354 751705950 667932744 568791602 360991658 261307304 905024276 899634170 252618854 183893816 690988206 845054454 776556578 24157280 844259678 542430530 818351794 169923470 934136260 594665920 440535586 956600660 654614306 798414684 63443078 587425064 772308156 106578246 919009706 488123096 930107766 744529304 338668408 882566156 251531310 277887286 242792664 276061544 334282792 617893994 892127158 756549180 87090232 791971834 754936074 520317922 240235930 957018344 793951356 560227408 117682826 552581212 594434572 310306318 360327256 670096962 173140432 390108924 780982126 680499910 130563108 928888800 295720470 707369614 153876640 239133738 561840542 291121132 621431474 315565998 336020296 961745048 84392172 186263044 90524982 888425128 564034882 933203040 128849966 292033316 516269112 52396006 808872980 960911328 427129010 684595868 577284762 658692272 110041304 906604334 584255132 54788560 828017714 300036608 371810642 720856746 420855086 49143166 234475786 379011292 78695164 732298590 40329194 906307848 191761256 475832214 32931528 958110950 292827498 384880400 55368846 616437128 196257114 860601844 182472712 526140502 993901828 829115816 59528136 657349064 233263676 830915076 196505994 541337000 82228902 992554022 499966916 63365794 66260484 297721764 636531178 423354442 682999218 180317806 358304428 789670742 260897386 257866142 801265398 453155160 647311052 488402782 975518958 197409356 341742824 721303550 699498056 150920296 68158756 738022078 21237208 959235198 727238620 870781324 43622340 788845318 96426248 731480060 66161106 512292104 863250064 828765182 56649834 614796932 480483050 239473484 958356794 261127838 628603162 761963800 345415944 225367084 522128464 539419988 785824564 393018180 768348992 778644984 739447674 801321392 355209318 748803004 960499542 778948066 811688814 459564558 54843892 366403230 971925806 220106922 547692568 46956174 779138026 78376458 285950160 404604472 773337830 848872496 373713906 40765788 896435930 389253692 212211988 249396108 947264570 501888964 44962186 161171526 871727362 191560652 335418636 122002056 771709340 45063774 809919658 546000336 947554498 487654960 399774534 255471198 912347542 343895740 566507348 293143302 840772480 439200718 165469778 826732948 722880366 479343770 163061378 349845866 990371522 659912900 513744742 301978560 841903210 579082074 326594620 60078242 316275034 999517058 850113320 687044108 944423728 121640460 80497786 277613914 51430644 700486202 856874016 3739560 904143594 358744580 556746254 412430322 690636288 436692708 414851890 862028196 285706400 494825194 599331828 418442778 115761550 307656906 182631092 755079088 993886420 907449634 951465876 818266722 978298856 992577358 421785510 325951696 792527832 728118916 211766144 185491884 326284548 215216586 646665280 190628454 758510394 895377124 888632732 351386120 90120884 214347192 826603388 460115852 413251698 460339596 878308328 896168906 450706066 900283258 254206636 3189588 999993336 432581018 320577340 530385236 461415180 915129350 326377148 492705054 664267102 509359432 880066996 186801298 199828532 81049162 780568310 607628128 633799512 923967110 248361272 796695234 379431856 935703982 781495016 629046670 944171002 407186396 401806668 624866300 649265108 991040984 165563320 98353150 458031704 607525836 638636132 940144804 969729458 743650810 804954674 372303630 561884710 773605032 991315190 370662334 56364388 21650396 657358682 769667180 584274342 212366750 768537888 893981236 471924230 684102408 716789990 360991120 257738876 518219884 723319546 376306300 769486190 733205574 22272556 591987026 911575416 299424156 472968798 951499682 456944946 111987102 722422772 355516364 594245298 126453522 281123810 697646872 350566628 756627540 852735910 413510912 152505770 286272500 156120560 698179704 886378768 294409562 496631978 932423034 916374614 721526284 673081440 102837760 552972266 423365946 118972448 292896258 562005844 895528378 266431330 902943672 111228708 16745774 556682102 35540382 80866912 837546976 68140024 205402356 232120426 223997484 314363180 241690436 102456716 611389026 768074092 730056270 107628306 814134224 514566608 92773456 967951234 637151244 551472844 221246930 793643744 903367162 993458622 795226474 732615242 8212434 707807070 958378842 83514396 792922352 592492042 860255792 535505832 68937050 143924382 727808228 788733916 434719162 502527564 43598716 211404862 827565480 692858320 266952162 96790282 875033512 440647820 77538534 592779054 23670748 361875594 448881644 189677172 378151836 111670754 346361952 933833906 945190762 240258074 91658210 404185454 218619818 643481264 747394152 239227430 812051222 956009898 394498882 861385882 907794702 462190096 24895630 794582834 939606036 306717108 854943958 761777496 868661074 587502570 97114346 322824634 154641840 681289666 732231416 449307998 328151412 193659942 289110490 704635902 15202634 170857734 896166420 66657678 690201432 728154620 114095584 972043006 751861022 92174618 262200668 971957914 965536340 525005448 292801100 486360394 312563424 155639478 349735126 695362116 901355736 163697822 444590030 723551400 221399208 38200690 846302836 918541764 316387042 431630282 219355112 465133920 39911518 692126128 61007828 547372986 168892812 364274448 40331458 184561856 670793242 48976640 768386556 861833668 879497852 706253412 472575884 220818302 459036678 829122728 23209040 314523152 871500488 376845992 852675640 935342098 764291510 210826020 792238588 281934084 433915898 861774542 678092956 405947278 653036788 118740224 456651648 744369800 577484358 659391500 596548528 810624152 576441322 182971644 682722692 825137768 71056244 961352216 892633758 738960000 30006036 75278380 766625846 502315200 702669552 79473476 5008068 596860052 981376656 628828006 723668216 709667686 564959712 959618048 148875594 152280974 395635100 286371546 810647096 455596428 216556184 778542844 182502180 88445100 969381710 587038396 896074252 699664782 573307280 286796956 426759814 588943334 887112448 400040832 637909994 205243580 28385866 325965808 217960284 787890436 255853404 994347524 528655014 977044366 257886396 198276202 859732350 776283340 780577242 268446552 196781314 690595844 500677192 633363996 795927032 723755734 582571650 729820080 348106250 927657622 887378666 557960936 979403600 304222886 742984572 730527540 533886016 452435394 201624596 382633278 267327432 715368808 214902604 345730596 32111258 280982694 883132050 494598250 54581130 314018958 262745922 319050628 254860824 209886574 508630932 198492738 825209922 40016402 256664016 29774868 92353858 770380084 426761688 276848292 576241438 717651848 586120156 220598088 577938612 547407926 369978162 76211726 576980658 485583678 467657142 928415936 560181212 523325306 216522922 122704590 944351842 12481130 669803670 199280912 905606972 7870102 675840338 529750574 98604862 531965114 670758552 384732846 346812856 680671420 358154460 416447948 344718926 354350610 238122990 731980436 309520358 505951672 504817604 409332690 89327532 228845588 670595802 726190490 263552066 18036136 974499718 947498246 213052066 958543168 347801176 306572114 24277114 51738820 491115774 356611036 883256428 250485850 945840148 548513480 179613694 730151172 252143996 725657762 997114752 774383760 348861090 400987272 861273454 625201038 456799754 750906788 13231380 189163786 618699020 391050488 968912668 379912248 698204478 395081752 990642266 779810618 813494806 853943196 122796982 130674506 862688372 451472992 147047032 713530648 482736590 371312838 618585452 619670610 509525404 198430136 135964628 537999428 457870316 536260242 705708974 978396968 837922454 370597792 558376822 687193918 10077836 855453054 510911036 126084556 244346608 39454442 493102374 473099594 279351212 530284284 174675934 868726754 192260388 397539510 937016566 356784790 328808056 55425358 611484350 685711646 915204756 201191632 267502228 388094896 101490934 450539514 71171360 133157736 583876320 732224620 420229874 36598106 862011056 731800132 318559892 251443458 766068942 785561612 218950580 892656710 579835356 506286730 928754328 940302524 876549464 846112794 224591674 786763452 200232744 976919118 885119774 943601340 290839750 80177422 412035946 772627470 893929082 450999288 859740294 10438654 482914136 153319018 753246222 846489274 475101282 406834214 126590454 652635034 594221334 484566990 646189456 405320822 604407788 949717832 802009596 410019938 272038528 190371760 533859414 431003936 460382772 693597552 618507030 267227416 362028770 139650802 301717730 456803348 855942932 705874376 865762134 58736566 628318194 876977948 263329814 830584722 460998466 636461432 480277958 753542908 724487352 448065162 720672370 514837832 72518616 930967748 667114390 94720018 793007258 59415738 767138686 639868270 916372290 272935346 885375362 774427324 29461318 242685016 663944450 806645728 79286150 328897018 724420870 362903578 982710650 797218160 341252514 50676918 735131086 789347390 372622746 317598026 935990604 530299002 44111066 611123726 933841694 602431522 453395062 986994472 755386296 35816406 210556226 80058064 622022828 8776500 191225844 703844886 144099732 2015068 605548574 859211326 283225526 678324590 919731222 873721090 499357602 730355636 970784822 832993580 307680944 474503316 501415724 437457596 234063154 824606020 776966096 489466806 410415768 507568762 697641026 638949222 233852022 94875882 355159352 683029084 505282698 746905542 461999648 366408212 464459478 707794912 848237280 970355582 610891410 945543108 893320992 654318424 181728800 291654212 662588472 586133186 488946598 225616404 629771034 151975754 102852758 116114756 120395992 395783794 502575158 328468506 908314454 434438124 890210820 517517788 139240766 213916678 728363900 682741650 201739668 10904330 767683558 818630230 112512390 249146272 242674908 291789600 315383400 462932676 264359192 2305752 623212424 875542444 892950462 867770680 505788826 900733484 338498832 402780564 874879164 287050730 487024598 10581008 364119690 915946926 3810476 555282870 991000898 408466140 460173716 601725870 296930918 354651186 45665538 626376380 239037146 687772844 420409774 153867776 737525738 925154638 904023642 146420918 351582770 502317092 4905392 206236004 727254612 250893708 104306594 788816514 981136610 484057566 878703614 117781090 655717462 681618628 174840820 362877904 978865370 388570108 192093310 920045912 154504302 503857888 817744964 549738070 66295500 346106038 153360902 383235114 63248776 651253712 35717060 68619084 737429996 139038836 629744162 412846766 615433742 770443172 347305020 321693272 214848696 565548018 971125674 145615738 512869456 523621656 133195534 413317298 321092294 746507280 583072044 515228716 907595840 60855338 291973382 842841650 229171444 679040312 147720984 224743164 873820040 325333792 607895414 866619830 817990258 592904010 56073310 927423190 884431606 836043602 333471170 714347342 898800484 773214106 755978250 869814822 506363904 279306914 805969888 51075712 347573940 967032422 983850444 172471976 551185736 816625000 335635194 421889830 409722692 126660192 109086210 771688704 236739868 827116838 624877712 491399748 624484678 485334862 853700504 644622966 953628662 217103894 198289070 236966578 77648742 730425440 983411780 495139410 883806730 644694550 722809766 913782290 171749390 770386420 356227220 783621720 356301976 274647550 366731074 643718754 697119476 663132306 779743400 975223190 233235698 316640120 592625348 779864518 24004594 100584168 484604772 949363468 511928070 315448446 91566488 380224888 368256074 48844774 880018716 155186550 85125304 955646222 756434032 917190466 248893416 863455602 712098252 269366114 218291680 145998534 379284444 279558878 702323350 165322132 96133520 171482650 567201054 208933624 593907136 622896570 892966218 223463930 911948076 181831826 154488196 536757082 660102976 154768434 945942148 435470890 665056166 80895420 209974578 32020972 251919090 192634084 668632848 317638822 87509230 96271076 450420994 134062298 799967852 916289726 705393694 955133420 63833466 172577136 533424358 800689648 907395270 151415174 836006260 867054294 165177236 445075648 284956864 562996446 347946172 541818056 668788358 343028490 610599496 718861886 658324454 375465480 582893374 926985014 925867752 309266250 378384050 216537972 917420184 708370022 717124438 934659414 318420742 172583594 253006216 453640032 569648334 650546960 293368690 314760226 482426210 66657932 573827148 89670962 532748234 281031454 195023924 886756766 522500614 601148808 176274746 691400270 220563592 557636270 515476744 946923468 603695346 683888294 483706146 38878976 56915002 981320992 228455760 509120594 687617698 543880690 313373458 445438528 641416828 47642964 954983592 114714612 18666138 945495566 516950586 58555882 736273120 879646132 453364694 12329480 250974656 915465438 871979118 86080554 180843826 286083006 336845696 846555280 317647776 347696486 340773960 903423746 197299656 646419914 291230916 553286902 546661324 554971692 676016138 699671122 673238516 561026542 108958576 703837794 324537608 631066074 110761152 12230842 851861252 212066230 955422522 103291950 586432602 312373120 798220132 858618610 547466764 336536982 815659968 860851918 802128808 770744902 140461002 480224068 815916960 642365898 398459766 557463576 390208884 342609134 614507352 815287038 977792016 299765858 159477448 878259500 89079458 443831672 94157936 528580092 22175594 191650996 798772192 777930132 452358990 379352224 101135420 488704462 364672578 237304202 321981206 949493442 911531182 51395698 878233238 660778530 414102856 132970168 626535156 531739204 965879286 168080392 367518836 781288262 193350230 876885246 727485950 932441174 337198280 228102040 715895554 340050304 441360252 430480260 556316780 606418076 22414674 391669496 293376236 784311324 923368760 865661190 245727190 700977618 35742626 724493352 374070008 936879330 976987564 155775108 857566402 25750250 623180598 867539790 276761992 699333974 769865020 882105292 787059646 998581642 745051248 766457050 894079306 972112604 620887902 294965628 787666222 967611024 669330924 662586968 377963972 394605636 916895456 612882196 645457634 600790744 364222440 455331236 496506020 658428008 83194946 196365242 870795854 501496038 619069330 674735798 791376586 545254546 323593514 788900164 806679016 102999586 379318890 847671640 20245190 960783346 118612822 11966458 190371338 128762766 508061452 332076058 279058096 524884206 255064794 22315388 918776398 906941616 637400202 332063956 711419422 484360986 704724244 216382556 135209150 311422910 10944290 784831528 868831032 630790692 657747828 341469766 688164252 409343940 591781996 341057932 151618128 924997298 736727470 746152844 786420982 185408760 491782644 528510684 807695236 306566002 972166154 258778932 793291826 961906704 215413208 873544056 123839876 579397838 579608686 848441198 729729132 279683564 687651398 65737504 189849400 470220036 349682236 547564994 346590898 818458756 975414588 630681174 834849832 966362314 845208798 813328138 602343196 645834120 330253934 486450704 930251792 902536858 266743040 994981200 856736158 892753536 951910874 120113364 658351598 507795280 788153674 33735258 293943528 712984284 537031996 88877104 105471980 200415874 267376218 58907274 17609636 117492304 467405218 527396524 662474120 938965638 818617562 672607936 866442890 454046766 453911106 368254432 254132832 48363910 992980314 952995606 339481514 624998878 868780670 678390656 250101568 4560122 132147990 993309900 404232542 591436746 125835806 235114808 343043744 965329590 588438816 295336836 843914564 994285950 105722860 468410152 717248490 462908942 967043126 751429002 576924618 543576278 875347080 566189932 969259332 49849816 165332084 808244674 383794012 253662792 551412338 391257092 647900234 882579236 470165294 304309700 274642524 880170140 294898500 265400036 245122512 226165012 332061616 310054304 594993066 989050202 860261646 420669462 126244754 556217756 709943546 828135818 986789932 213632884 388060044 723574626 673837682 394815958 151821930 878081042 918357076 256653860 277263554 632497896 223739482 404507638 366016444 228623502 538620308 432523304 758058604 899922204 350383810 551467550 783629822 150517756 830152714 912266342 494519358 729332322 713634978 885125302 2339736 286712740 796751808 573021894 24421468 635467752 999882812 206590348 849601454 689878854 232478412 872375882 34405784 884780452 183594040 926939214 156903830 589605702 208658198 62814094 225618250 801184686 397874190 703654998 417082800 712943770 466977090 649256310 352967792 977382950 932084434 391523264 833536952 286738252 286946174 831118702 596598778 849004046 331781180 923681644 257646810 413478854 161805524 50153848 976481358 679016212 712832126 991458472 31596932 359492438 197163018 828927796 270991174 622782708 541625052 547908410 519052212 89828534 65248380 58718494 615232756 246531238 923238246 343718554 828729540 998459272 295120068 776640246 55650236 419074020 260591260 249100402 634753336 825969224 555326174 487760022 252733542 10033442 824913716 905108360 144454946 457220750 258537218 330824034 495843856 540147590 116063222 710489672 913789452 479234492 855524786 283558232 883937400 974463924 67624084 764357036 865940206 410642302 909702656 932525128 372528194 644752520 830889704 875901364 727963594 632152292 480741762 588392554 577035938 427233200 153615372 783479744 790381548 789684514 387058282 175359066 889898932 260279716 655285614 547189864 383588810 76377770 422388002 515482 636315290 29322106 821495258 424300716 778591856 927750836 465557260 298248272 445428206 671590982 399168558 221778478 428489284 127050432 785569050 44361830 739864514 287956762 703439290 8189584 202883414 426855924 482895354 296544510 248608246 885750002 906229878 420156586 584324644 631822952 676141044 765852348 627725876 135135202 889431116 969786554 384876982 197454364 63735756 203936122 506981508 240880474 788090130 790410094 901266102 347244094 182201808 245814834 530512832 585182344 713916894 662471912 312406972 419397850 383697592 389700536 420977884 584352276 584989822 970711198 678506848 297202210 862447152 809047062 540700670 391220888 425377200 63409810 813027164 920438074 562771964 851060280 388977862 182643476 763393986 888490092 427297518 544861910 275957496 232806530 654670790 246760822 32715562 135762174 528927018 863900916 589584332 670355110 724876522 672560384 12683724 247559996 251088762 755780810 762443042 806110780 563869262 715182962 878270280 682505488 348448546 838123228 666618852 111767108 794047110 487100426 927286530 158295738 42148162 139391672 211498364 329761738 301360088 609926638 920968676 374960318 296568474 49565186 174421682 60637160 747844100 423369414 301492998 663647346 786499160 778422596 204450526 732255088 685725738 22814602 471820898 538290124 888804336 586251204 705403596 909359972 538046274 589217134 405886320 520456302 689479824 417407942 790791508 60595522 146280892 600221774 790579472 556905968 474776184 861423846 361612580 801069650 810362410 375490310 148647924 929027712 464138440 499167688 307864114 131042128 626740508 806607172 565316348 98178758 850123818 651934750 203414968 638232580 782154674 971132408 593413548 710979598 826781810 798253166 168076180 24111768 462229664 131250002 96829010 666616904 539750864 869561422 93198844 1159848 760111150 388951160 840232394 999072236 740523152 482230460 84818466 802652794 371969462 745376730 896654430 625530432 860727594 437780378 398993100 485377692 584943266 95613606 208020372 2470992 537226532 246105626 693269370 776360504 258540708 601658898 91149944 564359674 704753600 853233136 936814506 834574396 823552126 652016884 240508788 950461178 129312268 348085176 734673696 939035954 877428294 748207764 914571282 247833478 531825648 429477934 573674154 78151926 256875466 554644518 992206050 179800478 179174198 450476544 765050546 133665768 716385402 891381334 207473864 822659412 959236466 78598900 45195412 981939104 384715366 425014326 815380562 229571472 746500738 178450596 846357960 169550374 968992700 252303516 857275834 950582704 271754352 461544008 52130260 220308532 601184228 272663530 231404306 616601480 656145840 860975722 257649248 232487418 283855476 939613558 93163490 352635954 360369678 46486254 157233844 896582778 47321646 437659512 400167526 471589594 524356888 627197650 517442194 209781872 577055894 440246326 850022820 11755736 835024918 442083050 950026132 340235128 950314848 654880766 245954108 53504820 908210582 696586014 35943152 845824990 183924922 274111708 179687888 850606096 492978120 772489042 654267322 302122604 622012988 407145214 611382016 488033846 147023540 544205756 946890246 645736030 699174180 939266776 630561408 284859900 704743238 851091652 628382712 786251968 378226870 922423204 482057744 946514070 8642056 726387016 873891092 43754654 154253504 979577456 66740480 404761872 574646668 931419786 580791076 942446076 249542674 790747986 57332642 614150400 255808822 750961754 679217242 104699124 856274066 663295682 820024806 791525990 47265038 298184926 984916126 921663858 894954296 497400610 622261382 138033004 162150248 339897028 872851928 874030134 987911738 862757434 586069686 165416370 290865092 525721944 566745912 353850864 35403846 12068142 500046434 448675516 163237710 247798218 74250056 54900742 726228532 93521252 12576004 986991264 112179612 742742362 660641286 209520100 768207992 140617550 851823686 275225746 62403222 705099066 340431138 103615760 780028982 28327360 343714350 201536024 676489806 459645514 969126370 645695828 690291438 145745940 508701064 361442972 356429834 261368938 989926200 381981454 161423580 896797528 708310720 743100756 180412380 351815178 925604112 55718424 187558756 573388114 613916608 92730628 923022018 806019762 169754736 807280036 783898568 796231398 922023208 846688970 408916416 558751160 634057244 717463304 171283412 137148950 191823758 597343376 873748322 141474 339916222 184196794 377412080 853015740 10401654 69723966 755764228 216105486 315208358 196039864 460956100 749248840 654444406 936716840 126949980 223453044 599514136 587084928 982507306 525326372 697954796 430493722 90960306 781982690 455019720 631709448 434281036 324782910 278352768 728562046 878162412 528556020 26276576 965300706 862689876 32778228 461806176 858913410 758680178 672724640 228872100 72307736 880532348 881380188 961572298 566964176 143375314 12327656 588781426 898020190 142073726 511063262 47461612 260370432 434728688 618473496 78048330 368369450 360171926 629309978 411195776 454169420 92869820 693740610 562868896 146861722 471154364 319163046 33674234 985717624 22741550 198676942 456470134 377539926 513514692 962079506 613112396 216068668 415943158 423457326 29383926 659994152 240659328 396701322 889819506 489084452 489131644 775481288 503731436 289715236 693692154 82512198 65986014 240874748 660225068 275734458 891889064 624759550 171669224 91658562 361380904 328404162 762405132 531996950 397594200 107226464 627294762 976604340 733616228 176796078 582537024 390500734 486426574 703779800 256653640 700510626 387261232 715007362 365726534 51099296 5040478 811570652 311763832 818876652 618903140 12732068 816204608 447258192 279163016 130791134 4428124 770263786 50992350 400233668 266928468 402927856 83828678 725085524 910063932 187990574 554392964 931272354 343833004 93594256 586077064 45602868 49131246 209422300 803175960 641216144 205363738 241646626 260291530 96100632 51894 223068698 274075956 66448358 999189160 867057634 332296820 416052832 313247528 630745978 213385394 556104738 749599252 602367148 645770874 901054810 527497888 390482162 530813318 262474834 419538036 782204604 67864400 580847978 323841348 65496558 666593828 925608238 384081262 174006898 957104408 185783436 368115848 83822442 765112210 846273486 287680048 849920394 67195146 899622222 388060282 559279332 305862466 874181994 467195932 537634414 214411028 990333756 505697252 180973306 612866104 999838500 947905202 603814788 895815614 569185064 482895690 652728346 601810312 998118126 293328652 431368642 484629738 580075978 955035908 991267992 19542082 876872256 92463534 54412922 327630162 764662340 278496444 302197656 683835058 395304008 874169932 702335844 13528172 341651670 987399212 973595432 204344722 382695174 757936080 203133192 999562096 915845416 270606108 828527582 870173092 674083606 54800136 15084950 912716410 678484348 752063210 10771762 676020112 687414462 21956424 367915294 684725266 630949232 789562686 428493490 473107796 99296616 888628460 626727472 631506648 79168802 402285878 567152436 155245274 955079868 288261918 311936774 981963530 299374366 748256060 396000746 460571706 633475738 548418586 964717372 732100914 686298464 365125520 367339442 213619686 121749242 339715590 85419750 435718064 644423600 944131282 123637108 862790552 216459604 358292922 917856460 843949372 351187024 166024344 635612376 793031812 534574508 633608466 804213858 414707854 963939840 538519364 945023564 359347864 424672668 567903184 743831110 787706490 656243766 252495676 906824024 964868280 139505500 476597734 917555114 663655472 985319040 792197656 213727044 633314014 375102660 308917830 700985802 481981568 671316404 444968320 3695126 728612632 334945776 406797580 869389320 386307776 311936038 879133824 162217276 949883380 731057288 217138382 853486288 663552680 253933090 582344460 881295896 111041020 95597142 69556956 996068736 705195626 315087442 851617580 691578008 214686982 164980040 879288140 179685406 860268568 338408522 800412606 282376266 561214082 80001010 252157026 34704292 36543474 713855876 786323908 821221414 306940192 587423334 418927372 44716534 780453782 580062710 606503930 975755748 749981538 881404086 662320306 734744762 600710518 903036976 68658792 378768280 618024684 214841718 523769868 662732760 204585052 159213274 394029194 525964966 10748280 365068788 869827402 371204438 740262010 445163172 141237452 110233968 766886986 177534152 763106854 359649542 811597506 683916232 498362440 960087706 760072520 697432920 544658300 751796038 891157238 272784572 736694398 728376012 704344432 361272578 938660848 1214372 189133320 473716732 99066714 961709170 999989248 211589350 123565218 535777500 3923184 116768812 74917924 437956282 546920634 186039714 241038006 482174486 168557018 815283890 15797668 904288032 308791060 341604060 277649898 399619116 546136842 517409684 439190642 142758146 727780332 837638026 891626940 556452890 270011234 397163828 138187668 938721076 372416596 384820826 904838434 738298820 886147710 436492366 602995362 151540762 286717670 666604128 23736442 616757236 761138102 380794884 49901942 371806662 413820326 205555960 697352310 829562904 947187414 191572862 922531988 414183562 159456526 66204790 367508446 632649898 18815526 73811618 133016460 56907190 724537622 698575640 389829656 972184682 854676662 992724086 41327756 746048560 557771288 669887128 38245786 448700238 987557906 136863148 333783574 924529540 743452536 135303002 650604324 164309936 758963378 365804252 865692280 358576090 710752086 158278758 726825624 512703882 903126108 997854068 340557800 457484404 612698496 159610154 355277438 613152820 669676698 857769114 618940174 768819112 115873140 692959618 145092480 374049588 845383960 961691826 791765112 118687068 605329890 445103586 834296804 733867656 392578740 924228880 184877038 732009946 653007574 932063314 307518806 605871226 58749930 916083472 198578046 614507364 332714722 995712632 202918604 298683902 927413290 582047780 340682532 22375210 261250208 33314650 287030082 108763042 70913016 65782920 9341942 450570936 753400146 760554142 285509918 258690230 218960962 673640780 395493896 846888838 706789014 149837938 984872722 937423918 335842422 41608708 858016672 217683862 723169532 653570700 854523648 393365058 644885010 725361074 602533410 282370690 641394796 617095298 122427770 901053218 936239936 976574046 29396904 115693778 780170348 63126330 240441482 539509562 470834734 200493766 15668074 49800878 390169606 312172954 141641638 94689530 167346616 421367644 892766894 459151560 587670622 410241300 848417792 769478202 218020806 320129872 756170810 136298434 291049402 768213636 527200454 335894744 138782534 282003138 28509314 180243536 160411186 346839206 433934444 748247562 822366910 140186936 870749298 776338216 6866854 745908044 76679606 471042820 233624352 182608484 656676578 462453654 636337368 710514790 947440650 473964600 486948412 564965718 202232216 52529918 367145844 722708474 195434220 963985458 589703870 476956348 815082576 522477018 549309406 171734982 918818804 521359946 902836692 347341642 257984528 226385060 706864584 841195470 486098098 472810996 855033118 25485772 552594362 393905054 157911582 684283626 507343844 64090754 9571776 930536330 753632 995379644 414527672 417522166 246428994 101794914 748359512 717573296 421979230 642071126 920273500 811612648 10159310 349037704 494790314 481051100 181040080 6507232 797337548 648417102 965997570 294226414 516274472 281025946 805988574 823677190 351652284 510387638 455229632 103190322 67865956 30640902 447157734 603445182 899268270 524808162 941490288 225870746 377956776 992576382 403027548 544636860 396141142 993925558 918175540 789446604 223121802 140300316 560542644 603619150 610028232 529751700 688964220 209515806 833435554 61548800 545477558 315120430 775802886 677305348 20051662 53501560 974217606 875181736 954569470 478280166 842778270 913732462 920492904 786263132 871355398 921350356 706492906 373566014 226773484 836976722 598388326 68466992 770791538 367635690 89205148 636965852 877968342 823982786 777572506 494959134 290969812 59861696 960032784 165245158 708061136 17929936 601169170 828788796 457116160 616155962 857635684 213534228 833079888 290185692 284963724 878989614 837598102 190324852 703853294 138521718 203644614 943002210 467629848 326696348 728118398 484403994 834869266 531317034 918819726 612138260 164625820 98281142 184892740 346495210 226121164 386545706 387695872 588770298 610826122 309877554 752768064 399208348 799591336 523414642 974878430 965631336 73488154 748267300 816024850 445739172 585314440 262101162 641894492 197177626 705935814 752244140 689696576 212931714 253748706 556316774 853478430 66334174 74449480 823669448 407724870 327014772 980872246 425729636 534134384 627918878 530864 980949988 858880996 642678036 222208990 10960944 367781600 204970234 772422192 895524264 36120016 146642850 778992876 994455994 239840840 242191724 34207016 895625228 643566122 136555674 69536186 916295588 21976486 950361138 455502132 150366212 321702720 957968262 323393246 371279172 80140636 447628696 855775182 515064818 913937792 533871606 143272584 340280926 806516974 743440826 901183310 861884164 600665558 323659504 249651878 82944696 938626350 283805516 252850262 581005100 655699680 238420384 782480036 989147216 493933568 580214524 82272458 845315478 201547208 94605204 854025098 704943568 804474960 427138194 567134208 274357872 124005292 533847308 769516572 768076476 664758058 544278300 399972848 971470514 943313268 991252880 14663714 458629524 698056622 556779312 317526960 201435434 72751186 133677196 232527092 602562502 3824666 765415364 250849820 966082746 296190418 930467912 452013924 617090996 490607600 308761048 23566642 764238998 418072734 239979176 587385894 539523132 406825962 508860032 377372234 271424776 81722736 882644982 39232806 263302644 323484312 702802542 978761164 467794014 55248542 362615544 128057120 854194218 632654374 508675258 387665556 881202998 32701260 735518250 606030732 442236818 962891172 401249350 917515556 854850258 200033984 882094692 892885076 823308680 81107906 216800842 311643562 27450586 917016166 899033074 206197718 310245542 428068870 317416872 693288856 660245942 317585282 896832610 896685394 49904312 456148820 181872124 187892084 86678420 365087966 857088226 681394342 947914280 267026014 781782122 429270124 551226916 898329422 976594536 491930664 280829330 480667044 298111804 405824294 977701972 761470826 669097250 64148170 216367726 485398234 825873296 873258448 602921072 485802672 547392 310192392 478060426 936676330 245372930 88089314 985389744 886216432 922857738 721723956 156422424 289614646 157153936 466269508 15228576 772713786 274336018 287079896 433045502 694124466 485071674 769369996 358704740 514984198 92902690 446719088 913606298 333720916 275721358 165965060 509768488 458185104 953590544 293645974 970480836 744755944 215565078 462067272 931425448 988096910 398976728 683399000 857340320 916875312 561012814 990090848 855066038 124401402 204214474 688713428 245147926 577461272 683620796 194054962 898379388 238634710 797804656 878533084 899282434 96660720 258534528 924600644 158761000 899137070 912989210 795997174 450993448 493152642 886835804 397901396 836176480 850812706 801689488 638630532 402793800 59803186 92643138 420152470 384565178 841384794 356195736 120184006 169115960 289430638 558287572 914809024 232370052 824886272 682621516 713860374 113792028 64751158 250753656 481435640 167472848 92933974 980225372 542322828 248620668 819251150 857785118 858938120 960717482 304719862 669980870 853897608 246450886 62737908 210690764 555095112 392743982 551700362 376643284 883422852 914221576 767818546 980884684 572040018 326790646 27082682 99569214 358817304 568264470 583387102 112512482 37281056 722361784 150523360 336791182 312122044 22856796 110504584 659103912 517689748 157704444 707397458 516335298 521885824 914199072 272591120 131865348 851401532 14762824 940915506 251823644 964269322 571167706 425067238 301565426 70759804 644699798 967346820 292737766 927298208 654070496 390292886 671511736 105892766 634891142 700970390 61593302 937224928 671830096 968298492 475126036 811727474 30046958 531876812 932799954 719027988 165838448 456060576 528178230 281074822 657524982 337211494 648155974 136920032 812315432 43247896 714429904 394290554 803501828 712235342 505853060 443516088 941703614 73750722 853459636 616065900 355793690 117916940 93191638 547326000 958909240 312795786 933719780 639387418 793409596 467235320 792181764 41247412 764137950 217563596 291935812 176346856 545745500 395161646 676351590 609631060 421429088 522375752 8631560 750466526 572292968 953954470 826360064 864225504 893800720 186425238 169750756 759551906 165194618 180357920 53756296 554516930 258560038 92466880 963934822 268557496 491763746 885929956 603964584 837563044 401873668 925389726 610279766 771392506 566555622 581941042 492528828 477581066 423918650 455273226 839882058 611077872 97445178 449919796 336958960 943276636 288815166 528181346 895868756 483560482 4641484 277348598 590702572 925301158 279731070 627777356 193392204 708085984 561801964 385709584 618726988 249345550 900608312 214818188 199219326 200426126 214896536 536807242 520380218 519867550 554933402 404168210 740329162 378022206 457123890 712618658 339084644 539403898 754438892 691725962 34927538 564414158 79657290 346939356 395987084 570733382 293854582 367170360 463756726 107629866 243828960 366248908 807341086 167857972 962318976 83399214 525277646 425635386 729387456 818175280 581154484 18661014 308608272 43740010 41063704 492733220 754964864 570065636 701875950 616290918 487311028 325768036 581841894 848102266 251035922 651159756 545378044 164594420 183113512 787341846 765369880 111499486 858516266 373627702 495767454 382812282 914336868 376507600 864113524 281146060 147603786 425403714 545546934 225037940 351371882 538684748 722370008 646398570 652840142 129635440 54986058 493479602 277501460 790544688 289435560 396014272 82317642 39834728 778616674 998381708 174703026 899368972 934956170 646820504 763953494 269264068 83388660 842768918 276647188 505321756 326828628 973326590 470520362 806734904 384779364 713283954 663200222 600993388 94712246 126137270 227786098 897783888 207536494 390501426 256794596 962369652 438872508 668614164 606292890 964411364 755597464 784014254 411141326 282986264 506582068 478999572 176469320 98531372 285302684 422203102 151549086 949941112 245564568 730157400 125490298 181554012 784955514 480435762 968488582 257924670 813384136 853994928 11030046 366578496 692019400 569996018 394889754 834373812 134632118 456447552 199161184 248035760 150107752 666940532 456699708 125185092 688104694 993333654 364431506 160818378 137732196 446957570 144141368 306434508 548224104 261949040 108936444 226125762 693974288 127267694 147130286 841392304 461206092 827806384 84344982 714707480 371767354 654010996 164010952 661134218 44271372 752039876 123391352 387039484 605243066 495788400 569042408 504927816 266916412 408301166 898791146 38357548 865693550 994363922 337458404 460888262 988628698 296639162 109249626 974463570 468940250 837521890 770501184 400658134 301725694 655440316 20203036 593537408 822550274 727534116 436526118 666621166 140416392 803893150 191342098 290347310 871504990 383727226 749722984 924902664 375855160 53004610 239384186 429536382 418783206 241190864 460715880 425916240 986090710 176605542 171523870 754504286 363519378 319468174 117942934 108337320 982810522 603160370 254194674 477030340 102350584 670263032 31339090 684660524 874977264 786763150 930819924 74119110 450440336 160351718 353810798 629000948 585370874 444366828 963723850 646764650 369515826 173560176 37763328 674919308 131635436 979439012 645044096 943965110 414484280 331294496 839925044 438436678 257085582 44685786 828333004 169643044 994771286 279795292 705610120 548822742 625146528 888419236 840999004 959274984 401575702 18228040 251781816 829703058 72948614 586325446 925672908 800877590 495562940 296998098 985053090 228449396 677065360 989672876 687809958 386568518 690227186 322485838 634447566 383844082 424076886 585819192 484730608 625283064 699909010 842240842 538842540 294244656 924493566 398633496 143455052 921124984 201366852 497832670 612461722 678651734 592285318 178936084 745101386 522646692 607522318 594111364 883082518 738614950 712112896 354704824 580314580 793203362 850329822 667367062 322633236 412817196 698047002 270476584 456866080 385223138 722482316 350097266 38675606 527860642 939632206 351018148 97058714 453477260 709760708 726397834 762641782 713493696 305310244 13762044 348049058 142724246 111498780 618222776 54413120 825299010 352739718 740854238 800345174 256438994 350302048 918168220 650213758 357403548 707018224 727066908 247880734 660016498 170203226 348926736 527335846 687103988 837409988 184385418 279970536 323380330 788208024 55946416 101344968 604809358 832357786 459625956 447736582 573365506 407150330 223215764 659702182 333881262 142516978 72374136 406746574 671344200 994599108 584727680 408990258 694810678 867160706 587154324 261633754 181935342 12384490 942598988 330519952 967309598 496230592 890845580 691902066 753943216 419613394 675251782 356131254 984444702 540121612 173379600 255950660 365383584 649796038 303984128 30347810 471929048 313003428 937654442 57342274 368803074 954938460 773777058 266894712 652646410 337749338 980835710 458009242 988799126 610872004 815378834 468798944 766837182 640682242 988943012 325280514 929223690 368028314 112656 155773126 631081534 11123374 513576800 821136924 133937922 551974954 894661626 689763880 652395390 842951068 308576110 219381362 187336034 509738846 582424716 51755740 531969384 93276952 209444850 466699474 947343712 307721398 717219304 491221278 480473046 221696850 899585712 429815180 953404842 316165080 947326286 803832798 294110692 333447606 448676360 718033296 600019262 996353870 514476240 295617542 441794202 661803696 558400792 397997902 290743568 349512850 204385654 780887094 356595644 295029200 835323186 479260716 567718766 293533130 554323956 197386126 898684986 97338680 730665564 189358640 976287054 880369612 954484364 270049682 447385124 283134706 658938764 326789358 505205624 745278906 263615060 5372680 449266600 114509300 415779784 72687338 296806834 978903290 479488466 539246716 217900960 229196842 295550512 46932392 654034466 486976692 562663836 212275152 547184350 9450720 186042900 341168998 825489202 151648156 778083930 865628376 520793784 162170036 335328642 851085082 738915192 312454596 197653714 175496738 448072730 746306630 346840802 469248246 191710588 872875674 320057252 758879236 531625920 237716116 63794462 251435272 338314564 140166454 416103664 339940796 206492676 78021524 62507072 960561538 445810772 153468546 710756368 142034886 298734926 855793316 735251196 310174472 952397378 718363772 199777696 222253582 168462830 17391626 337974274 746696708 107651914 128608594 148440182 439249590 209361646 68811122 246477308 943525142 980897092 103821562 125948286 118680194 168413724 183438300 86682268 689763440 526974398 757995270 627138390 685086330 721966778 60895274 950785552 688911244 613906964 627583802 684281106 342662110 951640146 57034864 453330676 225141746 112179560 783991508 970205586 34184012 422199460 766153806 297609102 404852448 316365808 522597624 412028106 595529390 994442870 875377814 21580540 325132312 997773596 716261482 18867112 44416270 422175700 121777418 161562324 681448480 28301898 233435522 203150856 213567710 509868932 961629976 760525056 39644648 34348852 677959530 307503852 126043370 675437416 885405424 676021930 431076446 654131866 872415124 784479446 664617056 917251334 722296406 86889606 844389896 842331088 6221228 775397826 117228300 440152900 866047198 859514586 975265228 473213492 535582268 542066894 446963752 727543506 386505784 626685160 438663144 567347228 124270986 890773256 255784604 747640528 925348878 926494116 267695356 798627754 124830044 656058664 93606660 864148754 614916348 302274664 835723178 971548852 865286162 646628368 91137326 714494288 227745498 377819924 962103074 918463264 227043524 961279312 286698336 877229946 622425086 999435708 957276610 83908642 21696196 833038570 978624296 897254262 169221820 558534082 182128018 719511826 328428568 533222982 370988744 606619450 940305302 493142152 82189646 30719886 147024368 444522796 64671958 332832248 501953730 953346056 850770106 4115718 570375120 440224754 441098100 4117148 178750240 179392754 465776230 482261696 159410052 889799708 387053324 294820180 144424140 916966210 619042154 234529494 639196792 54271894 184268866 239718698 326097196 22255156 778186090 270707508 116948266 883038078 91082892 513690890 961368732 738320976 358419646 378404928 905286600 909756910 347857782 725440492 699730570 624701744 286010612 56329678 29093780 896289568 85504354 573857940 615145130 16940368 94639520 684176426 818825418 406165514 300022936 493914316 106419262 225220394 315474898 443376542 813672086 372047092 263696304 210903650 152590258 996195562 84219486 42078394 735359760 222792446 568023488 619391582 505987570 521910852 770353112 732086234 7337848 714076490 314041640 866391518 829438702 98553676 742391718 277157054 525944722 551181774 358049264 767466562 750148816 894343568 400779692 159688628 480502706 291176452 779380076 139242884 613662950 863459694 132739796 925166356 770815008 480642776 425506670 289595108 500061778 737615202 514826648 907086300 764230978 955397826 203822398 568557460 989806756 200994748 996787032 861243010 401999178 402798074 435459800 781954298 730353088 782007204 669078964 802697282 472757374 147926602 798159670 525943616 45280248 78559908 119237348 389443072 83120746 308612826 844479790 800470810 766871494 654383380 137598056 103439780 182803806 324357874 795674022 395788940 445488798 350874400 915422670 850019672 158767446 766782742 180912768 248947772 884655152 797450236 936712658 185824180 987441562 472113362 478109200 697692592 624813580 197555236 174533652 774527024 514050770 430092864 190511334 307215268 244604852 423166590 959047888 427946176 837602670 688165392 547503436 293436198 976623486 296581280 448227548 616442286 275923400 21827328 834637598 209570672 530339856 145948766 384952558 115346296 865454128 787566198 479687530 961381076 929756208 612204578 173942744 419708054 450897384 972826360 33204802 39418080 700386870 676235502 339530268 231620916 703594964 492504248 164358520 730793356 363840554 740386908 632376978 349597710 428636716 477256050 700654210 747041234 473627886 220642834 550149630 526628410 349840322 221587974 980971498 136308312 356864996 2955256 514317852 931889160 873974 192201950 46891198 258019024 229948904 183102190 964847200 102885002 575769394 148735026 470034554 28336856 78029100 42132194 216795232 724325012 665184084 242173892 585509888 409908252 635814200 790263352 807485390 940913748 920760014 403990530 370507812 750898396 107255658 16949790 186955722 588903860 604022772 374008488 229201720 911948876 263964790 315696920 361512970 956814568 657145624 104997162 92123464 581767466 496743678 663964770 852611562 545344922 994761176 238907542 520352590 597616802 459772994 947838464 652966842 810584796 25165548 631632022 510306322 269950930 83500774 407144320 328905758 651232316 790999440 820686270 856545846 9610610 804761056 748064428 416883266 931551356 151691156 676239016 673700842 873284638 546010352 891589388 309962082 153921186 582657740 43578324 934614626 797322442 263635648 763271464 702355786 482214588 311094836 894630052 371812352 67714332 703502396 791895390 622849724 309385030 791522172 282949222 393585748 411615086 44339502 298843042 887866972 508805310 589371724 600142068 972899250 61919564 734498852 233136962 293237424 771225108 912534248 430504224 616928696 333654018 64497618 936054112 686088028 359593604 159916104 299670352 509438308 483913832 725511294 855145848 801958642 874723266 103640488 739685684 527616480 634079462 65938368 227448162 313556808 96394906 526274702 114911016 723503384 347995342 391815852 366152468 447346282 194750556 10172148 142204086 51116922 123330 885644156 706615882 673940208 22804508 979594512 539048360 308222406 520760326 684697252 97365066 148645656 284014282 698671558 344758568 470541910 680949294 392070144 122419694 118334354 374487284 417913718 379103106 868524272 416353900 694030558 775306746 379313498 55910560 768055840 543684062 839863912 223411988 933443034 658237374 460356552 397801678 217571038 450072786 512145898 133633190 557956932 619116828 977671102 270593918 382024628 917736440 153466284 551303894 78584256 75199818 520042068 435310112 861324412 902604066 440452308 241550664 485349988 818186126 662178888 23296910 596752218 999940290 588960032 122410344 231545610 915475306 819784808 309397084 517934202 874514748 158505610 182131068 963735384 288617554 220079384 491619492 206581712 210845696 778524154 165779730 345794870 934187526 240586798 339930030 360578606 512617698 211449442 11715594 978763144 421977758 632951784 82028568 385295540 370033988 506385028 40889372 126264942 82170816 91530068 600783596 10363432 673945008 575270070 852661652 24267020 930910936 643344790 308824864 813864174 759126872 366657792 442058584 780334060 792386546 267005632 227295424 549222192 60706268 591166092 648182140 722728478 142706624 438190236 625032870 468531060 943859608 185584182 803972688 180132132 600085812 161120186 721377902 936923652 771417040 743081330 423070634 378975276 679754022 836727176 920231968 895375690 294492966 136130498 782650416 792963014 976406654 465874176 362076318 539171318 956962916 812082346 271320642 451018184 638277298 391221054 945610170 447217126 736692874 314436362 14059652 621904878 998103522 766417230 839791200 778703308 921138162 198509806 103943450 851374458 761185126 82419902 687066144 908977174 519077610 863882166 218272364 109594888 83875860 377135474 535554742 702415770 306775298 871099210 713614646 952626450 951354544 846496364 141709280 538952990 482838522 686361650 440714362 130823340 557911634 154685438 615999982 748608032 396966774 683131824 667326 427612376 279321050 485917676 925387092 279364462 236363096 14188620 250911374 468532692 65032994 282348004 387435150 484766148 210343142 745548918 226431028 491890538 372812606 355192628 488180340 187742582 246142412 720773612 966080830 319381762 602789256 289829510 336068532 451053706 380593266 643271694 564325484 173226188 362028138 456756960 406320796 17664050 633467084 376081612 398622026 409579178 663652654 761765818 966946146 389178276 250533756 71826938 122909308 801388674 527182692 712883808 705247372 645389224 698621058 645409552 31651560 151293290 735660794 853731074 855542358 175233082 391265924 219159856 687760118 398106874 760297668 474686718 564308480 80028192 653207350 518983536 865272564 208023502 943560244 924891884 48098304 730526846 952027034 177074406 223282538 390082752 36575232 367088354 823916566 168629326 62137034 656773622 844547984 545157282 993881984 442746462 777945034 598583170 921731890 545147880 228545328 952651366 401617592 535551790 374640866 921433756 456528442 436680050 440622502 365664080 130975714 792147646 760770680 72769572 326634470 393613050 136247440 726825968 972418390 982798226 449990164 775937660 187501428 475581478 114042704 710844118 605149634 24976850 972636302 676539094 605003838 438101704 313494480 373069182 774621682 529150056 967313850 779520672 213278380 70845616 621814420 202620734 687188860 992371328 31052250 135014880 724945660 42665364 564002484 474332814 999430520 332170032 967461384 229934804 998221976 116795834 728972792 27716974 188155940 299071372 332503000 664059522 742510450 397435680 203807698 451505046 923195778 62418122 138271724 147394720 790372848 696244800 61705800 727753804 580626328 653426050 251914834 474352172 683922248 614788596 438605850 806103696 358319764 415131622 795975700 81268160 221191568 622575642 277441822 670186314 694920066 552916084 133699752 494348026 14929422 925120786 222276904 131491532 368369888 881062824 891184086 844833682 266507414 641690914 758251660 454119854 583170448 106250734 874848604 207591642 344633286 466519200 569188048 511165860 185167052 164745356 885489420 19404406 338790962 871898074 515788810 839117500 1850024 414938580 146525704 600851452 799799602 150510318 813772446 639431134 514854516 61131942 226847488 944929876 100371904 282745816 432851602 275943408 123514282 843359058 510258256 216138300 245063560 250660836 793779810 326467934 831528416 780446986 296518410 184486 63441414 898983656 535104410 402855208 715979354 359611134 856976396 820119014 733153882 297454248 930475790 305292240 234946144 433010372 832068512 586524972 766258320 422597938 945469956 21113398 953959426 795261096 394014872 907318224 579731540 439612208 799841314 751867212 616219116 591526344 510468806 765160800 940709482 865223574 737044456 742411396 851796936 184784806 717903284 498782444 533975942 929728630 200156610 547569018 216090024 231018508 489669124 595899696 391314142 576609704 703651926 387128438 442411604 822017304 163554662 673294518 981757170 80536482 310947102 687477038 649582632 399012792 647782588 72213268 562994372 237322026 864251266 359726666 757795426 982043578 179955856 339535506 510463566 282055104 971324882 972135804 360457778 984937314 4118540 985922460 386691566 831151784 404619130 74881312 822560460 684707338 984350218 567209564 804231620 212992610 310828086 419876722 756497438 10086588 511121160 11171534 995128224 105585984 432100874 148393534 120276426 750133348 218805626 924732168 426749722 220548492 40773488 552546138 715892196 83838772 914397444 419621642 23733334 518558056 156626038 744262078 928703612 278212710 319456640 411009124 895732462 128855384 232421156 136469268 671124974 496874314 630194296 714481228 843051256 30904272 204630702 986447866 436059194 437394816 234765246 772904440 695295744 170223526 332439234 724428492 327230610 461260540 502719898 161079982 521055668 47384702 881558874 516327576 748785328 403158550 459495570 848886924 412654508 436760934 127125588 727363434 424767408 739506808 558985658 580818836 789296492 75961592 753421884 844786836 982938800 546545900 891204728 846890614 495560372 178461078 488850594 175377764 884361858 288849414 77674302 879087466 616275438 16005718 350524126 931269220 446296300 283678048 708819314 75712462 116184808 163909358 901814896 999550480 520957762 945779888 232357924 40543558 909424948 108151282 716165274 915109330 799239426 697064444 944185748 636834306 828788050 509300084 353139566 904493968 652451772 757731240 509192 211816098 221275900 768901506 171923394 880305742 711691314 208031178 652535650 899122168 700395386 132286404 91403826 136611678 240227668 508082406 730223264 529458170 420142646 449299104 513661174 183184924 558077262 109074938 740797296 216566924 734967176 787899844 939301738 251116482 499396420 846911006 169895240 160678108 2580440 209489472 116795550 958246460 707480870 695277296 234881474 395868466 521035446 106334402 655125694 125527342 926591912 799121450 26649982 109248702 182157646 676503280 215883822 703900432 500461570 939993706 608055460 975514830 906883882 228540908 699481920 706602680 565182310 29886134 386197666 689857764 694443764 117569854 661385220 553501422 702536676 817835804 557208692 263080622 713085750 212948286 823272100 209831734 244353948 588115904 298099286 842664106 825599370 199195590 497823894 3306238 473956872 185033644 548672182 267381144 972877186 68840994 799187022 625004114 817622812 795286486 496157650 883420810 212280674 508316608 422369374 231313796 769423216 875003322 552845092 661035636 474628424 573968562 446453900 706829646 868103212 674216306 321440076 572073354 452402700 424178480 472789908 963255290 791611300 766089332 252652730 727528828 632936534 648555788 68607588 736758156 167224732 897553984 599047330 779501086 358258774 32813268 324217436 819311358 41400916 700044440 855065030 312471132 282690544 22170392 978435772 46227238 366406234 629673776 990630094 884308978 805501638 661755508 461828886 984606698 316487090 90067230 387457710 325175280 923893056 121953294 411831598 927255002 130131244 177763588 490022162 511940038 772421904 100295012 10572114 437553066 605096860 811665106 401965510 354002818 528205796 742403128 129766100 14977916 392366666 685207846 72104442 941915822 593911086 143662300 412503724 915639066 774428652 887916780 975891588 687328048 666709370 221234448 626259046 360121764 335489974 952491730 502078828 686445708 81111316 642881648 46466546 514095732 152103430 688340322 107003762 492316928 482004060 136779512 633791312 186320710 498841600 694724990 184213766 237456250 539514796 380942742 646562044 186678920 553611284 627948406 554357748 734361388 841555238 576405994 583984266 764728028 912331468 812885516 982170660 41598104 534802894 103818754 899981896 409433878 479147492 928434096 325684488 436875738 1851822 45009276 255565558 750102108 272122046 182991788 894787336 407195004 364160510 50556954 374908822 973168882 444938528 523993304 90625402 420570008 54755228 399215042 250737554 857556954 501103960 298512932 920533268 127867056 393277138 555396466 137911892 107185002 326110892 259473936 74351670 374168058 79729788 863630274 566511626 562418152 500335064 919945906 299152428 347507566 737574770 76609050 353267904 464297028 86311084 306095174 150731220 376298222 317377140 292573366 608496188 792016162 765635442 235768956 420247350 179155926 490793680 294689130 104561532 562464938 676672574 373389394 477217968 134777596 338334970 169854874 378865916 776409214 375015078 343577632 747218406 115842946 335026782 100337100 577294588 663961912 21082234 320677364 864708500 435861422 531837500 530979206 187510038 380281776 602101528 786934140 269684738 477949324 452716508 226527292 562917996 872623344 409907234 159430120 656087206 944281874 584910916 406889930 939051340 271298372 679163852 182203094 59392986 615314848 385918374 875211046 49631588 894056748 993126648 628209956 223301804 889267676 237726944 509932380 537166808 113386078 541103126 637286650 161633266 117556328 482238106 937777508 671536378 939489182 416599580 31049812 122598168 57265554 467961172 941694312 483017980 892778628 896814472 664713520 554431226 616560158 220415356 999881900 790985694 959631546 231033330 140327896 102669648 556299464 708008134 653783160 304177934 850006504 643348084 234770592 696049990 386916046 710421636 343273588 18212084 852738486 834224962 450087912 696522222 733956850 704104142 860183324 462379052 886509958 837637908 300965878 515205808 553724544 362103788 139963050 995497344 443732902 901291828 90612490 916378912 338416254 905379484 810361780 962215128 25069102 947597164 393726062 476196402 12891032 248562232 218124048 976262838 661440342 694224738 426970176 36195964 995136562 715128708 757255116 195946822 158164358 987443686 359179280 275529556 706532324 458205536 511125438 703830650 890130036 565801784 974276422 271722550 619811592 778000146 360448328 707862376 422211482 215051634 896660612 964285500 78127882 362818616 346300016 933540246 799688964 483378312 817058880 253959974 848628514 988850012 80249336 589607928 665242504 510088790 175192760 368451588 358375198 834991580 300405952 719700202 271471172 707137922 474878956 821241028 16748796 211395058 869079618 784645740 537825792 877320458 93520638 71356360 243692802 995613310 894825280 659452324 149413340 337238768 881920882 207748704 423604834 584258118 642909064 331925610 76443686 795411426 59584908 301303672 846475150 757066910 410167864 85528014 421863594 539245396 114841240 272225870 646711072 506413864 912131262 78804392 517920972 449644616 332240190 288985674 96655448 50148676 772902520 549444976 99718254 737599796 526704310 627561748 433825206 880687378 475100118 363577068 222455974 417365576 89075790 506563272 266133462 618586716 388347774 198497382 665241408 138109324 241135036 718291284 599578788 966938870 604634892 140461546 195774294 507439444 777468022 426268480 622578502 955581460 795565020 794591432 487288222 811043886 71944936 779584188 483164790 76412482 703064038 838300866 904526254 164098928 851925188 838741472 293062128 821051060 856451956 97694040 447472654 684267318 873231134 565787684 35556936 347174838 776358136 606078882 6457878 217779208 198490132 208474654 685008480 789233506 433210448 992364774 368068842 342373354 755996074 461334846 101224194 549504230 377385576 891005246 952748906 154204830 734583902 571114320 229223484 705749750 586909434 215962920 405461570 319508524 669130234 308201782 59865182 277051618 716942046 550790772 737414492 943366524 792415460 573295126 87629170 545773246 981805186 886504144 911802412 529092214 11585594 82404622 94725690 490426512 552772760 694910778 657333506 27011602 300800928 565635382 472559742 920524490 312558586 136672174 135350586 277407756 575878266 702424098 645254778 834597548 353845772 707143718 822380348 806779996 991756284 826669930 516509478 568524694 332075960 277968234 349119860 602335712 193983314 703379102 804672796 175030196 753921240 995003852 357854588 926927532 120247118 340235834 582490458 850141044 933229266 286012466 524581824 106315584 6135584 34794492 837861878 63349426 620181668 683429662 712564618 482959428 882007176 22124436 339297644 121507802 707896966 104882084 574228752 66174234 515383472 688947624 363645202 941418600 827462878 592808598 983819826 900080598 134246396 681565472 652862882 26825722 963710224 56052030 678216516 946998626 688219362 562422844 361666412 886900454 615096086 910548864 997255630 717585162 401726898 469783214 428667340 456550362 626091248 770108584 344537146 292019176 525312066 955270234 433008510 188970894 991212086 437011922 163869618 391789922 732159462 769172368 498345104 845619312 556003354 438062458 259643080 623722678 619029228 171736100 409821340 235902668 886420498 695943932 987632670 599613488 551672998 120164934 672342180 852273322 917705664 166409672 940221166 448828590 255547644 414642406 876827196 74371228 308812106 910802318 579923424 285831752 286243714 768586042 612852364 216434234 115835852 831703608 13383750 720271976 751784326 795953202 319680272 787204316 342708286 589174648 752188202 213656888 825350618 94948026 827210944 585007444 415935698 479880086 240859198 66843926 849728762 830360478 582748312 495162208 591875188 196465424 903062752 74935560 251882688 91591998 590595032 963444364 768326870 764117314 364573982 48334646 122265548 544765002 957936044 637012560 53741724 596063380 952487634 318126182 992611758 627937118 266100872 601487554 317481010 787479294 86912464 97024744 596296388 61859312 78450918 84444988 561342678 58556138 910928712 397977282 912984320 623023840 876060538 305919534 546870408 830435320 825645256 91906982 569315666 435679330 533837180 713055490 949936474 357848084 692169710 657530192 755941620 23457974 187172662 281324832 1793292 625810428 591014030 165687182 360668262 722144634 857280426 329943664 997385254 471453420 263393614 647022016 782975312 436971502 406610958 836809450 404378290 114785972 893891492 532558464 383125342 567475244 872932020 199984762 490941626 768840482 589455062 351448174 102240670 220021606 582243366 561446846 760816814 283699378 299922350 35357472 87804154 366051118 16449842 847447752 163722258 187806178 984155624 322283344 86656188 348454770 151926604 551832410 110899386 992613322 245519558 481203752 525712030 847089458 339585662 517626464 641692582 958145964 696715336 456683502 952558360 283868218 18552122 424599316 160208634 226545472 681220802 955605676 558677684 267986482 626448424 565673464 683551412 808916506 449042658 992351830 310395770 265434418 686618818 257782458 835139376 317029000 771404516 356553508 419488772 141318782 733421782 241633132 490370942 141976598 489307790 171908228 956703676 641468024 446871662 273640168 959688886 496107108 945190652 810613004 465212328 744190486 887098794 624497804 573460606 44087308 863148362 934136162 611907488 929001526 619789156 259443542 719292516 804513286 632951310 406056108 352070978 62680066 306524798 230934726 915359128 103298298 370620360 608261132 112309732 963472756 601783816 194303782 156202950 538365204 689628026 719859550 954120930 426312358 389175146 474635876 737867380 269973020 264605948 795004618 696835280 267753308 163183502 96966004 436715634 72066904 486365798 896124634 538815732 217891846 552091232 515627560 823803968 136151180 996798942 516036058 397138968 524394042 513797964 928076228 678534214 353454808 910232628 422440408 504408606 407675266 803515362 861058966 794486334 465572 227461690 289605768 943548108 567705666 716774716 33253674 122039680 402308362 735949532 667935620 663723460 499994940 791908642 71239472 515712468 134889174 842859944 498108428 921202812 768496846 567451980 601904472 403985042 948320188 676093850 384597996 655540142 949254886 353177588 260658482 586332502 354037784 372293324 866468616 257974074 567897686 640631744 438154532 985723294 953942340 482306330 755285316 562580950 315082272 728258202 480881228 343905250 433387820 917825110 381343790 181764556 649820028 682267416 578665898 445288864 28618810 710356256 291244684 314666116 426416828 726195890 308492488 167400126 65017718 345148050 773208300 702561608 42734292 869077402 258283928 621466686 956580290 154449386 76483314 531302144 999503090 305364130 141328888 821392486 10407710 912122118 373144766 500440778 770440490 436689782 76993100 570803894 378713712 701508586 278578732 274251982 925010758 530172944 423965442 143443390 589412898 154844302 534610444 246001024 379734874 678098834 982503266 425426042 528707286 504460088 109088374 289865032 116577590 167194990 72281358 239646980 684082060 908260740 658597116 339855660 751162858 545036774 210259194 756478440 77715218 235141116 33105416 128896632 925148598 209494356 610189144 495349866 629268654 426464206 616418038 269196066 271760378 459716672 324375526 83767368 212583232 37974106 766129928 211750338 685285326 216054250 192427542 977601094 69520120 971061908 357489634 426872272 558299420 961780720 176679368 737951580 601314888 754142792 451882228 744999224 544112820 109513798 307993936 413660602 635181762 694297076 127059358 885262212 288209308 364311884 156974832 388570322 684419254 914154974 682530328 719695600 808143132 629647066 878849892 672903462 71381724 16451294 691736970 288702530 56593706 496685652 557067534 354074098 570298328 290931538 750186584 225540008 167442988 569177898 804882098 27258322 451554480 727994570 856643190 759368380 238175492 189067284 493428980 396312732 26319664 100115714 225327252 708379044 158664858 770762728 414314210 13060072 962376406 794189858 192253534 284131138 164777804 50412758 208944820 526638428 229681464 177797360 281972404 783259918 692114798 796695570 850196314 795059056 667814126 917521514 399492694 191402492 493884038 651909354 494391712 145485224 646996672 496629920 67171692 334769126 398700956 697496844 633951118 82101514 296643884 802535766 399431378 812650188 211062828 96240476 825161490 33622834 307107760 989670994 844970906 887675328 216600156 5937266 504807572 585792222 903657942 351551004 327141536 275893772 347296480 939869170 698439246 696273986 343174026 59790320 986012040 293702260 238268940 594977552 914518226 476605504 209802756 247129160 523853818 953181596 257824916 961538254 856580620 456158280 550958034 326545778 354041058 124881674 435340266 20227730 124668628 988112230 303190900 980865626 608954746 491522900 787386458 709053714 292501806 969071114 454956554 571440088 329291604 507849196 102746992 917202712 7503446 952545088 82476978 545317926 986561940 820317840 467836238 403587942 224088026 548259834 257584394 673156238 922626796 949972730 111985504 207124240 833199588 318299810 624831416 159509616 153509898 367304960 595879588 650570672 886326446 457181998 501698486 925230686 756169162 902730028 324611382 647543460 111477158 690511256 129514262 697472588 345405372 44926982 856580258 681103146 256745850 142113152 90256372 788898490 902398534 590618590 778237406 397589528 711191796 862482782 777129544 150364618 953153464 846362066 319868288 703132046 353185368 468848432 751897042 927722294 657942146 625547710 279668988 381607874 801974738 142088230 364277456 350577558 567577680 481485274 421733970 918928354 373133406 633929718 45035406 240533452 776194602 360844388 73671550 661142572 216501758 221740086 33756302 532300918 925562974 320491316 878000198 395335388 189814688 910524756 45482586 602005528 852304948 863977386 331034666 787271592 316481012 132770730 630691414 662701432 480104872 155627144 92916250 157806502 486445706 797225994 701538172 698005928 50556584 336776806 280180252 920078692 827794752 495349018 266462988 826648922 220608714 625552424 781437014 88936522 91485596 137909472 355065642 458424740 25523898 253515710 572862258 373671346 372334386 61525088 791177928 307614732 877981506 352968026 317103780 201806170 602744282 838955424 180164490 931998854 503950556 922370770 146033558 351505942 455592196 970157764 74886528 950218658 257255004 492653670 590842794 724643562 11762188 963448884 836058526 163906842 266484192 47362040 818096302 302327428 793885872 229444038 918913968 887514426 163174984 709572582 374670464 970364084 681989410 344110614 362191550 491242600 250525072 891447008 324126690 530432328 877570872 781788882 850380110 436164532 14951996 898819310 235632006 21615292 309943326 746211454 355159290 176881692 259010854 826042678 79243800 665075774 117770926 414516178 724609374 428703118 626078258 374950250 892724584 927000360 293170496 33768306 675779154 281357248 674462242 418269748 621576338 248420210 537923894 775234468 164589854 292611566 511271448 125674030 144566412 49938570 852500854 96532582 979113892 717375834 857596060 5278712 411113734 465829148 9530130 235137798 86751718 581681290 575575584 839564224 899699000 834873750 495580076 472942786 316334704 478910696 805511922 422443136 898089732 38163750 607451568 753629556 894936862 227978810 878572270 153884680 812763164 63835668 182273272 34363732 283744514 90156704 238039700 514941124 512484534 572117784 732786166 731434954 151408632 241910096 873027146 382808774 49518602 514566242 857557362 152928326 981920736 452435484 893333608 415161074 180772 301241592 954144996 187553218 527425978 454819966 981919100 50914062 144923988 583080220 201191972 191260550 27039582 442194084 288848830 133602048 458959166 909482858 304999218 847577032 831803568 447044726 375621004 795405668 849507108 309884656 730263754 309037008 391706922 744377732 195460704 771440930 944520860 905357022 54076846 178820176 312796946 779051922 26124980 36393348 978568928 537396796 898740414 512798306 885811378 680197560 814569902 443554344 695040142 906172562 997313040 137598490 465289664 719538790 707106504 281221230 800880564 608896450 733955274 408547902 335247746 987655308 518879358 390535490 889106058 116751488 100173778 634632914 27944754 599134528 433025204 429141350 71985762 880931886 503719292 68058498 918247736 6528394 615995964 42957136 865857778 565129856 277678080 921320980 600001226 180697880 949490222 416411534 517353654 623601464 141058560 793034326 4512668 379252172 455009108 79561110 165897776 916608432 123645554 840965740 816106702 558752534 329718268 129154948 265360598 513009922 778794546 771702128 666860680 481457186 162537806 544629736 940568206 761582380 922383954 492247842 594948040 562120654 683010498 595305784 284345160 864515484 996152256 942669474 295111776 528301760 654134552 242484808 784461008 212209196 953557354 171865886 595096926 396795260 625366778 735851008 550307300 385759682 746727210 969812762 666906434 901250304 740321996 849264668 976190806 564884252 156615682 823834402 992142814 839702236 995848966 985092854 52500668 995098638 801901880 600697810 875366704 717049038 709294128 336415134 653120854 824267504 884419154 921608896 406431996 731945500 67621200 885044624 94903226 725635208 824710064 615809540 384934766 803256018 171014286 56943654 41479156 453015936 323157688 152590818 748310472 470812810 344549072 991362498 685705786 128834440 873696020 683044858 516111450 49698804 641250128 490020512 21533242 257350890 872506832 213526808 865245824 151501942 301856882 308217496 578271826 993936076 541950896 391439210 19056594 756421000 262192554 185273036 998322334 257123714 695974670 164402576 242818498 21748390 620607176 458457996 408448592 345671542 431187958 321208600 170503808 208627104 137657242 696860854 927578962 862625732 762717038 187443304 529073126 811640186 598528494 573008960 492266808 511841088 886641442 295119254 483361630 721656246 541640136 868267494 769884402 443910410 695075888 702716942 606165434 12407920 705938242 262194930 726857470 125197674 768603986 789433140 681128508 724125236 465661852 17187926 286748596 314337116 322582970 336131162 909123754 710563042 703962668 240773580 736920018 403364648 760581414 1772660 684048260 761065542 602606218 311234262 45155080 159048000 949950024 406609238 411947126 153336504 627328822 128723596 729541360 301721932 734598616 247419134 478318426 247883076 715529242 32142224 681211078 88517982 475681852 491126406 264601498 102339728 636187214 866427432 182990892 404718340 782081120 793345580 810887970 799730206 754425192 524805820 31911278 130172060 672546904 541958930 807912112 979864158 923386948 260010844 499689050 71913392 279865222 290195132 477867462 934711456 287707568 797793286 644537768 513933656 61680210 555875172 570204068 893045790 324601498 407953686 969327322 851041638 181320010 960322518 795589134 942436044 499684014 306305318 990045122 409529470 883017682 338750998 933957372 286582152 241823594 301902598 643740894 325091770 574888110 194994698 961585664 659145936 974149726 922034268 99679172 112602174 573908024 726202678 599611592 970928362 706570560 708393018 854876780 854148494 893002912 957981484 712561930 630053554 833749688 703704704 228097638 564632546 865786592 969358176 544245154 768034378 123020558 228377030 798173356 339089858 717764546 377026460 496763914 142543290 772352700 676739644 202954480 271342520 851513166 138276124 410842464 556677788 720281324 986929206 44330368 690676872 124743234 735830420 373377010 563763376 844926282 962133118 379909394 247590130 401843754 72264162 956159812 255760578 323341412 460901128 48286292 64675884 123833370 614599416 244358316 294768900 279965622 337619042 823708688 104338734 1363434 994388412 258519180 465702012 716716860 557628342 22862020 975376664 853231968 518654012 681662104 416514084 70861984 801413190 815678230 21564632 319502142 401276512 900256114 916159262 447405330 783353000 31474714 326166564 89068780 796156660 38666268 551831576 465054778 879756938 526490986 758397096 800447336 333910706 892802368 576616024 174354170 583483650 594404856 873848684 166883370 383710162 926795790 844525572 552545834 165136320 153264754 77209276 605794712 38057626 282794248 748396222 269033334 864891212 889071126 473650542 955481442 652245256 666935696 739614708 350465312 273692152 309483170 295168072 870308058 356509246 822748486 12520174 310665508 894027856 784281214 488464862 770650548 201988174 849634402 705591428 237167032 298671922 642768844 515058826 362838110 85111988 410896480 214084632 957915386 874696116 606366076 90446028 409459086 735110838 628889108 746819834 121488930 803655214 955063060 180731372 162534260 276187936 674217374 822121902 675920482 818280128 616613714 14227654 105027576 570685008 186059804 930299526 961542934 263587886 461014956 437175198 281332920 369378594 956703188 599682628 201029570 201688356 804239100 623572426 925909970 648010832 953575784 318712986 393607592 405328248 967759978 944174342 764809022 574520370 253702886 996614770 668492120 140547270 10402684 528203040 712676244 820260356 125207810 520878764 822215278 287536368 514840588 418053966 618679180 659355928 790028016 525277720 194654366 295591654 866546990 764232614 647307582 275246988 169434168 920678008 276386872 350373394 170484258 149321170 268182880 631048846 439295492 302094248 326092060 823486224 613816788 612324884 890483214 404940528 653488896 621946712 959351128 991598500 128083092 179651978 676935286 77430738 949066514 773929332 254755322 430425658 431573780 819513244 757849302 632082334 778969498 161483950 250812118 143458176 127304760 110774778 103499892 237381686 483355660 917040456 540311722 84800996 66561508 713104688 297123488 969331002 390118950 148877380 102249662 209209124 693574076 733224534 559383904 90681546 288723424 895138444 309018564 628658748 38784878 95231720 741897388 215085462 531675070 602052756 200418728 675822854 489240432 200954770 645711424 633198982 956168094 271286594 790977920 690581894 198366856 119715746 787351446 971481188 950797808 176606924 370806998 206948858 884263942 385516294 652949536 228160244 789307946 454996056 573034346 291283906 190553812 927555900 328414402 347880794 354643558 259722736 382729604 484408918 331853854 758843034 315647410 770495908 147488284 497079830 327930978 553462286 747289550 955317874 820037290 823669680 585806920 460210954 213524488 648481034 910620826 100054088 812393700 448997950 454715058 91398600 252868894 229178040 389323928 589988810 253570874 538045480 836026602 386347138 815665218 129070000 904555550 439286010 980323174 147967440 288355160 29206982 131117836 517603256 167793188 586958778 110224152 879666112 767331436 979733692 430523148 683436816 634975942 319009942 814157346 350748040 39832728 321367944 901138394 468588434 782717122 954509372 137289912 647449102 521937194 518717886 768930876 616099662 989949350 919535326 962703362 726253754 724806170 259770402 723985168 603664512 303182100 185081580 2307494 582069032 562504664 263332188 517158684 841367318 109758844 909969866 751094368 842444828 93735422 376811172 476912126 800347906 786171478 841385582 419171444 667862540 430578358 94358826 461619014 422256488 800242852 963568296 691862774 729561898 326111780 217215746 705943234 8515310 750853078 486611988 988091316 583568676 424445152 133726484 29210480 212636074 115284138 799281070 466656176 407732228 706749176 895674278 429909894 115738410 219111482 805398852 289822454 461574434 162723712 778013926 919887516 74315324 20628676 84854212 910183392 361384118 307398664 907821672 932050012 96163422 670240174 875925694 599917370 567309472 694530184 676064052 786213814 853403636 539869324 274100534 609544606 953332972 575396896 461708902 922710488 466738692 421324998 733417230 609217332 504236984 707693756 751049108 53958306 376807358 58880756 884645342 472715338 623683400 155740078 53701140 742616200 419217864 53965118 446606472 332234132 196930174 825834018 261018384 197062442 201174906 119242524 310789402 791832036 306832122 341762726 148519866 621007568 18303696 242027340 624067140 243634854 298507052 685159440 901845556 943424912 840277284 82182978 103056832 453406776 797956988 934923188 631724200 829603158 358725996 525041582 871875234 27881432 825531914 751400452 43030556 287930242 909506942 382749170 782860262 882457036 611306548 232902038 842511708 979563496 566639874 985015608 948557814 745175780 496288234 927474904 303717350 449400078 661263334 865306656 891560808 444486100 310290222 369656868 593955414 292911292 505645428 873078824 562543408 356830978 337927888 969492210 748752992 841451962 386545944 362090626 2003824 364871528 75056400 621755410 376600108 944603352 974212672 82352594 897297992 346525280 60423988 37445138 205777702 604935890 350081500 869119548 561207420 487281282 561417950 555945748 244271316 219118318 851029308 191566528 454351948 82159224 32928008 808844932 706252120 817146382 532955870 225754702 623177320 823781644 945428690 467031550 521995106 992008706 804145678 376923818 519170746 214935226 241927516 461720172 758616658 159280538 546406264 441949160 962909408 643478612 427581282 51850636 708943806 587057528 851534120 843801672 196593834 301455166 445930730 347423292 560789428 8452904 208376666 939792004 629043606 712589532 626933760 281821956 628757134 823159010 292471056 947415500 689991752 811183692 336068164 414853798 911066044 538575224 427599200 880527868 305647930 643054222 305315248 169150612 591416056 883507042 7918582 387541106 331954592 500160928 263970806 545768018 981820616 164483766 951789002 77657030 739226238 230541754 918028100 948692216 639332038 637780208 92590 728858230 398306334 419621738 12787126 729054204 988770994 497317434 875381544 545588308 521287212 74042584 755223782 715105522 908320830 512934746 70834220 137415628 504792618 286718916 716493898 878676292 10391656 59490730 917011412 741849780 826565758 489495958 480322692 297889118 169841588 380134316 175443664 624680682 352328532 228974468 962899404 14991472 5478972 767865614 785289662 598511032 238803840 256205550 991689806 196840158 840451648 481662334 672015924 762607184 402136980 478675460 128301200 473007410 219977642 533621216 788404178 893706682 230179526 568573796 68813206 121958998 324091466 255440160 823068306 892598454 576930380 331426732 325288738 722086540 20061682 766688054 575522168 533537890 798009534 808103182 327123144 238225320 343899706 72663450 512508654 522871544 391690956 934023232 468441472 425493040 636249610 981096964 214293742 757186354 189281884 557937952 277152820 374558590 511902524 563632880 265806234 620864876 231119316 351678416 791137182 435413590 452262748 660485560 259646588 583256416 616281958 707184622 52078152 573723672 303027788 332294610 193385028 295938720 471476408 117939026 139904446 640361926 71229984 829610706 430828994 113803482 22243072 734340744 686886348 575480910 721146414 439428224 976625108 787184486 496875052 461500064 851521566 365712242 626141474 813669020 832456856 5147110 796680754 106712922 247886654 237439342 687183516 287065722 614510370 767083400 256835242 991005714 499937722 600989874 242586440 627086006 482773392 267774044 709609502 420573272 821167430 364745890 518310770 793872506 991605470 88149652 683702728 835471570 451991280 907155214 515543730 896162460 491880074 660384422 847864168 146001906 502376280 567704288 298066542 309475302 798707698 823400368 798166798 209659010 459130398 611037228 149467746 872165806 384604210 215865586 667555936 408774094 543846686 374571216 522155852 139590892 518129450 182481932 301797654 7712354 643677470 467441126 651742816 925273858 847329474 379286146 978334958 4089800 141215344 207612126 244499828 317217102 683024266 696922688 138206100 102271292 613416394 498208016 777273580 350826280 23246602 145597490 181705646 738882296 765428826 967790846 178542210 367938064 510171020 399573002 596321690 191525158 663406172 804012544 710792938 564107972 115130000 90462594 590619492 293358078 309922254 500012034 564713240 860856916 537289808 753492602 697944040 384776302 836605466 949488724 19650644 515119602 633042988 881155700 101680492 409021910 65804384 859971834 674821832 48057282 381597278 875519484 322480994 169181286 5613418 88803628 182327322 999037846 561526090 112093268 108568714 479496138 606629200 483583928 477471290 818288568 391186006 125431140 87947554 873793768 802794072 976064706 488375026 655388498 976645548 875332374 342811918 673904800 367443752 519846198 712301120 708197728 873306296 509423948 347693230 488574746 994103764 454996498 373529682 387317748 689460684 633677914 736590416 345104952 352607362 294384978 780713136 295988888 433146886 442945514 446317570 44136658 778423454 656259636 740301162 348993838 978103026 328465228 137862572 812094640 244258770 541573734 179695320 920047324 797197522 336178512 457334422 923284234 232777750 853324506 470433862 947186966 25851526 722331430 712485546 556767888 88935704 153278208 760505794 983977046 198585528 181816948 76692564 106132886 162254386 348503948 117913310 273103928 693214892 800980900 7776216 827922592 268405342 292933954 370513922 115199084 563229030 645071176 531370856 601336472 54984696 167011426 175604248 820006794 235707464 203859764 382644570 749258084 160896330 210307486 126927090 190486520 825876250 193187056 818969578 749554420 272966592 478048638 9037558 346375324 769301544 84574260 904098864 753900272 823311706 474010720 31723464 945548384 200036318 166147610 96064002 570380732 711290932 127048226 326606926 166916940 567814148 870675832 511763330 474099502 670576974 657209716 962605292 155244024 437826498 866917788 16377114 84844112 472515498 181750892 832405508 600715654 422111080 600025514 852753330 624511974 410894634 710598568 179714090 670036092 822432118 346934886 741539112 858561338 366502888 368158764 527137514 796317672 630863696 766388222 739529670 121468966 861739290 227521334 654143420 279480636 138887692 499072484 903760014 139284722 765215866 842839902 729183484 369416674 696062448 919381612 706052818 734853318 837702096 781724076 758554828 903359438 187174184 189805364 535301312 482520670 443458764 569814054 811360602 725377256 284062806 615266688 289664144 53085098 414595888 907671666 783779292 252788902 490728422 808461630 219372596 201738544 916639870 358400194 337997866 279228834 564141858 321890764 330541768 237121142 592114260 221698742 50353410 601296308 99397602 327079410 512466892 269428896 986342684 325776134 244368466 930503726 926930358 670284268 75514766 675404418 729711514 584195580 564976522 63678292 632434944 505744944 783773274 900104476 675398428 847454036 732130394 664231848 91366744 373063420 428994254 789659688 760703562 80695398 750129532 265349810 246541022 224680334 185474652 62420090 399071838 469440210 25161064 737629678 630842242 989194772 904931042 24256052 310641986 837916868 295444036 332782748 749531756 222407218 833459248 1991316 63261918 168298772 501590306 613278822 297933386 618795626 647258774 352977578 841982294 748350696 382727318 855993814 648553312 482974616 244855526 616794682 427120376 734934152 210094390 11324608 281722796 650959900 897050974 63775340 527885538 931241486 91398008 332062702 889229272 281481410 899942128 77650792 989443000 964575888 756106512 302286812 123153820 153689470 477252692 433187242 645198786 545212836 693652664 617921248 562388514 222660766 152617886 503180646 722589960 496984682 453757346 670163278 10260588 988052380 426309780 790988368 606926306 185722948 50827736 311460002 148650534 619971886 320887116 35597660 391517264 653741210 816792182 24117064 448814824 823531036 690782404 897679748 945967572 919458438 364072704 618081258 605237136 216480864 965422878 455481714 411509622 631543926 401256810 559873988 970402776 715021216 107409720 602636422 313283564 616169720 458890464 294456384 874204544 985112828 42921964 278698150 985800898 28211548 767391148 266823640 725128196 59248004 891445916 600054476 503867320 676237148 206314022 562280938 498809738 422215562 511351730 284779098 406958324 453088718 128913534 115813084 21518852 274867166 850723258 781250732 804460316 558064650 956219844 884778574 511826366 420244886 450250280 568859380 465150908 213165782 417819044 431757492 165312396 169300966 185201804 402144332 983124184 310483394 973547350 892487998 699412806 592351862 524857256 25658696 818247400 390919262 558299016 834694388 254947026 369026796 533976690 803003414 499320424 168255372 634436342 373732950 584800844 55466842 277344900 380550918 385437680 350781538 761308420 238790438 134794022 544119998 789735286 410631862 807904410 84966916 59452470 250246664 789046510 327027920 114794820 602352746 895658126 446408260 938611780 338482564 910812804 336511044 893254004 957199202 361854386 712293134 686599842 557651168 329276440 468428662 56070960 874794666 444341250 909128132 7934680 257997406 455089938 902627694 44523846 378470736 346540866 768711258 472302186 411675002 151348882 692347398 879716006 415801538 11994866 807648146 640110528 84965258 827767222 482268242 652708166 917669554 288412314 122002796 957143728 503050274 871616046 933594760 460196456 720215318 503918754 324722870 22103340 130552546 670603048 820973186 987440236 329815442 891325310 838033962 333006236 16517972 687574978 176545088 523005734 823373238 576653528 201587646 219872414 422999906 642693248 249972272 525449404 831303318 871519902 596691766 291562578 524289704 883568646 929559244 335897308 893713658 82032980 212550830 388839044 295750612 821543336 246786280 924083590 803325366 11863624 539262516 612446456 22510626 514292866 966710632 665317052 311401554 648789732 322257176 824818640 222089820 260101856 322554110 384936854 689913770 552456578 15707830 489859012 341232906 343002120 368651332 846740872 393726540 403494978 925531144 382233920 426629316 473974854 477563292 254236450 687632806 81028338 381622130 701599448 28824418 299966498 577978794 172632508 556193582 653954132 829719590 264025360 817746542 139700308 31738776 710789294 372900980 786490288 734987224 777127094 265348714 2653080 584884732 881493316 712414800 29681442 977169074 257474084 905042742 521311910 722883454 995327566 765411970 494312946 638592262 333199634 44300544 750019406 768150044 168226012 168938222 979696706 719322054 837284580 237553188 831585118 443106946 253916132 707342670 831258556 175023024 226038096 355008256 723230394 648747052 207749702 237147070 413844012 260941688 879207420 752533078 429092310 795718992 218481400 44096362 792271658 695782188 68771876 882975002 938958940 645420992 853879620 466960370 503686298 776580464 534592634 510723874 719744014 958877084 576429424 399262152 431953082 597755380 400740484 643266736 597896522 12974620 116490152 727146336 230545684 580740404 917374834 586038152 569528590 740448420 615755236 317511648 77306818 212790870 943646138 745890116 813003824 703316736 256792204 519394240 798907352 891645722 524630484 670523500 450042384 233838384 493131322 345667148 664486404 584655478 195963706 826215368 629639542 321081236 170103192 412698824 770758732 148415100 556574088 603548770 751263034 688565910 521664656 966215928 822822442 38681394 258942926 186896340 697618968 706871680 792024886 734109690 54280966 183024880 753577060 725840558 743710030 168540422 747520964 633708562 52493704 923500210 858220498 306435280 42176318 254754030 776957132 789274674 648603444 55243126 830079890 844185146 86973948 506352424 998276508 49509736 655718774 461702730 75293882 21439160 394536290 642377910 704456900 357225274 630953478 24971660 185829514 872051270 393510422 139096256 176633502 131461684 943554496 516179354 434503120 346200458 73448358 280730786 408462322 54723468 845354176 451415360 2232380 961805894 531777244 459975338 773060392 99223672 119677514 344219812 794288892 221792166 950154804 482670322 253928710 772958824 285192466 807010508 860844176 561465554 305058938 546959680 507942688 570174976 450783876 489113810 593958594 632975414 131085476 930596922 757024508 754194782 997466128 493409960 815179260 824581106 601632624 424519034 857036698 310601586 964500932 10332148 428553136 999160548 70619510 336402046 832900386 264005786 242531174 634351760 713050926 999172942 677319980 735442116 877385734 484049190 464857114 838103530 109348016 437076794 272031500 27713012 946554504 353428612 396807060 25551140 509161154 922310288 264930980 978807754 283101016 607964752 261999028 323924346 202852020 999679084 754126584 408668732 410366066 524022098 646402026 603177580 201064856 634294480 421227540 535031210 518475424 340448404 306431206 237980856 827921906 236144566 169492142 574510244 104945586 72191708 324552358 529747612 319107752 639604022 255293828 401803894 590171252 473491918 728675620 232016210 867942568 688790562 263173836 134814046 927670748 977268010 625728458 704772104 557323860 583749872 592130288 681980458 887823466 256035578 847469954 771132406 335113434 622949612 548786382 141723296 339928314 562680550 55875410 296061342 795688074 941360330 22134252 197154106 862276954 504528880 959833300 20317784 49730404 527585922 173483878 275054858 30084446 692509796 940991516 272030030 37904052 717902658 760449882 655475404 847991970 708271640 119891168 627267990 600532350 357494202 776991996 992434572 368427526 659867684 549122454 527885496 192022212 275467370 949355040 236693730 462560450 711407436 339829458 40907324 896378354 925365490 966858306 372584232 701461718 132386796 700729826 28015002 104266488 785656410 454866586 936011872 262055710 295325378 761773152 42480838 7949274 437124904 507241326 642529718 229457898 684696314 889143504 773962428 778178944 383363398 770760632 508636458 708169064 925554880 204102446 768259284 376823294 606588872 834434796 433672554 230470652 650695124 731541724 197159472 918738690 632006850 574657956 257086236 400097154 201906416 351447466 650602532 5748282 795447244 638845772 813519218 343204174 749504236 805244540 313814018 929800502 415371760 834623540 499921514 712046726 580041026 663659708 585895812 61885662 438352576 298116406 879509870 595398382 20205116 518228788 328085568 344027470 691523080 979990620 242969912 911071064 855496 386760446 809992900 683071444 749740940 963956256 372390188 653639966 530257330 994206690 2189730 523596238 206111864 576559820 297589136 167126680 380646938 455911704 566350260 960029254 957551282 261588744 669135496 42066482 381690808 632771492 165378260 22082422 839608638 491828866 269992080 788565020 689254228 226664448 472750798 900321634 79270838 596726638 466661892 821608888 949275822 181720794 163435514 670687602 128968872 726631976 179572124 528203664 90870628 815028310 867411138 403583334 924384948 105560052 562472572 113356704 534998590 782263194 698727688 132672056 710572162 379165348 917892360 783398498 869411646 243795988 59758220 641663482 119516318 523778922 512199780 27362784 493628056 386433046 929097266 995977984 582043004 701228366 301547282 557283894 838798678 915072082 566871240 200466486 366792006 639905208 712880546 170246794 857407582 513950278 363187726 906158442 544429800 845845688 362064600 198160780 854958748 2815768 53242684 86552658 987588380 66129746 282402726 736013566 18168486 527539840 303512390 246414086 441200428 42726984 357711766 579629954 189771632 812433398 440261818 371208638 79170842 240586200 708640130 223903140 74748480 616351944 220225250 26793562 665187236 971638914 140289708 407600480 218126104 48789722 747321668 854446366 531446878 89574988 939791382 695410598 930514480 170977554 869798250 177854250 997768314 589825252 160427998 608304850 308243420 577771472 712511692 294122310 66137858 416160436 731010672 114542030 763145902 611668072 138320874 268483598 913118070 611492144 474994650 172529324 42944552 785348068 890621216 212427520 327486100 368327048 287500770 122398462 846978176 128370826 500163952 724689282 508364930 116730874 189021628 378667302 341638988 650879604 352953348 990578834 435844426 115339922 438181662 466511950 613876618 266199506 265281876 724768680 419038890 503094268 597156828 243885652 169663934 765139092 285526298 155515926 803068620 665586458 601341566 885022186 435368712 929251812 814138760 878064228 833923752 584487684 342743060 286493972 795429964 480980782 794218962 145096030 262446906 104983780 976223940 119102814 454477756 526168290 316633388 78296138 354645696 784640406 379755298 963713928 557838212 693071802 757774782 982677464 654916816 483398786 911961806 474058804 592967854 294924874 765894208 311432868 134535730 416553366 857950428 630919126 13187526 555201510 556315826 370956558 670574820 738362970 689724600 97098186 711038130 122239272 668535048 569934944 700236370 286723472 775747500 621468194 986677892 506231380 378405496 793753298 230418026 485400802 12318738 5082604 102910418 211360964 6277270 33041972 490909528 703673042 514910840 936141046 196378288 902772536 458677796 188615216 83479034 412054934 86869908 370653840 719060100 90816280 115211114 336139820 499213786 481915798 839834062 482620844 220702046 688314076 863075406 659862304 849820818 329767404 553418676 639648484 22698200 330983552 937077428 160685912 500340632 808526326 699995552 595780532 189370008 759305586 994386694 898815800 939114920 970011196 376763580 281783674 141392602 409232844 685802634 323280058 468274798 566122390 466616498 114296976 635918010 869492474 930102572 924991138 645567802 302496120 464218968 289270236 961184134 909468154 94811652 477411728 367794460 985124960 94625358 199045952 928950696 564733446 739656858 52059848 122618418 873376290 416945846 295591684 540542244 433958352 987273518 833448004 538989090 772359642 947511018 817395942 110918962 86064782 561594490 19022932 55714538 850173058 599809982 479432328 848576466 227186088 82585746 289947698 190099274 979001212 209182574 400829260 678986138 81426424 771830894 190400472 487050040 288591258 90500338 12233840 46460350 568551826 113270050 63579528 358103750 480683726 454864286 239301438 931805986 895498038 164057930 654214792 900011134 246020492 150576532 58026846 397750766 45953806 868111408 668444300 806092592 830933386 174975038 383965944 210156412 668196906 629212402 169804962 840948518 430529166 821755942 141793622 193907252 795969390 509070716 271866196 235312784 544803820 879119620 646375614 325911918 579197846 171701846 118276684 239612216 626829480 230822408 682062972 494857830 462293850 494017992 710509528 473315614 534013782 876729282 606341372 694532806 457973298 538451982 186930414 734128026 3784446 922724614 264295920 658714118 805129624 886998348 834731630 364819326 981204564 918337284 661168842 236910400 446067366 261832820 898478204 253631450 319510802 913307382 914417500 476307828 44032188 393433428 83808726 391184262 565497656 906859862 230387678 245323532 109760792 994983678 340912992 230505558 591676702 577842126 82740996 24578514 411242654 315013504 652086418 167700626 699272066 845375902 127213126 348091158 872971714 298238570 60495394 927628872 733015400 694882092 427656506 76549742 541224846 440376584 215343236 294593580 188591406 906406888 813310542 425230988 45288836 181020746 372483898 268362838 922129490 567708192 549409432 859406802 35561332 162795710 287394476 684692886 8182446 645374992 546050898 122522276 141352000 414676424 786749582 281257290 511568694 767773816 65344878 724713344 939081304 234669086 946028620 586681228 565589560 258440092 218730224 395789932 861475262 947410898 410086500 628512850 995808838 797893550 454788784 438335386 954487676 712380630 417286262 166316326 707037002 822522806 667473988 782551120 365711340 140490752 110533978 933759930 5785112 812196734 307317210 292861592 927954424 322966378 930511644 783231774 493574112 985583942 899207638 967697108 253203612 222985508 871297622 557520996 959500516 272534094 255207568 300123292 614924764 737950258 94030840 156561728 821676216 612295532 856567602 582527492 674497410 633301536 215509774 57646358 217458028 723571400 725582822 822355822 120663114 326136060 953761856 408691408 445472758 513990452 766205014 666475438 252470652 393104284 274741582 67034888 703287476 68060362 218933446 577671896 561179654 171255682 765425856 598193444 916364504 717656378 85368132 55451702 553112506 80686284 252922760 976953182 62229928 936096074 183959494 612188748 412597860 164747610 642664744 52258634 796819688 976471032 69099202 458506186 269965434 132445816 448558242 956330380 457862664 15528022 813072720 436199724 896837490 385414226 94441154 308937482 385681786 280358080 332670190 523030448 222229190 683014582 750983856 305247840 134783864 849201286 390757668 605269066 677583556 319867700 455637964 36067508 581832046 454425524 743098542 309848568 770221928 369028218 423313116 374600612 808324440 310150276 134650306 725965684 137491722 105998330 845107816 3694460 969923242 948305270 751094982 50477312 963236476 866614210 129226846 973612556 186239860 81136374 515032210 432980102 443365184 120201346 146464432 708027132 174010440 982887040 387129340 647218716 942719114 524700362 15673798 391756248 734317870 20311726 626578536 981803324 41003194 317530360 16031930 417541870 463608878 171154454 468316176 991425646 746409496 45056112 39998074 131899326 51651712 888871430 478401322 985792294 122619644 211331586 591603214 493589074 252753736 294523728 438436128 348626480 960415600 440117580 80787748 372198736 181001684 63391832 157645276 43080984 326229468 990243598 245649490 551590614 64390020 954390166 144535804 627348920 473265646 878188784 54036832 606437106 335847756 489574690 908700984 964082486 304857242 965266350 826393350 612028218 413974784 552807058 448555146 427997940 236325672 448198156 569727040 153119056 66426480 526262994 664310016 314101348 277546388 491327714 669675696 767412088 811776290 610858656 411607000 398603470 135111396 432748128 291134756 384668804 963625358 798572516 374924314 918369272 393040254 829366392 453652784 470384746 221899186 885475252 716526188 543668070 59356236 750844810 150251162 814960382 154776632 662865810 714930092 919210596 46959390 370663250 462454744 649310538 979816454 532407924 395652884 936350348 525021308 566475438 469913292 667251726 641948122 794601130 448666470 74102788 46778478 764467288 352906810 835678676 734497030 977418782 237890734 217568318 499791002 589180390 630542808 449922190 199843364 157827586 142910208 800892620 85308480 212801610 31811806 660109596 520284034 487581652 559702072 655701222 620028398 171817272 904774160 988497470 453914704 455199714 473629060 367441414 731085916 1508090 624136006 836350330 252422804 974622756 342362436 361867074 637426732 679242872 393548846 927964258 180369784 165717968 527838614 701561568 53971976 354808704 913588646 665437994 207598100 40073456 30968414 412431840 788352520 926334504 985400040 213686780 814695396 525474902 131815682 390937260 230145064 293231478 902409220 27268356 149399952 877525370 22221530 668795968 451587500 193705262 671516004 507193356 912562880 223575600 516860470 781605870 776021310 176885480 681513824 743445610 151993696 212711840 61996262 896600876 867221846 141806724 963166708 519226624 214117100 449035232 462890340 369755384 897392642 83242502 720343466 561808894 292091460 833273870 151273372 661428072 233588812 541839108 333517672 551905006 280979910 553706944 91087774 660154318 871276356 8727366 957862144 502738762 282429254 693282164 724231264 282710798 5904168 306196914 845167782 528153894 653234030 117097796 643005278 436428618 303284806 294951702 239354910 726486470 223670238 346849102 80389992 855672710 726605870 224056844 964650422 971747496 996052570 905644184 663329154 61695244 431395764 593461390 255434008 744990110 701639604 4772258 605914432 257035642 752174934 926203230 981099776 553251736 224607368 637117356 136066360 331012312 298961040 761499114 963210626 542756384 987202484 154609502 205466546 894143694 687337826 147024294 52885688 137196770 666855974 813075758 699779590 161795420 405078264 254870930 830097464 925792180 546345716 384802936 474983796 187731696 270556926 920023590 941816936 263514320 980693146 27107392 932682492 375074240 117849100 558763728 912108058 742380100 379202860 299320766 929253920 614052834 221215170 907926238 473873016 70960370 346000536 199055476 539007830 110729590 588533160 703507368 487910520 238073192 348860314 938309746 970415876 621204200 77696424 968845984 904595268 383196852 275279164 642094648 690690494 805558306 152253172 930536840 125688440 95257142 62771492 65351276 312405212 441943458 828302078 127142828 504475132 21277772 426990382 523048622 520490696 973592634 580958412 52620780 34150418 719764744 493784846 520848206 922952788 252690968 420814258 797634678 540333952 362739024 651530704 646890592 930330176 446499522 907852662 113176924 600367460 467880492 915250444 608195394 195519694 650099722 653319848 894820462 443666092 876967902 750474690 485014238 426298186 813194604 99892520 391710720 510159184 635888612 584073754 242951338 364501756 760615718 570253526 702031102 401184064 9924174 538707236 854976056 257859222 218298264 786842974 703611450 40108746 92194964 676509732 205633010 25599868 369789884 935061996 518072250 296996994 47776248 328289504 203120326 809154830 458950234 188640584 973679560 214743624 454317472 715497526 287054088 697568156 478500744 730401726 386311584 818490516 831733400 26135798 569657692 530059164 982167918 226762168 735939712 609426662 476946454 724233046 878606232 583499972 766679546 495260452 987206750 520483804 943125284 454167718 805847748 28518066 182073274 781480212 75459022 982701252 234414292 807849944 826374922 930392554 709954376 415912448 123997184 667723108 661046092 108181918 791337624 391720408 284647926 259988172 567290516 421200542 402569804 125716552 701352480 715697788 764321298 385433758 102324694 584177368 65093890 767861488 684462104 392217758 677098310 608812652 102073466 765485796 594146506 282923902 140511192 598623694 468474492 149995222 25534666 654732054 132494942 221474220 389790728 714118716 657985086 878302972 971988882 320346598 659221448 816667398 367495570 81984938 355662832 549069850 919889882 911390376 844541510 51982086 718826558 817326214 528630720 231407602 905294090 302234620 671096126 417470462 57874496 195794666 44383952 770068466 144120720 115536062 763006206 147700782 581259344 805524864 809569042 237110048 869296320 163187784 903478428 635438630 346790762 610590264 510864456 64961512 745324996 131075144 736452266 469438904 803844234 706744504 388207618 925896506 815623476 345154446 697072392 38738560 972996864 923773258 624322346 391686482 949733352 513116184 664403526 366505876 953624404 718358104 821930416 118871688 180828742 232740700 124494508 508380304 179339318 33237860 354806294 46137918 891358678 345535950 75716964 125624494 775090086 423650634 640574894 135635388 463022492 902919520 197964652 421500354 332740458 936816294 143163230 959858492 906088980 193429574 698704826 862091066 969981342 887325094 247491044 604271406 806056792 294441888 147513340 909609716 114477680 285484824 4921002 683673028 946685800 332750616 409225976 89033348 788147132 253269860 150824922 143565836 131140812 663490428 535591928 799263080 458264584 829060736 52705970 863977740 837467298 873556746 322049148 175347046 517948946 554791166 830605890 746189590 795687866 800896410 247130744 763474710 971080874 122775364 612606090 77726314 711819072 991587358 654510144 474906784 467881890 958902866 259158968 71332064 771289014 654130252 497963346 921213796 803403944 154642496 822501110 417061772 762345736 866754258 488045594 394782604 867085004 23283548 220823048 787026170 577020450 158142482 284516828 228621358 747876548 847753918 133165802 145256246 7627710 818096880 131068738 347633934 228807078 611789116 943132896 464280036 426653902 815517468 463825392 697432146 785282216 678438752 520026438 694325080 299269280 103657018 489335458 355762614 608602710 188069158 163964578 902661072 388191412 719861708 930270702 528378508 310431764 358136442 639099984 865585080 540620292 61559522 440851916 997641798 845162974 162604952 511654678 402552884 397564654 534584538 383329870 942256954 496530026 247278626 204305816 214040424 233337770 414210518 852294582 39137698 452574922 666668188 913111556 720541796 359102110 700457898 347802886 704156368 633082022 453217620 421209258 506170414 183200260 838674214 955522390 545125302 389789894 780265492 414044256 105747882 847942058 994987224 321977458 501643122 656794230 549040096 613291776 611712164 327682446 888953750 968057180 862489534 674495154 518437664 55487850 571998482 859897750 520359170 753592690 300818862 253357194 532744232 946604104 949166014 86708826 726152238 499504790 749992380 784551682 339748776 416759142 842390854 5421706 874342506 919241884 306210454 925631026 525833034 746000150 842981374 716636656 985540876 660242816 765474346 572401254 956883078 572353282 758383492 781420564 317677942 916826722 302316118 862908442 666673592 760282974 691455872 595389416 977967220 958142992 376751286 375011118 701924114 313581148 966410328 798472324 109221926 864622646 778852936 957033836 681350338 297944678 120758398 361932614 694684994 730796236 329845550 343159616 242558558 784689142 783728652 6678810 493040102 403692162 849819900 51103866 283306380 798421152 745679708 111670532 220967512 56944766 907676488 206882892 966721414 635397002 627084890 164309446 224004484 709455010 828814030 17279246 384166554 287045978 725626454 919682874 293493988 139400778 342753474 85749122 696143406 99221230 475872644 939059994 901092980 353079722 96360038 878391516 249785608 563919380 681947408 27694066 270707366 309819682 646830698 245429210 833955608 612333064 505336358 541001540 477360248 230984346 853689232 225876720 524086912 449479744 872989416 262373984 3059690 413223304 798550222 679910068 676526262 52978494 736974086 405617096 64213704 370369016 196836402 161867416 167727942 165722218 88130038 981005720 719852778 405822250 580336910 938988542 376445776 234627808 630883676 385922014 377525064 662888098 434830402 22120482 45371378 916183404 992514324 262173982 210832650 383499160 940045612 993143072 405365842 563482772 964819914 137319502 850890704 217363598 353265088 686535430 61221176 356177814 245283208 423980196 615823858 435548266 793686618 668880586 676904044 449421358 741233760 891498916 820137590 963154864 394717872 660081158 555121436 606339614 369541638 719116732 584144992 384738782 433628654 7118060 684309810 710348192 926328104 463894868 121249274 72367372 383984472 315464718 630775152 888414332 555175032 638574886 340464302 359457950 658987236 391837114 158226258 26288832 772443958 23616732 649382320 498446100 757417988 743632430 93252926 423832730 828040534 806422790 143969016 984760028 816130206 182790584 353264486 788037806 621684506 210698074 644859746 816606852 148297666 580445894 599144694 864891964 250566524 711361812 125962372 240824912 489019096 747732398 790657642 300190142 711268326 436893158 366103374 897451136 873846054 984401930 569660190 525648700 571546228 487651228 897805910 589501536 507639136 571340896 424231706 927251604 741227568 845298826 131898748 465530230 944455934 553305722 355688084 603717890 44289142 157873780 6599138 259635610 873682972 9060838 57886384 306785942 90378732 260548984 68343802 175983404 647861006 795771412 269135688 336097622 822340922 71904920 292840660 635812080 945078776 16984928 482698968 75604414 917898770 692408700 701305574 323322666 809217544 701616500 824233740 594696780 129278836 685004008 992494894 579831214 557700640 833387602 811023458 498906228 785725522 843046158 830390048 570677606 781840110 145512894 720351350 550160422 565611928 435643228 33158612 540532450 127494180 634204400 288421250 921288824 988788188 135254338 607574538 561311502 758297692 317182264 611605406 472852294 333914232 38995852 131241828 830152018 434887844 26404434 175722704 66194160 544521710 787811682 946170130 773970354 930694894 15787898 578080514 961289588 307434358 632672908 912296660 463561576 896734726 631161546 953167592 777557842 471228498 389769976 998081062 157755312 182122620 183232398 638740026 215998220 692327446 173449168 933598396 824273170 537833244 864657036 568465968 835902530 798073556 778871752 161191956 493242904 765211916 646191142 946018998 716703828 816564548 469146600 58089120 684567680 629847524 203547218 688609080 936111048 635824744 725628512 902833260 550421826 693778024 13648372 425307820 6281578 183124272 847456020 209384498 923431266 474999836 481298584 96838600 48471288 159095640 895318014 573766930 87220596 564709242 410367802 254548394 689255102 529236924 492950022 966839882 14962540 822034948 943471548 670195268 801431258 697566552 668063288 49261540 504298222 709091054 508470930 442087788 651397342 152588830 208131090 714725434 642487760 821822724 941057042 310761404 23669166 640148182 120977614 722520046 991698604 995395438 991166338 268176978 943261612 435969618 636591300 355666814 909559424 886838496 481364106 969370042 571146062 175933662 368099264 487773086 14023070 855938178 786574228 507566156 558109916 957208512 870891530 141335112 8096904 551257926 281720156 817492370 938535908 964530288 832196048 184754622 901517736 194087506 285830928 701853774 345217590 365465638 778958882 137700378 299353304 591990194 734653172 325440722 221164366 66350276 258214540 936918622 524782440 394115796 447725630 554835944 440543584 84019776 175595954 432596724 324980516 23461320 814840304 883658526 539392208 969045144 300954618 336987010 714146012 90636178 473363828 386526896 766667026 380357030 754501922 372717238 731753918 46018272 454980656 169801240 157462784 757462134 365691958 453305168 238254636 63288660 217892124 819751022 271952200 521256510 143834630 560213644 156793624 817756270 856027234 160142084 198524278 138536804 369075100 973553124 104155966 682253600 606431606 264853880 339633704 308866102 546603182 170260140 324261684 151662450 891989370 417459096 192575602 684735024 794964022 798514584 596465530 985588554 620892580 443426396 541263856 111256708 331555694 184558650 329148006 127919318 900569324 724846798 924280818 776094530 997205490 161244458 150842148 35786630 275214728 769392308 284286538 568178866 498380440 609602384 415149332 346813534 13562562 397157242 844195350 984772596 867647890 12237156 951930394 635968460 755611136 79104226 68755706 969073100 345620858 869965336 18268294 550373466 976423982 443387028 630389876 963124894 904167666 136073020 202452058 687128112 920571416 156296800 671214202 810178598 896466936 763179468 828913982 277384328 228584734 83635534 680047782 706086414 971181346 897991866 599763474 71776574 436688362 400552814 424903958 329119178 571347996 137578856 646225056 582492458 392209640 558014352 920318286 940094446 931615244 586120566 806078570 612821066 776629618 852256560 713941482 233786776 559115108 713332758 763707580 378037854 574418096 509896768 232908244 392845038 269134568 157619438 103551294 330739744 377341374 184794896 364568454 851801430 390979844 277134556 732842120 719934826 439194056 280867502 738078776 410870332 292973696 490840056 716903060 760792994 177398230 25525108 359981244 417118468 503067048 211544030 653276180 299392176 779743984 670982746 895824832 802488660 27802314 370158012 349214032 862158526 257976256 794025434 228278802 621459456 595262500 57634164 565192134 751233186 417444740 972562856 297601598 375208720 47982624 165062112 797418722 901648306 619670832 976632160 346601996 140855786 51608060 482546848 830746832 506312498 98853482 161977830 663818176 866780504 504020218 104584394 6973714 710164370 389058364 490900782 806142166 468468120 955099934 447117088 299357894 734232588 524239094 724703840 494114934 29582658 97010008 440471028 109763710 589125858 795666402 101914878 145065690 516396318 457662782 901125008 50486272 707480680 34408252 996017078 504966860 301631004 19809016 431744776 10750900 350521400 132910556 82761796 333522674 195009124 832659558 748871918 562037078 593538690 615161626 365154808 897261926 965961540 179732218 371624614 538879988 634089070 414996336 341109312 878206446 995648408 169382208 984739692 888928560 4035536 641354016 97861564 804020180 138425960 867754704 315254420 658029740 266385108 972190242 219359134 506243272 428134268 13892018 380181264 670521370 357821388 767632690 615015126 805107344 129518546 233645346 224726478 726729062 440191820 877295990 737368854 286420156 494720944 308811572 50670070 93117178 413243630 549862356 961695122 536050490 851706576 446720258 665400712 440346532 223744688 962356728 115978474 914905666 733558624 45666246 530577006 923108948 790026054 623293730 903283322 859952284 947425294 63675882 977295458 506935034 729816528 944991596 532253842 384377910 166969842 595302810 688690642 371940198 572217154 249586344 852852072 367891390 975681608 299132760 185976548 739641990 202461510 138134894 182329084 66644814 223057714 241605862 993276798 426582098 951652542 537011976 521466460 635395878 139453138 466037240 236953126 589146312 195704162 111562920 538744202 648565208 917095386 473090584 104925656 369464032 401867540 888958790 525171440 7200624 635420164 279458178 601499994 704618112 459079160 231035734 929996918 637214926 609287144 163652476 408915288 842553392 995271760 513658960 43648816 142265582 224070152 275142744 591893090 822456024 871612520 769559542 335102214 667442786 75315568 79063022 252351880 831376958 106616366 566000496 841436634 499237438 707430168 777910324 278310146 335404038 119875278 442111100 491448778 442687748 727411856 496579064 285496374 399271190 88229906 762721936 886707994 538668526 131609304 737316168 983508242 294287778 827720598 153328216 383843234 541618098 36547018 556175630 619575440 378795814 590588916 351262044 981791132 944310474 804690896 279333200 885697950 895061902 631985186 367918614 470605824 496199436 741219848 959276508 233477876 4256850 295120874 845620732 519845288 89761530 931915060 178308442 399034616 962201080 269410310 430762458 339086848 770754930 287764180 104896014 868179196 889435758 873943108 765053886 378048292 480684986 998590894 42843626 390116462 268223222 876403550 575843294 611047842 615451724 2738042 823987188 823418464 84887592 442516976 68013840 16155206 614843224 802791334 822514552 198310322 564261304 443209170 551344684 104460108 956603758 729122194 134312440 689390400 648719292 669274412 947494298 353924228 107727242 821524390 974583722 159140124 392252584 294226596 102433206 341633950 468718278 183589348 540515778 829708884 115557762 156880872 331122202 463776844 929268200 996490832 41194354 889509438 114750238 764147190 502295088 723830680 770907430 133133246 107228148 693570 364654984 624628174 655105326 870831834 113734162 173157092 158163460 940205096 493478324 210192086 302691590 3972336 780927048 226658350 967803162 404182998 605367830 36343050 370647294 969209206 668841456 988302956 318795602 861507692 672201752 116295018 939793564 463055854 254918740 935412310 474449708 28235666 93208944 739693170 540745156 137444556 328800952 958825508 159230296 916606298 281023486 117038970 33032366 972505656 156023056 503929548 912953252 181660154 55008896 50716916 862136832 178346994 225471896 876954308 253414720 289429340 543264752 793698996 824524890 521117190 513335594 351678964 385880412 928974290 647779034 358959912 128452272 991293298 83611824 566079512 279847276 526026344 38608256 994588706 381770528 726498808 109734150 29018338 358348234 666188536 376268876 425616584 767693320 750928786 334234058 463211794 156828782 59716548 81407968 551065296 331059048 710450724 544195736 674763760 326721626 178035690 965300850 377375858 987681318 460367962 302096256 498623008 99811462 755375324 270126686 216802590 99837702 149722790 63156438 704965090 877685742 922063482 237230602 755396220 331455344 460766922 925931588 498989062 226178912 587814412 169525262 575364086 14357504 869994606 376224316 631036722 896457004 504149132 864719824 275184118 622963278 179571380 56706928 484471480 941570334 67110222 91630104 708557724 785696208 799875566 640573232 36744892 216279940 758449806 194702264 288686656 755375426 49591958 477410176 620937412 25200546 57110464 101730450 350091822 517532510 689947542 815054640 515108396 824450142 614991560 439036924 512094450 281850274 406160564 77693998 476183716 240317612 187230102 875123088 565628630 19477632 186514160 386976032 966631552 891426540 966560388 749661866 690242866 979975090 182270354 958222326 659109716 557617618 618109928 647250650 21470894 595435160 462803074 367943458 668664046 152441554 718097930 996014680 134492676 686458328 83598784 71634244 587796706 116700094 744519786 221250956 255237548 164312692 498503142 493512728 898483516 371285098 817564698 845978726 896757354 98673488 419450676 895958508 278703712 998226838 886146560 528708324 21775212 774452424 469467482 729126422 275668060 434474192 509165094 467786772 375962114 346162810 979402510 864414288 226964328 189741938 538595232 531016992 871838946 417379774 246143808 753851326 809172338 104967250 205666094 305254218 282220402 559932310 12569896 364592316 295278542 377978284 701917348 737962592 290517656 588727488 787173632 145267888 461801854 581403806 824869098 399526294 351770924 784390550 779662610 686996674 347272412 822576158 146384130 526724162 278696318 661291036 572004690 796472756 305631670 317834802 753508826 343107128 726365738 66364018 731487400 479534844 428476444 473177090 69927866 916102068 82103542 643469582 230676446 510408818 560801162 760643484 703247834 260766146 523882600 356065918 492528432 956299954 113432448 646199184 556462340 327859038 179338798 530610850 116694274 751280932 653195706 387950456 435305540 791382132 157333118 19907400 984372714 280867292 698235332 521233168 270118832 511168768 360334674 254687082 798063630 917838410 332695680 898499460 532351646 249739428 452322894 160532800 430750610 129147578 517793754 17834652 51598966 735284708 482781516 818319488 542323798 411910782 466357126 658939774 395168524 252332022 997416318 517714996 447906402 563704064 544801552 875208062 215023426 815976370 434840164 687907904 616409798 349435278 120261922 35849346 612698692 303934898 895993204 661567574 20771900 474501392 705456594 755226294 540817848 44165470 982480720 605493014 968556742 128075820 754669424 37991506 986855218 42667728 611040462 503387118 627902278 281375200 25415396 802654684 170986308 645783952 333828688 646618550 536787298 32199926 962150300 697060954 880390264 420199292 505063980 284920942 379663244 593611834 584231720 50935430 538137900 797198648 243597898 979543150 489519022 329979296 394049204 778050430 609663366 816779482 807973536 83011260 689035386 935054966 171072648 658020030 93569118 14011118 896452982 829042550 97484226 309829842 214188994 326666604 807552770 33677776 6972094 570801984 69428992 936115532 119084386 880242416 450860270 12063350 400172682 220776738 256662638 672609768 944847038 327765678 987019238 337470242 797564358 911050960 971689870 470099692 499174198 881011978 817808422 400117070 665511926 98521446 803051156 685381852 682168860 473954066 642724962 230125794 377354410 701435206 524742860 688570496 538581110 829676216 562767310 33525424 527209022 770489600 747915816 375824362 230356282 861735580 906177554 590822230 82361640 716923552 826145602 442032822 850337766 35001088 683374860 12885666 806498432 651979654 355250254 125248334 765191078 813022864 193082132 280873000 315214860 888199430 28802760 592828660 530460538 487351976 317951106 881197958 724923836 80123338 905332286 450224342 819575194 713837992 566794500 17051976 932301766 840089106 804544642 698156490 894494912 720203400 382656528 321263716 826984912 697150036 603032678 671512386 667354170 103731662 288466902 826559936 986228738 666623960 270338274 723176628 917703062 420700682 297459820 452738126 45910760 109736316 731216766 593825988 57461536 376514068 737245632 678068512 144326950 210467936 409893888 308881752 305689386 517397016 223814984 423342552 283038898 458733412 777946354 287896412 690301742 613173380 67780104 83032646 732564606 491971842 177088736 363681744 439577644 979236846 353926112 816822054 754799356 515147088 269750786 297624402 645983886 118426446 7003678 778082052 534136876 890082144 897623990 91222732 726201786 190858538 121786884 35223984 904215228 901492442 3378880 7266286 56595932 315465336 309594584 944083284 542218060 654839764 431130322 35186848 570045710 526330088 108163302 113482810 557693796 337015156 229599376 582053014 462327900 503692840 269347840 929451394 48992688 395647680 300656472 566608060 741820862 890850960 654989562 109855858 269302556 306687910 409069586 667695504 640905672 486540956 970494058 628079240 199568160 642086478 977472720 33159702 53141892 593064670 912571142 187165856 750437628 830610634 680555104 751455528 503560784 94728212 72614752 241475406 869061090 75816602 941792934 802433076 4085584 174326210 494963202 844045862 137665964 771529028 748142924 386944730 133460756 88267792 967432700 991242066 403619324 699246878 669199240 395130268 9037600 908390080 224742336 710710606 930196604 330305578 362274622 440227636 943680282 769857340 747628012 733346584 936836332 238429970 684519702 852015398 36427742 751479334 263549376 893200364 789100778 46475028 158434710 585601674 396031724 398096262 198802072 568872074 629388052 967816868 133437200 576728982 986693658 975880436 459473856 787736764 433477096 906027042 139986004 44501530 328717126 599473600 943277006 317246034 38826470 929178954 52895528 956156316 755738894 550225394 346117396 551654798 285190398 736598436 775066826 584550298 846933526 371425872 26025794 864781508 919169468 999705184 946875184 564136214 28243534 66934088 193244784 274058976 369912414 350738068 350176278 529444862 870532786 352167318 983871872 330098754 391854906 848319386 335250074 967626426 70068600 445189766 556039150 219944442 6593208 605831632 86166764 239797106 580256636 264701338 696045316 414270924 290084298 955585738 813509628 260366898 327050472 893728266 674053084 886333816 430760202 97756020 978140328 251352808 339063070 542107194 214112574 137272338 400449212 894678020 210916214 394609610 406743960 326643678 281172704 703352588 548109346 37101458 578205380 386552312 770528544 416490768 961103412 672143568 132843908 356098232 748808628 569144844 480606524 61030276 365974028 172966526 56689682 45928230 47442788 402843896 658974742 851494706 30052450 124453878 951295046 764309058 654401448 595263236 685276220 425981748 290671410 532075170 648469148 797281304 817745914 421364492 401537330 298211062 119739712 665887090 663071630 399002238 880156208 888977830 589324204 627173774 864603700 486663104 518155590 810207588 279611062 15092016 257842798 504920890 578763112 611030868 396362504 847686222 903710820 445953780 676351640 597289810 171221160 948576698 719108846 398452584 342447876 353700246 651335306 214210026 836101254 497468290 521688822 91868050 815344010 508224168 465661156 972487956 446076086 409176784 451570436 369323670 119984078 389646296 820924512 224875774 576665726 104927372 343193346 580599216 766521094 889002840 209392900 35323948 131484800 412082760 280803596 843198972 200843680 635838898 35586642 587146606 459096462 950646538 116935694 652320780 833423104 864512934 906228418 112513786 436346302 809628058 152310728 66504292 131768180 322212708 248929166 715405654 873684958 983424038 52551392 38486944 735025866 54762494 832314888 509116072 105082134 706247700 358442264 110951488 929110464 775811616 380140920 317992400 934296958 496935204 329869946 825059090 454816706 115221124 624266684 160826438 282251468 979497502 665966810 956381742 758926612 295631186 267779900 981819624 407091184 761370244 925850886 230454384 263534598 971666646 860968710 573108372 103288572 553531548 551369400 865747792 553603784 915348140 352694350 990415830 335723832 604828062 123534760 828259562 493983138 2298414 169152688 865895090 133426208 838051950 164439122 389096342 331921842 201000582 875934874 998674704 925865834 177610846 231876222 673947986 208199138 933972488 108882244 169143896 749832316 191906624 345070008 607268560 179315822 372247168 696228606 697728616 619632044 943193830 446474458 328420868 739412974 863478804 545005310 314842078 376120572 472944052 982402406 646956292 438103528 22301176 668583420 40222924 321845914 421517934 140370566 346597988 378583264 542975130 261585564 971601916 210693140 893039192 225285846 769004312 358700130 712062434 284809770 767219752 390951516 580618154 936003814 755153148 41149046 457518984 329719048 176945058 726148048 336991884 984755418 225682378 111778720 961032398 225993656 916579244 568815586 504399380 977038752 631372756 782050058 721563218 781762068 634108750 535654384 749534418 601386614 783523854 914784682 106145224 194721840 40941716 381007064 105708114 944129412 666429738 635503772 556697986 67832590 262383976 446739372 578240172 249899298 271540764 276678578 230135844 227170298 385164718 69120630 813005944 985259392 656734726 730409032 976983192 366663930 182635366 978509278 556731166 668538280 279514276 639065940 675207004 545539422 233753394 172279104 655211560 70180242 300125334 342463614 633866720 411314080 401546148 384610980 102738980 178415946 858129032 585520650 672372324 677990930 332088794 380127732 912757018 726099926 836187994 913080858 553583728 410434748 639510516 148003202 598166192 427269518 190823724 813856984 536169706 825303172 723044838 256827690 615609672 24423736 919609866 561337078 825426604 668453168 918589230 398357148 231580296 985736666 763589568 184679110 176942574 797032324 332792584 137397580 452339596 385605060 267407776 495097922 726249106 645852876 307217884 750939870 992219956 859510176 920738332 272284718 807741716 32357396 579804824 601425778 94064742 241692426 139549160 452689228 19797916 18818978 170665716 811136446 985226330 510055628 968945212 564487548 328533422 63566744 322398676 219784704 229893270 835315182 806937008 955614218 367667706 665627616 552036640 912252296 944525764 327553992 126143586 659772716 889829020 81521556 746659190 725641104 600354892 859072322 115475338 528382976 364464718 389127522 593856628 424539834 981482806 586780698 136641686 225620014 201240806 658465856 355881444 637753544 115173066 393394526 484785734 486086880 610150374 48964572 4748566 310610476 412673636 63383254 193577432 169157028 991154976 724378276 821178342 951005360 693232432 154119008 78031862 210815894 645706888 683669602 683130516 602892106 237683096 834695112 383437690 816469536 799171580 784073586 995529054 761639730 587451270 702915658 995745700 923471310 456673272 433167570 532794396 531255418 591180322 74476106 43049480 804533706 875616416 113562268 483769612 181009052 883908162 770306066 53505022 878895208 580918792 554481720 788423140 13149476 342632038 586995926 188670580 143797684 291101026 41407116 531776850 122688206 828318972 252050948 289400310 773194346 219052674 329011788 96712438 383840758 790919412 49749216 292317942 651523626 359234306 25323248 81457702 1070568 878896964 50128616 652110892 587485988 514305396 895317146 103243036 395330876 423189362 943092792 417000472 952739340 596086850 368539486 162224984 496302330 944207722 732407246 322304510 30371010 697170624 793020804 873588978 432771288 468157674 706099578 706012990 774828958 36851998 121539952 229093636 79134776 889108832 968704144 777786304 286702726 805396206 436406284 322562362 269652478 316484248 114170484 566756504 318942512 65143082 689677152 28143934 297475252 56826390 427894330 963958826 852269742 652006776 562949272 541126178 192054942 377955664 626456344 673199894 122206928 26845954 387009300 219818618 377620452 263102016 412090432 618096820 201276952 888938470 731583152 717190386 854065144 189594800 737946900 222404186 202835580 18891804 496211330 948569718 837355624 14650312 92425450 176618544 462619200 375271588 368540784 368329396 954312266 357537960 867187908 241978330 174266242 476274402 60297116 992564022 82302070 813737936 718384864 167605868 429245088 452872790 865024118 694885152 36442144 190302776 963370318 127481094 115737610 269025674 8879526 105717544 983732182 198376370 893863352 774161578 483992878 410198212 354086286 317341184 829604944 686044210 175550026 794478614 890121224 285930214 194016946 152107704 516170212 600634436 973606258 362794904 119695036 504778928 69989390 611767710 333796980 610255436 589966834 365187668 992183682 278657348 611710734 323143324 920256116 263081256 79088558 930966988 513630518 847205188 639035958 583780420 26191050 479585760 154264424 24581460 892337254 812922654 620537814 965149140 61760758 942950556 294022848 475619550 233759376 530193588 47248140 583287790 538079688 660803866 762130048 115358808 77584786 984546896 435576852 617156418 47862364 154214876 134765568 572397844 144046566 450295072 596129372 259935760 396198136 224313300 972122346 285938828 877435886 268754902 130772804 761855984 373102296 129761026 23160938 211478772 564244524 846131954 562068204 699150834 723356928 178137200 104009870 159936076 13185434 272831394 574733708 45257922 849104530 25169178 827619506 83206782 122233568 213582402 940290566 574923792 968326482 202142616 471683602 137876504 592395924 327804506 972941838 938491824 396918462 862564276 314897822 291286798 716079590 218017064 949063046 523091416 395774954 944697252 365839942 470810614 574523460 933159284 372285472 597633978 4886394 860770044 227013506 296600066 758584220 645809742 552918462 919401690 331216848 429428970 437051620 267879632 802330076 773160958 320529980 927145532 40509048 755118602 389443954 376125696 84265144 537498814 730933242 233043614 955163378 491091946 14760134 579200458 662286348 939080836 220107688 975025348 379108558 54765536 898613358 12033404 660559448 914445580 961189488 248030712 661987016 843850100 374597162 515451506 911706252 330843670 712076670 654292728 351069752 951360742 289752468 642764680 827769442 803580428 548848778 90245332 480801058 891934 736131770 846019350 880559630 443862898 311256632 381931516 512702276 502940634 701227384 174885738 3421616 570934862 644492160 790902628 804646738 852673056 967155200 917588776 890343840 436535228 911635552 633514762 433427310 112115572 758105074 534996086 301316962 118495516 136470296 754819220 710291772 618804668 246493672 471244874 942207274 389948654 806183404 122246326 768487494 81732338 215125924 361491998 40259050 58993966 777272862 602525456 846888498 769491218 425025390 969389008 372591226 885471508 802403426 290059270 804769796 364177964 781983252 857010528 768419318 813262778 294105744 976426614 860771064 860221662 327348486 652308880 422530652 164691804 615812392 589895194 500325252 570121756 558539034 24613782 920973480 459519106 410386834 214276352 218160298 88520610 163812516 840748542 669089990 539617464 600365896 465989246 893669804 52367670 657075968 765669576 863832906 937302446 588761114 673099660 267701346 710948172 91958452 280179432 798357862 240485430 894730728 509190982 369198384 187806672 991386550 144965344 485192386 788342968 478997150 922522046 691991736 783148082 727797674 673921042 372213080 405770442 947453394 485972260 17512418 550422326 754700478 148862698 504022944 212768322 782136810 680868762 284980830 323826200 271663648 924434628 361914088 326329484 282294412 460620192 852444506 455442218 519143494 851892648 425524938 337630330 657534284 333281294 596045186 332467592 535669582 379409432 488724700 559556184 975986720 682087386 78951492 236695908 350155220 87402794 371372886 745713818 765333224 992806116 588429902 237265920 142597162 777104606 520776192 242614490 387171180 153961900 785574244 702144312 720213690 515633858 687972848 811329358 641565602 832579214 333807738 644619990 529925228 926971822 472847744 328644716 921782870 448873882 962049598 851211992 692415522 917419046 587899702 938743632 714970546 692981018 170001354 955160900 469828790 174988306 799604962 350847450 46010520 572583740 772631054 651759840 343242568 365633684 62815592 199622288 792216584 677270012 919523772 96705284 712062850 983396044 240121970 337642030 861625212 432245436 772800618 646772778 91841794 637466842 368591976 616703812 290853580 638331846 840793808 260104764 736939072 225437436 848252110 343251572 150161098 215891714 596686436 354874 693756258 931801790 339355140 947139776 591356940 114299454 881377166 247584102 283044056 530480936 450909376 930148716 308805442 911514218 292149238 197758138 627772080 424760346 422664668 406278404 923998516 195188286 168382392 655117576 149136516 232477984 26874512 488164306 770339842 239167512 478905700 800863832 544760614 721800664 962598074 691316702 959046448 41804348 261274844 31177962 301476438 763676142 592143216 373863032 518776548 619920120 5975220 187037514 534317262 200399850 267400588 142515844 419904496 862169772 624552368 494628584 687421064 754411362 346150362 654291888 538426964 134658872 909849082 422067950 604960304 657845368 710044098 119414296 20497262 799305710 485265922 532973676 676969556 89459714 920752784 868115478 911378182 302065366 512244610 708508350 199801226 336214096 96350104 312128520 969931948 462641412 494054662 766283206 644756376 687761378 938321078 141583338 177741760 445881592 680706056 926691818 823953290 910014868 585116922 158621688 48311382 144772340 760014690 191970174 745227526 440595890 863470478 44964928 731769400 361127144 6927694 547163406 813421324 733071614 86619994 84810814 211091804 554980136 474085274 892856444 726101584 474075480 343769940 264750498 327666100 413852854 146413630 444905898 184747406 174934362 947792508 262801292 455180480 411105018 160581424 509292082 331389796 830684236 988831754 498776964 592965770 846015460 261426958 810698494 678558704 142087362 477611502 945054444 858027548 798347220 899004888 841035242 345740820 164213880 778348986 620688618 218932434 377523092 980826170 958029794 502694176 70446074 96837728 727673958 966590286 627628344 768124052 879657576 355792840 292115124 619614456 874889924 808286740 13401780 731192734 58285742 187924146 376351036 643654346 289555362 49880164 794771640 411897048 392370806 977169004 438728974 862786136 901921832 313919386 132933588 533935032 229206314 480964642 477994498 672315150 468625810 113541638 198618716 853874222 310732484 599223934 270407466 554984768 243711270 775775336 976890238 524504600 184129302 461749792 404302242 780243278 607283316 699382380 650261722 768481838 798221236 625831924 345179104 477582002 490999098 387546502 583502342 148397810 836958746 18421728 75486032 656533670 456789082 462134436 182913566 174956378 671216152 376573694 900150848 777037842 790058748 304092906 58507974 660287112 362494680 678214772 149028714 46656886 631382398 647019896 222495240 697189852 259148230 543209116 812247326 236281106 133656884 389119452 923771114 698991878 932548334 126907224 675215562 732778952 158862334 147969084 211282092 307563934 809520408 475406436 35146182 273910852 566653054 27607924 440241012 749231526 729059482 636880286 189139972 927896668 41284372 648022496 636062772 928813406 35793392 587575566 419818242 401436180 723824864 106606766 568433668 147986416 166325014 912138792 425562812 457486700 736442498 831759920 169547274 396618086 119913478 645284852 96718540 595029560 751641798 354988422 693029132 947242660 25761780 163871866 141447550 892483826 954689810 315986944 179065928 598552832 654304418 245131382 779095848 173551524 933014260 177685136 469499780 424676518 923041112 732517592 311224272 702063136 260107566 472579414 723455096 894550720 540303254 553904260 555603588 101850650 472076966 353913660 265996424 235141780 97822978 745299260 789467920 276442090 708583546 498181692 594717144 167877244 49974494 19338634 588246100 725849018 433964080 644131744 49782144 449794140 50769010 912294178 683978862 601414708 581773286 274825014 986326640 688265546 953981930 412512146 736486092 433194906 223744222 662131618 778697344 674388388 786356226 140883090 834487726 394934226 311629370 804645722 223604018 730375578 171993326 340072654 917829512 153130898 358806812 316055386 774686252 774105514 78650926 628499584 881137652 311732660 888856434 454910728 877434050 638393940 275271146 975816760 679282618 847996886 688087744 655100952 117845790 432741202 305077568 166574806 464801222 998615620 49774920 810176656 216386992 209681828 508576780 402653162 18683678 528297574 860701304 690485868 598781306 381272494 141155740 626475906 519560754 860149586 815474260 633156416 493659574 519834250 546313784 211181000 809679118 438690142 592774044 218859656 174483558 358037970 459305746 906764540 459961310 749467858 342159162 177822864 526863570 595341288 763796670 938806718 379524386 395276698 389764548 27945482 357450130 602514428 974279180 360849328 469386806 499011240 347699616 732386300 770146462 352563264 965839568 13549216 162516774 306922134 35461384 920031712 35394672 510117102 772819342 768777634 406831172 374293444 83758050 266478294 554389256 605586790 872261830 544665348 786776114 818988386 899424758 328501892 525236254 680626776 692694486 678297630 382704696 665417496 989546020 788530236 466279856 116438000 7708648 506256096 47870914 367144824 453664068 100941734 866796028 543987742 893278434 638202894 950941454 662593152 406606740 414585978 643786342 920840248 557146178 118514218 388725770 358324462 833183472 94469470 508620692 820737858 968186514 934677452 226548556 34729248 871937766 493942440 879071790 149898010 44070458 185676702 63898536 70583814 724878310 551694324 781454268 548798182 376907160 148115378 58410196 431544950 336315408 617717652 808760902 171370302 695961646 438644276 683274408 237009380 212166902 313014812 698310576 668559528 598358036 293666134 495605368 24175686 206354656 567268260 203766510 206941730 698562142 757184348 396626172 881853558 643291108 763406146 584187590 268700598 372657752 220624290 887903722 918476828 967815514 139252610 383105672 253883890 514389152 640686358 217893910 724280154 637357936 365964200 404642194 49951712 255340610 692594908 317580704 657845406 538230364 882238854 933939278 261435514 633866696 382819252 43335744 391240110 934138184 341513968 610407450 805724580 720179306 947782170 741364350 401577204 783888970 641797078 594916916 466290040 982720642 959863108 636352196 180663678 476020666 479354098 598093436 326183412 894289490 441855660 389841852 480088344 169928062 495363406 471955700 976520064 102344502 221253344 42367626 339570546 287584406 789383852 682158728 553566138 254585536 948804916 848109400 331502460 144784556 769287908 209150738 269213862 93364036 778599856 137733220 355566628 922905908 166293646 288099250 973285872 506553172 685983484 345648828 602740782 293827026 305684892 520423968 120605896 520959172 92076942 371625088 991361012 576796690 415358570 977330528 137210016 167966710 10044266 697049124 936617434 639510144 63685700 623883728 578877748 342469240 809511046 238180400 42645230 419236596 698266942 561651092 378632040 113644246 150169596 508563612 456221960 778911416 154551042 460093306 633266962 221436152 671495044 913324176 922937352 650887730 903734498 529762654 379481760 230483458 91115956 763906166 854581722 992067132 836248192 788933732 956244654 665258540 982799734 749282468 92848 479258478 153400102 764679266 735669866 693725542 428027280 813758724 167922372 220766866 621464992 386026440 186248336 568670936 487777280 12417544 992070374 622973702 344214748 955538176 144474788 121209596 114072318 523281456 836463320 441317818 360871812 920630270 667338426 181195820 701906712 529076396 649784088 464505284 751668640 869721726 886370074 627326768 515472530 402215084 394296432 723710586 538380296 465840194 707387466 489921998 570793942 37831554 579936220 415357924 671563036 71891656 617388656 616462840 640461110 88054276 193997054 351226776 19335562 751598586 107041898 982210772 877432208 971465724 298327306 899316932 580961022 968498634 282340288 224505784 466874984 125412588 65541826 569297734 855536366 212626758 176276688 251044472 401597634 872999284 273675880 269138164 951734178 717602986 281957040 988538500 770382526 287245016 380708558 68684460 67013294 850934600 890086336 974063392 904626592 443353356 305247608 624500966 989165628 749465588 107525180 59170806 996829408 904873136 748653256 160756854 625376342 955172654 67188430 529165438 800802046 531883244 384420042 466894822 845373728 716174136 182722122 115138072 69402052 502848348 726832412 128141856 398721338 586329280 744472412 478730306 232461072 954199844 501472478 621789310 158940222 562758906 462964156 848843556 680372958 508727770 347743522 403836548 977683016 998901628 149196352 274685534 62491482 425864796 417216318 664793724 834974938 121758326 408723216 549033590 897330694 681899102 502580254 56742424 924023204 286710110 571206576 248501894 910811210 542558498 302729172 454575444 804751754 439137270 222344352 936087630 179548278 457419958 513549496 719715714 864653962 642253884 218270274 931060386 838140976 472922308 120015168 417841196 745257970 754707456 220260224 195679060 263059106 72338332 837386776 464884410 83223214 860096952 842472650 998383850 50227160 37641002 16051940 327025984 624656182 240694932 433578526 688221446 667264332 411959152 1578648 265638830 825499126 947221424 981071274 969826856 454853694 987802198 461951728 84357576 913447282 263173444 589461814 330183138 21430836 167188348 546429076 156305622 867391406 453586862 207528490 578311720 952499166 952697094 870089422 239836084 990785644 866225180 845288712 307231990 775701082 671923376 331469042 789708770 968264732 810512904 473176476 167264046 663186172 321574210 985190616 995952512 165584534 867100014 388116372 779087248 875182592 460076626 84729662 286536572 511861700 742724544 24294548 989790556 384005974 702513898 367480166 645828226 754314120 469824404 609149042 925118890 695288896 596475852 667179634 228824420 291602434 462212406 524162180 427079210 889588836 964434762 425834008 294107652 978159398 606245858 417791622 273230958 624509178 957593654 786105900 659407092 930780846 21210412 99251446 75965316 572279402 913413594 514687066 901700690 530337864 251731492 622041518 652650914 912574896 60687212 110059220 747801364 265174378 964573568 710977658 925161818 383556110 665896350 523794092 757977366 193557190 899848566 862718772 39324728 118406028 583724976 966473136 266989714 18105076 330059670 190453404 606151348 422473190 954622878 948635372 217567896 807209938 273419126 129525676 141654990 31043954 905127266 774375858 729811006 39443986 473929588 353405430 693426714 311949504 43851532 907244334 840498502 264779688 351819316 339569982 964299496 905652968 97815768 785491798 395496528 630403288 937717918 802211408 746449154 904335118 741426072 800256094 768628256 902935286 200470936 756802132 103395556 453615470 398739848 321322542 655289878 265507718 846693858 318818874 374160622 682504168 698209718 432869074 658496454 898814012 176405884 868198354 360196056 227837158 437935394 419855334 557724072 569795640 822406058 642238344 723468962 683199900 812694834 573363934 853148928 552461476 551583930 745891184 940848394 515240556 633648952 541391202 59615696 835262968 410208514 718971570 244599822 657607630 581118420 603369820 250344506 759381112 378595696 620650506 545132622 871957842 491735848 379360982 837792940 294880186 222220692 631058410 687446978 144858174 561670548 65080260 550293918 451643688 316362042 170924244 694709248 301493696 273015368 173360156 431674502 334948800 331996290 526239120 120476752 453419108 467973770 504202084 175662358 689498700 521953406 242998420 829743802 913595290 424346378 826719908 957593590 945351830 869718972 786781530 421838266 967575856 898969988 814987818 513911726 811772396 877927136 837335786 813856498 493510240 480991830 662078674 537827780 809743524 712812564 549150838 411266804 449933262 866936224 648710948 369462688 784708710 777116964 538555120 277746676 562962934 221400448 608646210 472325846 638404942 340397980 997763982 581641360 550475932 871681296 799816182 20771026 754338246 676580862 43315066 360131088 344695484 58893224 777927370 568239656 936469122 659904188 576914782 775974868 506717520 154632356 127500170 928271514 874411566 510036724 739066394 462454302 401231714 73809932 143849842 639511594 269708742 127068210 758182696 183535510 655542574 374331918 353729340 602042952 782469710 189295222 468257526 954209778 558425240 447230498 933868270 853345510 820951890 423835838 313269052 849312790 491687804 950521538 12833272 330565812 152265180 251569416 69708658 889355168 154503472 675125978 997608000 557654728 875606790 933547322 245648712 666700764 958992608 105971188 187892550 242830864 311208898 499273120 559008154 743636290 183758846 419052414 65770480 543234224 922966790 449997060 65073122 890933322 754963248 55164662 896316222 713955322 451168796 715440462 640884396 285681756 298520306 18743302 241474876 105238646 754244396 777608794 920686602 209638610 136108092 107821682 944468884 812031604 18637466 957380892 837024864 392468884 534820112 858335894 918791136 815178246 395570472 317995528 796470904 200415332 65342636 971696942 968417120 665896940 696157474 2492800 646928994 500946192 516673864 703907606 440283098 263714048 99644654 126558252 863119264 111144080 570725178 957110590 840977716 871457702 775477292 914014188 477867024 42758898 542444026 676971332 548304810 316267062 314414488 621941424 504195878 318897426 906654594 120161118 907240742 792724126 968847606 383994360 62567024 934697666 41755452 353523602 469881162 782525944 272035960 533237146 845358094 977854850 692014684 813659602 970249336 548527122 723755886 966006444 936416900 900685550 386481964 239967114 573521384 125271154 944999568 464918294 894431828 944084408 420786642 85009758 144470056 656883498 401065902 920410930 190616978 825371680 352808078 850177634 241175626 791271146 232400988 953833028 339718478 730015004 48168052 913897254 378694588 505596818 458938974 730175148 852759606 397561538 518379062 598399024 483076302 875123450 425828578 961965098 444247844 941271142 471474522 99221026 953667824 488882476 967418338 637215160 351894940 160191594 111269822 582723056 381773642 673169626 73669498 905343044 418393350 54661262 469861294 582591784 368624170 396034484 775338670 33350756 811405470 396571554 19508910 932178666 726343120 287154034 801005946 537113964 543893996 354544266 192735766 241203324 966072144 931280680 819653668 727041398 327222832 84913574 607971866 748099736 506185446 802305644 966299802 73137832 688689934 720485020 523337246 878157542 958008530 68206948 282157218 758001700 433591818 296898324 489750018 879198104 396326074 854931026 247456940 854001512 259565384 69392086 83328162 114250182 250251478 717874516 877611342 973254760 565187920 436425818 361295232 122057154 325096146 434662982 334191794 255792752 47991110 886006404 450225952 455187742 970164872 199056422 39594674 177275496 950083498 681195630 577043150 217524970 314420020 584845706 61074856 439881982 43880620 915913628 513502924 100324480 132853004 779791704 354194758 526570656 435635276 748980732 145456844 608733968 297058458 888194520 868159260 476818464 599334304 90138834 291557590 36444270 188564210 335783582 898244230 399204942 927183630 44505976 859415170 338975368 478648170 381282466 583759324 651095582 470070720 519944334 56211942 778648048 589449898 112607712 168814670 87687152 665258758 444619594 158943032 145382040 536143476 620279322 995784460 54575760 386715034 356648094 371649172 385274850 512357728 60384896 295411294 539443880 232035630 586745800 216418966 451258778 448603002 50747094 902487766 362878490 407308604 11669630 178188838 620220392 225501064 325852682 33721896 729772786 172381516 938277886 523928472 913959356 932672312 155844230 860033412 128530190 150454404 923267686 816712928 847587656 775832636 487269372 535535262 544869682 677637870 358241158 639078536 663237380 272224164 921691562 550032226 829718644 312069506 451215312 744472812 169659512 278884818 644128790 308185228 129061202 702074024 885089532 970471588 33221764 567711474 57030476 152723622 301537618 53856084 587678538 685557190 150951872 324744452 24283144 649670056 359766388 78059124 291055674 864288156 35776894 175108274 549971364 147151272 817994208 567859772 517603284 961437674 978563356 989172202 614150656 872191844 67770892 233305314 689004996 151605616 160723442 658393924 384370332 808157586 619938584 219118168 745722626 41178398 30246266 984972954 646682638 239900794 549900142 70957720 515748858 934903456 969864756 658509468 793093970 814137118 709901500 855479390 616283878 256524054 188769482 942335244 77287536 745970398 328807132 269792496 563673696 833794644 180449984 353904696 453821436 571537324 413276962 432238344 730830086 914427246 315929446 704651358 879708760 193812114 514570626 769284204 541904180 930335834 149670524 721704240 596672230 345478638 344288312 655056114 502294706 409784216 768575362 764317720 240800824 608411648 461640992 665863956 791208082 63408526 412317368 417258782 957862828 788793128 2517762 566947376 940094714 750809064 397383118 827775082 647024762 678104976 27596464 395284730 285133744 393226560 294861116 619911394 90424630 104136574 607455388 199689980 405356874 54217998 49545810 382653380 207557794 809093052 745486042 375920474 804817854 225271942 536553810 50445828 461664012 931223760 414682182 800646778 522115034 994753674 640251648 650563002 294970784 61509346 903206394 274378250 741345704 511786952 110213846 900235054 87552956 71122920 857371744 214236230 850466938 774554552 278697386 741788538 273006618 49004734 231241826 435737918 682228870 406572426 285926832 393974118 603083088 584852258 880527082 658946016 805928670 534051078 380746406 407990488 191147730 699956624 916420952 743130420 482787878 247801538 441444446 359111682 259644656 132277664 38613872 195925196 342258608 462576102 918557024 428897378 562096622 265396504 123382540 258088654 373329548 483984580 527658590 472327018 702908152 593575898 299326022 69294842 841747274 646224452 298627050 658928000 989608506 94147168 909678142 316447410 119682862 335224300 961860832 6174320 414500906 877994140 5613934 82576468 88815514 163951698 291353796 636964590 999861882 40627284 414199810 596480342 219529496 640966114 657565934 198257574 188498996 454128740 383362908 567825830 373957206 512950620 571717242 275038826 782425510 258104696 682546008 961840848 340337948 743490566 810335306 876687422 63540480 563020418 582813372 206827374 629153340 644099304 800175402 595261546 737803152 519775192 186789264 858341234 400861550 470352000 673329156 353102000 269825378 5391844 925279928 153459666 41773852 291516674 573767352 218419188 26895248 438103286 54573972 542686100 881134854 246390026 321732638 232159902 881861726 849305074 532631330 598056088 702044778 486967546 630039528 293586190 40797496 606854672 126303652 845115418 422577340 897257236 228551466 738180420 643945060 867130172 922913366 117445348 334678442 273960646 269906864 552247778 666436694 957084046 656132238 224394186 253353446 448832028 902214994 287595958 91318568 590388018 341647732 225779806 741594710 347611582 307036966 509226424 218230828 92964918 849420624 508276568 572989860 42828266 855227832 812935798 688313978 559026038 223943850 901924126 927073276 195276928 125045414 593634220 22938896 468731100 691082178 119291068 765853106 818475652 651879580 495198148 979556006 966747786 210323506 742896304 149577928 388377550 278507262 971934514 556775866 679190392 930816264 424369986 835604340 243340980 74684040 469032366 479134434 277402630 900586176 78669830 354976176 517640552 91624502 123795682 195817758 832557382 593614812 543589458 275742214 835484646 691809314 216832620 160680408 59654022 339162440 673712558 745146014 448388416 211316580 386431824 440040452 446923814 81338798 662420796 72990314 25930528 343981054 383512766 260729726 36009270 106871856 457506804 657722490 703755580 142810170 944418098 871273608 554402446 157212236 835584728 167285194 877051354 718819646 385034494 585356466 427249274 802307572 879027876 273913866 52099146 368318352 963674256 400147228 295290712 549690498 726504892 35107738 950184796 609682538 435522740 803972932 243217882 743092576 878628412 890260258 853681260 411538780 146806318 993224564 681176114 206956032 774932038 949183950 193835050 328050580 486665338 402152638 31587310 647281212 123558798 826997450 878963524 969792590 664906596 421125900 240249766 361668870 300167474 703390438 605626024 863851672 285205792 470054822 476517190 431300540 634885114 361339448 474013734 338031538 341853902 519872428 605553370 930109716 455627850 770727894 893359008 583183394 502660916 713596160 424307360 604182030 457348256 817045284 699910568 317958574 715364068 221002294 266541420 844838210 401626278 60229486 179333764 689172092 965838440 423900436 208909298 342057252 540167426 501086870 886880722 626606348 21200598 879909794 199560746 530863274 507853968 626573850 6362230 781861156 334517124 266295846 895222022 196165616 660784774 904120784 831541426 546727738 482035630 6936384 979974036 499385786 839020424 481018894 584749506 27577006 620842294 831937914 394888098 356355704 588442802 408293732 700452280 425955414 618073460 235346622 417650212 179425356 118065198 955986114 469925766 162000308 798823354 636720332 462652376 402773276 647763424 17602044 344482342 963036566 149670858 812096954 851874016 746436942 308150142 674861648 933104416 850453732 409205502 976641936 821627480 116012718 901826830 408892256 904649278 9892628 362183680 36590472 774554068 57175360 463465666 777631580 902560788 96934400 740462234 68427032 772161862 787976462 2712358 516719000 76847042 259356540 653328856 774937368 312106456 566350422 111268788 326469406 236688620 826305714 135288310 939124592 686313184 525671712 856565084 633912338 639741172 361143930 601432988 274532544 823275220 726561566 609106836 280173202 696635388 345792010 318406640 74458380 345662732 799308492 61550256 734496994 182670312 133769382 683454470 712819012 179947102 32307226 914741976 594040078 202482448 357248104 353771570 757453150 326727274 77165578 278864370 428758070 621123814 549235852 86533712 932025388 587073782 115185730 39143030 5027390 363739422 985097278 134389362 99160216 67719828 839029398 707484194 206184780 74801640 995632416 239030908 210677312 763655626 415550878 691483176 93332080 201062878 601949554 117680092 343895772 792027374 526929988 478867234 464219438 964796784 823224408 235835616 148690982 239078360 764805500 367507590 584063620 787322682 769032258 808453768 80991626 529342278 990886922 870679054 785568790 300314148 783086946 498655034 141953526 488780670 48045626 805588190 349089660 746364634 16294500 721811950 202504770 654327224 200708442 78098214 358381132 568366864 597082126 630484292 102121680 771021446 771644706 772389222 336885876 756575532 374907582 398887126 976154466 904110880 317018888 870215644 276913944 628410442 394753072 73509030 224205722 545987362 651360262 37860768 654617502 622704048 433788444 161008204 751969054 463352068 304674526 295386316 818303352 929972748 165124624 915050906 604505486 434007968 449919810 625912104 681556886 297969192 142237146 774056274 672495086 210973728 731820340 569491616 121554664 423174862 551012408 753352076 108223386 214409524 52220168 25726890 125975142 590277668 921600402 95131806 470826674 224761974 800413716 112297900 268483238 597179368 937251656 55941800 692563340 413803282 844520904 472678506 229806848 794612316 989723402 207751518 881518854 475939326 715463926 279539028 689755090 902701984 488662168 910786076 916074504 656583344 812156046 677073956 254504778 121778578 817193856 998239028 764383564 69533470 928677940 385742550 935656104 290855424 18862764 66617666 348674066 473222746 412102068 547470540 224238858 800519374 816345406 516367476 122276678 939502652 617490262 140162790 743656558 108336100 918977052 878862334 3244812 805252990 206015226 653939416 877935678 651961314 163563264 972264326 361874070 675403294 474774914 370779700 521031214 38103604 785594942 235334052 812653218 629784412 772605102 571558870 78460048 328511972 591660710 939228752 979670576 404760122 567761414 12517694 93334880 310905844 549046738 581084782 966307724 632072600 255123146 937644012 320481902 151952860 37128670 724969106 573787236 401101032 491849768 934149158 870568958 673440446 792307650 666032658 452078142 626875950 333470318 981234744 566526966 752349112 349192712 435982162 320901078 756611810 929251382 215526624 298590578 446908660 326913510 608835700 920241556 402796902 289176664 944095412 431837524 209688864 849555244 570048418 489500274 422811080 417074290 371019288 265726404 916940952 955318960 354787776 836734096 350542064 453590354 998089236 376452684 919217962 109697832 909096946 898041302 996006296 445748364 718638580 305348332 136431830 22467214 739400566 91575404 325379486 551776280 685408674 514642090 148290940 962723640 214469988 217040964 166492300 507852796 48240748 76170580 520138662 57877776 22545182 267348692 175567794 692312614 19850596 926537766 674561784 427536470 391372594 353946022 331513608 291132452 1236528 972036630 444218330 555672910 35145574 40920732 835832530 650341042 880751212 523687216 121972832 571837558 118048594 455929482 389554372 3879676 878920142 622894750 197064110 539898492 300869050 244633486 902215752 725633020 695122152 886114306 145793348 949743098 825610584 747975140 566755870 835587666 431817240 703622542 377638072 211174782 46162316 295703704 649837856 67539494 903237026 208108268 245158222 932080506 899294866 618139080 990479762 605025648 678598018 705848106 662938388 242275956 297533708 526301604 751217570 277140394 142997028 573164938 95900226 598200132 39489918 421662410 91013166 282449576 809341116 519963708 772837356 883433762 224825468 364252396 785647412 194586564 695432524 288839188 308990628 18079824 302488170 548044054 375481868 348413524 80557010 423277686 608985950 319609770 999090732 692888530 896998342 964225418 571862338 547145626 779528918 236498468 380226672 373144858 994777610 581523462 266549742 362867740 437430328 927134348 275543628 965016338 483787356 193182440 797246810 876868632 875594184 355967968 35342572 430748128 948017428 731024680 323817020 451598006 605033284 449370252 275101260 599365190 247941834 801395748 952853640 550670982 116991686 691899988 823450456 782750898 838809620 364018954 866101308 326749564 80422776 393675662 330474234 45112390 655493870 884381210 101810074 810906172 365062506 307638176 677106206 735675988 194608340 5486780 942705864 342689220 583260254 303888250 583561950 802769900 14471950 179901940 237240322 481733344 319883746 865026570 612322626 280223250 256565532 774872132 36943234 187240410 132700082 350617166 241810912 812111172 708315942 36065062 198744040 222744588 664897412 49911900 331899384 517403182 308354996 883968288 305000440 183163030 758362676 972153376 891463330 763967444 623318862 18450680 970906512 403278924 736020784 297982848 657676378 540291832 425166848 30377836 804156518 616375224 383009458 190832438 792939356 335964954 27314250 121999900 132405046 510728962 83580830 325739420 181534156 571879922 645237062 996271528 961416750 679028550 760211778 653353428 720296352 90953152 151599574 238080102 748485268 486851730 172781234 516606090 52635312 146383906 369156914 88206446 887341726 893435582 973858460 839976496 45510288 650778872 254503668 907980506 78411740 961998556 236077982 570473444 57856364 932600144 246659702 843581216 563147380 784289108 135304820 36992238 432901790 964255516 399201440 70990428 706943790 386366812 415068410 969067932 147872116 177550410 561283164 556128034 51359050 769045242 405882240 72192198 414500454 620281992 520198152 74791306 154579808 270022218 400922052 888807228 488720618 202235876 214758296 875067266 255125850 868698132 808493876 847228988 934708278 540451668 971770878 925826822 24075880 416409014 941154302 168597200 59674514 30495704 787613256 591954600 3093254 542304092 983393860 840567202 936383478 352884740 139071246 416037888 707042124 113065902 142758160 764430166 224464052 68464112 471693448 555705672 330604838 83396714 294682824 587193158 190507152 998173706 476086552 603918768 701256864 153837694 831049256 903958186 96295812 254263970 304904916 968287670 165093620 903131912 943835168 318285918 769726198 650531950 823937066 838410122 643227246 770017290 535427082 67635028 215990464 653165096 909218186 727863100 16922058 291920704 934818594 54748684 443546342 336219634 837702890 747570 899630726 351032260 666673636 687126306 568295770 431242484 927855600 836365660 407939620 83575044 973311900 694521420 895176668 956815344 180189810 539855846 399921510 45757282 584982172 348355544 463447570 611631186 746554158 852434362 404048986 940004960 375319266 974830514 543789408 435029622 991572648 804329864 231803558 956208878 38808688 174304706 478434346 876337078 286855534 367370110 789023812 215912032 752662556 478546622 543981768 939243550 954441760 413356728 260777604 474554502 189813850 992973754 965736002 850150126 313667774 929692520 377462890 341870232 779635632 842184154 815917588 221087986 820878104 832488042 347884708 287531282 876991448 312835000 439219078 370869260 290445714 453111604 837359658 312737658 786863656 703326898 174039678 277727148 123356062 66984562 675468528 675160022 405549084 214498720 692176212 870880028 593474272 207371312 735211340 914224488 507206328 972414170 383130162 750151258 149928534 479285786 435624618 174323166 958830288 446833736 562325884 317685364 979558172 673727444 178292094 284987986 983861668 653072612 470788194 136964270 699456258 999845646 274337296 545555324 830711212 152494294 393828624 101119052 603695054 658686778 984689362 72142266 334249932 568367298 976172982 424341820 943856680 251825544 201051418 565090146 7338962 290786524 858874550 826145542 35842306 88323394 375476868 632854690 540857850 167798852 468269416 796808228 828605642 606667154 630963294 23653730 202782710 830494778 967662050 155090348 110284398 903052008 194650758 109880164 73162612 712207426 118950004 369317518 758033892 620196840 899569860 864071308 204710798 686186584 657132696 53654752 333630168 216047326 974303088 895627306 464166640 671058912 56278694 386102342 472827156 588396336 41573224 43205624 684991844 352127950 853349800 461298762 862180624 87611530 969489762 653927732 479440100 490772212 744306614 65889348 226936270 420272852 53054730 736694266 333427094 948243292 395292774 720374956 930406972 306781156 337319952 371182698 683331964 862817642 840564022 236399144 821652860 937129054 612488862 123277252 546049414 764429402 849183862 701820302 684129116 172153130 226495722 359495108 248961598 775015802 77366256 858514098 338149232 594358220 807925128 877943888 619100640 977800512 741089028 663388426 443365822 256417606 784438466 548263432 715997844 464297096 823291608 199177212 378456622 305028604 210760646 188061050 685778158 486526456 835846386 751435012 448474230 281775148 282113126 381127768 687579014 544892494 163451860 841537902 417067004 843839640 966108042 774043034 518398278 487149432 233280432 906487516 932671678 252760498 239258464 988272582 237958374 230959410 894860254 727683822 417671878 287341246 255038452 36042696 395845552 619968882 13129782 623177082 108424830 544781904 353131818 398263492 484757318 638130340 531966826 617542896 701078130 415701980 467612292 885345320 362357366 449933548 278277984 222984518 554080572 530590150 58078076 3218192 611933444 798319594 536118710 286159110 38361258 144500874 888338704 10611338 791291912 281217552 459308904 3954950 560545750 212790122 210545892 793999532 710139148 873493802 281488012 622231306 497581580 669994884 796700442 811528628 150860954 526488560 495634600 249275804 472872674 256406412 772999938 945208778 273874808 124651634 494507950 348588698 860277088 811174010 362724494 322120492 11997722 604928374 530166500 307891878 445462444 579620428 588736568 792627940 503511194 908857834 965196294 788670826 111358080 745453202 867975548 263949546 729009294 390757692 306971726 220968272 203185320 608375460 885499714 851634730 805224152 376387688 444598134 855890120 233454476 725571008 310945838 637502210 404357700 819763580 231943554 683078922 332555948 836350572 804474064 261100420 948963094 220042280 888601852 970467916 673516878 493254638 171687784 866639782 881775984 48425084 160573524 55774378 425166878 910926856 734615886 340068338 735837184 960488080 730027762 243240608 137986786 11807656 714501776 457113580 794826882 885384616 444954166 286465122 439671474 246342820 648244610 886150088 67128750 206646014 760319910 941905846 14081500 673601268 666373778 273672804 670590846 439895570 677485024 311188176 523836838 69980130 128212950 457160166 278839006 708511444 392425650 200122364 821248002 675507408 52291004 480707338 432751964 930366554 230739024 823665496 232337422 720044770 547318630 102933882 606255196 407630136 250661288 893196754 328631152 832013674 44475022 412988698 664090948 940661988 255502600 519328336 334160930 148276324 757331482 577997752 468856916 439361846 292746354 423095906 265851026 369545016 391663598 953609256 66484252 717968336 906480172 60600020 755160370 456961724 296866390 956190224 282203976 999653614 184380506 336518402 7112140 796677376 491560212 612407386 754753684 332669980 682217072 688680488 484572060 394997850 767942 285671080 35064656 114783788 179778588 444320130 657741324 889829708 580846006 126790060 493709514 92693770 994780754 959788856 415371972 928158194 179251834 149777128 411402588 376853566 495955770 232881216 947293464 960343700 776533084 745164290 573975654 363658800 219638316 608271120 837092604 202590276 303983750 599700602 135902412 341041844 977973876 70455502 652534224 75049740 897164308 111981342 823982772 411204728 184049894 788478550 307671334 433046280 712712110 966803388 607363488 232562896 887188056 161124292 953854990 218410716 481987662 311565242 688102032 247393266 148763580 213315060 337699934 357931774 201089254 90257556 683866832 583389182 90609816 643001308 606859782 631524902 747823796 743166300 254795660 32656498 947119150 272501140 223509414 202198934 573218314 876338222 762049516 825220448 326547420 376891592 674540730 397930242 228416984 692312628 649308352 871912698 396174446 882836742 94345572 391656420 759549688 551514386 999234980 843157776 678972150 942633802 276517256 949277112 772555916 951061544 95268458 900905040 122231144 675825196 991401344 642946098 362812854 306436316 110777896 619354136 305353252 782100890 376549330 267767548 509972892 982400242 325630792 523406412 624765430 364583202 255895872 798654524 634932188 249865992 603893256 477631448 513772254 775934880 256264348 98105564 818368364 453969102 382006096 859431778 285989892 583935980 12442512 319198328 329849172 588834088 154612130 876372502 571775428 589324514 878228700 485464218 725429586 980896240 622778634 807386938 392812030 526485066 366799586 16916968 677917112 217883874 840204316 473623306 695063726 658180616 621092112 819067864 870969380 623319690 885226302 637063628 553805082 340760206 447232844 151174612 672478110 946701006 540938134 211873884 189581462 584615888 764107050 473396924 452583948 902432282 566404504 852615690 725333450 621650140 201670270 698091746 993503694 112129822 673482578 85114888 573644654 931031024 644172632 332039430 562572876 593236696 112929178 171544358 564528822 55689760 1246920 4818462 315767202 533437134 836656032 938677910 191141572 244220000 491998070 141996730 409234292 603735284 427429600 225723572 292818502 276573188 74085538 180067668 977744602 693531904 725385190 686027652 530531680 899158330 594157380 899565314 978239134 78117184 902501316 777488546 57256346 696237962 633802022 744419584 451935824 438572262 568967656 795357322 752299688 43268246 770337302 116999738 773448996 751050242 490443786 845966948 857504718 955656580 577068180 810222540 116086314 921946934 828627464 607389200 992463558 570634412 654745910 90353306 249447852 530158128 317094914 68534120 40290648 389004832 145995148 328874542 837424302 864168360 790123962 115952868 163436566 668684140 551215000 775952580 778254210 952570688 440480060 805163014 156111202 929762230 806117510 31787240 87994496 993708002 926372936 191725778 796851186 736679498 331576676 681112398 686830262 680872954 149953938 351033816 27862586 170158804 738376992 535239118 760758328 738217210 787049268 567151682 423052748 396352952 931850208 973390344 115576436 208749344 780322774 96023942 797863504 413756874 672061180 928643504 124559892 225648616 603103042 838672870 185529342 742718722 554029640 772939726 340979118 382653678 393163970 498245470 384506082 703019990 375245404 833439366 745224816 805858862 742867848 912395450 42338442 378200112 562147678 682746608 447256270 581971528 107397690 899621136 960804648 401647036 65113016 640757316 477320796 149529786 328275682 861934610 985378852 561578208 105962850 903697384 245065232 132723552 634187910 569761014 333946754 804898346 133874994 77060908 959564770 700806912 893544548 922375408 202209890 407674446 203997398 21712310 958191114 63483826 24819544 602889086 31048690 102211308 467905796 926540592 334550486 172420626 877310478 565563470 18696344 599398654 922854182 866312336 495013320 35594910 287867030 731565028 505098128 375215260 788266228 62095886 835465158 593738514 998801642 196020056 356258218 983183034 445878284 185993400 75793266 295759128 810783616 757020306 965834478 142520332 27541764 251309190 463980248 638362364 926339204 993713158 444027766 501684260 105919926 325319924 613014248 219231344 958099650 187239944 383778736 865462140 362090032 930656516 511014856 127624762 939493944 413164708 984273046 503297664 751125222 69062974 44884428 193759224 230740148 950540924 906298040 446397534 800240384 51557588 273515054 508406768 455627156 513178952 159985540 584007942 23917380 192335314 70529334 174807864 305645108 387194282 834862564 713582676 844343826 146340060 930340660 419306530 111717510 980128662 881321192 937688182 692482560 125350188 371089346 840616436 932815382 4454418 301683590 197002416 240006860 273068706 668682838 634912468 605188868 747478464 36197668 490954116 342733348 262254858 55315364 550175406 225474544 687991312 334540514 320775980 428425996 380086504 752498178 361115914 206418666 275832132 161708224 570583186 675489742 60561124 489831602 113354864 869578450 746444044 565890246 853480112 846792676 876125300 811075244 60093134 997213414 91501146 826063410 348665488 725767944 724822406 540589166 535489278 63572790 588058484 113074574 529653196 824279154 154964200 510081364 152829206 734825742 525204870 260397500 316423588 907981610 920605220 975072426 481792830 491841390 894824348 631406290 260066892 444625774 264319294 852807258 825462790 661664932 340636222 413172324 265668414 264941888 101011640 709878080 369597942 831240144 395662648 584492370 633803728 15320470 819305490 577086938 252780404 665723808 598286742 132310864 263796244 143131872 619610810 778583250 502941104 361035766 69492372 125805684 963504632 375931372 859747958 74354228 340368808 747021502 330505796 951891422 695958018 330280412 901698540 175384634 602681792 413247670 447055610 919064586 143611512 657862856 195950992 422209162 363653930 213845634 508427992 148635112 346367302 131097544 202168154 636117632 674690958 974627694 294388914 984655850 532684642 450592812 961546490 22524266 169685408 597169730 212906978 81021138 306114610 46788866 121215248 268836088 17165996 977478134 816129740 389909486 714241242 787989102 496411700 30543980 43517546 529838086 255164142 223459992 557746504 213446266 404108042 415984284 359935618 203083904 981968568 3222574 474643322 170941500 288321128 424651728 722498656 709903706 856702232 709102694 958992520 378691454 391271910 417966532 2337658 206927056 670752360 223628752 442415734 435699306 18075536 601806214 801499484 780500698 9130064 87387002 554529704 664916318 460905102 211932800 379393044 216253858 451130896 865995766 764744316 167733740 599932924 780409334 756869700 627397738 746459182 379368148 997454526 985703112 981355128 22842396 738217882 253409950 24101726 743197042 31150926 351442822 845737150 272798630 791911394 77594804 858155686 745330662 732974320 682439398 289060128 838832832 183487434 591266492 288992776 299069512 10434238 705934550 656548878 616082248 270140776 416749080 223129598 879637192 160169846 789996334 441617304 849908406 778623330 230428672 470397696 766852054 93085854 765277920 950223296 473454566 403664828 612867704 779547790 765597240 148005958 729265332 926118362 315383430 798357822 52490516 302730740 641640190 492457302 298199026 116490180 302117712 705611420 641446742 468457108 10779968 354316054 397977952 923427092 927970958 423554066 572485390 982106026 770641918 835167484 608653092 258307648 70112918 471666098 926942412 344505312 807670828 58932780 300341300 275505254 803204614 672858180 112486182 677638344 873302908 370291450 603157648 989022692 118883324 49194910 232321758 260834150 795195052 915645606 421589872 249888032 321640350 449361252 21688286 766564722 945140716 651150370 164266220 27400626 480624072 197396054 447854600 488780132 266571834 686146792 275083114 958974822 738454852 140327914 702081160 477222730 402369838 137887030 885509624 179019386 275837716 353568580 774980098 902830118 633585870 168555462 227061224 661924306 621707404 948079966 298257768 710002498 97130586 821751416 910543572 635211846 223231628 362669626 807904582 466946398 971865712 33486628 110383726 864012316 402537630 517539928 728232302 654155840 597917256 995596156 631420390 766434198 918315290 558765790 310184202 215891050 495874794 791266152 361321650 452252790 111087232 450098408 84767476 676993604 660448936 784946026 278705502 568220308 25125714 65887734 527206464 991446310 287955154 741134082 342584608 772639016 599879180 369038030 146929960 782931856 18838400 551577510 692650830 108136018 10602018 751273050 729076336 628079150 147964338 823491742 377604072 573279984 902010004 127687796 841662676 450309604 106025168 147315106 798010334 884361472 645295212 135323894 142024334 972133206 166274628 68188282 15139082 169680174 454372586 148057342 501401904 364759980 210943706 364948324 638995548 332108796 774537368 109121640 593217994 162219872 886717582 112614968 375887862 161773564 273187392 347394804 605079446 916301854 352052738 116646542 234310312 704154118 660877582 100030952 901155896 111251030 866186284 559140368 956940152 213744378 488574328 943005852 207649946 628112690 247789844 223747832 536121050 454755448 257209954 294985660 946431248 361336104 532064546 148040578 622151188 644102652 151271830 867018864 196958530 169152578 428651754 734831808 779069830 745466184 149728288 291935448 933855098 972046748 410687300 432054424 268957354 332859200 812649880 458465422 557504852 647196704 356557308 523689966 716715950 24298068 58729160 201746602 911194582 259231356 626833592 847451066 172488152 623012518 566240744 164361036 461505048 99770116 444628638 279798342 203391292 566881562 754929032 360226730 659140008 218470034 916898210 440381294 712449012 675500742 376886880 384371016 616433316 894741180 68471898 166730528 269159476 501041082 906473396 159169552 134193210 325581806 474726112 627908824 610578924 603468546 36660582 101146246 442539320 723683566 783099798 686921922 224537878 106924590 426914680 854085434 179452960 857102284 418061302 449655288 57410254 623139270 447716454 752220068 219456308 621333956 450086862 654838096 709798510 482059498 694637924 251838494 556031496 980585786 592679848 994678742 643231738 646870074 250808542 361656612 847788024 531095296 831502520 183519930 50366944 960189924 733647574 603071686 591095290 125764448 404567298 498835084 516653554 274031818 9426486 992475538 220047926 761395578 225129204 481716612 662225856 245861352 555826416 582712084 453270508 803015068 443890732 950317014 392930602 895273354 278620006 379612916 963275776 246592754 323740830 321950128 366456504 921025684 894008112 703366358 606302896 472486790 895807746 815640956 129697738 988530892 168104210 361344010 584926892 99883248 49556178 588679434 431268064 248952500 262701932 148230478 611653210 821220804 922939302 91848336 451404928 306601442 605996088 551070396 992532696 352517594 283412618 17616700 654801130 408863436 390827942 852290968 378858918 90930906 898111686 222164206 545262480 607823900 855624390 438913252 414539984 213121880 229888810 944887696 403521314 780383500 871949206 481267402 207930642 85381896 187685684 947775946 354411174 433493038 991471284 963867136 760447640 467187262 885321382 75808394 228900682 827573452 379488894 573391692 761972214 46465634 535571568 961688588 389687374 648149954 213934076 270364596 483359896 433887038 695993480 202751438 351556668 107222546 568754070 991087974 926207536 824510010 32417616 235470226 400647644 677878248 278971432 847268634 561414318 468939250 365940280 556095978 686457114 429435244 24307770 134341234 603512898 291639244 486228106 558139470 372213900 282790532 446146926 507320694 113262522 184737490 251886536 115862620 656951414 760717314 506104902 553609122 267397782 819170906 252800486 526664102 786455530 287189108 644888894 628391558 586536116 442535486 453106672 689577936 986143610 849903394 584931758 186546912 457730544 967665926 325528498 395145218 968784626 963915554 259801496 7085546 165570584 116414752 107781362 560687308 993890604 819956760 813671328 853722100 262057262 245203238 501169504 779396098 378865416 84840070 647589310 41767726 133875348 500347726 543633334 572347244 911041912 337869130 397443448 858463080 963579750 694452434 547987232 351842780 178911238 246456632 902283432 609795166 848634038 728251386 916166754 127815296 367870530 228702072 274800344 841551994 367409222 760874152 783386686 650319932 51919334 124263988 814567386 769149852 956755956 981293862 508211372 100300958 99543146 742171924 811556140 388646600 243152152 481093074 130099946 642804364 325597554 298558696 176454486 509826140 315278250 373153558 479264566 417622790 33955078 480467266 328842402 353522604 820709424 940803462 706634542 72515854 282212754 511399928 952818910 941577034 774193756 162138892 838352318 142657164 177621874 340442264 103828020 93985648 130801872 483425248 525523030 434185186 13828570 799625954 927820482 989171934 924224112 358059534 817871132 973696598 864548530 522920074 511398740 493859288 867434784 705293786 35246590 74644830 890823378 508423442 913501076 386679000 621563814 886154444 854803816 139361888 96783718 575759224 625395792 923853086 797315038 932088336 26366478 448995302 628218572 69283300 391323610 67009904 773833306 7895756 113469748 815245602 912372152 74577528 719606720 968578122 390713002 19307912 96618454 42795784 200212578 49187588 481498578 918109292 847946694 384304188 885160840 574787008 540309906 942372806 710730208 612663154 294999366 900819772 212213220 587706028 810866034 689357782 733296012 801260396 397981052 424444726 900061746 131682184 775872286 62261876 389427912 475635304 707694010 889981752 356696224 688839888 199595542 235454694 762781608 1561484 984067776 585845302 467822720 208846100 276674834 268521794 467995958 328126112 466835426 815801946 859666194 232756862 274965828 130183358 200818966 122481636 104462220 852576020 642081890 27666002 934365460 814806522 420852832 350108544 758245096 817841666 999204160 331935652 736699754 218628462 69513298 447715148 485601540 886822222 920011894 621261108 256692326 53901846 878416950 372059166 447791894 291849134 382721122 733650944 710293398 81318694 400717222 146169366 809052922 215470602 763924110 44368816 376405730 61871406 708374856 397758894 765227482 476259344 329910410 895458358 192073690 932734498 118891922 238463442 201786034 875192164 728152796 758058336 881165266 326948046 347793450 780678870 5794018 600074012 979062342 336253650 24446250 737771332 325928554 394965312 884906660 255114322 774017156 90940078 252987846 103803172 469707732 406211198 381511058 351184918 731063056 686432426 762852598 713193172 297654624 686804034 548450400 886686584 736494310 598824766 657297372 372710544 376144130 687425404 788996928 817944724 680028058 196171214 219752964 920177162 989777868 334600392 932912992 727441644 274692508 933008706 558606236 279489472 192877494 971963312 595917048 556696732 98418928 909732764 106398124 356191582 73551912 179976672 761903088 802015448 324856364 128739370 661681954 15672418 437708598 148992484 931807316 417263152 32055164 725251262 217896686 701105174 505038400 411775296 175159998 667912742 785495108 170016970 190064918 480487648 201688770 285537080 209302096 132559902 547919582 811714226 810485900 770803416 637153688 1367462 438250432 109573284 415018486 91013410 578203936 321144124 960271660 407768484 477567296 216788866 789270748 731555086 765399294 44602808 795056444 520118910 727365660 242388728 463881582 908050122 570656916 823135482 712701110 235135942 172318104 660249014 727636500 562797974 223367012 761712514 317782416 654934476 26127610 720207332 422728864 404428108 410882628 483485890 152474208 792039054 524454474 78007884 230739844 739918432 266891460 514080712 777925112 502919894 145728372 585079462 562239908 719606416 588078466 379500096 253589152 46783742 333372868 928891708 443451016 429676078 557664530 700990564 926648194 513795444 372569834 496868564 882602680 402648492 486916716 957225400 949790456 9097358 119298704 916730122 399217178 270112628 32771362 970831620 930502914 193549782 278552384 633948860 120012488 526965072 773686028 226791012 954773772 56819042 270129294 338659084 387617502 436348288 123947754 124982780 49262 76762502 180886282 350216150 193780752 58515880 320821098 340821536 256946828 539186038 243270768 969134938 604816770 843535230 805427964 494547400 902894688 499482600 883083102 262561806 655370652 388639674 413727086 836134498 489826030 591460620 649152418 840679778 628348434 156930358 607945358 795909192 223503128 70769620 975243254 320668158 67323328 409783544 158860286 422598072 606239506 686222 223554984 654168474 720643246 9423170 324957804 33875668 432978116 319728326 578099664 166129594 668821936 762142422 776559424 657135640 643162778 490957790 960629448 92670346 678458166 370138196 926817306 114422472 361076952 108826174 372116266 386930296 410057592 169628850 325913332 969822178 189414990 739398618 662158324 425065136 267749470 386400442 285111474 964833706 881982526 920700096 936612484 510628776 295298158 231464014 419221070 704085780 970198228 145179348 766622340 749941176 750293166 665674356 76644768 815502098 125025038 967854934 834334872 671036250 646887844 764075316 776459844 765991562 250934450 9404654 829435198 752640652 669087480 640728986 699483360 335758348 754419958 752680554 241022756 196148922 632352128 482178194 397085678 17534940 428201012 155952734 841394564 320261974 929488350 274122756 993160676 657076644 390100968 485488382 703692032 996438468 753843096 142031814 62048630 536007832 218143482 134718300 455291676 458957690 788305854 549608178 875022022 599036494 264333086 735775682 904889292 41160444 936312054 599198414 576985098 553358124 861035154 672833950 901807838 998933990 976057594 74753986 857267318 183808810 249616966 546643040 206936888 34074978 575928614 10147730 901941548 619266538 831577230 245224782 951487614 742299286 394238970 637251158 543565086 92803778 469006620 936098358 475848102 137869720 252753170 535621746 31192628 740523002 108557342 176342420 892661080 905145734 250390014 48117698 473622724 924656224 481703984 306707214 299868340 9660272 349140998 675615238 170240016 296249384 49392628 716490840 441683638 956340832 2563236 913886850 32782732 152071370 581173326 257328918 884062628 391766690 156718438 326811564 973243254 260855738 207886110 412312072 313574368 149606074 198376372 60204372 850128774 805564628 700056300 700159092 425567786 535881992 79971164 197934450 203569594 47090200 453737980 294017026 705584834 601776502 833441776 608031556 287828160 776846480 98266770 472178494 414474196 640231184 352521080 552688842 147458268 906989614 685033022 280238776 703854944 309742692 1340890 729561740 497615494 349393374 70045628 630991426 762005456 475715276 391716886 915751556 961523108 318901654 688240248 309404408 702143146 393150898 249667886 342037552 693867122 2030478 210822568 339484898 731608710 273076598 277870408 277844340 370170024 318356554 313343420 842388074 989039028 186142960 144257682 617063290 472086186 57939488 106279886 985496302 10942270 517942062 399819082 157889512 250671284 341512784 921254208 800148210 35744838 682302688 462361734 930204012 777576378 692716958 13311166 54387918 73376696 487251090 633689544 991786110 94657118 12452332 222893658 843757610 573256308 356654480 394751894 49250348 82102424 197339128 923866310 188980880 231012124 954697522 408974270 366673382 619952628 699456542 263691888 550393958 330212784 169916470 425047506 416136802 116951152 352730416 394683214 922596734 924788126 554195436 457280172 288186410 779052552 217023342 264336402 177118558 848077080 581734116 171789068 593082364 25714428 236971216 654479988 330530544 28042572 2947440 847444364 865840588 365228460 983308052 561341048 769996606 469256416 438850816 267473566 964960668 677096484 516411538 602388182 23197526 334742122 620704498 220323068 258968946 635606784 739610432 100733988 949138296 712506034 611080442 592567126 991257386 64499040 843303270 704179574 581535804 576652896 954607548 674999436 503816092 56287772 690741468 930912412 372025482 185200262 584110140 75617246 756250788 353743652 528580712 150483616 143786150 390214718 982837694 871373740 528835544 393191356 551391670 231323112 770011306 62171536 93149450 556223954 463645730 29167078 623747854 974136690 379428982 455295008 717476570 720740294 439186502 341875184 770077764 868322250 79452684 893827152 827752756 858560060 330084706 264683228 605160042 212431094 143094782 24110014 388853190 608981558 50772240 472097248 623963100 217349118 598032230 921005818 219481676 90910348 710501284 522176464 394478932 530881734 557041394 766724678 985013396 123804302 459093854 639001164 640143348 832701860 417676234 866488764 398716750 157269850 525842154 721494706 363282840 444021516 945098132 987375216 363758522 657038218 414546438 908843866 44142594 907451698 634631286 972114666 952275954 532182832 492637570 585352952 533880764 772247650 175248190 477209114 785916686 894831528 859394960 775664636 959555342 931780266 492139164 468461594 384476822 441199212 576309044 375967396 430169874 895536926 110084456 724742630 593240864 456608842 333114740 804947890 501752702 523216394 420895336 801435972 225888092 84802860 524754616 692256888 410575632 525245036 42733076 146590648 208979636 518975902 218988882 98875158 692448508 93463628 755115148 990976904 556084556 15738618 452084012 389263134 683485216 536588794 4172326 507056080 458755980 449927024 16916978 567696358 419894438 11737864 434516266 99540096 125858414 106242202 432917330 110851108 153490756 270979424 706750576 941102878 948210914 892579704 479503320 674547070 24866680 950744982 370897498 628711430 441374862 144260376 153115496 609006280 825355458 387735472 146738074 122685010 594775088 493775520 41774266 944391482 219086566 188050938 456094650 91710254 985297878 164315438 231264378 880397774 457188326 146331136 433012366 472734856 97674246 792183826 941171708 759718782 665144500 669015152 831290724 48858070 143453630 284641074 715121670 503791630 567939960 683217348 241743760 604244192 599284376 174442378 163917560 776207714 813830424 243717364 174734718 79823478 338178112 967499542 518329300 319138476 807866110 442843088 979629310 202454758 420544858 756416644 467603210 701681992 65251700 995371776 443789200 153306396 628630414 22789764 788787196 934667654 457304066 996021688 509694660 299404098 44871602 78183394 295676156 157520178 755853538 516142452 499562388 788757042 932043542 341570312 881670636 60164580 244913156 963680420 765513608 413575000 227039090 173514030 549550632 186557422 264657194 629996530 30158730 876128776 341191122 879447156 150349834 545578102 13121064 378865988 236823094 294751730 178485078 518608338 598664682 558146734 81766304 821751254 193895410 5048604 381120482 892190830 177283062 526334252 385289366 744067898 637768202 904145616 356395108 222181768 82051164 645268624 833514928 959500062 550710090 2640456 668835204 328897794 611960482 655740942 431649710 50622272 240462900 162303530 484962410 956343516 66970098 471643930 230568076 142215184 339554 530801130 16723920 722776590 313623788 792826224 989742060 609870560 263732492 107425508 456221328 16579062 215561996 429455010 317203130 669934 423484346 407620164 767986680 138824292 150779554 505077762 896658834 28361894 337237192 17075170 838535260 362220896 960419270 467564256 965476570 246797898 489684994 126711928 895646380 617033766 461038914 647532760 208735160 43043318 290873242 163672108 281951248 79652064 409165534 97133926 401059732 101052486 782235306 806479366 84016948 545042956 82296256 918761250 791343404 743795056 569590088 728445450 647646122 216134746 433634278 451438498 13275528 343724892 703858368 942423768 744666020 693078940 313746054 622742106 554272474 272682698 307013106 917622974 18456184 455354304 775444372 287848752 105067626 338634474 918604508 265359434 71443230 125923098 58101946 368316716 745705942 515104226 987260664 102809704 809019976 304141922 114312174 747702116 43023674 866928660 291894890 891371128 501990520 689038456 487776466 899507998 279827804 993954232 649129684 894090214 688800588 932126196 793605912 602724250 851810886 393647584 829273370 64279264 988121900 869916128 971478312 285077690 750183390 143725804 408963690 103590262 451062254 441254034 817464270 96718358 879867074 208414378 111210030 153210060 625962270 261888366 943169066 367907272 615127484 542234232 756085530 981571928 482407410 600037908 647804718 179433702 516731782 110555386 586059422 73231536 211934164 271524460 683294180 586722412 661056170 574699336 361980990 110698006 276244076 349533788 873841898 447950986 62942170 408809792 390052824 860440596 925671976 470486870 256828956 823256964 946553416 772248546 916359738 747927230 876737660 497710208 126688972 861423942 616398744 863013274 146027700 836879928 989111072 995317834 741171846 692058472 318533696 546140842 720852530 445495682 900987440 194465326 835529110 439715480 348357832 358769822 918441428 620494496 224943618 453810562 338662978 94262766 611191102 275988682 692856708 757696646 368968548 309740130 378340836 946199108 937957448 837696994 857681848 650474410 834009228 633915584 890657644 486199830 534891534 953598970 835483578 459036776 77154784 985094342 391938346 225114848 352866320 314115904 932457990 29041018 206324010 909528204 783340356 706181072 300876250 231181444 76244456 883318470 522916396 814094774 417321402 793186218 880786828 203923448 711810028 343783546 376308968 479793432 818234052 589977344 973130218 580524388 893771314 688643834 896423208 296820260 564370644 826707196 291500174 568957386 642586900 571470950 612310738 787706894 196020712 96829326 463741292 382456278 221539562 780566590 803775848 274584130 17799884 120273148 309593692 224162586 637137686 107155770 444825950 313934854 90119512 686634974 898363628 684175542 540773448 299333166 96958040 379688732 720884456 868340266 873191126 499114070 282408962 372951184 990468558 585057972 66158464 692178158 306843172 227217598 491561070 295962088 191131638 963011538 492475118 4175708 295393610 621091342 141581006 282004306 74920726 635665528 810096558 80993956 539205900 827055152 236876170 889301284 719532836 54500432 354237860 335425736 3549984 820713558 933516626 54040430 644803316 854315304 378212632 591400644 368932514 403002802 164940276 617913604 122998260 632642584 412388170 806496666 183331780 102629574 254713856 217537556 776638196 162135010 643495636 868031582 946366304 326721102 782861476 102572274 846604054 88834664 267396068 821951702 651910378 550523768 60540242 270205462 326092740 413297232 224585954 804769778 954898596 212851272 446811542 379176114 615676336 226777376 666680142 594898746 932245078 880288036 677959786 618415560 346778048 126042002 405038420 301435636 963628630 91681586 770082468 17866214 828123904 658663050 373809382 133223516 801868700 345546348 568624142 227356248 711543542 104138838 626873012 723981480 313943058 387870726 435593434 779416126 613399030 295339886 441176120 459571182 542492128 827913298 231225668 605195360 27149782 130395818 779962760 293346448 257668700 656681944 704111838 179958506 744550538 268439458 80353820 1915174 491644470 408563574 641311760 778533730 794941242 241196654 207772888 368698654 32344484 763900298 695038984 679023902 215394922 400591360 153059372 452258582 20306970 993483092 713923978 882388974 205248694 913186618 381488870 916328300 247353370 409007378 178852712 839348202 998951950 160022028 80472494 949581484 964147312 281571508 497256832 141065972 155768944 337517868 736272810 260386960 435275680 307036132 600413090 945322200 504074590 283865632 712385562 422093358 261562812 992506050 809634090 820660574 157986892 888860672 566045558 973680240 767267000 847413328 493342546 297487470 80197150 313759176 718042346 281451838 327941060 948759986 145018462 212711580 239472728 723967658 420164530 506553540 611183244 536252526 978433642 68422272 745612302 23522490 498437366 706864530 341007136 811664664 335438162 763073284 501931296 393040772 703368714 339102142 834705118 981744786 948853618 962122036 468930176 785332868 275764910 467308228 279681448 535844496 580506832 67266248 159635466 297450216 483991042 812771630 991109364 967639494 201500938 217678966 579651790 898824106 882103944 510822508 981501376 938671834 539083910 157884056 367341830 254670616 858310554 778953480 486517488 214564380 713456986 146360390 819473256 572843694 586793086 474265662 986629822 509241406 138265508 689418148 958584390 979824694 814748782 161312554 507072310 981946328 224328222 618703978 327678396 271823956 121239492 488157432 705067198 734096640 521637120 44388950 929405498 165818836 860827104 441119516 890370290 324153654 103653048 887265436 486404540 692788858 805849994 720020918 997606630 199989276 890538142 856574110 683535408 405058750 596713922 84035610 866435388 797686278 129916892 965100744 923953518 264821398 696620890 897160390 132997492 429897862 385444314 574031598 14091766 65307572 635185572 859503982 657451466 940534428 848260360 328305704 890789104 680856210 334141954 76563620 529017890 908822810 807941052 88441250 809505998 401990248 683174040 939601248 308868644 768403356 684042882 839252014 304882844 881093326 47094878 137833472 808417258 684993686 626116140 116852208 943256762 554384818 903660772 694843236 550220108 793523292 378692778 787801000 55403298 312622454 518398574 165599552 970201950 243672320 923875088 99129912 885736306 685939464 479014482 129481402 979590950 555304076 762430136 308382630 730358318 868770620 449602006 541853884 579484644 463483486 697108048 225424476 811429350 850629756 947559696 322580948 944311922 270332954 255153598 121715786 964413108 782143658 584432312 623127018 998233328 487696928 323975556 176458548 195350822 767006102 959264212 789696696 609481096 457287318 256328862 367098894 732391886 383542120 633428120 94511886 454714880 645003128 575020284 623086820 916391284 773901864 98285642 540919170 773037400 759821986 548920038 735225260 910082720 310675098 996097960 298664906 24295934 520166016 312888794 48580698 599212570 387098090 23398990 640535730 2392226 921562718 302255892 897648450 890297200 707518884 590243530 461423684 118088282 707607606 957887516 452861058 799214480 399481340 684784612 11586892 741527222 422728478 354305316 811507810 606786796 176061656 895696800 208052856 161380746 368820314 182172490 15529808 397205822 248630114 4948666 649717146 118775690 99418042 652423942 336103208 722443782 558752366 589773296 65749150 808219958 48956656 413860828 307364026 705510294 704521564 132107958 948233262 157158098 209528352 420797116 711624694 425740628 372097816 120761534 134098156 76265790 665902348 986664716 412333434 549392598 61144866 646404088 899672778 271147896 389600638 580184516 435186104 724397974 700798168 447864050 531522728 41912174 596534688 548828220 339579882 232965282 328396046 325476760 296330858 523094444 161046142 107848158 635129676 629908138 357081740 267158098 882234776 703171882 704684202 134879722 12434622 925608960 857581490 554038802 38077444 449234800 753148122 936587014 129981110 445004978 92022856 676155202 377286944 89811278 663985410 839132514 996736218 764015330 381456208 257098704 515670198 59615944 573419480 931830666 116727912 16432716 285545982 34939954 218572954 119588360 502996468 125790540 848179846 21870912 913719272 383354266 947698978 414471652 497706534 509661362 893059286 816377408 924890940 984800598 228956416 706512688 539579950 678880114 560799594 964181300 211930962 866094744 150670566 402771788 307356440 399931248 344711010 807276686 520062784 758394840 777144268 97623486 537552500 566854052 169317968 295738586 126097506 272149754 407466376 818797060 99205588 741480486 354522698 591496522 204994918 43826124 542026506 972508876 195445328 525945092 597369854 938678700 602998072 3374024 301682288 156377352 573703726 116370864 165970548 442946246 316814522 282860146 743325346 548012992 105564370 889041810 962723268 900286044 205429674 87035064 731650700 251190498 91289406 953442010 571362544 437451980 874016234 363153686 577688542 644898054 25232700 916514880 886583218 982701290 934279200 968701668 736685952 99606978 363599738 414678680 576239704 874549730 703690042 974819850 63941816 248975018 846434832 15867188 404633764 317552494 328493866 849947804 77747396 233476708 678547402 710144908 347322100 460904958 699947552 23289714 374892500 442160634 417250934 966374146 569147742 766605912 650787830 199509240 487678316 975739426 343343226 279584174 924049888 980220222 198618186 146974132 512182238 921833626 291889082 199311878 834213958 770308536 189212650 706507676 52894140 764790470 349880542 575632288 905767632 597320980 564453008 866541360 875662316 748053738 806005010 196934694 621312702 595134638 279996054 174253580 979935394 680092842 409629956 564766930 140107106 43595676 782349362 853610054 53141592 365480484 161929192 962823580 650715594 103267472 933431302 628598220 414254658 806348536 138546392 321244578 303652626 362170520 884051566 684222656 568089250 874635846 497277560 505558246 753144002 471703912 36293432 221539014 402660846 298624194 380706408 314073616 277141250 161594922 392561572 1801034 917965704 920311966 164819878 676377214 175645962 444705552 424723950 571236892 500026018 617470000 75314010 54976720 25486596 556125944 835825846 466844226 309372274 417163418 774452868 919507596 569623426 142900452 608128358 945519966 66080556 469180850 20645338 1019574 416495022 770860074 776330224 425519908 833299866 368036016 275479074 940207078 262268954 813702776 903107314 526248686 528403614 771309314 569404696 821832862 952376888 649971060 278626714 288460564 825893196 881312616 13352066 767890422 653251916 903999046 492684322 449547210 210731550 16587266 894898780 62638078 609392046 560283158 155456810 884860006 748032 44517380 526817112 372500388 690828438 170076738 344948148 146081160 226021570 150796084 909609132 974120260 460164198 930532568 391212192 272174 12119330 862665372 617334482 722686154 846044518 748571052 467057158 318742022 463429734 474107900 934452008 860823506 737657488 490603914 997358714 736635458 177705252 573091206 437327394 320104786 962377168 543083230 849800428 753703712 686183224 957815454 213410936 362009306 552863640 251880656 830200830 568812562 852068466 92643082 623194296 423019516 406306370 680846756 274023196 132812128 716543612 5609666 352444010 891299194 209320074 470187654 5279300 850512228 509710746 260338586 332802734 549442678 380130030 151918858 605717332 587026340 462152534 294623864 188969092 252081662 914931968 536540222 710385192 45614852 873651080 740982296 912910296 425690086 536293742 696195178 908888626 597825972 768289884 76224944 250001830 916183242 411048064 984215514 461548432 184923196 657148622 305262414 76784886 450958120 556217202 166036616 565258126 600354542 407820668 791539190 441615240 550653368 522664900 425724372 615579056 195152412 26360950 119493896 69396546 434850348 394561788 725101444 105730588 807080680 657940868 137765252 631734206 1733722 410887838 943778920 877711974 848211368 965587584 843971054 756477974 389950544 946877136 79690434 689542502 698067540 126277194 350661846 380848304 200279190 641678696 892524024 184335438 532396318 300016652 210276282 658236944 577416678 719820832 155618932 439918664 289202368 378782790 777340488 94655940 580929690 842517062 922568324 138265268 707308050 445375508 51647702 522498520 559929780 725500776 413277238 845807080 967890376 260128494 12407660 81325414 848582100 8584268 104773688 629732348 165482222 41092744 913540846 936913688 105974222 884964494 443547916 792604162 199029308 908370364 551972700 591733544 993289134 908164236 255821690 118019532 791050592 284153702 421888856 603858176 608004244 322283180 322536316 145561040 883903022 527638858 302539554 830431296 158989700 115544498 527208562 833445402 517887658 345723718 365286870 848882138 433251182 198722486 549703742 422572510 335043122 533171522 183083628 322430646 455442636 754507258 606082548 207325592 927435714 251986798 927647214 406485086 775311702 139150332 861250836 546149552 941231298 980285826 649048618 620884202 652880292 385395730 655101260 674923842 508501612 180696062 869162864 724152720 214419976 654735886 642102810 899771440 194157076 806743216 332134950 371170018 813583604 933620618 119028058 574160502 181794306 851773876 445582344 217014390 941119410 223411682 645232820 831535694 878713822 299766570 786065334 818617022 579584818 311776840 401400698 391100280 425095886 13200990 723080020 843642552 247570596 226657342 287564642 348386044 969489426 740375228 174512110 106817524 630165784 783332632 943358764 720020384 869253076 665404832 120718542 601490540 873139308 822475582 457199218 5419506 103054596 820898404 559054264 317980546 455674052 214954824 799699690 194736410 492708258 103049140 618018522 701116808 918114902 345349786 520188914 143618158 587587834 500400706 293382340 608511872 947677952 831293048 610270210 829868930 578385336 944906004 203225600 872409030 133439326 474119828 375607876 432231252 108923054 205927496 477925368 433268124 224714174 502849562 615017406 484932668 740561234 305739928 418772678 481772410 289869746 465863186 714899476 430825890 313701202 74702220 584741786 597619646 701732852 234303822 358003554 406932346 153003524 905904888 202538334 724167488 953550204 322364348 697591678 118272140 718778786 919175138 978162378 112892450 853433544 12335350 2992624 562253126 144909906 410544534 365324144 392654176 746894346 564291108 188976432 136173160 1636370 97199884 875209050 331093972 296326106 761580794 502670608 850479330 230987942 408689140 539809472 669438294 864312346 12402610 328659792 604947504 60143126 850748770 171367236 423209534 85871538 737210636 561400688 679023768 202019116 899800910 704386948 228516462 330239518 586529670 290326382 954808124 113554010 363063344 585551674 976257998 321877968 821654378 370302956 222522990 517926890 183780458 474197716 589435702 241913300 420998348 927181400 603093340 656223746 843879910 459574270 93858772 640220452 229057018 201979062 620456478 786029552 931716994 835995102 513723502 546278302 857272230 617524290 929695530 108014160 828610448 618304742 933886804 376158338 476300354 446127384 218102316 933443882 688404140 779166382 535995554 716185004 364995140 998093914 340049238 591702056 849596246 572870380 609085406 158313488 276662770 118854246 42606986 112342472 95207066 949506282 767930098 52453100 318230008 307610782 422231266 310572000 119966644 457843952 947937676 253461392 627651918 337284108 425139510 954822590 823124432 697346614 828002674 863747444 108069588 745539092 213642744 774580446 324246572 666437308 693523124 779768982 495397642 357508464 110378432 433180432 960877748 624029166 577413216 805102954 676261478 429450602 543968554 703242210 164578620 717923618 296725050 259269944 255774064 95418814 235747946 708548436 716235328 366982014 935050598 517432722 871807764 699626292 902513510 737772580 757287278 634236288 15786878 742480476 693350188 728420986 447165724 768411168 26474144 986470890 148412350 780651650 904552244 47886366 695415310 356454210 491429334 331705586 293058344 634084924 818407888 6084284 437252772 702247132 451136444 722006244 325524964 558301872 936851684 356436316 794360146 445016956 836246420 41651020 358291378 921903930 309408496 584479176 327936670 473930756 730622856 151753012 411224194 406322834 932716790 544434322 585330266 95526856 818777332 996236168 32588436 313012138 262807474 84649032 278938394 383171240 879298972 280006858 74198760 281948506 980659142 56732626 975368672 368531666 439361224 130074046 787788882 657285298 59649908 780488106 494875430 264335072 547478234 819499508 836502258 767660152 783781250 754100800 951754226 630348750 626248308 524780396 874287656 880552834 651221712 668265832 122626540 995222310 713932612 731110640 740984844 17199006 354060732 233463674 191514412 275270124 524477652 856756248 884745148 835014052 880172374 380596818 126820084 467432828 612151814 223191286 493483236 55296260 682997124 99656128 291552554 857655864 275629472 839553170 298096742 553834034 731996670 940355514 375422824 538856262 364703324 719394852 767992864 602300612 230503912 40620122 35423544 440670698 592820808 391038614 613112318 361664948 191993940 804229770 391946834 229150958 611643572 5012600 425552106 458602812 763006860 158174326 645191818 663736470 400727198 54228470 894343370 3398162 181473238 890960492 157858706 726394730 454841610 76492778 97416468 251381668 288216744 813369448 194750738 322934054 556142702 675661572 514847834 859037942 714071090 256864686 474087154 305290588 627091588 948185364 162308242 287578066 179210190 402805516 596064868 141524766 286932718 159666168 30779376 613081794 225145692 257846568 745576586 650666794 552841674 175375690 83768200 501772568 390413058 688266588 86641038 105842116 746652916 839906730 781308348 692277548 412818088 356598122 941084112 178570558 27067984 617160746 268447122 562127984 387300426 212144072 243783278 31202700 574949906 288655158 504012632 11051660 24571540 81249720 370888746 119716604 822986670 979630526 56981100 789202362 620058062 495205752 682623652 611878156 672187990 355299476 105594092 324832162 972950754 391606716 159423106 936151310 842883630 701639880 478524112 142600408 519496084 81623890 389924248 299396718 302374332 497835442 908457270 476789518 498057144 50584648 732937222 26774150 106045776 991635126 394854966 544319810 19630966 974118270 11750840 40384904 357305372 134880576 633631022 445446558 601993634 185555510 17867966 662742880 977264242 529587898 33203886 402156192 835393788 99831498 963068828 421662166 782831610 194746560 342551176 44498894 907094630 50544996 283490856 211736058 696976998 306294560 936957858 710426460 424269590 875368792 20348716 874132006 745266984 594807484 105684896 46472818 622019458 706151048 784920160 309482214 687445550 306142072 627602372 658068284 80636010 229886120 908555762 955127432 803579922 678812992 231545908 4191256 948924064 709432896 151629212 804655168 324657152 326655480 846534022 188995624 363254376 119573568 511702722 422135006 605222018 181255216 208862234 875744218 679763036 989523232 38805312 826175868 19586908 273440036 536997858 707997980 532157232 136844652 935723216 389161148 587738378 169067728 926517708 307951610 33872072 142692316 127264692 782268498 322086164 679453638 416906900 111739358 490224154 715762712 951022836 513590514 727840094 234584548 277889894 727518460 777001284 483725220 691425638 534344032 513416068 953986576 304307644 835758684 196640316 159983448 493430556 985163496 195604516 823093896 945869374 934929804 215608684 301711528 659999176 842447908 961396822 90939606 565002050 522876212 194906520 796114898 670182230 865284616 696399172 391159294 283418946 106983848 835946878 595812956 563066706 347325090 184897018 691972088 791042482 542931318 42184498 705708202 177219476 346981030 347183820 104828930 282493656 843766390 972652654 557145072 77300968 370522714 999267460 697021740 940609026 809315642 39886216 437924366 188444382 540873226 791155054 702140368 87881814 887493548 415758152 853111160 733325232 619181920 901805424 734334038 579801466 177325754 563052804 765996004 915374106 692515152 601373672 207018966 728949104 407568726 174069264 990836686 114322508 327106314 287996170 331522010 954469356 479121008 892285312 141164066 283200810 373076092 847707236 526364526 672638902 426817568 782683378 450563592 185800630 180478586 346738638 930192828 16579894 43992498 465179788 460505326 115216862 59939866 95402850 620644030 833531610 283246810 507789812 178668308 140723892 593815094 904295474 24834752 401206350 484487456 480843352 273150352 727316198 164185834 499355054 52651202 797348522 603773280 826097728 587409606 575640814 887005658 927840122 28733476 312499230 49154056 981064914 828988594 930164606 724322432 254976548 956697312 411872076 892357682 154461832 936322728 697043206 75821292 703486980 129877152 498153614 647019104 227416558 116382896 855699436 522785994 438976304 751946730 784285050 96782734 20857082 422235104 190197850 942632660 590515408 394111394 825541680 181695586 985003538 663155812 939079548 423498958 259161436 357492918 481256150 343132916 303630458 56264322 162254548 63041824 928346242 162922562 538953974 24481260 413650418 278352352 26000334 480878074 104211850 776641566 633642534 258197846 52071334 26064900 927112090 213378556 570039102 450440226 460367154 7896154 865151834 840475550 639062930 820563366 934858548 647514462 37275116 591213464 448192360 665188084 667440674 712087438 476221660 576365154 682533978 35896632 889489258 609567262 920127460 131072528 136777348 86323062 788195026 15555398 632446020 319849786 761228458 398970116 940311578 264790666 625166418 911982676 544072530 103346912 142369792 453678494 333666728 773297996 339237472 455778438 712061332 375524424 298500024 773742594 178810028 590906672 49531274 900376314 939667856 808700872 154144976 263373642 192731466 364364588 998746170 110099318 287266988 626140084 214325990 469902076 180044190 970426476 482861908 655840 651564744 884545916 46504986 411197370 244865272 769952712 899452124 539343268 526112454 816204806 720065728 772055732 652657426 143731644 732818704 764580688 843020900 654488166 342457726 114348912 469678444 680921294 748708926 993577004 816462252 852238802 36760360 79932206 100912212 691977880 157814900 538983180 716432380 243930954 909588350 349365142 278538014 220701712 941956570 471719944 639883580 215983714 89042936 60888486 947319784 931232454 611043882 303855742 977817352 915241572 330989698 95921250 920549084 819855350 909016846 33998572 243985956 949867850 350218062 825636924 724932294 856699194 842014120 52358108 474824886 845183220 574290446 893469832 466417872 971454744 242599964 786040836 881193474 910358560 531421672 367203048 450649372 569816862 604819364 678471324 708045272 725760188 149390752 141025588 954119922 579628562 167162448 146796002 462114134 782357108 832015604 998986990 864201458 102078328 120584660 209409360 160878804 423473272 417460210 701412586 987637168 791969996 543996984 204399322 417697310 102396160 843181872 121581896 877035956 79367570 738022290 702940270 903270226 887253038 469952566 160524538 861426506 236322500 844413816 268313496 869052506 768638510 521961004 304930756 39954916 927175016 957080882 66878262 23502908 856302734 656496814 253172002 162073704 544266550 608243182 316440504 729137102 849702818 925425866 190030938 795390986 936843210 100085470 848124968 449711758 290116594 259634424 840610760 75548064 90197218 971667164 605476408 890826526 81598394 397060532 989178196 158500312 606782942 758130066 755095080 226612200 960240190 412555492 859588762 171642410 591838202 866523670 218187660 53225066 737972880 566279474 761670786 264202918 397432596 383159268 581779118 184625828 376163358 552265344 516340630 279962720 926346670 663834978 769200978 302925074 987118756 503261626 165376656 298952538 322818148 374195238 152579502 179491222 414656752 843602778 352956838 95321798 16028192 634133814 440486972 763500790 918015020 406985574 354510422 482511046 30299838 618665206 752144532 183737738 179909164 4374614 734381774 611452604 745585324 22381960 765291950 749825812 239862720 88841182 708240022 494280542 262809020 995090100 567058350 35609214 729684570 779993070 220891700 356475124 350124414 523339122 541965680 12647710 757548996 745556994 198971758 262655500 199949976 698987908 382332638 868941176 784249132 928259206 117900174 367040254 179235266 119305628 347307950 42793126 729362558 615836714 8353748 424940828 646172160 308859326 785274416 617376714 152388548 219627006 722456854 7730834 841602446 136352180 300436052 717848752 897889786 713408418 133778910 496923200 95713464 734632412 812984568 519374686 949314886 75645790 372136158 200341096 778694352 279068544 823131224 867919252 288235250 463711426 292933312 666869242 710723980 824922728 556571076 316379530 75459340 432566930 223653080 774790946 872350638 859682770 224857482 791672736 296151874 649286042 353679842 803614454 333423534 350178620 99421760 398778570 583620440 958417834 526593822 280245624 233374196 656972180 30530698 92568812 100937786 59003154 363065348 994706920 964694074 403434536 109646074 581588740 745951958 850790750 499966768 527733350 456151888 919217942 428682386 129794718 262275566 551963948 877706356 998147580 607598368 100412118 746605350 56033018 776432180 520299222 719067428 662682448 368420690 551758252 830445518 896861288 905068164 704073042 640495596 136636648 677987466 824093656 542034854 898496780 821084934 929776734 894354670 559474996 513896548 992338216 703177770 247489104 536088292 138793606 404102268 528587164 365781166 900279552 560126518 636842884 73575614 852176834 71539772 188435192 792375224 148381874 803805746 667685458 891182166 112361232 588905930 787855180 39512732 657677502 367533458 797277268 313727704 842918222 977165966 796208920 684350416 74481858 754968220 56811688 482448342 767439162 31115308 211801878 142664252 653651750 712329150 997853996 88999434 844126316 476573276 177109040 956546656 52162504 933331676 149839742 541991200 623355158 804476660 527714936 348263270 889637876 962561412 480829212 553806500 965806102 774111796 301604958 463856680 891734028 347248294 520656644 828225574 553400480 179816134 594820032 269286170 124013584 235926444 809893544 162072502 96073806 613491154 796664452 164191706 51214932 397133738 241757396 240915424 16003680 498814972 388273890 455627230 993255798 8472070 30369938 329130888 408338198 941949242 925887286 49866990 175091754 881594034 627371662 171315292 526987188 770823922 493554300 494815480 326478298 74653658 687556322 642172536 797653172 212724736 827368518 149836734 964470366 982780708 692223202 3491138 423504396 78484742 830410796 504722988 60081994 437894266 987611002 432275608 992741090 287714506 972340506 897261402 615025424 170790354 849475794 649144162 307429310 77140594 182934612 791943108 586993188 980397480 454750456 471810402 389013740 666387892 855918102 684945370 910368072 380920842 5983092 219924818 984412444 443607092 678666140 557036960 401374888 17325456 428444170 783843232 471809368 464356710 405652666 761406528 615793942 450365768 252275512 516158882 591014616 74192988 543131366 792244296 794071122 336017320 116166212 699050260 291477408 586565916 164474806 742716254 113196068 654135702 914723294 22303414 213361520 282408428 717961068 838019722 200584874 528128194 692223458 277433010 92403412 505441002 432653406 92170130 785155234 274409438 237564342 847894 20538382 195887908 626990666 662139704 598278998 126647366 136197712 490357088 958753922 738093464 172548166 375627194 582118884 138059772 212111244 994385312 748951844 869799760 814860178 37332386 481083356 112374486 484026268 166446714 585857152 583943786 50737604 599023030 717256550 340684078 59939604 270959678 307149690 612575548 235980746 879847964 65388110 703544360 331509624 184989196 769903350 603396044 922517844 16327802 864826628 46329172 887372028 159414368 768245544 322338316 121788954 997271194 519220332 486605344 408596296 174110686 174304334 470689174 315317302 276668722 324227548 866493174 88357916 514751988 264200490 151503822 239867152 256358974 919636928 518640890 452233800 162833540 343510568 374825424 900913114 554710712 336155192 827634958 811129186 518688206 203693530 324728120 386812322 633617618 36280940 265923334 219710808 742092844 302314938 727055356 907319258 195882786 535980578 343809102 585411164 506885282 187863224 269828954 580288454 681717334 168306320 804719164 167127254 45904398 972620102 38866992 374734930 105749166 273938810 161079398 899650268 583438566 892577664 928263950 355285212 424535880 43360218 765322038 397897892 612241550 312058164 347738924 444995166 498473382 508814118 537838016 705922768 180733404 963642570 341360878 993944200 189769994 974503360 814714952 523873100 609953022 153636872 975973662 758895678 582401558 812321538 510662346 552927580 549202522 932126500 349994640 726445282 315953132 140526186 428891178 239592352 772343738 925084834 201221308 57971802 192579328 11926854 810330788 793495562 979550774 376424348 572694248 612657844 903976740 395808886 909592052 146870822 172388148 654969958 154657662 919778192 748430796 842199256 116178888 222436524 626081798 769399962 814941360 292104230 405796124 48408412 844362294 544737384 413072164 913031732 196670814 424506800 590459054 179503484 729834306 56904558 566971910 607394800 166964186 79066208 674528566 735017542 633246920 217487022 76256360 190945552 634545224 485211992 773744962 791214536 732033586 892990662 568393776 431905418 629231432 914992324 432753374 361200814 331941310 378965110 437196924 816152778 790205958 170712182 7593424 252508586 861947356 921430430 6955964 895181364 582151858 767286136 230508580 912494282 784913236 125685428 939973778 937467094 460287418 411575472 653507726 122779826 843875622 43001600 484980990 873618260 70862822 875894088 738670270 470751736 325145266 112290114 278343880 607470756 700051726 633255668 309775170 833429092 717558570 516736486 307792996 414262196 337466466 492997228 840856126 738012312 112576286 224540118 303611758 785122316 41625202 504310476 987122566 710465576 835042346 837164320 719954002 65315180 980109848 281716070 259967906 696869072 43308844 10067320 581428830 5701774 250497556 8730206 759317868 355607654 911487320 168484960 345371148 339619706 245169640 282362710 652949540 79394606 328497950 926787946 834854220 477541038 643787456 274194188 4841674 317365602 905107386 617094216 851516694 413257438 27590014 730680564 744080112 231068188 43059806 866078812 571764104 687661186 310697178 903722976 338501818 678065712 165507264 991326526 858928682 47353606 631481466 959122510 726684656 386299820 56673032 246709492 453239606 616742158 697571254 385774950 752356902 233444432 521305986 809030656 386287306 895392438 877040422 786190282 925200166 876469490 836039906 575927818 853710540 489209700 737499744 363289242 49622730 737070776 258542876 297426588 560742994 857130930 763744040 878657124 217034108 251365326 65715926 620616996 494437802 626080906 756684848 919250888 470594512 660801376 356740964 225958204 979673318 343942130 84999618 854654348 962267428 599044844 342091134 430044930 874469310 380910498 627535858 927865938 194663278 188921758 21046420 158785668 704253370 585984904 468016906 282519802 787522122 706161650 521269762 930879468 645976312 775253652 983238504 18432792 234145834 995738120 636695474 828204048 305603068 537830230 800826944 975317066 792218570 4555900 629382316 397912396 913343642 421215290 880944404 499440180 91959800 848883956 918903424 922972218 209219932 832153374 764684974 510456646 382989166 613206806 523261972 754039896 144280258 943718114 517517582 220513568 105324502 286101516 769792190 135443650 296558468 53453438 192573620 972054442 162367472 937762764 913755632 477949914 854628928 839327964 714323852 190018490 963372330 507290996 762827876 516671696 637547080 279023668 30120294 298059240 872992164 916052444 102177544 661488756 152186 193952392 961108658 803850168 577257980 390945478 474850424 660322796 390608940 777914578 208653522 879005840 604260172 398002878 496286330 760189310 288852836 276050312 581832838 808399010 262637712 171046716 180289320 321428534 322901100 514120022 576920396 776152444 381740694 687029676 381106212 383907272 110044146 166490154 316949386 534351040 116258370 880702238 557057492 914856508 124629962 801474204 676738882 763885136 832345826 248284106 973167560 10815170 715388630 491437324 679494890 300940058 900526270 344578100 871068308 972444598 353086224 17084340 846823132 814315328 164058068 966999090 337360898 261141016 849922502 710059250 294950096 328638206 240716862 446698266 938046648 596291058 551975696 102006382 260770236 212585896 7001350 409022038 195021902 498090726 417957790 684545016 934189838 404825578 847165430 357105088 519918018 346299548 835757098 741914836 457889982 809730642 114916018 741017816 183980542 371786152 767828062 375490062 712165256 838713324 826725746 742351978 120876208 227211808 51007740 373747364 325197270 81923784 600731260 723156548 840983276 572439840 493926714 749339960 415951226 553684692 725581406 149854166 216518986 208455208 562736814 289274676 673485346 8953942 121258034 883202116 409506962 118573972 798344590 512799046 649798914 775039176 178326296 31532412 81918640 565048780 196607474 814769990 964067538 745982946 141242536 570695010 562336356 944118656 532376230 754658482 394848540 74923476 613549882 954420024 164425740 979426336 466339108 484271956 726108276 882239006 821972010 656532174 986755034 404409360 926583790 129294200 203884072 589494932 791158420 396047984 770696722 968214010 636595648 718983574 970963816 407539974 880211342 725182288 244822304 388381190 827726184 640850698 939706454 296965518 23357322 858429554 173100316 412954126 5527956 17807256 933185944 285095610 239965982 916486000 342020808 632279404 10152324 405370562 791488240 853827194 773800420 182384152 109563112 669512222 75223122 645098538 144157282 761028296 540816534 742506436 56082916 667871208 53346296 489201374 137292414 812380582 931483130 575910846 55666620 713268814 911409494 384362804 871705268 874295298 452184908 145993244 761284782 825922294 896976504 993350174 831408022 602524672 1826186 75191250 960481436 354910460 796404616 807005276 34995262 387636092 942732066 84515844 725530248 849474224 891798742 852282922 925690678 686092272 560927866 74608604 609911456 31029274 323537592 663632824 5038880 934120430 26931226 305883258 712605860 889091194 394375482 834042502 337450398 952205916 367922296 886196688 890051044 978921134 256801916 71516152 821237234 512371992 348241662 830612382 854750016 25088360 506828002 595746986 561249982 159241200 553813632 453559668 167332964 238411074 566074870 118232108 346544246 706602042 586091164 67272014 491167356 530884014 961350606 926717266 399600246 550190508 760534676 182770400 333721212 983362470 574200580 109901612 268074870 331272154 563093492 270407484 346571310 380716274 759079392 590780552 721782636 541428552 444030060 344670918 615822006 725810984 663494568 220992444 413365008 801150868 681095836 835326784 263512526 415122840 936429942 737964174 145686652 276976820 53120396 958035274 647891608 678830402 116134502 838460644 476384408 68646922 997633072 367555220 79667086 526828494 300786584 220004882 282610458 410412568 744650724 377864708 496964852 262119012 110188944 774714976 490705244 454810416 901307828 194285332 808785830 206579416 826444860 800443092 790733228 664144086 909477722 491993492 370905718 496222094 433185028 962558408 727622868 618158048 824537504 560852738 830779318 453383000 758727082 638114420 220236824 881654442 451248236 789007168 853313998 732449380 598803426 715823080 113913982 665239572 142483800 334733372 558509796 753117638 672563384 448719166 28347656 13448174 994547532 493353778 849615984 363749182 617680088 562208866 683826208 183447352 623330362 646785336 495479740 373315002 230328552 284328340 296385252 687119098 407469090 663504062 779530574 814084696 204369072 137335514 927736678 319642664 118673846 939358268 844670882 919286736 391758438 194369420 742085364 770949304 343196760 837668074 436631844 949814712 54759408 528321954 263174644 195278398 288261930 571980302 374592092 462830290 770993184 355661740 860704352 256305298 852707036 386111658 537386272 152847470 902098366 226520212 718163976 187469264 915665876 915179326 200361616 983190036 383777886 248601642 925706208 878668708 584395788 728816644 22783580 662724080 941284998 271275878 618441196 329467482 356859986 300282072 81082722 774879810 320511194 670469058 72049372 536275098 497924286 257646978 455319716 806483404 924834310 498405778 440811860 919531248 386761156 948138196 855626508 676428540 954192802 95378044 569948710 365536548 344858928 981211048 642071038 823577152 67575494 354597370 979793958 380250982 479169498 223715826 539407104 589045462 666247460 20819580 946853224 678088488 669812112 363510660 947243140 809346524 287398824 524990908 16021638 482021050 940873500 24790838 755216382 335303590 403511646 305297792 448785798 857165974 609316676 227147558 787307294 735964008 548948920 490609730 229731862 503953838 518471928 830035590 754211596 408688634 46767576 952950808 549738940 479530534 919667086 751756646 227770882 6190008 994841712 776254366 172912216 686005852 594036312 381493390 699154500 574469406 274817966 678997432 370396158 6589694 150637402 576312442 484106274 852304466 394824752 93117024 839988214 965179354 79498456 664036028 410355094 790886192 5724006 176523570 434392202 80192582 467732658 328096238 760749286 677918774 538213946 173953848 82174750 231038294 79747744 655615170 147858594 251713918 155808844 488662702 391049248 177350622 339209934 213542932 961806202 836991182 812637408 882644562 159390762 828077996 745244166 111224356 172571870 799512714 616085850 531497192 682879718 356237134 704868864 875850374 377997990 134443656 271945288 480890182 978575320 50906740 159249056 562847996 921972498 108848222 601551190 625887610 664657824 455526486 908957922 926425546 104759554 495980406 24698354 274723822 550292266 208797818 249901488 635780558 364395346 342021054 969827922 173741058 76739180 457361662 101744914 459892222 475891848 335975304 701173212 295440706 322616710 617527318 876881984 285167958 307669160 179315878 285518084 599614108 985732278 10033032 170235212 988622784 151831638 475737988 528335260 149532202 720204902 969117978 544451732 432322348 35260060 653193678 393513938 199735242 151767540 629192740 142326080 898345236 758893844 492430970 749236118 243390360 547540734 524026924 547579642 816981458 892577126 372202810 571253214 326617428 895610536 633515740 413737062 952524650 941340152 811339890 522346566 463821506 237627134 747349566 847192828 655218796 428887096 202200022 753657702 751185984 476317504 476279340 702689146 789223424 286936926 266016470 190014416 540647862 545871434 975057084 927039892 236963168 445346056 923620926 220578758 83577456 698639230 699140274 99549760 177295554 446154470 954487524 428005918 781714972 444966130 621299990 48827520 603410336 258830434 55452112 179150908 505725412 587868026 21235768 933869154 938355064 532827048 431700432 656652434 191629430 795813696 468166180 642044722 698922260 604467058 796390154 179986054 360725520 239918212 747352486 78827936 720399004 347704516 226923028 824455270 765740040 7127718 770788804 296046120 276113828 181321038 715771088 668899236 143630150 815387090 371247716 960826850 980416236 681572974 801637836 360975244 395951490 97650448 799875202 981237340 979704856 111024006 443198242 738495316 377910646 528980214 12945624 326910478 948734524 13908510 750155384 13483662 431560918 12954588 570335336 966891498 665433016 697698792 101658648 432759916 270338230 15791216 603898618 140503792 685958850 486168316 725432890 887484308 696758186 923784828 446285060 884707042 733603444 361419026 291466770 568672174 525816266 642035036 851608966 849033744 575174538 294731450 519479424 768498496 634552698 910035884 966692716 348443130 140840952 761257514 408215348 172786406 249458746 648840152 940520268 100286460 922524770 575567894 73536094 667108220 972890040 495218000 437829330 958409864 145371864 982298348 883813280 658165914 901684312 464450942 784850896 358661888 931714652 252352810 394769438 263501408 212555542 26951328 266582690 928146148 121186726 335408386 645677550 934614508 756903772 119000922 934294104 389146804 84663496 240484984 998956336 225038080 479420996 510987588 408718264 20924990 941062614 797801844 562444344 61556340 342831224 128147838 421796902 981579032 359196356 566317450 525590024 229760228 391452728 475317732 264375632 490207396 474647822 985055024 927965004 327639580 199373960 525461104 455086054 46483502 392448976 39454688 595776560 198544534 741537872 704695660 699523024 216164616 223275750 218067048 217116182 647564124 946902130 258245354 241153386 789207410 421483784 294372440 910172522 132544906 331437610 136884134 808275746 819354548 19514208 594968306 210744860 433282186 634781498 716917130 706909086 900076684 505825164 939910964 138822080 40746854 24800642 539090174 588853608 869812582 370017790 383983202 734872908 254410456 570237854 390798186 890308022 213529850 443802576 668025522 690712868 485916908 767246498 896741588 982786712 829995226 253209996 478433346 777412328 994496226 258626568 122583646 795556130 181381424 693893776 97566610 597748000 426743566 274890174 326046346 957302534 395683824 152880920 979136658 982661976 994198930 666187140 394854742 462542922 854378412 231667278 822712812 881476688 807915528 962126314 621771726 837202202 588034196 111848874 745116394 369656224 293365474 690711338 929971448 340455894 355953566 207739200 655315716 161689320 481519250 83701834 793970532 896425086 246264284 315749880 166120544 250519816 671234436 632179604 267494798 965263676 659702060 808747248 213960992 247479170 378175746 686054100 900117198 188675248 84752678 117967734 286722170 90057622 987425856 854017930 586827528 307942908 76729850 355614948 851682992 558009204 753674040 578453074 536850932 710085696 924766886 662312052 624217662 615677504 669787038 27434242 215807548 891154078 943393618 554506028 742150468 863461458 364337182 33609796 513369586 741116312 300305944 456046180 958438918 293812654 566456100 35684908 746352132 679992924 200875584 292386588 286671180 710950008 51412864 679624626 820504210 442442124 935400702 16254598 374315740 824386946 749713184 325639098 816126356 407662802 776095780 124301162 822315106 955619550 829515980 180646154 798737514 846582276 514845584 982051342 560137102 756384374 598594652 438909858 925162268 598685204 19129226 906202398 12646492 358468560 488353688 549333588 830005180 756886132 297499654 374571408 989322984 818331902 341920294 944143998 295533876 715525830 779384500 825866312 226017554 495437716 584743250 373384162 754943532 343338184 198700484 897538556 778971704 699226466 998614524 187046324 750783698 673418712 189560034 579361140 355263596 15840006 621791694 570532244 252289866 73036170 15741486 799869416 504851256 609901532 177494700 172050786 892717806 786507368 139272690 278545806 144596364 238850480 227106048 741962526 770683266 584977316 902693186 546563882 164028302 795129774 408041152 483004876 909368076 592319370 997581760 772123848 883455376 46332834 784073242 137555716 172493326 349482800 383738142 617449884 213013618 69466710 927434754 23995474 154945942 173668036 187761318 291849456 763310224 495486628 435014286 837787312 351126014 719217454 156967440 866141230 744043966 189487364 932466144 262258182 64115620 703426758 528553058 238005274 533216786 234405168 780125540 459910210 187513792 367887534 857767518 879985434 895311016 335802578 658462166 163779832 485343762 655004484 192699536 9509170 759080158 556144766 756487710 91801656 442861134 784911782 626357746 843074296 750105368 281997488 129163644 859086662 427783882 479579166 664831916 512900446 671695884 591326584 534210776 694995222 758284186 445159508 417243408 351969054 77135384 620928734 297344542 942481420 652501772 960043638 996215370 408637484 378800456 738101798 307935578 729137724 719664132 104917490 305793922 315505542 649987680 201768376 279553066 330514230 966676158 991809834 275939952 277482256 587268760 809572676 995900142 166415836 904624300 174071966 804738296 849307520 521521592 254240748 852051890 330731750 304990026 803889846 554721820 140925306 906411748 115447360 568996240 352470032 795464668 409587876 302556230 4212806 800867874 299851506 455717570 708029908 58334234 187810166 44394216 890102362 86685606 9473342 39359896 555678448 167104760 435619894 263755632 326831472 488109226 636550442 277498000 768310506 296637576 530729104 20176002 950804384 951750274 658493582 690909282 630345950 442221804 240381474 123687276 432376086 619174574 362897168 520990258 736047614 739301118 126483222 430133946 115479822 719508486 224276470 491731084 113950462 453193256 927004214 594424746 667540640 237635056 724951908 115408890 78859848 654886740 733352158 837256796 674762470 512014228 486153306 282708538 731922852 325120 90918050 94634000 630482732 124000872 946060300 586880170 478907548 433382554 238843056 298919286 664154608 64065188 745377392 830794588 141415684 667955252 900018912 691746068 598891288 497245228 329036362 763576960 326031236 244059194 65203476 820165346 551715316 194816128 20819764 331280628 267246590 822207464 161679582 795275726 678791898 508372992 244481498 914785350 473860038 681553884 196277160 700336202 157925040 982556094 958474450 349445736 707388620 347567910 605361262 42020548 205976960 269940572 676754204 466821332 142723774 692029842 932567038 111613850 588612888 832048856 878641656 788030916 331581104 660994292 138963128 46748976 72159136 166901216 561703782 728198618 997986328 117981616 987117916 487548630 573106032 516600490 784993694 309293012 761284878 441314856 344889092 590164180 110775170 216214804 704077268 875411668 942510826 763739274 611568152 998760772 875270034 584720244 991639776 649153430 603804312 379169600 914724776 444254692 845882848 605035178 754108286 44435832 936200638 682658374 366193086 478887582 495136234 725725424 615023634 469329780 721412428 605019536 115458066 242690060 774789814 31682668 897509300 955032460 919809028 255104570 992466942 918067962 713223900 537161256 732636910 969926088 256736796 241030006 617480486 249197830 857438860 74213292 407483426 311431098 497822774 257343876 490662754 310164166 169334776 457828406 228790142 246085614 473963624 498801854 152240418 432164034 259585904 580958070 719259136 933520446 206519302 502626628 909876388 429353256 156302110 689882190 572523452 979837650 985552898 99306930 516477922 735572756 635678470 851597006 956579158 758830918 455059140 88738218 3278768 576600858 97682936 648371828 492842408 891206134 970453042 564749640 31173810 907846432 128013162 358372242 840158728 331140638 67534996 538166264 472531782 229294174 580214686 514194458 878211942 64119872 988094200 428849334 379572638 214009784 798657868 721832206 559401252 517517482 287204638 841040838 521115542 452583646 901065128 5077728 660924120 386551152 590906602 765409790 549682764 527979200 413185108 525656632 670532832 585120226 103251216 350791474 936991126 540004580 769282512 958442740 701809656 857122648 322349954 107639188 295819924 169716208 856967916 688600672 390082130 117808940 820542496 938127758 58910086 745731412 538748238 465239624 907854088 591105400 927721226 8857862 129892440 888122288 927403370 826500784 272423548 108499778 388193386 712484206 542155228 925105258 286502184 552974944 843626324 824521328 132436646 160720540 948167004 575692540 931744532 952214784 635580852 985701102 343971014 300146440 855779436 576205560 383254884 492103696 33910204 898743926 218838758 356228118 530221368 490743110 439581140 464023874 276679624 357495594 949591050 409318526 571483874 274787818 360747400 251975086 5543824 628568400 207699446 637994192 648677166 136370056 696187292 700071088 486279044 588465828 292677722 253875828 563321932 283673236 970803850 525628012 174120620 609370346 48515600 937844582 518377824 959028896 170589300 114205724 968497612 436511162 436967526 10287810 604133934 229383744 918847190 584301532 849565242 230250608 781062516 546662572 681206760 262840374 315119430 274854762 575509328 413036852 703846726 49865580 938917652 380587468 942182434 436981106 97040978 233496406 646495712 235507754 54669386 621000176 736025060 487394242 265578664 209273882 607266308 960294066 605750700 697483346 389697288 594193038 168748456 289397680 500560534 180770158 624289008 502914854 147663688 327096304 592848930 298030018 931001992 417516316 639234236 340932616 617776300 897721218 946808660 575720544 338926244 437266178 640117892 153046380 297289588 346195106 909366172 64057874 231189512 936545058 574201444 978739914 791123952 904245112 130083064 76229698 223230338 73306208 741773260 277511432 530778854 643295408 228398744 723905290 926398070 422299450 228907478 836392306 436369104 687772660 101185520 456509422 851989168 572597032 526250206 276017696 295912254 538696006 515281338 274674720 764746112 766133054 187538296 863276690 709405906 947963642 276295270 213640372 826431088 667919736 987650746 768741640 692473948 820521424 882272188 896642978 503617612 910953012 816513648 485508476 815154142 158706342 762318048 902882984 38881398 606312416 802347874 503873244 176998986 200100270 781524688 311856556 814855888 955748548 96545980 853364172 162494614 679555444 106711472 290073454 137830786 56295994 469356540 415360774 474277276 574587422 797390066 351775892 481773254 68520520 988493470 697347792 147799460 958334142 950875004 712078588 78333856 540976856 602873204 385933192 522881392 906846792 35144956 221810680 904998944 732248670 936901790 613335018 263572108 93557630 146953964 104462688 391446652 954240322 676238848 195450358 305518094 572768066 131072548 812328048 314396194 499349698 390338810 846196020 695128616 386782932 978005846 710710840 74414022 41190738 67541358 20872102 2302624 990222046 767232032 189550622 638544738 716799148 450500684 481014994 398141402 750884218 104269222 732947952 920882862 930700050 438110368 586719306 482967202 941500738 890400924 430743698 549602164 18786180 447884354 268612466 142451296 191073722 571385306 850906808 790194002 838866678 904026188 594964106 319738608 797686528 273671072 806056320 89193238 116736790 504167854 538241584 703256464 855043110 711486084 337268628 457253502 223636956 68533590 382241454 342551716 504710154 240558398 85466568 39684110 113568518 968152166 288924224 523007126 785100804 364735718 798535212 124563426 903673240 931414364 407108748 697638978 421010814 249308982 370155964 444354128 507501906 959035858 578228644 97506466 513129488 336183764 67080436 32958640 411877626 520805236 839272484 841270586 295968138 615602380 348898374 484952122 123929412 470235802 745147756 404817344 719913454 34612126 187459036 802123174 196725258 634264612 656930178 481479786 915921634 62417468 625309014 668048476 155823802 107969170 92994982 688166996 219743484 960744916 695032212 181318066 134790678 171232422 779969252 786372880 985334028 838289490 9715598 818736676 673321630 610734304 702706966 327255064 355440824 805394534 931116298 420275048 352060048 946998536 459062460 426665274 550187732 241652996 140390174 257776326 928830786 818911796 501594278 474208956 122442240 631312266 617955896 964847032 847227128 372347974 453130976 39970976 214009938 980993850 479468520 38304322 137594970 624520744 949685652 29577316 582721634 748378340 998816460 619165678 408575944 606338860 771531560 656766430 744523574 421450532 647147534 846350888 619600348 95301492 545244390 80425140 885053858 648380010 776925082 104905208 738724684 567349872 474707174 85621536 799631546 147545442 850047014 697651358 583660704 221309082 48532220 944374896 811593148 883253826 104623496 69802666 971558694 532187464 322178774 978997902 917162430 41615782 142828120 557347304 299097632 392733978 851449934 495296146 610954908 393052766 219804470 179101080 596238572 746537390 900077196 49194784 656399328 965763388 346147876 40694474 304465452 414736312 697311222 152133894 324535866 955152806 104256024 448659358 43493144 533249446 276177434 647117412 573960182 55970134 554027472 227540564 753703982 80504006 964934490 26666570 829374012 708246722 870014348 68415046 242711702 732973172 313758262 361650722 463126386 827905906 179025626 603948838 715975228 434399244 209037342 72118628 873954946 417910330 973140088 829303758 882730764 720674228 758943554 80415448 723245184 842481248 734202606 766812926 545307838 486393024 547566108 993742606 466631628 751429784 10177938 648343170 728874820 571028534 394840402 40773686 927638172 529725792 163359144 393493078 104781596 300353232 574839922 475906706 875813520 112238180 440642006 863353716 185393208 51374294 107034538 797837318 202670854 534605668 732926150 584306812 405058930 338552390 953355810 164912402 819609134 358258836 335867654 60609694 184246768 662845436 908405298 3440644 49213616 258972398 437001556 928381870 939609776 4931562 11187788 529363846 322878222 808252070 77421636 5071106 312424834 300931774 421728924 963656254 574115710 872445884 696620094 488210622 633539766 479127762 638921434 318420626 346848658 493901068 996423994 836128004 813595476 573499798 75622076 44496890 810614090 587632948 593608760 865211246 985215840 440429992 825620674 455087042 789836696 850882076 333177996 223278102 168637404 190299192 839582950 523216468 700973936 16237096 17498192 569939272 577609856 880606994 170303324 566116478 800139582 68417016 596010156 517805002 357530686 123689116 69332818 721395056 451265088 122447872 474468054 824127028 681785670 179507332 920199704 491289372 828687284 978464298 565029012 458512232 140592906 185389448 812039786 739959680 355395722 338530732 256051500 737628962 10919354 122695746 214716212 139865802 662432546 76889650 157580290 623290688 67213146 854815192 94978674 170765486 918348486 67428886 886602636 739419620 539668466 431445134 135195052 32199402 724002514 512217608 533284786 577973308 598345924 617223940 290218158 287393858 762814762 823157190 778958278 105068340 810280342 66490808 527707064 467539004 235651618 508908704 428886956 44138982 761434544 689854566 690846226 346241056 185852512 929159942 153663524 400550682 264149834 589987398 452355442 159316706 829345260 964296980 754708736 760599720 32853538 909151828 77184286 893326244 766360142 951510644 780442696 792340428 893352022 671436318 556593380 961787884 109277394 662016370 635911058 438280530 270365636 525618798 427503360 663804904 264929504 358057688 458825678 598448972 442032908 435266370 397569354 777352622 804676382 670098698 695432016 467485306 11557408 245252382 863540408 144756366 636437028 402276678 349907944 304013256 120749504 318405234 72341252 236316354 256805758 276929150 714112634 6485860 563204900 625893802 817638074 614823624 924364698 577023980 593113042 881847230 887961026 227802502 261698392 956969980 959323490 1718222 275508712 273972014 423584140 34303030 458801028 101439950 827437862 549403518 534975330 312217908 71423656 427128468 922203754 883332776 432252220 599035562 700341592 455114948 941488722 720544722 394890640 406936330 555921814 972852342 778344850 556471866 376867150 969403784 49398766 51066012 610284282 357629130 2856728 614329252 292409150 773520854 513695224 425079394 732537446 422694952 753385912 260576664 719032398 709291568 641941196 723167708 579896876 112199190 854204086 651684668 454399728 869788138 424165346 429981704 39824010 915288040 51847504 702245126 933416976 642177908 539743278 879394662 482074878 970534262 212175850 157912872 817342042 687941202 986197734 306757826 63101818 955927538 463538082 279188016 987864904 73039604 469324772 358082682 943713002 475172776 247406360 530738820 304709254 489124226 603160340 658044314 219691922 585183308 786542016 690330640 428363474 467066878 816330846 375810586 73679728 131699482 464525772 277196100 591797214 833001924 655386908 810855818 81439554 967101370 208004176 527105578 203475366 459455834 517716262 377529660 715954756 560354094 238306936 304493136 950215546 812190146 943902022 505789214 379711042 315601194 147734656 877548130 966863156 991565116 926489682 612680084 12531644 816570892 255283080 535906902 204044724 302104796 681577066 563642708 449833516 603990396 895754484 960800896 161691194 475190036 794030362 583474442 929765576 497406572 363535386 697190694 810451134 11887456 507037946 638208954 311869060 704952584 41417596 64445444 8570 137715762 442055902 301018944 862196212 477291432 852359812 495045552 486150014 335752358 177639966 768123970 160433280 89738338 955558286 347573050 671296594 934995628 196903810 445510126 94389904 997580874 266968200 471711038 1829992 578051512 48716396 61613010 185624742 133510600 487385584 795117780 235188322 66185194 278788098 345864464 267907468 624543732 89928382 757609588 748433734 752752918 431150528 261017570 149632048 32314144 725414360 632592612 855601636 3296534 109122390 104630916 129461976 666576658 494568358 819949028 90223194 855196900 167309362 861296030 457027854 73980722 396313964 839125496 177342828 434797672 85923298 289533724 922369696 126327362 506821090 296655164 934310150 837807782 916442810 738139652 809247126 330319288 356098026 739678984 905664146 565501650 389237454 883131196 390625084 125149168 19848426 590753026 346055898 814782290 972043936 763660154 664215334 165186734 217429792 302797544 646822822 642006140 440799906 28717004 998368872 90566598 892495000 658139414 948848284 739953176 845825048 804828278 273921464 475890602 963842860 762933798 162403142 641448278 389528254 808329158 152074604 291301884 405001168 636529402 117486730 454767032 992976496 865236676 421715200 186748168 629821922 670414758 890921860 335280874 440034676 736276224 638712188 619821350 236915674 565046276 603071982 645129266 43446800 951475114 31177284 697256362 27043154 905707066 703327476 432419130 316003448 142123702 493988420 750747136 896639418 609363512 181700004 885746152 457122574 137928808 735892526 915946040 740460330 319026082 726526488 801686440 744945540 198942090 391204174 891328044 693140020 844164388 258485146 709771086 864898988 673933946 443472450 397733996 661925278 538229684 165877950 190519432 279126520 167677314 780611284 969113946 874002440 776663150 368523068 522062576 64430144 407887338 43027694 674771014 354700266 11377630 230842802 300859778 703689670 186128902 755465808 278001596 318755682 922422448 440208524 432904614 435278148 661684666 222159216 778336358 446879414 919759364 7180578 947635882 272327048 276144508 78646338 925367894 297881608 144254876 994808552 505344818 770754068 60280470 581641942 414620628 450366040 140946310 328969052 69367524 420532070 726564212 756099478 268264912 374356562 260511698 709336424 620406802 61941876 422992418 690769276 436980824 294618148 446822890 485506120 240385514 527678934 323631468 527549000 701321270 718092262 85605628 917774952 543017318 761262486 575341022 849871514 33422012 981310230 663509426 811597568 221866906 891359596 290681818 134228302 723145736 369351084 480836260 410074418 748455098 801642400 161295398 57351490 945227248 274143496 945638814 505499320 898048170 371422048 533596624 712050192 108500334 9475144 958074482 489338674 993851516 535686192 494001536 354511594 304305658 562035794 578927108 426754036 194103618 877610408 909133988 519242262 914323968 314569432 695439130 995935774 489146918 851530246 391717428 480323822 558881514 470071020 372105496 450438304 26286700 224360660 704610170 821911898 80222366 897224098 201757118 870319914 557276056 414780050 552522674 252718328 157871112 472876300 794821056 983267360 400500558 24224114 116341712 765349734 250851348 373476334 869191286 886763608 746973800 431667942 157536352 564454640 80299212 672689878 498819248 150453486 920163032 955312352 272966032 248093946 894950148 137809932 795526194 927895140 826456770 796795032 141867674 417016846 29572708 564073664 586605174 872232170 501745156 926816384 281639220 553046844 569146740 691336950 820742304 314293168 546544024 413366414 501684418 10096648 13911588 733120268 799390260 618007768 78527492 692990682 489772262 722851724 7009560 447820884 243897446 211816324 692041168 913793650 755616942 83555914 519287574 668659092 776544472 841409352 654677416 863409490 136206226 797747758 734632232 13666594 56842344 736345522 218256864 322010458 455385200 501669672 882368986 115184638 898711962 715934476 73260536 839373482 130377198 538600642 204147174 459148970 324917644 663347630 873486608 96768558 646775618 616351028 372410322 254582842 110695680 73860104 9802662 469105404 121776324 538913710 787300162 655636932 82974986 395314124 768169344 191132642 544511014 168378826 476752020 875356748 321182056 333652064 477894134 83206542 281052300 65316176 672902688 281539416 248253354 894343526 316252182 62919064 400771776 31039418 520911284 76437896 828373690 536811136 926322570 665249426 746346596 392457640 227385110 199470294 437206288 876786732 17802210 418716564 359507870 878304026 670058330 719383544 142592902 112081616 232686834 146224754 770259876 785070442 765758966 595965820 768786000 146039498 679352540 658725966 671166088 37281558 27480224 807931896 506037132 448602336 436884844 292422918 233650920 704926424 217810500 646079784 48779876 190075744 631832120 125437450 221964262 499591088 209386130 475389612 640063348 913803110 325485070 37592504 682875434 634021684 866987416 695135824 441479810 432035244 598548856 94536420 877733642 593185278 610822672 158461820 558863986 107602150 536786944 298378248 218366212 473434408 918406796 618724228 853254020 897116894 165890288 453793870 598512670 356846582 932933726 939960712 270320544 201610454 527234746 817688688 449864790 148929238 539194306 533091934 855872582 609063802 345125302 126279308 974936672 31381258 109753450 16618398 692135632 85184712 458116026 379678102 889325108 374762034 806575898 624532718 771700466 70009930 701753158 972800576 767669080 534009310 390960432 691328850 661806296 734405252 778943448 602693102 254715956 107230012 779573684 732954122 39559784 754629572 865436452 862420830 11817544 288565714 460238776 558114226 36521432 881328656 261811536 75529136 895260542 759462082 607996544 505919600 668016062 759997902 822478360 930667978 459472012 736351902 646168072 992335368 354116170 700085758 48087712 168160076 320549348 822753566 416307726 962912074 390410402 461420980 88591894 322982210 602384466 650085664 731860520 934864526 426146162 122052890 172872634 295348934 946046054 148487202 356423430 675627834 742645626 141429690 730323476 25786030 662604826 549577948 706146102 776932622 667116180 233936122 640818580 574208566 450550606 395391056 114965624 389474148 150035836 546111802 521081212 522559740 323199150 935707274 304385374 15114176 441867268 826701796 378771206 807195144 477503676 464044932 355061736 785505670 382103118 294025466 408303802 754088934 21004086 343503970 268967518 763685398 385596276 944016828 235873406 74048656 402358728 421334334 384496388 299125716 702296786 602545150 396341186 176448644 806460196 866898796 741923752 146691172 755139168 149447346 156214902 515478420 248185592 197155920 25827898 959185296 59539086 20447806 25186888 701498888 813714542 322712188 238723982 860984562 672161386 833066744 135713916 627193238 584522354 8090078 230441926 829736562 2997828 934178350 826552300 584136056 310907360 66177092 721738924 901592332 550686794 280283230 855981998 813296654 819854132 557512870 541654820 814045350 535353708 264370064 643210550 652448010 989978296 807534820 13094102 991378770 896897086 47537110 361505488 851758858 784073730 732478954 512021696 932299820 562430188 41470052 572809680 510835454 411392162 944340374 311918692 203433862 289081858 642460668 251234030 983137602 156628154 59750720 338349952 812107356 99354854 366688026 379738 658678534 409955064 879100100 853866356 40270490 984171792 514511792 652307258 763998870 551208808 188704784 746639848 889707068 612107076 736559022 242787892 755015540 190385868 217086652 531799502 363300678 914690128 107352690 517891986 643314398 666822472 326943124 880317470 150675204 903278072 840962024 505260278 410723994 513520290 528409626 707562422 586146414 847706962 808959080 987680668 649024256 508149238 222418166 598292912 65854986 519123668 342991570 927494890 959949860 754233502 325301512 24233594 468646230 793658292 248769480 730055106 670711938 269039196 793038930 486286500 977136726 378355228 428007564 144359362 208420196 876949510 845450682 977378908 814416460 526840968 924652856 636935786 482278732 227561834 472233040 612092132 305618718 751271392 317244934 749444764 174693102 124480864 537152504 366159102 515337074 184820452 90877736 155757224 844655510 978073492 355064602 526850492 82170072 177426942 748347800 71312552 189468168 528530646 942536066 632980386 578223526 808021114 728994300 785342394 629620864 306181798 288410162 465922360 611879778 697004674 658993024 429426872 325550094 236272668 410057324 49965476 197971498 708646062 24529362 37951280 876863704 400728140 69008064 304981048 81782198 827166046 238586362 340947650 762702180 945982864 189284730 92325556 970691860 380725370 582638998 28298738 518653196 348928688 12924414 943807156 139892672 380701198 181537956 238191360 323212380 858254730 886225572 447743580 566061834 682051576 377676296 308977642 731019566 135297458 220733098 887860188 575366258 819390142 51619890 735220516 705329682 508163756 129408970 338012872 659707352 296649042 134399238 427265846 842971034 38070984 878490464 189932370 948485514 300192520 863102256 571864880 744765560 496870818 726051790 706883192 318519768 135602588 853742996 480849094 275421184 763215180 111400 997550770 31747042 537255558 282180560 236413632 282329166 308160312 338392754 97193736 328258928 595249362 975728146 958067982 501222692 946119406 808579886 692751758 703162998 650378958 136918248 61753532 164469406 579224058 211155704 295611142 181680234 345758580 750949386 415088706 258284344 215191382 723231016 102184020 234314096 278679074 102287396 857530576 335043544 800335254 704476016 609504152 233446346 128639280 670276824 369393854 443984530 967094632 347115916 914218950 100331644 808158312 275283324 232848584 408135932 927650566 42626262 23672404 995342324 536110986 979877422 684147692 944923178 447480178 225692094 109196854 349301088 366859756 521353836 968388454 793079520 249220926 843504510 94053660 958013832 281817280 351498904 685882682 671794712 199405400 118409988 460314888 515617154 380630184 30741192 736619084 721604184 986355204 721858380 515205550 776923072 98435692 703599970 152727500 867315314 404503884 966597512 796016052 85937134 690972588 271785042 672172636 127098056 578186614 261112370 151065940 4214900 793102522 552680618 191709018 205017926 938475664 138346726 361281876 456664830 428575482 425743892 476462540 957227470 48225142 720673532 466756580 542445152 337705426 140521118 475292546 237638960 999489608 491833430 317457706 297197274 264290630 330242722 752132894 715701544 921935018 359871270 518621380 462255962 362386270 837308442 196628056 715588064 693623656 380016986 613171484 424089200 164152810 64763706 156461610 400173592 692003936 357405856 294980982 557112482 157993276 803086232 157442486 947692062 746514056 134547144 502410458 464835204 457831862 463161838 54690772 72486776 588657960 980869276 375424542 248881368 980505584 431666058 368558348 876269228 285801576 167992876 227611682 539685000 792887744 9723104 680805306 781595466 447745656 757068358 476237566 998180528 884335690 511160608 226741558 616138352 607139208 816414268 58376080 870410512 183272984 576792792 19517712 614350922 796860710 586270560 658906176 951227584 557152592 820344960 315299254 444144194 656030278 188883210 21114784 795690404 513644148 212418406 92953240 190699292 157180808 435591438 417934096 593845488 1327646 58368794 647276676 684705688 644208926 217155524 543855258 768545242 6284504 370508586 659129646 719415808 745308186 985222116 155358394 905196852 894968390 387487996 978181134 544078520 86128646 173268208 79368646 713667108 10105510 664504186 508111858 798161530 720166514 948212896 846083376 678616092 71180890 530426070 238246834 895155338 204377312 775330956 601463318 319108370 868738988 103465020 325713912 206164208 654218148 623620014 258771196 800468626 505968116 56074312 293268856 383824012 215592610 590290866 68588382 244765658 968018188 904089636 137582672 338473830 817155586 338205524 1530292 235715574 944035938 642408452 290142208 301806364 236012630 15974158 798409046 907578526 112132790 512961048 453975054 86411282 414401478 36045596 387943008 548334888 309570378 872283324 475127550 171191780 371625024 875751920 756687108 448847300 584236638 424494302 223603196 813702170 844162488 228095574 71282226 715704690 281424862 717003570 873741110 575772222 449973864 546927822 967400876 522150896 204252934 544148002 551605302 439036344 946513436 501822774 626515464 969801628 926978544 868423234 688766656 544173922 70836728 929268100 331180304 767279802 362709006 433376364 752502926 958267904 450904530 685008356 790342842 365959418 851767230 682284022 24471912 703615024 784620794 842411670 862797848 499635244 650620468 35829068 321526642 55747774 584556796 130663188 695161542 363243188 183871046 37702532 452207426 352021698 184877126 243493964 477528074 686589362 489521450 188825670 472634318 613637578 504343004 112359656 276555292 801533930 391819574 341221910 303357958 706106188 24618204 191395732 402642634 898104164 359638170 340284076 42768858 854109230 134952130 178642898 995133112 826212668 975059420 245120766 981451574 486786038 882869756 666917278 560944630 531206234 54419050 883575634 254342936 162434856 161973354 288517912 562451178 82690316 910817884 972772768 757735932 551606934 923771384 283735168 204500742 558755208 147843208 897674564 556616714 468518968 49502606 831572622 819291814 430594796 938401268 332053072 985550314 852911504 310169328 587866466 625838464 374876702 794235134 998660152 11703170 820040314 262995598 677207620 960470910 162771900 762465398 535593222 269568494 789644952 291359270 410491542 643165674 789751366 561572482 313896200 156426544 799330920 1736200 786027628 503447082 976233508 762286754 254972406 735508528 962028004 800579878 898927016 643418688 212804990 524950528 639371258 696197350 395094804 651458516 867590320 884566318 132226218 146508220 339109708 149871580 73887364 340707444 361843808 864454368 961138238 785728064 158627396 233692832 711040532 926453512 26165358 542701768 530281906 482249236 209691904 363520480 573475446 164704276 788447406 276480390 302788462 481610084 619133460 676479106 921179824 293459552 288180774 208868386 87825746 419565826 609339272 33187316 545279422 307992366 313539450 389072606 412328080 162583668 765023316 786374572 908381220 473080324 972938122 297867768 933069796 948663158 928204544 480128222 15124926 836365490 492323234 339643262 124727242 346869174 606945604 210592644 818739714 451088898 449494854 389470832 131024764 667275444 580764210 927945010 193296074 242132840 77991292 93647396 31547032 45764478 128147664 589099584 461193600 810560582 692727920 877156804 249591750 910722378 872910310 440694242 277743110 814593620 107254942 757382142 88050466 391383154 48949868 318891522 921357490 948829504 217231220 358246846 476022832 751579372 656546126 499247652 453806928 283513632 370124910 476605744 369669590 310407052 630493954 346211072 59918222 508338240 603730682 502515458 400458258 683665130 55499614 80777656 535340500 397617092 487544134 820009182 767290376 508906460 697363866 275915776 631124412 812352164 96599592 826866584 667577302 479356572 44466892 691603628 256457662 293665574 549536906 222589032 265534144 573430198 179260062 289601234 610449588 935643506 368626976 972603990 606831178 482606358 454824008 636286840 978670520 92086594 503273726 580344940 537429822 350129474 332522590 569078628 409766840 289249420 705029466 213376980 7124844 117238890 436508568 211240282 945322442 283189280 766030572 240500308 867770090 196850290 67964376 509262332 777288584 293768740 546180648 781371316 245018452 300301012 94550956 338572844 221505440 827116476 568719244 37621792 612043238 353318954 846888080 714841054 236874650 889249472 231908986 544800414 673814762 322909924 550693078 795649816 192284416 225763128 374798792 659735862 108819318 642053066 218832900 93092658 34330184 85339508 438041236 664123858 914107214 736809698 577200832 406660772 862258906 973393114 626558466 606233764 158694340 522875118 54369314 965450536 763041470 652710148 542908622 361962724 692602882 153660610 802015550 264085656 57970924 556051766 485472478 633577694 976617334 58584904 976524572 143577464 894145720 942875496 218298834 477257764 435570718 550286608 188282886 907980334 539170018 791871126 709045792 668024984 830816464 376882056 906238844 688569046 373497630 304905136 32221556 437764014 809618766 826465430 133453690 949413676 701419012 746965314 780816256 401221946 907618686 719420672 523834980 104016762 797049230 431318808 150765466 290488040 968863694 899075258 860055472 445644408 454974854 886792878 529720382 414153898 955189016 977612786 513084966 512652328 286464766 579303564 477033348 725780984 374491664 744101892 193745714 846897792 714981164 572913046 778701168 817200882 255911192 528758948 951486138 499141780 811512584 918275262 940079558 555750456 592317312 890131718 43101150 617760760 32765694 196357070 437082028 252369522 42066006 115828450 803556828 954337952 675762322 825695982 549681730 969237274 952758496 810304310 21293566 765798786 371233768 318677566 361046706 628137562 819658320 281879312 9722878 756592136 371937758 383095302 80894286 960587942 15221768 571266342 683462880 439657420 918618778 682487020 10757944 28271962 749008928 859139218 485249104 870871382 756327662 213162180 882664602 337829612 561375634 122084568 610254446 256610304 142210712 253206838 426201060 247833908 909378570 372464612 432144574 515715110 358468254 89682188 55052518 770369104 154262574 73960250 898879980 261222046 337272550 341157098 841862044 987666226 246003134 345895952 920267312 706003780 856224862 210522 486698522 425011740 171242452 864079976 578974104 268918328 1097474 246189052 876494750 220447220 608750704 265090556 244473062 199188794 933634524 193951894 156637448 343687966 54047540 124972938 552411546 397571660 101308044 425216042 627089000 839705340 142339708 236771906 537858260 613348754 570055678 382465996 705842286 661177008 887927488 338860684 753642246 175416352 526940670 220092838 862336246 120661854 645460006 424097572 875752076 393900116 970579358 760909808 132559954 198518024 99345956 669792894 316985986 952290730 459982528 90516300 271277026 980109438 439301742 17592928 23845508 853574238 399151134 52563198 679329764 319588876 289792726 297282632 238144650 690630162 995803812 926953530 302820620 904887346 375939062 104138462 730074408 582779382 1681676 477223194 526975080 606514104 58605230 405997006 53685316 570506618 205189098 454338064 553872660 640076800 476704074 5996750 191287452 884996154 492552406 181251342 740105880 534968044 950894294 854722616 587382436 55144376 886895670 895662746 664974178 817982714 522213096 949980930 661978446 133176786 447254854 791287540 264989842 608568716 929899018 628250764 891764610 214165394 153999264 802878060 751443372 127066828 67813470 993759834 402473656 201504808 328882800 870080724 165829138 331174742 618895368 892000008 864289700 386144404 329005810 726610496 501927002 253393124 906786730 997593570 929665560 48354774 428075660 18300530 836868320 381282436 644363266 575245848 181400982 886532128 133726852 410830838 12294742 69906338 504861884 122133662 321365160 69972720 207474610 753111466 18142110 773796792 974715670 223559764 269086482 59076112 700734256 659578494 337270134 354921356 40289224 423148500 111131150 912090244 913086500 752204944 52962122 960672654 212909256 233019956 604382138 205845704 315854426 665203588 490015554 166417126 60257698 193008268 47931112 442937668 785228910 712559214 413623780 464776852 124314500 439128652 323473940 615359304 237138410 519384362 87104284 385803024 222652266 767750902 382263438 683941244 575698686 865650066 620416980 108665204 271542214 506483806 295984060 804937686 503372116 560599980 761869334 845140246 911102908 169040182 219586982 391057718 688638106 386402580 36084668 664331370 235350582 773811266 936433924 216126152 766057576 415681894 757975192 29713128 126296574 653678602 531263724 804060530 345007468 31235072 737891830 258352702 91979498 632333440 571533882 231862508 61191272 94911528 797940154 249712390 936397428 605711666 974308562 610187508 938667342 180021910 554625302 189090602 360128382 861884364 597070730 874816082 397849914 309208986 574980780 325930122 542029910 671124958 410061790 624265182 628386352 287559266 229436966 384944826 594498098 317814146 460717650 750935152 760654810 953117204 313727268 73906748 856282518 965036806 21401066 827352084 124136518 297944444 541538102 130504786 151160074 576223758 10687420 353742654 432939614 312263046 140412040 470363704 495288702 701936934 889762620 736493730 303436642 685549106 158870940 972778474 70893144 199501050 414485368 291323596 920489222 653120818 335778152 528445504 150140768 336790460 402992090 913227734 986813056 198311546 701850046 987638988 434257826 484011650 721350816 635531214 674251520 513720236 412660100 728383134 614733756 96111642 550904560 498560996 563279420 950703682 571157212 686740970 383747226 745314264 244965490 599178364 310288440 720612070 810960514 807655712 74943846 463044634 200603640 871497808 866670488 780647322 183726062 306677186 691534894 587290376 561545998 311331158 86998254 146093920 691540506 341541532 702331602 692675532 463495460 653878872 571102404 673488038 898336700 486386358 14270328 524783688 415751962 640064696 605335958 767013078 544668258 858848662 103302298 44873400 75095498 637463412 438275286 489233996 467931106 302684590 327451146 603259174 204756490 931357892 692402872 929919766 13818292 940425432 275266802 976523100 449641574 848564604 256905736 28458238 692257838 163357712 910477278 685528836 602422430 670096036 296641354 118179198 18537850 818306652 790519228 692132618 359456854 330942416 199819774 318646602 171972910 60471188 59806798 805795038 878078002 592632168 963942814 824196186 875573002 236068886 256919004 506996772 650951406 643663066 568536052 486698440 241047452 218754634 773870414 881349084 605522966 311390830 665128258 989124714 705956616 579041344 210275396 868645650 620501502 330944624 536484336 213705350 792457904 917511330 663744168 169654606 112231728 857704838 778536054 916929724 20225292 577815212 606053182 50879846 426967516 806517526 341094964 589731596 490356622 571778202 859654800 496755534 71297654 627664678 543054706 605879090 282280626 274742786 405064890 758309124 951186518 572345110 73375458 184310810 539903082 938777786 125992646 830504776 206418016 978199102 437576700 217255862 665068626 554817718 804081712 789426782 95886984 932584382 220997780 668509128 510631452 739373410 846802868 829103174 589001184 936727888 961225756 783725428 190196976 634905472 670586170 752250996 113595492 728349866 144494658 49664786 423266480 260074902 502942764 727051874 46220516 565775218 661895480 118355134 386075064 31857682 659665182 738431888 221306782 155515888 616378034 549430772 324257628 437667584 903322842 844083840 689786872 497764034 508995016 812307936 637309408 203724182 745312458 529662566 839903776 169182494 472651886 182626532 742584480 166183222 675523848 385369738 487463784 471404220 14214162 18351296 776244168 343144370 802527066 872169576 411917786 361274182 270638300 161355906 631602514 573097026 679313036 772382424 268900662 610903244 755739738 426371902 514686416 576418294 693463944 998796268 196911326 319960408 719430550 199148004 910543054 596497998 422588286 890098196 474298394 607626706 273502312 388631972 538853146 724822460 661371158 949069788 963529918 700780926 89865054 403928708 262951364 543080530 231947472 950353808 183150322 592160456 231466074 912420742 813158808 548142820 715181918 665457368 652353126 222692118 136525740 349444276 789091602 909303674 236856654 493360602 543954232 448430272 442907678 750026596 538307270 693099928 194445026 293483706 816883584 799572682 569273346 478525016 259829178 516899670 16165484 691233532 368146628 905771770 227680454 61892110 173482826 32254690 121508300 249120344 266115402 878683498 286931894 45123442 114324778 523507264 874164260 965358590 530301562 638876008 718506212 398952514 117033576 95265214 692046864 154414202 87696430 480988868 320440710 927216200 351324158 356976022 548792058 7012992 111475088 388986712 834874392 321589276 116215858 564503542 758924080 272970188 554925048 266468766 343095222 375440644 598441494 301422592 625923902 606802380 572771016 553949470 937966942 918741922 499517112 485450436 211095930 377397138 780902628 506788216 541526148 231447110 984811888 982841484 272049870 892080198 805740028 954681354 495635834 306122736 716963172 164418452 91535386 625233174 617768956 430174810 571352568 844966302 593469496 199150262 363621778 452399390 302642732 55293312 764028262 333417244 565128324 142885482 70592588 245959910 513944850 999571832 537951446 636273702 460104212 968118040 972013510 334848616 543939840 605612262 994171686 314632640 59897202 536639856 476411802 359756492 721841066 688061924 842716132 907404032 761407174 386402642 45935080 597154678 511885754 556902842 227848022 482923188 974000870 721631722 873758652 607342464 46685652 985966550 416263714 73338466 194828250 189469852 262725266 725897588 473770138 694201136 107708372 139223456 570829704 502583036 127554644 851732278 548857394 775673746 314745428 532036228 141460916 813209870 438930430 855793250 587207234 414983678 802595400 481854956 834162502 788785928 124393152 169889532 193215238 310693370 793332480 472024044 332386058 802979298 599042592 461900480 910270912 236969738 550146080 721969186 440061940 965021266 290268176 273395844 379584262 34720144 975095070 691673670 252004108 426524040 294112162 453257582 277764980 219968748 582603914 533330846 562359688 520082282 573310104 736562120 341022336 635684522 71500282 94858750 507312408 272495358 756295242 632507476 720798814 733590028 219946534 737610522 308642668 168526652 922240056 243489062 166836716 501441550 290623688 165849914 932076966 188670970 921514598 754114734 929689584 357598592 670833418 372250530 158686970 409318928 920462228 969274694 423869432 233256212 744266976 920748938 847829918 979718588 862790602 141545636 111282878 12280172 356419526 908385508 338032488 692628424 523644052 743693090 97309082 970408234 310207176 794116056 627673432 690643810 273649038 654966856 964043354 629423750 531339714 734899144 514427980 792737348 220352248 760595512 958819494 476871072 524334188 704320058 81287416 26812002 243667880 387349074 148801696 324919146 572884444 365177092 95888892 837337386 633892592 224025462 105307892 451269660 600923362 654443488 257086734 109487340 176421482 802825802 633386202 178082156 293062594 517223790 202446692 768987248 792600944 861988924 242754778 438971766 590316088 223054142 400620198 881343058 280086854 906002802 63601042 418180268 997486884 916475486 233229118 453998890 194794536 412066278 175811100 30932720 701957138 824873264 330703042 558048380 573291000 535777874 298113538 653961794 646361758 97331480 495274786 267572236 377504486 836803750 268507852 50580168 723430410 665700180 537025328 312895470 246529446 707404380 765118430 554473092 554120224 492615752 530426566 593776498 295067786 894217564 92855850 132877996 442275340 66669484 533459226 101917564 188004656 877714856 215785262 927845802 103030522 945511392 629313682 836907738 710709782 54806624 391003262 65422004 187918194 92043912 468304464 502862208 588700438 929248290 821213294 580712226 109794852 792042480 379034506 255414954 735118068 911553506 157121732 977919184 464516684 221771566 79291310 345928530 376254338 391136894 979768974 557756102 2132202 609330150 899730062 807451930 437835104 283067232 118304958 230266564 52062662 939535970 11488984 952482122 521986294 177546258 104004546 223229752 71523844 657656532 303644772 16159968 736694518 956549726 497771960 459935154 71533780 69264232 554457524 124124328 549568972 233534946 940183958 845867006 404306720 996678690 766540476 840336964 272527450 66711306 593430064 198995142 847059362 503303480 956718120 393105916 929959592 698467462 187812706 904596068 395503348 573879616 542584612 656531510 349551040 332184732 9492280 336846782 388179922 523302724 399164330 1072638 254802816 93283692 394784342 62318198 461220152 46997404 61485244 560122742 752965736 892176576 931556592 134757920 519650048 734041842 348087910 494705692 370538556 216202206 398510256 446233008 988659126 483735528 25709082 383542928 128338828 924079756 850753966 44697568 354957258 355581870 944134660 766493020 192420924 20286470 104004358 383326588 665151098 661721130 699517594 908089018 764115260 422953572 153582980 694027212 266403374 566732270 534439304 589719092 746659994 670890968 231121612 696718878 288103704 630183248 163542262 814941928 773922552 250661664 838880394 753119550 970799638 937327608 953301422 17568210 493420562 381526014 580714678 661159580 903060074 840355296 725466206 687127284 557190130 268246112 277669700 916414040 889861550 613421022 829603392 173114488 382423638 231898632 138308180 214743742 524494054 349352418 759272772 180677888 167646620 998554000 464071924 242575366 475236582 328057102 241663776 186626396 939237686 261986178 59107402 340495128 672828886 468002688 264367084 382561766 201922938 341701756 114609972 629527290 663490160 353748088 400884186 591378066 601757748 877626124 206739658 292009930 5495728 586995020 670717422 565914168 234200954 809780666 896158876 346043780 685861356 87555062 354075510 693729294 447112724 29795106 212081642 723644346 455388066 572335262 678010498 564123078 404406162 59795536 469255784 838769048 220879846 630293326 356933106 432694622 640164150 744677328 375302330 291918804 431832174 44906696 116912192 303105178 776360202 275184604 285702168 38894050 109926212 934910628 676256750 248324944 465407614 794026528 385765684 391662232 740346486 742735926 929796946 735344386 406378224 733323460 584796750 13975980 337022164 795330804 199685194 724873178 668306270 816971190 596292414 591475202 805540500 714942290 884142190 978259898 539470540 544126946 71511190 66993286 854181184 773125992 837517858 780286158 489640710 42505644 257345096 502333326 380554940 152615514 631399652 485681038 807523548 182404264 4105528 307992014 287134136 686225128 721623836 742145768 208504786 373781794 134620420 989958998 882115688 187742514 689412202 875710590 484829406 467105828 533692420 209897410 638180114 905324796 880744656 912785984 427134706 614788352 295322390 643099620 229422144 241513804 83323050 758618682 212810642 849814480 492556844 922211830 656509246 893081476 631033594 643827586 267626150 876283568 542582656 824146160 168679720 831469716 535676766 751815464 939940238 600050986 875429790 799074102 416459778 897055430 656475762 695903054 566891260 530576886 871768824 875004306 907908406 114718830 391550096 431422186 677489834 270978002 611713246 193830524 593645492 523603592 87161788 454432356 312843736 522797880 312251422 539285634 479186858 109181098 733136152 836898908 571127310 627736440 999676844 281858676 372188046 20330920 115877468 123271374 655069230 68395566 369398230 800345910 53528052 205710042 551875092 127310056 966117764 386828208 164187890 261568056 727886850 183084138 930875842 518004606 933393492 234211396 290981018 293287900 794403946 110750322 609746228 510081018 935209270 881201548 573373226 390679098 289489022 236827888 417161386 628936888 528966624 690201666 186028354 264447504 657619846 55173906 253264792 47151342 809039336 375900660 988879878 146366314 863285824 614763024 189155798 33312632 300573188 625840680 868946928 626575014 170301518 885710642 151024206 810156374 24484708 778727576 14675176 683166124 402079000 529948088 762625638 597454664 629045406 501551410 168630052 329209538 101717140 223301078 32176020 520774754 935674686 655419060 412389684 347128752 47538976 354936358 685147906 350063342 603760538 828451272 271662188 932268248 271058704 972811836 105153958 564263284 774631350 577913586 346633672 130090284 125600770 603035576 858258336 507559632 733880574 972495872 199076660 224733060 154737690 292445548 492534792 301422624 495400428 169905568 680057386 388362428 717595240 342645646 829732882 343883846 734056028 420535840 135830148 119485514 14495126 403793990 844341374 894303916 868462964 788077838 791923440 458038886 533145190 281423028 857985274 1529260 322984854 152080864 456970558 737396614 941462972 670121358 583043584 535771982 5068698 523589774 964549630 602339466 748933632 770125900 749435376 397156148 700643186 73922716 529984296 254751636 87511912 99527450 812094238 707716672 868620188 336857738 43139094 945797410 631651794 971806174 946263070 393051386 702165316 226937498 218024820 336890010 187488062 60700650 117341412 567327052 634377464 429230402 147989734 249109816 8872238 148428534 882653052 50063208 259645794 106657762 203365660 451033308 492650420 584032978 235377464 635713518 541277232 155927840 609764062 495149946 569699258 263817190 97998990 628796436 848492226 165505312 709189076 198000164 975068642 941435006 391391694 948120726 431548006 184792796 544978916 930277708 228341402 846677202 381536598 821212248 795339168 470787456 389742406 695571202 763352316 323742142 999522248 710474182 646658170 790428250 106030654 712242350 556574740 615136630 689719230 544337286 783999662 809677882 687575540 257660086 178680654 104722260 477904830 660819014 240310208 804212556 792516878 908541484 257105720 275908526 199864190 942354792 981770442 142935434 838925568 346413406 736255794 461175298 64388266 731012760 848219596 337868466 270913598 780949606 543832652 534354858 577546804 205117748 312863894 407047558 104975106 484494770 427217708 331560922 711819092 737921006 651609518 461309966 243953694 900866322 235718184 770502464 402330222 108441234 403104554 504587070 46123974 569839982 976993980 785816970 611149364 486532192 264324170 112341370 966820400 656217356 398405934 92767386 19562064 425331674 4696442 430674514 901509626 753636264 304895900 106549650 335815062 260219770 519173440 412109248 791019562 185391770 74385732 726154736 590406418 706080216 206597960 546244190 263802112 999201748 787145998 608076648 68048214 806326756 846462176 734721140 388100700 14237400 255679446 232319902 887781498 832826988 499905288 65463202 830359398 504583158 806606650 506651876 439636258 342293368 360870302 816055316 97565324 826421678 901571814 24789584 395958426 787236782 139562634 228051814 535695922 7945542 154173094 732528840 224418942 471944318 308227408 994310364 743772506 842478654 595822042 575490632 395179128 433853074 488529270 955268694 343422754 546030848 262757044 764901208 307516570 391831034 871911036 522238160 426050858 787368 432977522 221078364 558109028 610977936 31117120 677400252 107995530 390204802 223220694 195779006 828812494 964229954 279895164 199903212 407058036 151019924 965244978 483381336 915163776 502554242 625191732 261643870 492894176 412966122 763953556 641310196 232417264 704716640 486419348 846835240 610420320 771091786 5620094 213018430 574972152 626401304 219558098 968263808 50930940 936683692 804226080 814168292 759898844 535699576 846990576 151316972 29927146 773119164 645233286 823919304 123124520 90931520 345629598 917790338 255564434 371024478 193048914 877275258 295271618 860449752 355484482 955823106 2902300 830784646 142153192 309649988 234355816 544757854 179123618 347378040 711635148 643530882 852367026 55640388 822025458 937925712 696220044 601849678 32713762 122414570 202181534 915876006 401383918 922794766 915647938 154250586 760790110 72255664 375855310 419379304 107143172 334792990 983488032 263023520 530559006 279771282 580486768 575243544 607670680 712788086 854773380 548727446 498035188 400202036 839074572 78507706 271399278 936739588 278831190 938547984 209720764 127494754 496305804 691664558 347034508 320342476 91625582 553331834 224970148 221494366 297519142 483389092 171852350 941061360 157610546 25447348 457758560 389145610 434594552 975918878 381105944 320939646 960466604 423235512 722122774 599752420 906090254 546438674 833194790 802868132 754923280 613995674 161956858 817877178 71668072 314966936 244782874 760127234 531572814 160274148 238488884 867928644 312207754 769411306 919398372 576770562 720253180 68316056 933785644 335118624 436766198 504376842 702431750 447634184 780887252 141274018 440724918 707897656 369895858 675870504 850433696 294081002 562413922 383169128 65046786 287153508 28793302 90999536 723986242 74190004 729607510 978408796 625435956 240599320 313615864 291235076 814543956 324845712 211468574 654376118 455132812 5431736 280648698 537056662 670292486 429790292 734775100 331291624 831829618 351846498 768564104 888691130 680489252 821530134 675219610 805794578 799109326 634247800 461146072 450431444 878310742 279996080 348110726 10341550 165044432 590316588 374375556 598040652 372673332 989731310 619046774 423646760 445874214 99576312 909366830 347181340 202761006 93512220 835060362 931231320 79130820 998662066 26107840 839994138 234373486 523904108 101653690 684824604 657693990 920009260 257178936 392705026 865888424 213386562 156661470 592899684 892145190 886970572 692919142 888723730 507219684 319495678 889623066 175456420 162785372 750879140 393713572 227260116 699948524 973318726 168520790 49000570 526804496 987215062 312908870 616920978 980740030 852479644 686673220 224526858 486305580 985480778 324176742 526833774 456604788 878464130 61333440 624737100 706626706 255841210 649507148 358687730 933836770 870426292 900313524 279323364 984453246 258336972 840874248 302314838 313977654 913310770 274920220 947305748 579523534 211003650 727923002 632414974 903883312 191436254 553397368 837345572 538447050 108310712 101135314 495065050 820771606 725264738 90082040 534990278 991947468 468558372 167615244 654248698 513367708 554015638 388534790 641320030 991514596 833785582 520377030 749161628 683671070 661608730 297596360 415154790 442709776 351727684 270503336 611431248 885043696 37300990 220734418 538739088 131415962 81886702 266843870 72651458 901003880 596130608 954512198 489131598 626014576 368671236 702071374 567841568 623253514 674873144 737217780 685230420 262318674 581494364 99792436 232334928 698263892 528399644 741995618 728845858 823021838 579672496 29449872 476044150 666959292 48986332 547556842 874937038 844521902 689513548 461208060 659988364 233655738 12028490 386357270 910067434 198277358 141058808 69481614 376301232 967446842 332698844 268824588 187007456 971021416 482084198 24725758 781194598 468841134 912483614 350196410 95548754 894344676 780730490 786447796 739357886 625578650 452972464 681199620 786816798 295778644 709374322 923347614 506884950 983294690 279134040 874657400 798021356 702547890 985259332 846703422 397879946 507086048 668639686 653259848 578717836 974511818 484100406 743776036 565930580 738864270 643356944 402926360 969573366 349369260 237127096 827814780 947785478 587506410 418226558 416159356 132053934 76578358 50721582 438656882 785989758 713497382 457092030 57024042 734360310 252021914 777382340 523517480 490739792 673921678 223488860 991349306 791645966 862543872 156767346 237728596 989396234 4808786 643853402 655737030 728511948 435566934 80179876 953545994 745890070 917680108 314278906 149145212 327449046 445293762 522089712 224662530 926946162 177751706 180618940 386833526 841468640 596688776 120740374 760818144 2471592 897477762 166478214 253420316 849408516 948175688 766091434 726658162 864531804 764385412 853515422 296752622 741747512 131852714 131235854 192866144 671849720 148300022 94788770 386978132 875536890 667559074 419231918 437349594 566828274 209054264 827290214 162388438 234132128 292192068 14313642 538826618 555663098 836042200 554604432 509886526 818848806 135667546 677761738 791420698 920721830 183337950 976419340 954923444 285438850 20160346 821375586 740611802 627905422 572766628 713737940 756427384 807386148 534461584 229629632 436415446 353335326 221058880 34190046 645856980 898415942 728272092 91897540 601703260 287171562 283224320 44149542 775435140 396598752 479103806 139311434 975643972 171828344 183453118 525442278 333477166 626498858 893922786 192561870 859205278 513520580 600639930 541759654 494545902 807789726 299309834 860961810 153407016 748705372 876124438 554506386 996239066 614181568 990579700 303943280 623324618 690571480 815563266 386755868 936752730 149142950 697105154 183039618 181189896 207822032 896726090 626966958 860798532 242532378 570673750 170529626 848383946 612738996 64501180 966660028 658033886 662523192 768195924 944195528 275978688 427302936 130529708 640179810 230188288 222278338 27307598 206761620 391030464 234823446 885507402 248153076 873360886 220276320 880650614 809591608 353235112 749237278 402278492 613402814 167857156 230111990 509174754 72195252 146117250 95437392 693129998 818393548 194862186 826363530 664392958 814295228 85068432 688541216 727110616 913968452 402738056 270995878 556872480 355193780 668541958 647456406 462470084 303398244 416011172 169749370 665615226 818218044 319145744 241078246 878248996 446400564 307270056 70876128 448700060 782351260 686649612 624139030 438023932 759046166 752217074 339970440 905339188 495255234 630509146 451540908 275332114 274140638 666996718 765399808 557333790 19444474 118843402 64197582 180594662 612190494 309403340 145576832 462635850 231875832 760633728 681828366 421801350 340042432 404046036 982925294 668789982 293838702 843883964 980349846 661593796 723280726 816014472 965503948 806824080 422037692 908285372 700815476 904136818 595317180 548975008 447493130 452234284 610515878 349334308 169236506 683817206 692359276 148828486 678908590 710644894 182272858 265263844 620869212 170345862 554535698 126596210 11217658 909372156 338081528 282580080 923320046 479153160 97781724 821703606 393259360 289987662 31009624 941459398 164965874 153501082 82815826 768438402 988964308 775429346 787448212 921989100 770390252 685769632 996146106 748494010 259851104 242831008 404953734 829571124 522055038 536071462 804676662 109646898 681824120 316644716 636089312 778748438 202599868 558800092 953256356 569845674 179851768 103070472 117683758 449073382 269210404 72206060 778154398 294278932 224896452 512951022 251138730 70023812 23041446 810675738 511976034 34392420 281538430 572935876 17137984 392712040 20486920 129734104 700358376 229911012 868680360 968602086 346757708 347496982 2277132 480970532 855494288 521245398 432807216 499545784 552239206 165918188 500209306 383948234 615308248 604008084 725911654 300308428 867052200 214316408 500552854 686017398 194871076 671397622 942345068 495869742 902921360 89727898 755126208 940403206 521325660 610288982 774233336 367078436 795827392 710239152 422571916 172028992 860619902 938559170 437554996 782657014 124135834 954263976 264493314 527646976 386876468 296300160 128659368 786687520 94842836 70481042 628743736 285503326 515530034 363834422 115784286 277812946 204038308 750338986 789967972 566254374 23973882 325263386 507023612 805156048 865211000 45238334 391603024 542564290 345809908 275527910 488541002 992196506 231153728 292757740 141309868 573701042 850395556 218578208 185916988 119327258 863304700 685238194 493345198 842179250 522356934 590365274 572872962 754174776 542757932 456576868 664016128 47995844 722364618 797601374 235648482 247522370 257101064 805907740 61214714 15081548 794007262 724191930 764564014 73834582 871113724 142487776 875052590 808362454 982165330 393427514 145040464 158519260 605398164 38738302 307239596 680364192 664511334 204740750 380313104 844576430 5801874 572539600 450353750 233078172 789709670 892062882 222277976 474234822 836844702 543433630 920364190 399046714 52268060 290837604 988666434 987245716 602793442 902826188 665058486 542202538 563612766 597927318 712880914 688013448 141846910 802773462 211363290 801785252 169900876 909821006 307184562 705595464 18826330 885406028 341267202 804459824 576135510 706698544 970065374 623091204 967620314 25840098 890767380 92187138 649530484 77575090 642967206 403763250 699953120 474926470 364387828 8355936 274906528 734986724 416671354 829544778 362978540 589915240 759509922 625506566 837562474 722231380 734159040 26293114 576006014 871939796 540823188 719573536 338944652 888107484 68147422 888472096 283035494 553767682 146344856 66930518 958182514 481274646 275950664 264157374 300767462 160686426 98690686 431851920 965940662 62168482 496280608 897959094 42336798 553608964 907748968 333127388 112796002 773359216 141188896 350087428 570449864 422885624 3380924 923127786 692489254 633273566 696428572 622976758 67672008 842789410 733005328 201518498 428740852 444475252 734863352 265751502 783401068 359954704 780366968 296243438 567715220 922450140 105472602 171019640 318995118 709974218 286596730 525037070 833677176 973536522 598009170 58504420 968999404 758381456 624256174 625861782 29291762 542066150 62880526 336446498 391786860 909466150 855036550 917447702 349999790 774632658 354201130 645937782 573265716 491245534 436169292 263738298 97682794 729475694 328659946 595332808 761022848 230852352 990907806 510827546 288627370 306192216 43382020 6921330 182230870 247039988 726285476 971478648 496150184 312029544 980405220 126669892 309623358 227633162 256046062 900990874 175717502 68636592 512987404 44501828 775315644 640982990 177296710 961778030 628592646 624144014 755277634 115420150 843340162 197424176 871703956 559941576 416766226 395839520 358980744 282580264 982576194 608436542 800838346 67640342 829782776 919953092 271371294 875839260 935138638 305357182 680762642 91729788 331217134 909069156 456969182 644511970 84323424 159334316 472211974 510667582 519574780 132885128 610608964 577077224 579367080 185105062 935658008 185532612 578405708 848096520 63158266 771856680 530056634 523746222 843087436 926871360 157522782 685045642 697662902 915910722 337455868 946335536 889686014 272169406 508820044 387303222 840425368 703480700 52978148 20284502 722139806 421548600 69019964 25869672 654456698 497180116 762129582 903090298 373963464 4705490 838492774 13012698 647790400 203838742 849669252 818573952 112678606 504106274 806481890 169669296 808044646 222695966 971871548 202061588 945477734 418373944 968186256 214576834 370858318 919991450 63812740 858204098 220014002 795543742 627446002 361504816 419759448 324418018 911288812 943649486 851934014 849059694 691235106 285503054 947746862 932322058 696909160 51839832 655422878 543492132 757882522 584688420 282734432 458524614 926399590 198771210 788970350 274111102 235260472 738247016 732292354 22323538 136596594 954809408 837954100 701780160 702123542 85872370 979355878 827609508 622037640 426130554 866942454 388181276 363201624 947576766 955690772 446333994 822523714 720360970 211072684 554284568 941043340 839403530 956178958 363769114 205672468 859682816 119951558 127023434 266517644 254485218 427398424 873629706 808255536 19594400 591617020 935799300 922836192 173419966 331707238 143802860 928747860 160778192 849504404 654710148 557606068 988721124 608167666 694100762 386288992 902522452 793987340 719301640 400051832 771489716 935889070 830176212 21259618 251309700 582765802 441746106 40702466 963463612 718356512 51914530 995050086 441844080 772596138 544686536 872535818 371411364 159014992 995369654 302774912 880307778 361005856 639256842 481343042 792106716 751699064 797286712 300666086 973891678 208407778 745736326 179928 663875486 107359382 866856522 968362086 814638602 87832948 697729706 665611442 301708392 30339736 27874628 868036764 183044828 69944476 554227910 70666548 180406248 888061940 321487100 123895522 998117096 973237290 89440346 878441284 762267658 161432352 956249464 793777690 496555426 186293566 589282486 66273394 406790374 974745196 884154328 166930830 485704544 530304918 99166146 268503324 919037866 960267608 904504496 439181866 517865244 744254154 330224420 632597408 337845252 595436004 668548238 158162618 63503798 830318316 635765916 588060800 355575300 259474290 26090350 5012378 314130462 308204374 840096358 979283018 611130980 777468554 648896624 703414542 650120966 350427108 883944324 497476648 605309028 187134722 893607704 583344994 101977040 889462374 956650858 998374 395016980 662764608 865418604 792594194 476102780 159846780 610320768 237865542 187968642 177315242 419544850 256737514 52787026 364780560 933796060 12087132 428334044 361564260 388122966 250418134 720172210 473744620 299213210 839509444 440672254 397090024 719510022 670845068 463181890 468742040 846824110 61206688 331966048 666468532 407293836 124714626 368732944 665694714 578258628 964325868 802468786 136176046 985891916 92732000 641794752 284177232 818259416 344734730 400783234 72642360 312517314 784515034 775473514 790467618 590185468 382702060 959066644 702704066 216466312 43283582 152322332 786846062 36378006 238893956 386992018 291767632 280156414 32844240 573782532 969172652 533797734 496498780 603592762 553790514 569575896 71359020 386916878 460781780 874869820 251359866 329644482 234732678 967897938 407526688 120405642 560528568 153205060 55414762 688882290 160347586 186213394 345345702 342199088 394674972 853405140 619891128 897294966 384740020 809484286 965459658 179664454 668568344 488584960 137195656 219261238 325879164 384365206 576751248 458193094 112371170 359576538 108872174 270284962 679050190 909943332 834409424 738353056 313753490 724077948 943588132 261669996 877682552 425100174 455047204 653600558 309089298 794813742 683658496 387245732 475920240 289368472 72550870 218459262 959909536 404734574 149621362 625822088 943672244 631531748 747494538 432372674 551949888 486445914 616634312 867053374 525698434 73246002 225274478 406310090 220062198 557620876 279442730 867035618 434845526 305576028 451338482 118417236 706938852 200928136 956165722 380456338 656947878 131986580 663818274 564545032 843608834 598864492 424671854 139479154 727421212 492519346 359891872 967119158 24957452 706416338 644941120 706072682 624573000 476707482 872801922 991001690 956876470 383431210 432408050 85285326 882054258 81479366 421361822 409183970 831588922 730426776 964911434 286429220 396013348 987781876 39848788 834872628 414063220 539040156 834810206 126791746 976684822 858517576 761689656 655219658 961448492 722958602 384712262 433200172 271268062 524701298 433585560 760922696 513231438 195028168 750716038 478414806 270675488 768196964 167190138 245022846 191116232 208259348 555910570 607223110 339749834 530739716 752879790 85974556 74945468 332484748 870695106 735238126 570131658 803764362 491798492 604104304 949395144 864932178 380299262 395989894 216162672 396503882 650403868 59760914 96770176 427172264 135712050 159211352 130881726 557253014 184306882 114924806 61322350 758410220 761436042 982219684 907129480 831098512 97894636 297622222 528622694 787576270 473013118 708827590 582771186 961933968 426651740 886542778 466917330 698732790 352202776 220264322 116784110 674432898 129725170 817963430 676989810 688126970 890000972 121377782 945839464 448708392 438329582 792993010 591922324 211081052 779019438 912061366 240555460 682014592 147649080 514757220 304733984 544184032 601216324 910219550 8745932 223083150 290625832 445045174 809716826 111978988 802250354 379414088 992400546 151990130 452292168 54937074 297842854 789872006 912361916 387828594 403628482 617787456 312820648 412816322 592445922 408770864 398458186 904385078 852449780 542549926 406072124 671229180 306780468 863789164 685958328 11835972 587006902 656199418 104673754 586162 612769240 177607700 829761104 545232122 154340610 707665890 649862200 971902744 265703516 76852230 489014752 169591254 405995080 772722868 366353048 785279560 250112662 80403578 369129844 803164570 701428986 351252984 308143448 580432976 527124778 202649566 807424340 912283942 778147698 405674260 60942444 731268338 257808258 834048030 921051320 50006878 447953766 60390268 208585258 35383906 407183432 39572916 137442952 588567026 399757440 580939838 685927866 312725618 472904588 524710428 322248642 581258372 704891038 633503304 447758932 945468424 380948846 940852936 90887606 72188322 967382262 295793342 938643210 584559182 697876480 584917516 989242708 962802006 180565188 660901420 192558414 940247932 708843758 647807312 209144332 669939014 177114508 491751970 865589576 607530622 793863146 431665840 822799610 834151398 229715062 262400692 441805184 926336130 853070548 450731106 797177612 643538586 636718126 481543620 460813284 782637784 498518634 317384756 968428868 977084896 611196190 438550246 841597110 388825704 917185444 345682156 73534484 23252604 676090242 17533306 583487150 309486850 143885196 232612610 927598030 767842044 354994214 868968656 403691166 597655028 862570610 950996658 858519314 415113916 526253776 994130040 820070644 693897298 679896278 828549072 11600940 535552564 767124660 918406192 690330928 123937748 261451348 29605432 768659782 470626416 577127544 830968618 924757846 289853856 773583746 700148172 706262494 953449084 384487224 526192996 397086584 281203420 927465110 575428014 513067664 790535978 455260040 665753144 270030400 599156966 549536648 86631598 538653816 800850196 803792488 950498042 619814602 525779918 148301754 12682794 187465506 730197446 651786724 962551506 743862074 780517560 778323938 690751292 891865606 45316168 677534084 505587706 887701710 591206416 794385586 531374936 86412904 321263932 702933100 453576170 299967766 262983590 562011254 273116828 815802022 258353280 466086228 191116826 663337600 364697162 546629842 393052864 697839732 618796702 547855208 623864166 467517372 290381688 74869382 760138256 243789648 744063080 231492372 542521604 34720456 984238658 853397522 804830452 290222440 254923966 197860884 149776420 526999336 989073272 682645794 284880420 571768750 312261728 172180036 119132334 320994382 279267448 329051394 844987052 747593430 932827442 857209702 422639360 606233368 664542074 51501732 443132526 860390628 725228582 47801944 263714908 921030566 418292130 642596850 823103058 330721506 252632190 61081404 137329550 173021000 772860906 909212124 217065246 237121128 648955310 893528306 256430750 25413374 880167402 534314546 366621138 668832228 54453598 177574298 641973890 743667602 237426884 831742782 408315380 237485078 32044906 332931026 562450282 401828260 113217208 567881256 769481088 762412600 404269132 258306198 273377532 77784902 519207258 65361408 385159000 683448900 581139818 37087604 355453814 577222924 30823150 818089978 461462628 723670994 312528184 985043482 370206590 513011478 668327352 95696694 990427476 883289016 203607638 910309206 521318798 635029382 367907892 451321026 800982496 528081384 518173336 346693654 239406226 809546308 455873744 237132094 491906156 341804032 744459732 347061072 90769328 606321632 201129938 261540936 366172536 44700504 45299364 20137734 597897862 314469532 688931282 455750450 200007314 76723776 777534650 917106830 88195884 39758448 112298484 717875318 349643258 729426088 92641546 425743392 277507176 316037434 873253278 625356594 568389510 317087730 160808060 420829336 838909622 627948014 880009960 813466840 302641472 355820600 647468724 217790018 5533136 475973266 177696518 604307516 284367942 923089474 924396626 718240732 29656396 870534166 768323160 233516636 585933250 814169556 673513122 427551956 856519284 127705580 2696062 348460326 390796158 54744272 402467894 514499658 82866326 534619940 760003296 170952080 393995242 645559694 47421380 126164468 244830270 474827100 464555986 847605720 897446800 581409762 312479126 164513074 499160104 965220138 435621594 125656060 340648382 504222134 382841770 615961428 463076236 541158066 378938096 106352584 436968950 112973492 575936216 885520220 496297710 649839610 360364036 919234682 125115312 718779262 686393406 305681802 840515346 262821490 846025678 849938130 912730402 993713866 726743172 897024628 854955832 698606656 439212334 461056340 259228190 31339910 877155102 370554482 879434550 921273526 201155064 42199102 46495116 809766748 438103196 67268212 311072482 926675378 996925002 484433860 778594220 91542926 89803246 688864452 550532192 183509998 234178188 292554546 317039706 436678796 170336126 416797848 337567426 798252244 802274168 22482790 431800354 918181452 108687224 611046336 134732404 722341492 379426750 696066590 416844136 5859960 759472252 152690582 960742624 908875448 812894564 880917178 583479864 461824880 763329118 996925898 298487270 612702574 904311576 558324898 876348636 362889776 422484774 989865254 793596582 587819096 175309746 234376430 551956978 459632154 226758740 796006052 182142534 603751866 555710324 526614690 555011984 945014742 843852160 908680742 713140380 523842956 152234122 784923794 693203254 121650908 362821604 711302188 661036778 472229838 586751370 919507878 7817674 739850162 587022578 899126442 984823824 129306048 467044342 897824502 237700808 821919016 593051264 661118632 106266956 420465394 797702884 509460720 61026734 238592464 501169548 182708992 678048192 756673928 746478388 356104340 367085884 164847546 248206500 997085850 804790196 375186996 159733808 156617452 467364168 601488240 64806820 599290482 395101358 552151932 674716340 684416434 848046952 811010742 93323562 825404808 765432838 985517300 937288844 347679408 110261892 276112166 841131508 881104316 841214506 140273506 164379554 276287118 533743428 627306548 863935730 218039804 618417602 224882102 103310980 443332624 421222988 690025994 67388814 900842082 37381306 454239872 218982950 761329912 884965186 68511710 60678714 783525072 940113684 784423316 240556726 780413986 631537474 266704168 281479086 11487732 299855190 333198640 963870522 24857736 181037488 234028518 635064772 621188504 824963772 390749076 86537566 789953378 892580132 847274538 396185874 745587720 466958980 265857682 175629494 436480922 90817992 947268586 683475516 692139418 689659498 809762050 715577432 723391132 818300476 618998884 510194616 564858830 57826578 914143198 685775396 439569064 68679400 497706974 917980316 744625348 120508124 994009790 373413718 220158056 484135470 239884888 947504940 460606588 623358160 144441502 897550870 759764058 299954664 420188572 713869408 730596382 222559520 253829216 394107454 777059126 826091808 743737686 399653926 191738076 48494610 115804132 308047646 408538864 8297552 985721796 966462490 33629040 73846524 142560604 19664256 617972062 585893614 715786350 930355110 630575930 286402816 59793830 742294162 615218944 750875614 437990144 206887140 933161090 849659624 301539626 270982126 678295024 395705144 722831416 120127744 937147204 401040758 781671904 772535614 884899498 161517152 52432258 516121476 597468874 694874462 462300532 57131940 651993330 117384500 129820468 728844990 395496322 613733484 199859668 968010606 105450344 111143084 559862874 733134388 130992332 325557940 697997814 746030208 420813174 745993004 441040568 40515460 680002714 801317796 312528958 443679370 942992638 605593260 610337136 860344150 384786640 893534360 253115696 89881534 462733604 165177488 794864652 343638782 138689134 837815726 674454304 237354646 1168302 190964250 317770802 212555666 766806712 521569848 510730918 366034056 840289356 293220868 474489448 70261954 232293386 582745152 281065582 668039266 981534764 343830882 551175508 454388550 216466354 822461222 256956272 962831176 851897090 25866856 888462182 425576294 188034590 90532230 543737146 469661552 206604342 375802638 548441284 8340198 47394072 416031736 39433840 722577874 342267806 451865902 809916274 976709362 223396172 494865390 347709266 395298118 990350204 686890126 87363650 21999616 338318474 276372484 816185626 788163622 783299914 169977332 669291018 776102548 48035544 552520968 528492116 41987622 343052522 982587494 440194258 124878928 405095812 712480394 464129806 518889298 393184048 920059930 969936112 630234720 600672540 952356968 215321168 150219876 554009582 384101984 536708956 975175782 576939308 493325240 858477484 602633144 947357132 997873838 837925496 321914262 760974932 161059552 646099974 545092542 236037416 791198350 309853514 896063656 567230286 101833324 932420042 910516112 908191332 436029892 927630122 609261396 97166368 643379356 255271834 664392314 934234972 625377212 70037530 834654878 999601728 994840612 597137416 492849914 53557822 426364708 428423742 841126968 941546464 595004074 609626482 427308034 334455900 678832818 26878272 411075524 245402604 876109472 762721916 541498722 349681966 162413946 562971782 710449942 317676226 800337576 971076188 659669918 450840672 1299470 13180018 333716604 256536428 766557252 175919398 210906536 208530254 287237682 544297716 137448572 54922046 708702962 7277086 193348704 504791908 164867122 231008974 770866956 64647220 901439842 553270410 709636306 713694910 741372890 864491868 724932176 55159212 348105726 242979036 37088118 184742076 882336516 998111962 244275160 556786722 973272078 544757876 417880216 59316878 617870082 833482628 935475146 148523578 319502722 885812954 348945578 939225712 773347342 984230312 134553870 160730414 314878262 223050932 231436638 799659782 276903508 326731162 569105750 707966518 775466662 644483894 491177476 521201784 422707688 183943590 590566162 54264140 507978820 286818244 394144532 463287096 949880390 42073076 925051486 919552086 683342148 195642822 862616202 546335914 430743808 453851982 563467530 396368616 69782706 125259440 947462836 997277376 111791550 594733878 494779380 256166678 147240642 415061946 892123116 679521878 858599036 708241116 376366118 301559474 597608258 158336208 587240480 903288802 371906932 478551912 404618938 363669484 507995620 531772480 910771118 598343430 832900978 877757898 479976840 706582908 880386118 165085868 617952306 578015474 946019966 457987602 683308406 872026302 353027320 408295860 897714212 107089910 735674358 618846844 511603592 723860238 535810696 600288132 585731440 986338512 609815094 345976792 906863982 116498196 924500606 291820888 539011024 538431488 991991954 499434918 301001874 902487264 67942672 658548382 421610868 102593086 494920154 14866540 784225402 62826594 858469110 891272134 342056030 478694046 327602078 344858308 34828056 103430834 556427316 12593258 965161230 942446858 82923390 276193838 83002772 904869830 991462414 65877810 183589688 94934578 31097638 720227844 931693192 431167104 362380330 428525004 50758752 475727458 557523972 172832076 518022300 312013188 21884034 652936310 246844268 430065706 677728400 928629338 952543114 698250226 989713998 789921760 897711966 52739990 14879790 603050656 933834248 230499372 249863708 733452424 337169762 606514300 393174588 75464578 324772664 646412484 608164316 573674478 229782580 344971774 503492344 394164084 524463234 777090242 264241022 42328038 233922874 88155792 514947520 955360806 292546678 864680944 606945554 150974572 31509152 499376932 625982666 916267850 62409692 310201330 593660282 478122616 515208130 171205342 949504336 459373816 213055520 856256336 241652230 42424140 354347674 767148548 554099554 345361584 412383032 785758100 96623076 197831996 644348844 556917266 117870246 839887276 987038516 257102836 283484128 114733960 900168514 146856814 930186988 893917526 295493378 459382964 61339394 568519472 437473602 195234890 200014676 480606488 725670750 257814984 82141470 766087870 516110668 626845168 19307852 842401094 33535382 744345702 336070870 361477430 444105440 374918694 160709424 376871494 814565992 343375530 374052548 801460158 898880300 453003700 289528400 323239768 798043292 93327938 469766738 430440090 285695922 866950010 865967058 961123970 39587096 2390260 208549226 868656860 815540402 331422458 19486238 364042442 284631266 743832676 150609794 305622166 156745178 314996948 638516038 832251884 227762072 275402866 215591354 860687736 251127656 647504724 156343786 900358074 38940316 922173726 45533390 719095740 238269292 996900714 441369762 835785826 590226698 468296662 877637472 986339420 662695004 521357800 305867062 951218796 797805134 948331922 678606332 243739372 58856672 427346706 895298556 447568740 225306254 630332892 651732242 756752296 876980434 590203282 546115372 630492118 719047084 483156372 26039736 742316524 486964674 239819380 353848096 133382166 637223172 165752096 902765682 635469144 287475878 846249778 580846004 935068726 183387836 604624504 455285340 599276132 849164438 459776888 301498974 945935774 903598118 610191604 566324214 405231204 927996410 199491158 76268276 298603848 151461224 227797424 334616738 817781326 679042032 134230862 807321222 551923916 946752076 404300488 719221962 990072368 790550774 93873264 963158880 814574448 832351174 373762648 381084332 752040914 541720826 560719550 376213448 108445054 422819544 976328126 579129672 682113862 227885808 519046106 230570220 571523236 746745766 973152620 332903934 194149748 245738818 344089760 822560620 119523186 966881436 419252138 927375062 37144054 738791772 933420976 828131436 4251704 237982956 974313580 669630588 855024392 950677932 629501522 190697830 339696022 617581778 349431634 410221864 981340326 443215408 284412812 904189736 729459680 467355082 440744610 294349688 441055124 866134012 702849196 992005002 984409758 218054610 800263586 645081262 512332660 927028640 382545214 715684616 347590932 988941272 303424216 320846074 330932904 39413224 589630074 869984586 579509174 9439906 484057110 170074262 469345702 105361132 647565912 236278700 967654800 240786542 74102682 816508582 629007782 390029882 990247070 452427968 7920638 795416182 231558326 759572714 103178286 655428760 648888628 587202368 369497772 426822254 316813764 665411756 90428096 537208416 65455982 728657228 199618366 268339808 97509410 908285872 292090838 785670790 723833118 216681940 299116484 442581608 994313488 31582446 241431842 115394178 851291228 826174736 236458476 910588902 525911208 314721354 582230638 4376954 616783790 906853506 65798700 507307376 720115184 705965570 190965712 731203564 125082046 399936754 112817572 924367714 268868680 296172116 849264566 731197040 531184490 882132928 902139982 346428486 56403522 246549206 769092508 757110190 17968140 121167104 14430930 75941506 165342102 446963158 170498560 947456112 757258740 108997854 535077808 78334926 215158856 804484972 778386824 310907406 800496 668597230 507347880 706791464 208900880 798187830 737771222 364741550 92233132 901211602 981361584 125019060 706600630 952082890 849964342 808092930 79611906 284410536 515182624 834881454 319630368 36105236 881106318 696311828 287761204 289100554 761629836 631946848 618943298 238211146 239495982 456728448 285841252 218561994 311324030 288573122 229359996 795252644 480356542 668056022 20338642 496569532 924669958 354937158 917820798 467141166 85208176 591129194 761492498 630282302 411106044 310319856 441794122 676107100 943810622 515545998 130126386 241414980 712147952 461564504 181997600 713714946 946219336 756564072 586918476 821099000 187986670 298434872 791056972 429782556 514963486 179813650 3098050 474810160 940616256 451426646 29365782 728429668 876764432 457688404 819684440 352358188 424231342 965633300 383383912 211815448 508666094 83051384 202208144 566515056 180328200 854570024 187986262 80938534 28786518 342293862 738542724 295049334 342303474 956071152 219119998 55406734 712819806 907677258 197839522 333041846 276392954 882016028 285720460 950459472 779989068 311479508 732669072 173250224 257202498 98343186 472106124 424763630 197719840 776038102 9555750 717624728 183738256 951495060 931991032 445842500 970688642 705985556 666105838 636049012 494469590 103872406 286212442 821133810 25619318 718188328 508762878 920373096 846597378 261205944 882059408 230683566 868020066 311428498 900572114 31843970 203424622 888153278 258731652 370379370 722909002 959289426 498404498 520580382 839090984 980282520 339773608 557472122 340179816 279216832 777697596 110174482 988783674 361503060 690460400 535592730 139704344 499273086 550616104 309810788 583117514 752609558 648056446 369765668 619562356 182603008 957369662 136649018 406525480 50840432 270421830 940794592 968716418 867675492 85993024 575440096 638801450 122027924 66953134 219275460 878974500 450902268 276842438 506154078 311214668 9009130 514170984 64777208 526759766 749658594 620883046 108663524 716991572 771138564 775333146 494280610 802620200 274469636 680956042 284651262 997275962 647449396 853832358 107951848 862016144 734197726 752396654 193064056 459677450 587123732 34594958 158313740 658700384 767218860 703516210 145923492 924307298 994290052 762827334 551566360 360954710 705937878 330245140 232150642 310527724 196627770 845536898 104814626 123439364 132683814 364323334 644880808 596082282 992225452 739923454 710057692 22911918 703171664 540467584 250563548 526190320 371700216 447392066 791859236 180920226 710590240 448503922 515649560 907154578 851063312 968819102 460283340 666415784 903994782 859750902 682844508 968886892 10224224 360356314 457729006 669504980 77296940 346232956 347046846 632140348 837017616 178911366 981764852 171825634 480315164 162846186 829794360 875099166 414765852 706556138 278839578 590464284 123255738 759267484 741720686 343286934 669385286 943069760 581489726 905299454 233406428 828026426 995210180 328428152 178942482 616211264 224946832 433400142 857636274 941660672 863686732 635389634 79684186 599179812 207208644 510510766 647350018 690416962 151707876 566481730 977345878 919060464 742369312 663473798 996995134 748042816 460613376 524098102 215236886 437740600 484244844 750056906 735616838 838198524 484670568 209026032 886446992 385562360 303345886 459810698 210854242 926599894 748000970 781405074 343091412 5190754 925307698 473409348 384168936 872244132 787215210 438112250 321666450 345679986 303630332 836989474 631644540 686877292 713594598 378414648 319756378 16659784 461926630 816518618 731002094 428195250 123963288 97957236 182952540 787142324 417665812 244300228 242837800 11989048 621406830 955519456 942290390 270688718 199216212 422535512 557699642 172441548 214235982 772426022 145078808 914692862 692717024 549596842 942093036 805188516 536335966 283420362 371939424 7196038 104802706 802450276 544381276 380920244 50977150 243244442 222559232 6851902 809005352 860657016 273833480 594152008 586491922 512441564 755363314 775454312 358867622 530155520 387192278 138654460 765603198 81566374 406349582 678567102 85083598 240345636 689461264 102657626 594260812 840588238 512532752 482666088 934658996 753108430 345005856 486037478 978164050 183411308 930716848 575691914 982741678 521974346 212804162 66420154 927492068 346931176 451465656 24899978 531292136 241110420 181991650 522019474 846031442 127535040 664899736 332120776 863683300 834407342 844977636 653048696 482988666 351253668 582667886 255888730 172709972 474350886 889634544 461832006 746243762 895611888 28927524 827699938 355347262 995073224 756239914 435571866 731689260 414574470 624631664 21770292 747357504 250181306 252490720 674221476 474415024 547027772 194754542 289812360 749314838 15965098 496275498 590418670 330919276 770050952 833516730 637948704 498726898 203799084 434601434 506456370 946248112 16287360 919030296 605511634 313501436 679438520 973053112 910103000 468993830 679469378 105490502 151374878 686812798 132956728 529685062 332144840 869181160 211665302 165665098 151209310 740266110 251114178 60559244 342951950 978781376 329686594 102756750 887684466 722752844 938180560 575670020 991959882 195067344 671237370 285003932 340995098 176871354 442447616 332166634 393676740 339371892 760084592 524794992 750137866 774288644 593023014 175361446 582529214 238348200 100589008 965502694 804759598 365650276 885341342 313307168 691249080 933308586 560172686 989077566 950794210 739570088 394244986 214886982 74508566 20453534 62567828 191977700 960339254 890932522 303711090 471736842 527233788 473031242 907614026 684111274 319900120 729001862 121406832 975914774 550425496 294894004 875418126 567802156 735142870 703951608 387974936 713415964 414591444 158474586 321300908 537584686 429273452 787985010 741713346 371861036 550719756 145213528 62013466 514717600 945030364 586236970 123195202 259504856 858144758 41100016 272439550 685436396 421350106 654203098 94565394 700588700 348381686 914907198 283806496 682933554 250031624 6840524 820143180 512899652 678299258 237613376 352836986 613833154 605502840 692371260 208914200 988311376 242144532 916278678 714211654 120311114 831333690 854615768 551199726 272849836 132174388 742888320 211554778 492497726 227822782 14510714 791202772 209726830 843800950 833095524 214449966 79777262 818111478 540214906 491654372 639205604 291682678 570261204 554754748 321500176 832491658 280072062 655521488 936779650 535638222 849763056 516738778 866346236 497007506 122025384 858814736 328179172 530524760 655701610 649129086 244698418 888353322 501714874 683505286 896687304 538142712 671416060 670919898 986749676 341710670 780385870 398286064 401400698 610577750 91448356 328986222 3888314 487980844 555052536 237748266 386537832 57596476 246455016 133922370 494426544 16064554 701106624 41286448 364494546 867698220 483259578 916986460 849085928 561526188 5558824 271723894 427709014 176163276 858227110 782896240 970649810 806596476 33569492 937638788 381133918 251815154 514409374 686339074 933474656 764011338 788326646 704436084 853980586 685458644 261013138 542876574 560459388 408243096 16924862 177341126 554070150 861303682 937980618 134827342 713009454 528674840 501294774 574936646 461984590 195393680 505624382 16749818 320121140 679104396 491789760 940818508 514030874 425479382 657373350 336298736 205623568 272029210 709173410 632525502 103682156 864570108 427501966 111511378 279624758 875258610 856962062 433677790 196759286 154508970 241932660 838075180 290220152 67519436 189593866 364955944 282226138 942878834 416454754 26564014 18599478 613398080 53991338 678043970 256720864 708351002 243445688 6578142 858443014 439952500 922539194 872345574 700861434 499373916 94878994 523018460 351550912 467184812 897621926 577680138 203786988 965243390 177954312 224097378 410015784 185970264 212879406 448646608 942367512 361404146 825557562 807837514 494065870 109463786 287841216 843876918 10405954 137323104 621993846 166628788 66678286 34186312 532071136 671105964 11312016 355457088 296798900 266310520 26832842 873198984 28394648 793393456 425967770 860890052 816343230 300001640 277180684 2610020 391724062 717505266 176288482 728278424 53592568 550870682 842432448 99474626 138863096 712029564 856070846 807432990 827300434 112535654 64135224 231808252 228450104 48201664 608855070 928990458 434860612 788338604 131734970 342588888 957264124 146274288 705681054 523612252 511191666 710144970 130199726 951630118 344695870 805186794 833176676 25596422 768231028 277222 789343654 255277096 911896886 228385258 203789472 298535874 475359528 938288324 315822142 144948222 969887624 159641790 518841536 447356160 793131746 991084044 950381724 157440026 967273884 499550510 428732484 639118120 438559014 585259056 721248468 395873848 398072032 746676146 843131322 633153434 694863258 154982540 251548724 103038514 77012276 878146266 608930934 582434836 596792228 537585868 25849014 428122854 975773620 829377766 86310554 346085954 704123760 79506900 431694174 729053116 232180650 279735926 188015758 835303636 829556166 528076684 952655334 928551866 723248814 475603414 915484438 91209352 204765060 187000912 382376894 262842698 527032698 156156780 893182910 340254056 323104660 55158156 919161826 462534710 606700386 536429812 135817670 646791044 738434998 183037554 722582678 474144138 989638246 436764666 493491348 73089992 322096230 572341556 251779182 663497904 461181590 606405320 754842522 633191876 494844186 110764730 718001886 569890028 786961690 980210954 655804772 86388966 392628166 436824968 407267232 327603806 104068400 981072136 252023376 83008536 348682050 567722266 469568762 325785846 146604834 624029830 58546042 697044974 62655846 534141802 353993688 912092630 414872310 411690462 855603002 711711790 809515740 142636164 471261118 138682558 21652846 832306586 350876646 216054420 996988674 922497694 672825766 645186216 300981610 638048282 51499694 601120902 849188422 7860750 807911462 554822204 149667936 732982582 527535522 639798512 588403054 655539652 425616962 491083238 629743240 944481382 557784542 958895450 680006098 788948380 96632148 95910482 710087152 757429122 180042772 357650278 228073376 370500924 482190674 73149382 559286354 88101496 112226842 784289456 809477938 287321404 540239542 773965328 776873498 873643720 130528922 735623304 549562346 925235832 790016348 395048654 476531988 443209116 528257298 282676824 661406264 170660172 535505686 162493112 216496380 818675458 632517602 95428156 829814838 531118500 905804036 564114742 870874186 40228988 223648018 669337910 525024870 474983664 823402928 634710244 181367540 297516370 645506234 457905386 265151092 651630496 736667902 470510168 970799946 629365804 897569294 811660052 580622364 900858840 790392554 662529812 199587214 806284316 513924044 335232980 165107512 835766116 444605734 915912622 623498152 38420660 976085482 177238458 165665174 276853114 344740204 392207336 882752246 849230418 9328532 838129314 554645068 481212694 819631924 325145438 526757994 759313418 350769132 482472944 398512614 648257586 639235622 932024364 505868144 85261548 367497826 601634410 382115892 214603678 241491036 975539260 307480156 839193154 956009728 820110920 173683928 127175960 460675832 633430174 635317076 381100620 93513540 830234324 609678994 414449772 195479556 969136046 53131390 709304094 183236286 719576348 894384390 788960860 60416644 832586534 361511920 193016074 764374952 256562270 234084862 868144016 356919664 422172552 356283886 572168310 120729302 627542144 517339134 303805366 186565820 732163530 825001592 890900882 181204928 808793578 97588614 804518996 57279252 395312184 880302070 163383732 678579562 763846302 742857454 577460248 271949610 811158534 961313548 401419466 266184502 864912728 407953202 540798938 565849336 534582498 433926276 931185370 668778582 62029510 282236810 36879810 870443928 840130450 280746984 918858494 839727096 183224360 28652568 175763846 661331132 731532696 106027558 985488066 502454044 882760566 588768572 206100526 601410020 444385692 114392492 717954658 289800754 765785618 695255794 103972148 701235668 989616872 615631026 867934488 702267284 414339246 657123680 619730752 443732636 785392676 509153574 433480440 619104050 10039648 585663964 612833184 557438488 465549994 695899870 736415594 885120380 806771226 93365614 965335000 123709392 643355114 508269246 529355536 934425038 563174226 197747484 542529564 571861414 686491242 772019264 32922950 603528870 905371786 722695372 945190276 408859478 749607578 755686358 901572244 432968792 659749958 469128486 236963012 126090690 397863046 809406580 703749098 530439706 755163342 833801626 684681816 108124662 616678314 78503070 326107242 32175784 892541754 83781224 813956702 136707676 633136516 486219870 65595898 460721274 191404498 191723014 149553804 609333876 618174342 568401834 707119354 919679504 218576606 93127012 119253352 313485306 68203298 330112960 412275944 13743114 302150808 189117556 719662676 449722282 493941834 253110724 883328716 519236650 942180228 351103492 802065928 271489074 873507564 984220416 412604880 617791912 560058318 9345636 604821408 750418530 975548970 442535532 664134422 55789818 8247382 360236942 375459774 162158420 289675700 402261370 586018780 580942142 959906522 774885298 818294470 377252914 650893010 955913148 217833876 6396398 193305754 423021058 785746284 270000332 308133896 223200142 444611972 939867034 45132954 75632888 964079358 932457458 832692778 875290300 889378430 615454186 674423616 377344654 956280632 28150884 772677742 496102402 331680468 11249264 279313080 370870832 645270966 825601986 389770162 462640618 159421698 386945816 353847512 82419028 809288758 415312304 38046280 483894234 230783972 328359712 925432374 336938892 149282780 276659952 755804374 517268428 155580544 240415800 379520504 940813176 610825562 39559866 707002726 639541444 499999638 697124694 853798868 901837524 486149082 922134788 415782434 638934230 665311144 683282052 91990416 512850052 732424142 358128904 648084462 2993142 328621164 203179382 87360086 182073546 736717782 533185262 61297072 698392804 487510798 993513256 331868664 182309846 374043848 897087126 736850664 209499312 20489682 162728372 720853660 435194054 762884022 56288174 304807674 483164876 253242414 764689966 184690344 6814848 572073140 396719474 831660126 776045174 282387050 430269932 826019522 427959854 808689254 803121816 389453264 145427884 933911946 794959518 268288096 253501042 497429858 634865480 933339108 977136976 681506272 972644114 457872056 938154174 158821470 859654988 650802964 820368422 283148780 825561446 843516094 564022934 186093190 94118462 963234294 441803782 469816674 170110294 842102228 654737756 165666380 532791544 520005576 492430926 78388154 173281686 886470556 15654192 918887528 107720866 431527412 931979268 285387886 206557264 607514828 832556158 99375674 768731208 283648490 912955512 385799196 138033804 448640594 877831600 270760046 579809592 493154860 795960468 172917076 454160658 678791166 801013914 686908968 568986312 717959758 28942078 651125450 762667434 53583006 858333422 480511530 23875376 354965292 476339712 222172902 769397664 458172214 245177994 76548730 717924624 208113682 75744640 610469220 460224274 664144498 885544374 917379504 939094068 927834690 769593356 801977938 384454944 468210916 198200624 636714284 835214216 972075718 778618412 228296244 723325464 690395744 51014924 661994940 6674002 244272726 699096042 605082272 297834494 960386714 648324738 969397278 936956796 813054526 712207262 729083946 227508976 266108706 147351496 302722208 714301798 437221438 684128776 830277172 549835626 783438996 800058486 132833832 534042160 292728162 731662122 705590916 964277470 541245326 772320932 291565824 17695222 218437306 964710510 848695298 424550944 901911848 151824104 155919494 332095574 73338952 692752104 265087192 945287478 328486702 839456852 24085756 96726502 800118616 401012476 757226264 988797420 853994972 109244868 719867332 845093936 248474622 980918062 107506770 147100582 691871638 775505232 79867860 870223512 574616774 145325010 644220914 535538942 355096040 252914290 405892514 893733426 136346444 438932518 45344488 51192424 904090916 87150158 756966446 638375256 224287706 874758228 292929886 818354408 270745624 51576788 813833766 144956702 160897512 458468628 889656974 814618048 148771064 862609576 276111284 343261648 175173894 813091962 686873554 209784406 549082496 137470080 396272196 15968552 852962766 740371320 106606564 211658862 245322098 194682660 81182848 27285612 105347392 826756758 468437390 828498702 502158964 1452526 104342704 58364874 862721742 681323758 574742898 282663302 846043532 25811426 449713592 609235304 3704644 364478988 657697078 945892840 876458604 754188148 851790620 129920714 627038832 91500084 347795504 988794716 244218964 587931782 421477818 228998364 649442568 136019028 454011356 249256414 671288172 316033918 955390994 311815560 743456672 597900224 430071440 172283402 380185190 777152140 330778358 313148320 413884258 658106132 582555616 270611316 682365780 315340212 788479278 736236616 589011658 462031728 169321068 829903340 876831142 336124436 332211206 832151434 215525574 43946236 74985844 413037150 857299360 338916162 401927374 383333636 285964128 839972282 548449760 428680682 368027324 605264882 396396776 370766266 270971376 886518642 989368050 217694006 838747720 697933704 336208522 237932806 561529552 960675178 171235146 245386480 397602726 837781804 884978256 786439870 365654464 40322480 584166622 861770582 471036680 752076202 429753456 935281250 476297440 472955712 839572756 147315288 883442014 873285596 461272482 488506218 505606896 168155892 659600376 611834722 391125980 823569230 298174850 27686636 439423480 818240244 992075146 828935940 31505254 506841980 438124348 177932952 547354852 228296134 861725330 877348980 319801308 980961350 862787860 102019768 346822080 317843260 770837208 296853758 358763434 38832140 983186760 490487440 165362294 914957456 634206118 817315074 187633818 614678830 405257550 110140860 611265932 467970278 783374896 632869658 392064832 965449316 522248204 151362072 768709810 754438822 915723160 321616622 640742004 923739988 315991846 865839702 662119172 477845122 968321690 36333028 721312524 801769272 947564918 925699106 580224888 559842992 294188014 995455774 541261714 383030004 544342706 965551026 310767144 855622428 232835880 403049608 680339712 824178356 980195610 64834124 372729048 320249006 676398274 355328114 327939432 764090882 295265708 590288772 749765810 241612424 538888762 394334674 145618194 473387892 973414434 759248078 936189926 106552226 2341334 614422070 424438578 395556418 905473310 575602854 448670094 48083484 672547112 520306730 186037426 690495324 435944614 61027510 592127066 415361776 360594608 387438282 369309482 511938102 898426458 623933300 679393972 43788850 846575444 516164118 749207494 218271322 662742338 573919874 467227046 813350482 418470402 750449390 543707352 48135698 653001738 896652074 707469356 633405952 906817228 463190306 238732296 56772502 248177404 956852328 948483970 771588958 801198290 68614958 143672396 217659150 511591438 737491006 255776192 331283144 275429910 77387724 375495926 290057564 471838528 66087326 425561778 701188302 867161396 770965380 332685218 415950200 502463084 96080140 454302152 561984786 721813174 973036452 160728364 367723254 189703850 487671028 846610054 383496608 866352066 529698546 491948986 486338676 341027304 387511828 959041716 762663476 988338076 502436854 539431632 766461008 247114978 236531006 302217174 138533820 722983668 861553060 473755554 495155634 332754116 608916054 403850030 759225754 283669054 624507960 367477002 105849514 778335700 563249632 741145730 903471574 372273694 149477318 393042092 323591616 340000562 208296320 597681586 58960022 464122778 62764810 668997284 995573008 524018334 910193638 573651746 123794848 322328854 893400736 987807348 696362288 835085372 764599642 708734428 563209380 207390326 306042926 930032274 251378308 967050652 852058986 759501274 311207152 217488596 506071226 554982608 654275544 84895064 953372954 847345970 600290226 326355156 382526626 373057796 43807854 646251124 302208904 134933378 802260432 973403830 763843334 654960054 682790858 860106904 58329626 61058898 368028428 88379634 321355698 693032462 192298672 900401860 736461084 210631318 664049414 43116344 907374458 647982482 909542492 708615152 862332932 265952388 427955454 209523158 185644152 654287052 418267814 483396302 954273838 831651018 434652802 473474364 224225872 49517374 677331840 882532500 819507248 521939384 173430222 475145744 865426842 819591520 116407354 944762604 79244226 508155544 806069286 705089930 16047858 2787276 10402312 805278302 635070540 648155166 540301344 605406808 718395820 962289368 481926048 901230332 886153598 493763742 649015710 138515904 461922988 377310126 513333660 791093902 373783912 706136476 282939748 780225652 553633358 760080498 195316234 93643936 702947068 185977776 127055460 59525888 640826732 929497064 527145200 528017580 281346044 49100228 862051376 351944388 130190672 198081862 26791536 319136360 549617746 882036482 635003900 688842242 145022618 337333438 715924534 103310996 195742882 962677548 79239486 539969266 518342372 292852318 752854458 414557350 211179400 417893896 23826404 722019280 547935118 909074438 463378022 511238150 623309238 704983412 865048648 277986690 839278558 3964686 377899742 814126232 793523180 303177124 415429306 423768506 717269772 479039414 186509564 553825016 496482232 927874016 715739890 832306098 76230188 190164324 429418042 165162736 910774646 344403168 290838266 63552156 210713218 866297092 36050538 819219632 706421798 334963680 212708034 485812778 20730698 527066690 869698372 187192222 363910690 387143554 621838534 240656778 354888338 965101168 75648214 958076884 692260672 221121446 12854924 198543306 649465414 33165546 163950152 117141390 153060466 873152490 807234414 325068328 456632348 367818432 634902300 967245764 10717170 978631414 786364680 140896442 737495040 939141116 171587622 764470180 81720172 257358338 338429800 524597318 976543076 669934186 408577878 785170472 858079550 456528378 848807624 256471536 299027100 836138860 162951562 117266394 273575134 71544592 638283630 181564630 82921476 491607398 185870880 131072046 780142892 341695970 882709804 232378172 933127446 382345154 608866416 994552342 614763742 941724718 333564108 158807618 24750860 727734098 655232500 945284276 753500226 995596026 821250812 1559240 113416766 328433220 665640750 659619620 185286106 695305730 831730124 349821112 782324532 608391070 345193578 380687680 830307748 218929924 57905274 757427086 865121998 894642362 246752022 668362434 190589956 540476588 278890528 48022548 497594462 689971558 901926398 666903560 653528400 809646990 998081830 224719372 864382230 942902904 767952148 786158766 66358440 96271856 39181554 71496228 800407330 913107850 485513336 256074274 959404074 22090532 958728336 435844618 474944474 963080742 360526386 919981266 938733678 229493798 733097336 703358120 708382002 606485084 184624108 34378026 689811636 997850110 859315634 19854120 349761370 451025574 503660338 411174306 758034208 273000066 753193532 161591544 317248570 145282578 219049784 786241534 275320774 263931482 723857762 337254882 45006230 429537308 65716016 861045886 83630494 820653638 650206984 395222664 543098260 851812634 346754058 86703548 199379544 384595994 552650172 390137398 812457140 47536768 892021862 557749194 288001636 144845822 924199002 908164914 240841622 537097718 655581690 523013616 988055880 940360 437716236 126669456 897767008 668787782 893350890 783196182 844038114 168658932 905299596 746827146 957104860 359672472 504385386 712453576 815987286 712640462 508364098 558126472 138269140 709483492 110906760 615835006 224500158 900661424 984960450 63915644 439585440 340523302 846715906 373642984 456577182 606520086 472782974 4963950 263247136 485604612 521111448 733500518 632503412 148007502 811454508 806100290 495550840 824503112 541938474 777136048 316199104 244938732 894409212 613724832 891284458 763002864 606091796 107578760 17455648 998902708 267972216 969541200 246516650 172619014 85550202 89020428 873444310 373937786 245711052 246290378 87430816 889313888 6412938 183847296 130194382 862387170 445946700 514115296 796625442 16940246 158649798 267978786 57635760 747250516 979360206 346337588 408690622 337060932 542550428 261363152 365961452 549090594 409308984 578085458 803194882 744285128 407821772 255916366 899239280 13441740 335996460 373208554 391423720 958130276 484789338 204951762 528047548 562671714 789886022 399702626 436850100 739690586 769889206 108000208 243770028 853225444 596153676 936608688 518108382 155968836 541173116 539800654 557048912 292259928 452157962 339452668 890910240 804145814 235838592 140470644 270921920 583695626 143806220 365029148 75397644 685792706 12570168 63668824 994101454 926300640 815570878 747695756 122555046 110245734 148018028 589964442 537584704 14245082 368942984 626270982 485298520 690262764 410893606 115484546 596419610 820115710 358457840 16311316 906183626 277636180 22546148 415380632 727524050 350998634 707882522 909795688 529696052 620161778 734303324 901166544 664790044 584867598 634774024 194670826 285317272 955396558 330258970 376873866 984193540 423189890 326037378 934021156 380986716 839919630 20920192 190538626 382816600 500696334 914997854 239538786 687515546 147182658 993747998 303571990 585741854 845803288 731755868 305580826 645129152 49936040 576815712 251336848 195366172 513384580 629870592 35381204 253779310 115698868 858135404 80936398 964579848 826676378 322096002 764010348 135776864 530159446 969700544 336273368 53482906 690977178 122067104 852992332 857177484 106468006 939278672 660666548 224895552 432181932 430224344 848563230 792464452 75066602 346067358 942612562 668104958 217789740 170306702 259231650 340148646 15398348 97771350 770318684 701599434 856524746 648702318 49348366 709542844 578988876 454788280 139711014 897667462 769740378 836594364 867737130 921931232 767587060 178867774 252653998 346557674 678214694 99633084 422547666 609078276 705611520 774397858 618742834 609672270 154880706 305086930 413884430 880693476 136024918 643730058 456106072 323019678 295835756 294252782 603916918 87368324 516647172 564505472 793095722 381931604 47903502 759378600 39378108 531730236 683696752 335748986 741580572 773382870 342073972 821435312 992738388 805129716 941380926 213867716 625140248 265619126 55917270 356253278 32141016 212357702 209015368 643772652 974264134 41131040 351484856 725753902 165198706 878661738 409375380 882756006 733866062 190832566 3010322 325988822 43837600 806176422 648179180 524073804 340523054 743593222 404425760 357353206 10931360 827222492 583131732 701068674 996601190 598092318 980263654 938348012 3902796 142979912 121124882 92812284 2975796 682731110 825513824 339320674 136206224 935793792 108585510 273843524 637677938 475873536 645493192 417930130 181864758 264152252 48454924 93945366 152463292 968579368 366290314 124815506 5482880 336093536 739842028 402704998 837392332 799171578 658649052 992627130 290712466 842724406 495363274 256545926 249555686 862183492 469204898 77574348 332317802 933554596 348600260 276746436 606631302 961984042 332357898 325622336 32769428 619900386 360485256 823290838 654039544 206128188 351428284 719003960 826874380 280069482 530605312 197675716 378955784 293038856 283850640 635300548 688122294 706801680 129461562 737577062 446035460 903903360 959133258 259537134 133542544 762053628 836194750 782729346 35115524 466295052 295751358 439908144 295026426 642087000 151493590 116734996 641919504 221244732 965560824 355819846 974137878 719075270 100259488 552963074 739391864 613512564 296782574 722706658 265681050 369305156 852872662 203416358 415182470 19875002 946288346 167360864 908568902 154139160 36560062 330744922 563381260 480481630 79344166 399359670 470678540 70777158 785006022 502425420 913984740 723577006 594094872 332278986 421708780 944542882 841230908 997924328 408793522 620943118 3862414 565551600 210882268 636500402 381855970 599710492 406165662 804508096 795377566 137086976 480899770 247426886 920670420 791597912 131901630 761616802 930803404 406578248 313439304 662919932 893195644 692717240 967943664 887503402 897146168 414692648 840738794 941316800 474960254 695227362 2176500 783259948 317231814 193902832 867732374 325251308 67177582 919923226 362884 686125772 592267200 318691786 171410816 196249426 25801192 209507304 167504944 178057398 734008508 303422190 883574946 832675396 640604638 293630632 392762330 589738426 703751760 628131906 930115418 163294230 425040636 720387268 242741020 408336966 354559064 408831116 290945312 511689452 266466780 350673388 195078812 531705314 477679396 929151806 685291490 597590084 917330334 312953728 210106610 534952726 636178906 994513126 278895012 89985174 953457916 451011502 484187374 820119674 217723312 580863146 631222228 313388616 304250214 152067848 857136242 692478714 646204734 144183278 559065094 595961742 629159210 216826496 164340058 721063888 722523914 876394134 185272482 837979144 550021322 709427442 94383210 121459480 640009282 70717992 135140660 673762868 116642474 895881672 783282974 581226918 264461504 791055370 788027696 584020876 954433058 367088120 528052840 354204640 279090530 743961698 220869998 862092020 892294740 269167048 553151438 845700542 237005666 747308570 683317340 157324494 400755252 80311646 208119382 196753760 765946228 787732932 479380980 148582062 263886306 701993998 20439170 509707402 376497588 375412822 260878368 430530298 804302708 420477458 528622170 342654662 162838468 791042048 154655374 345295594 932899754 522283618 128990596 649564970 988131030 122015790 813085032 963044844 248525736 151986884 439227088 15202202 238716760 991840230 219660794 316609082 338934854 441066972 594935278 703816184 274962608 406551386 906739690 949854594 812543830 671061436 703584006 967206752 719799994 428911050 992886030 78554648 401479674 129811056 391444410 951543054 780691942 873655638 359810400 117543934 787805142 243900208 78812702 128046126 886353756 15402196 381981140 331562926 861794392 367969124 293210716 636005090 783906318 610277782 914538798 927911336 227034600 894369808 537596848 507009346 910258460 749065766 513950158 336651158 791965148 93044052 408031518 710725298 65179750 693193634 432091564 655856498 335876794 823051560 917396382 750747216 127197430 416196236 988260666 810175098 576622276 42898584 20376388 114463966 855832708 738435908 596889546 593486354 49992140 697684034 498508806 899864432 636892514 683028142 89147448 760336596 176171678 96592920 763919306 2167974 63037818 64327854 267834866 643399258 7560658 161363428 963651300 284127324 147371144 675475660 644407998 119466124 480929576 988284288 64645766 224284788 582214176 597349296 339215658 47105408 95281896 268748148 86010058 332102116 520124564 690509196 769490186 161724292 788923758 980248382 456719952 527083954 449491784 486020506 107955262 568735482 784648672 432139562 786289102 729676388 482176162 786010684 145822618 56388198 324271216 212092404 243370332 902783292 458453740 297677820 356618734 431540610 142370854 155013392 235971212 563266610 870766980 710397082 559374776 23083556 319686052 460565002 607364684 441497730 22868466 927455014 250081314 912156258 916367968 698597924 140791790 550772836 814171192 90432028 173257696 158947464 723216530 22844946 415230712 218649720 152878570 465094064 829423234 148049788 486792320 854231662 347343978 250937610 294147910 302761020 821440886 949630170 662086816 139968932 157466708 437160 999112520 815912752 735833752 336824058 995368804 321521662 392293268 849148772 949162576 294807226 301833758 15367696 741035470 155695296 766554916 824280778 523942134 233462652 359279582 276736930 892478118 558843114 666841682 577691198 849179306 374101840 425159354 766901698 670400078 835839836 457205828 803206480 301709090 866938486 937585510 537606380 594936570 70781670 328733054 990871590 616648560 506511304 740675856 353662970 972000054 806902468 966135732 191156064 128352454 330433026 583249300 709701518 63321270 740016988 502261764 712016108 849915858 637413968 311902720 466703370 29964756 403196808 33260110 238051006 439582444 541256040 548015216 204387852 441758914 179801764 143003306 415008108 237365096 421119690 478022102 550328408 730663012 931129278 409868580 235486630 716230478 228736182 690975610 630372514 843268234 350066872 462154106 27573938 901633364 418432032 229009084 89757154 87839540 454187846 70993980 580323992 224647896 24133838 901814020 237194918 340213500 450528634 697848324 921619536 125148928 393041938 489899766 108226446 947643458 709827744 213263570 879982814 489384322 626372910 223096450 227945716 115510884 757583388 18141442 563844648 968024794 916165790 338626980 976600478 315521328 7459160 542399086 959195094 801004520 864534476 958686476 512074838 930611074 47031720 850186128 114134572 454010470 602756828 453416618 763858746 124250704 21853864 26360134 710755888 835310388 667895340 812058614 992389866 397174194 123166056 560259806 105104020 67198082 965372402 546172490 130285490 84814502 576029654 492943248 881352560 763905888 425613158 648903128 113784262 591731430 91534622 774981474 220399394 264657732 772166296 141858848 392881760 657993154 107192176 240965326 201099228 322508356 109215012 346821840 216251736 640219010 198461104 5147242 994254952 803723180 957010746 657428352 677816080 751153070 191868608 239496100 807304142 655897732 54828342 23336122 134431292 220818274 798095580 664775806 554708604 841905336 472113322 567705656 496774906 198620950 57228358 845154870 91741550 938648994 801843670 360487110 655953272 755561004 478249768 573225818 569178658 792753308 519717644 377931752 586032998 870204452 359769230 894510782 659609346 248094026 567203230 287235602 619088328 704297994 77285460 213771642 610731790 692623292 454151674 103756656 128013968 559110818 77054982 551609362 775423410 401853246 506609480 331095620 693516090 153108150 571856852 828707538 682624418 3556208 903019210 411099900 537574912 675787096 884493230 723577022 272002794 990446348 996724484 36033266 866506848 333577442 327693656 621731410 637616786 944897796 966710366 770574700 534856710 883192916 583242596 671773154 683119116 778256322 689673978 303911924 182186496 487429288 616104276 283459744 621288844 742900878 643337152 275383904 234333428 428381204 932434852 636839742 766303442 351993490 895275822 547890074 922984486 861238644 124280068 749576462 531295230 135370282 698549812 33315836 518333448 733840208 10211806 296882212 32810310 308464738 165025666 200869454 592690050 167122482 409970870 582023214 914875354 324980284 352806854 650154412 161435774 732834994 915645008 248465134 123943666 852418850 719839634 464422222 841399426 110081782 95064984 820427034 70505214 963677984 492157180 273499994 120807020 59174284 173057542 169758296 288370560 856575656 934271290 833261222 657235574 889945260 154521292 973570614 658686200 112261582 975489026 916791012 974373784 535783558 382272658 883237232 271614808 11892498 250232324 550777756 238780402 246140100 420965242 737506584 163376642 327553050 234510904 155533766 873662864 951885416 681419636 155590468 427704852 547534204 965224312 831789070 893072034 29193322 106931678 683346422 623446850 448368064 562811830 127265542 462513658 384381578 290996498 581238368 288599168 558039134 805083280 895728416 153922274 789141700 80869158 765523928 715068862 471858574 629449554 480555282 941802680 729210728 653398964 256063554 392987588 852539652 255339760 1428916 127690816 699791842 313865962 80256488 457002330 551823254 558357662 808190744 839445722 623249268 458637884 711944236 950443216 391250074 319489624 266139522 370301200 32630614 520601350 495391750 867803410 604975728 524982948 465095104 211123146 720929378 524023478 808263098 942184062 822889958 833946228 306265600 360369240 973451560 182411496 376793350 824810716 519501582 722505402 627128652 469745426 672862926 47224806 395522358 629826722 17388734 287024656 19986060 508345048 716441942 138934374 95885490 839926484 26088024 376562732 436803676 426456942 572984308 186793626 248949820 660647938 486580194 599943248 386663494 640558660 887880508 847164310 803178412 118484068 557775172 730503388 869663868 690284182 37985076 426128852 882272318 528459792 252237310 672993316 532901332 714639606 824125262 153986660 863837828 927098950 394664472 835258770 43127432 590827662 789811324 36803210 650867250 854323092 27361468 961930136 627191360 486015582 166106766 966902260 186975502 258295272 893957180 191796898 910372804 788938324 377610656 501011768 26615884 510061164 518107406 20839938 102546484 157711780 299194100 106798016 133623018 485787066 436937924 614542518 337443790 960472612 656470608 239462374 199940452 361814030 968707060 182747936 321191060 371366148 565770804 85117676 798163718 790032574 832038024 605474866 396539360 60554788 480634088 466661944 997700510 373935628 682287630 832348646 791777138 339933472 952433758 686047194 987562726 829339912 605795800 470964904 825431924 88817924 848866630 442455186 880783762 879404924 912136864 98510400 475159258 459523456 771764842 584807912 946314882 80007932 477706890 945102278 457674922 307703832 160384906 423016714 16348718 91465094 603508230 626088866 263028134 584658216 403888312 209875596 507584944 998847836 605024496 281478050 151882906 172593222 458940734 961372594 662051928 676934784 852506518 690977390 363723666 315989556 778288254 903995820 196145366 34609212 980509788 504866400 591147034 337379230 458126294 969881416 633844404 652056732 812271270 688094686 847217676 766837026 878190048 380036092 2901726 499008512 977121358 377298956 726264538 887362374 798136240 168882556 715002866 953485600 988994544 324441722 9727276 337997852 404184604 60797066 596308496 56465816 291634136 240837036 67038554 915590714 105773534 468255870 666315310 536382840 535855444 222317702 62167984 550300996 438394068 797063736 178578070 856353082 182032744 919318242 238308872 931071262 148036566 77593904 17560774 46412924 279234252 377076088 896738088 729680370 216969416 669413528 53063834 180618874 322976782 937222302 89840772 145846378 108788808 564484686 690339560 119500512 834579942 827335870 598419410 546006440 849198560 16699532 613063694 784835458 426486618 525905398 33723014 519497926 419402090 49378480 384363096 129208568 662730928 842016986 944966656 941950698 107140722 304989258 569810102 63449938 799029890 466632830 339407460 721832130 278884454 615983026 762601862 343618568 505913562 846333408 793876746 557964060 177070458 863440106 896092790 86233016 402650040 472906940 70511144 872920764 968605148 496452802 233128978 951492276 636745566 542093660 471535876 816799952 797682798 640499556 241358174 61971614 795345248 592140446 740146488 466105478 141799180 601606574 150154876 588162190 916369702 668399088 150000494 552968292 826782300 416976684 880478276 254376436 172247368 773197452 906371736 909001794 688484092 264308772 901781966 374569086 642017382 6976482 148834638 35826264 344204000 666594742 85763324 279635818 713409784 578634222 661893270 554199822 83781664 771020832 971173318 682620434 326421390 703297772 148627710 57820542 428613656 220048272 889996360 577171426 387945808 337091320 786926540 762217922 781003934 213993604 62216578 222815430 794671004 861222484 151209446 78108930 575965696 232002024 435287626 599756116 913211178 630682084 391015366 965456352 134283188 324604182 609251232 770058262 356105218 827780902 503110088 387829852 782880634 383682346 107275670 721170712 503865078 93574138 128367174 650060792 635478132 221456334 775971774 286765404 600424376 28399148 565063862 72250676 102864718 265733940 336415022 327803196 260484114 161712296 372966314 345609168 810166298 113414882 540577912 352727116 672039512 187041424 238094042 590196418 633064964 851927614 441601202 439000294 516912752 837428254 956775962 822191300 414807398 501056430 92325416 1180268 579289412 200125968 276778786 120542860 159975058 854733208 622755658 92920246 930498522 100552056 343309646 384954460 946359692 648163448 893247374 162129566 704976242 662776074 333160288 91224212 130293330 669400044 653844240 793922266 747570684 882935292 143012488 996916214 196660716 624568144 406826598 70832386 23554258 614662926 810441164 372557328 645199422 740051676 624201704 19085560 194148584 651670434 476171418 635067336 364656328 643156194 298280038 555721754 75953912 205601402 423207660 488410428 14167138 239462996 37844458 192142484 714647350 672158926 512965090 110815624 439402408 833948588 192807076 753979262 396746412 517305510 786041058 949986758 779483074 975783194 99548894 43245912 202083128 597258312 971197908 678526638 647488724 459720236 297638130 625820788 947558394 807282730 231554360 311730452 388434094 687968508 808299062 445068038 205817894 336640080 474938934 595008170 217374452 724449404 634468066 858626468 291142058 752551322 840290360 215575666 85491848 10718530 708903546 288100182 352082674 254904428 204372862 373261038 646515710 753208106 752418908 10831220 478651002 548168392 18373790 484564022 139150696 972821278 109120296 630392282 518667530 678210166 711195540 260873398 656154426 667269266 612433600 861602354 681716996 820982338 977613348 114578748 479643176 967881960 968055920 24952956 904061148 516716060 477280510 772419838 442819558 984313592 31414416 743287162 890647532 573877354 458718228 52217132 203509222 523784408 423076354 930708756 85725234 983218194 173725866 429210828 571350604 712121196 582503424 93336784 436639594 56907474 971015592 235247518 908609564 645190126 558581904 169487792 132716668 480019720 408859512 618573084 476096442 710796572 868956528 106947076 584259688 802652856 928649334 859668384 816777584 601897396 376433918 472844404 351893972 448266434 62865576 805221760 921423786 303242680 324457558 607081834 171896854 509834266 88282854 922457174 921983752 349482254 365890314 904540232 385361718 109179514 18464720 667095140 858039404 379635182 921861716 513411014 15164396 628079528 83080852 39154210 285876948 845180592 786495948 971134348 460551902 433078058 544909680 991252574 354475062 467528698 178182942 635567076 740035572 729609948 30092970 563930760 766809814 969841702 308690478 143108000 344458370 553011630 408884752 739630304 558408376 289681324 633828700 688284760 780076096 527563864 224999124 731689546 499280808 272773416 626455582 224580566 27921526 625367534 524377420 583326112 9481602 563304920 36050138 867920978 360852874 389121796 377472374 916498302 411994106 625204366 923199796 749705180 541382144 900704000 22720374 65040260 470653086 631572896 590762196 977520298 501062646 429742610 900869696 6470250 106199366 440231248 53276084 484062190 263665966 938428482 657619936 434030960 776008672 707303484 179715112 797025696 437112732 703147146 60869062 357463956 561840302 421716126 401055694 58158048 70702990 889638336 869468376 532396756 832637918 292855818 382805880 770328724 315130378 401865352 741574648 89238366 594661400 439205008 429424316 574285820 418282776 853508586 19972590 628157156 77881560 462368700 57769686 296619448 884763578 105839372 765928732 668892792 941325622 405294058 568118644 408923326 959520906 16589572 827768264 231456124 81726484 83734150 361084942 939521654 363944542 870096748 792182054 939509976 503461718 221866730 127107138 519767152 958485808 718816264 150031754 302756998 571538120 312395080 554360512 769124240 248835776 395607368 483563816 999808238 664915654 746613178 733868338 710658364 440428488 892362072 453774168 567463110 27746418 71059252 543513394 503266868 254839208 587735446 743290848 64416446 673559636 214369494 122375580 982745378 920497742 532630088 170646862 359821516 504165380 740440604 696854736 461882972 104227972 215168434 295125898 501278762 333324778 121296928 62708220 407262636 654645254 717186174 344469002 262330944 607106850 302007166 676489460 273874094 583300782 329284626 153593780 139706582 646448256 709163860 18816908 873694906 745351354 161309394 355240966 445968706 69877552 118188790 439636922 671866718 397342086 240202104 696737228 360694058 421988838 96524918 826874404 188647996 54251716 269063348 628562288 548347286 987872366 284589992 798528316 504080728 793302768 253266388 560326580 137458036 935210788 149972406 101780394 712389136 818603862 782323098 290483168 724677476 517998602 113131278 652611032 16043532 158061914 843730892 969939102 290329538 553236140 452249906 372133516 166224582 813476114 580783744 632079224 868589378 703276742 470396562 755797218 540296278 684319354 758597630 730406076 429223606 900846058 431514878 250674934 144310882 503071328 531983544 644230204 66514222 55400546 47068828 113441748 464863086 109119202 63224538 946757872 835593026 913335258 10634002 162247214 412448412 402151138 652206888 761760016 106070964 633807266 296463260 454556008 243150556 48016616 117187028 485897568 688005116 852686130 342600160 653114240 93271782 275030206 16950096 896381672 121547714 678137596 895593208 232513244 220123978 827724062 91664126 807982594 330534202 686971382 590974576 968313578 105638170 582476608 2195634 701610036 709692746 480799070 277607170 47622910 894780054 640117108 60528312 23043780 318375098 867258298 436128186 342006082 946659440 136348020 303553598 358769604 799329332 606839508 425038596 93716716 704684014 979722706 222894544 155277832 471728446 917122576 166115848 314650484 84992738 541741686 415753866 943113328 442755198 342912702 679911872 169251156 762294384 170276898 633846856 527193914 866805250 239794574 377496670 642550322 846245676 590473552 192551182 693381392 604267206 96593926 621686678 438180486 304232650 25294150 965386292 669178512 163901852 277522764 56217538 34428014 4054542 764003962 616856154 181309824 6836284 44716288 979351642 704976774 860050448 885636540 429507138 654137938 443141572 79450118 499222864 987486594 478838184 686182496 379673376 643079660 672777962 124287686 769744552 930795040 493096148 102016082 752933094 189849296 688208342 824747524 89625104 724198404 675188768 529102712 794035864 68652406 382603564 667294792 157974936 682226708 853199476 935906502 744018176 186716012 854868338 36877206 758942742 101133096 581815044 489400972 905789470 288375984 551489338 347689286 989850300 269026744 5733246 338060080 100094094 971566654 493069082 290626890 599205296 766473434 587243798 600010108 582313074 940153454 547793230 267239730 785226254 976463682 43604758 2786428 304596418 485483660 63440260 187103340 390228010 808081632 367485328 365793918 372240230 695060716 251955822 437510408 374514390 732330696 607260540 663178718 512418528 704504722 443445638 42775520 754439038 468874206 499884422 303132510 97721240 211962136 894872816 659206406 421920102 206252970 150399024 467617440 779357002 175990330 746175738 456340294 968375752 903366298 199846254 520479434 989584454 971449654 524694568 413790702 828900178 646244242 159835586 812218546 163931702 841296122 131629218 438072970 579508786 566758718 184895856 353850516 761117692 356364940 644067404 100046590 999649860 709189864 535328870 146497944 98269910 187014454 116786118 882164560 300068192 709210542 964158184 223737630 773273844 356748376 8002342 769514924 980527806 528287044 281203914 458894666 732602998 9225368 183393396 904089574 509034962 770072342 156611824 283140264 115890104 618421044 625219424 476972494 185175326 156172582 346925296 968384470 829350298 3930872 98955354 176421270 72544320 70279432 234763244 331067108 596858210 56749294 703612440 644692414 195465262 981777814 597503936 651120894 584676436 483895832 167364538 759511660 334084560 781737294 612745628 570160264 458521784 967117094 443054808 191216514 560304512 365024382 432561918 484469960 199433692 969905132 780578202 248363862 144678486 607567882 383795016 734631326 552059638 492407370 64444166 509239712 952883258 822076560 961079482 808689450 813853662 465328278 226055932 635648026 213841270 543738202 386367850 663265960 70822202 756632994 212590556 530523076 604790958 110105636 515388580 125478692 720220332 690554978 131406218 399173026 231009052 924191240 176626446 541140546 451629516 600388180 119167874 521387906 164105188 154729188 747059042 832209718 465210936 319066964 491498850 752788856 257416996 994646288 752736476 720095060 201584152 748065450 540656950 776451936 435481036 317426174 560229312 83617492 662890094 554600288 860798696 136943958 146948682 186248874 299291508 775830086 213268448 283264644 132325176 486629736 259502310 523461540 821314274 403062844 594039954 238497786 455411402 488818334 426221488 973530386 506358228 457359454 754747956 788257632 932235788 162345982 207923206 918031686 470465736 815536756 164780968 533120030 1367770 864360704 293285940 170497342 471788952 105918618 277299302 10829986 564494698 376338308 986083870 595822500 907024060 226341416 397757504 301626524 773143188 699347906 30005950 690405382 910736914 75258416 446469196 879484974 48047092 820423148 294155880 12446980 278524470 531780164 802293176 103714986 902824226 465851960 140238322 875883092 481764616 314660978 227335920 17762570 100797282 49965408 388695794 714690804 519869940 374578408 750608564 385344958 692817678 705040858 548236594 879997248 706959966 295786306 484636342 617348134 990575562 294821812 642636288 125481168 879711522 263199102 664804606 67328574 423121088 198980386 100267446 654889608 420804822 114762294 676995066 378749628 374312968 793318060 199910096 323052862 292919774 730213926 357327752 327905616 995371734 910416516 928705150 85769648 585490586 712681098 346542210 295315826 822522596 843972484 539410342 750067230 7973452 363778342 508862950 799384948 952968556 862886436 380517086 741396130 555813360 369898906 562079770 232633288 908818260 84531194 330162130 583400406 582753860 875484414 165436718 288110302 467472346 672373112 693884206 110806 208130234 391091540 646917368 899789314 449319952 880980506 623772992 58000894 884547762 405827832 97154332 574964432 205558762 64886050 682311766 206614244 959900346 270235610 728620314 747649880 927971052 498635236 586125384 811154882 325309688 808859906 474547304 142439686 806699108 936555854 555501808 368963832 894537020 441169228 716074554 629169294 350214048 988922000 199786266 397911862 730383100 421943086 37315304 157928240 747925294 285311916 235828714 934546914 142822502 860993362 190200546 858702426 572018390 41711590 84582046 201855568 111046962 815275404 445438144 379390826 528372114 456971656 963725266 33926584 626624324 633205696 64429294 949987874 634096254 753728078 896659856 999450118 353722160 34851802 436281628 709475902 318951140 466898628 946612814 82091774 560976314 888897212 108500376 208754194 650101820 925647228 571472948 590975382 176887230 125688552 7736802 720250304 875193092 237018072 72827620 788335782 943523546 354808692 362063128 620726074 968020272 832172434 923389592 530230672 642864014 131191428 513362756 412127032 562349228 88270524 575260770 493140690 410143664 782489764 300476108 763111520 490674130 852233960 664545482 869916772 742244200 629193594 840129232 849032480 51048662 163622066 336239734 106080694 724433124 794222070 924996044 958484144 843570772 514972970 952781568 548071870 344356808 930288322 184605806 764498374 801188000 950759920 107579612 489846326 703667790 625756686 892511514 529267784 919542194 399609432 122347334 581428226 365160468 971219606 39199194 596706024 20767042 68872670 441547656 442609656 522221838 774512422 637870140 358048440 130172402 656590546 49115270 450441672 608451716 308937404 324778180 23051656 671998806 501748998 929812192 870103732 47635024 127699644 178106072 728357754 231179406 108923278 185163602 203693192 45776942 401739328 465928750 842354812 316292036 105388424 164316058 556043054 137833454 48867344 725203822 256286810 512681064 668053826 251986722 343313962 760743022 644443778 393411934 681198504 546115646 963662564 179137866 343537104 455507574 834804534 421226162 751750350 646818718 667063160 530724344 456576902 264411532 919335672 868377412 995491488 803676682 849630424 838234554 202775342 717141234 200578942 812264308 914174706 821049380 916380912 484313772 34389154 781825212 913664892 834975224 277339356 262655718 32518310 769697870 524522716 781714658 712300860 644008504 760132276 847124522 596090020 454930314 989228068 822069334 277528006 414604486 395145616 506821110 887808084 228599016 283177430 750887906 115846638 277609880 927350856 741888480 17585144 859530838 38045388 337704362 404145198 323426436 957058400 170462884 322299730 725532126 168648636 764116760 523664674 320226932 958158826 33596276 412118350 114636246 758404452 466091222 727419826 567588134 629871912 422428440 710747818 609956374 901395804 2411486 877208050 780907320 665968812 297333562 459740282 122649222 189162864 279113080 765196032 964952528 402058176 931073018 557245734 355804716 558239150 731567260 615592922 527192920 454402804 432665216 807906854 151789000 464126596 230642800 683944434 300089686 776627028 258558676 253930500 429047594 534900686 641586152 648771884 983859190 140532402 909791504 608910590 720703064 847602086 14096454 330716706 538064518 425117582 93712508 649932518 640432346 537193464 947141614 84874124 44829100 566674438 43227860 283455552 828420382 101319988 137119650 663851784 94656312 253832810 510449876 439174314 180831478 46322880 216322432 337087946 455323590 253231486 988012958 185109856 491569728 312501144 612731522 343590988 520925254 931789544 121907160 119300684 196865454 71920698 181698070 247398594 860755598 791854734 94874416 769330936 870240930 671533270 196649658 270012190 623336316 51606522 799747186 348381188 108378610 550143062 10151616 353390384 12845144 82489384 549011498 66610448 129011222 866542576 830715310 114108896 274565326 213084116 525652242 918883104 878348944 332046872 820358046 70666284 170490412 157083678 302266860 748324526 165086144 63649736 560150064 532915952 78845110 709323766 275205436 261052942 248023852 165757318 316584812 560033432 274588940 715586660 530165190 737327198 439677370 506214752 385306962 62129264 754246752 40583102 793336158 666316256 887809464 446689052 299971978 146963684 788434450 799186040 469889566 554480574 187798310 421337012 185521060 449470718 895960878 820403162 866150216 718153292 675420558 630124490 739233870 120012582 713795792 541855112 329555742 928821120 479077930 53969576 957163954 408556574 394591880 264075990 427715230 326555884 814756670 964558622 915418724 722358870 794886076 741394906 676442584 540622902 549472632 392143576 491869512 155956348 740516004 604262536 218329502 333886504 892283686 778371220 547750424 857924372 13283060 258618182 837817684 50119406 742788888 88010914 479118734 476274862 94917580 705053566 446020180 371403536 963896748 772540750 713005106 562671916 953578782 983809962 489184714 405957768 764513602 464279314 33255184 712488374 463396070 765799424 927716872 445035334 921733884 841059142 973488162 629437388 624066590 616130700 217320270 821072558 679726874 793587030 357470580 776219994 303891200 657564648 577652316 517507854 964404420 445913242 544525372 716832774 711881538 771182502 961904954 142051102 433590078 691574324 291103296 334946408 229771600 37262108 123177322 736317850 561039678 148433480 505884414 329066218 652916606 394944152 302401656 324872092 975362808 357630018 934078818 43260390 945891246 73557296 823847476 48196434 741162716 145174220 59533876 918000686 855085256 253650474 766175560 121588630 260545674 977567816 411653666 497495640 119911256 590129792 474532958 907289266 318844144 729965174 41600204 62209342 978151160 705923996 997060564 417764092 626355776 802484328 573653792 624544216 562542906 66100238 56791034 520807992 5817182 258108556 237360782 555366456 894916734 83592800 541925366 129537092 919973682 228096186 522510998 434297842 284937228 48116518 783875378 36833478 404947858 845866810 419744582 144276530 207176830 475969540 104913710 185079694 767832970 553862828 5538308 638369754 774227716 782947910 252306466 809781878 181563422 430032540 131624690 237577170 940645322 196676192 290142062 982865442 955325728 806604558 722041992 764076646 817421034 59846658 193158442 89853506 465914548 296881116 792564284 665228236 954587500 447850286 55956772 357501262 203957272 114363950 494088636 967937150 144970678 815660594 674446322 487598802 631242066 363977736 22852056 450668348 872870622 182971948 578433342 976230122 240879964 491395732 433418112 484983962 604280040 688577198 547679160 746614046 6671228 12676442 577286064 497349568 227334348 885381440 394347276 580671024 35680116 392584982 798965728 84326086 712424706 112755868 830022372 709752922 924300850 425400318 989673204 869540690 232193036 590046530 771423842 525542018 40061082 332360534 880928678 928234576 94354642 4531094 98919852 611344910 156782962 809235584 182086136 873165638 672155500 33381886 704692628 607813710 592727902 795351216 86744878 968168770 295586212 206594822 775602260 36427102 183107394 459928820 416721546 755026936 724164746 517721928 166331478 975754860 127327928 37949986 757309852 178507884 949683780 328097332 927586488 37124900 780860772 643994032 975496380 353629120 158179116 160836302 56058650 380829376 828793992 190538170 932887324 566336580 265716248 940111692 964833148 633429062 205483018 16583240 785285222 795745754 612126952 796082632 859167306 891246368 186574122 250617634 831964682 830149392 470907568 955581264 701236476 194202462 556028630 842267700 198795642 872980558 287312306 218286254 741835782 220551362 271088994 749446706 358433526 503074710 407039706 417635610 189147318 185873996 135312992 292700346 755671008 424172536 753121932 900387996 884770518 784704538 375844102 399226660 436058166 789062690 26993204 959576220 822762532 493460746 869699078 43292896 582230094 658973668 893754168 928954574 791638466 118377434 240122198 696992994 976403006 543241416 503338604 328107440 96016478 877571110 567516480 464359306 27840756 59912110 806402406 771705488 232208398 523632614 925260824 327094088 316403402 467551484 629837700 103229622 592117188 637174374 408072726 889411090 211536232 622004152 10318416 821344806 812138448 301736108 948451972 816096972 691084938 899929906 795138492 248503416 998334354 403579400 521515640 993410130 761761922 445427368 685961606 328310268 298097516 171213778 833648766 89612278 15444090 143383120 225804964 849058964 426875430 432882050 735855810 785687064 152807836 996592626 938223164 903747576 553749768 330378662 946204724 551058140 92198048 292100846 765828820 11410270 89812136 269703738 48278304 672917520 203389206 871748106 133239722 641598206 382637816 195382990 551645610 560541338 808230704 972396698 493972090 628497728 501915422 28471192 483340876 536402018 132597110 864514372 834017294 308526452 332750116 499540100 467585336 527413950 7075034 863890650 616413202 245197650 28623534 804779898 392302866 826398840 453429024 134803364 601471166 925441718 969617212 581568250 441576456 440168958 904898464 121829080 32553870 764943420 450615276 168879016 288227478 916155934 553189198 396957390 542621444 368043138 814786006 495496676 986280552 280107220 366539312 860753756 444131304 173410434 957461086 567961128 747861076 598934072 707685454 151537808 49940634 234146540 921680760 526584488 682115106 499499676 501715866 284995728 637199268 443122518 705862822 3547892 390403546 937975670 166150720 597107788 640188054 304811628 849424242 816290746 197772330 293294362 886318488 287905634 81406206 146294586 245298654 606669260 52597910 998870304 157147746 102665922 734229050 879436822 793682252 452501654 291611694 336466736 27336974 507612384 502885872 627679868 552344250 948530952 411460746 218066912 914287662 101573346 837419146 608188306 799817348 819789788 256683162 232679466 878135478 645438580 331345850 227557174 794523434 337108118 737221748 105257726 388547628 684591284 877479998 569146436 172381660 501011564 840050260 407489074 18439394 255459548 423314244 124550952 603648752 324818772 916712794 439261410 754394042 365797360 412833906 193565026 13057938 727793254 423780700 928442956 757805398 961973092 957984466 83265966 701702410 473729242 733830506 346302894 420541706 629463080 107459844 12719846 702720976 58328490 123378480 511222680 311190966 402425534 240562436 418555222 613036514 571536830 986266432 479020144 157035240 651904038 238784132 386557700 358288522 138942594 553177086 177852458 593367430 512209788 950359180 697838508 584372214 580675982 627020612 920020968 441671456 705147412 202580790 143577368 102640250 482116864 395415040 632185734 368633504 22106488 511425304 140375110 821314312 285691018 792509672 881527140 321798146 14585286 168853536 832345352 284625798 749940278 792025230 787164964 246890660 499488900 519304050 528578874 79500218 422055132 26410246 666498304 561563848 745732364 618874418 281203660 898089776 505496188 72848486 171978046 456679554 305864638 18720434 932724510 182127536 676301802 576789498 693845028 800064182 486379194 723792594 321741318 964674984 318111638 221106168 751540028 161448698 749496442 124777886 241324576 510355012 630088800 739500110 648756042 487823848 397457390 797374182 524735624 880674584 896077900 447194792 933188996 129613560 860688960 683293572 912869128 367661232 775372376 606296398 190540772 431517060 265177862 667433624 702896968 948941328 777219356 352904300 724571210 470162434 160262842 121566422 779215382 33875628 975900002 356828958 957121886 798694872 81327528 493655836 13924034 708665714 836124520 63404776 135890726 669047866 581385140 583679146 712111580 338200658 705600990 988436736 150575730 462749104 877754074 247703238 654681266 267664066 974287788 789758662 529362548 390673160 838697552 933716286 967017224 274778936 735389602 593963058 114683122 407319008 451383112 330886040 214930986 641293112 824617176 479783920 432215184 345780326 930872336 324623320 379046234 3563792 693915998 594954202 257049988 334568926 823202808 9286190 280326440 756158600 816086558 682351730 656635156 676359876 717622432 921786780 608466164 913663378 170560226 152716180 94290676 481795580 333468240 280656850 964471320 810687588 263765166 96251616 714402952 453143560 432976878 931660912 824651038 110719948 499399576 246781158 492894146 15333980 885668024 852403914 183666404 788265462 16695424 56697394 461933560 517073056 152427954 2206258 765710884 919697552 583617026 754040788 140630152 314464162 681427738 823532812 753245374 975831552 753574994 232319026 760995288 347312968 575426698 612139958 436372688 359062020 264517418 728073462 972430836 343335824 986228544 168265842 158977688 843213122 796971484 226761480 929369440 916179234 288252564 661630044 350396018 836449010 660686714 834848738 791684542 336648384 445306900 397122388 726306056 956806300 213508934 435398518 759901150 908285272 63802292 619129516 3268622 342810712 374859658 313236374 523488350 160605620 105217298 213228066 414323998 144381716 37720786 92874564 127599292 998995476 597665372 172784060 679169108 917793648 841298468 71963924 428928708 558215712 82626038 461939810 661538776 366990956 486152334 306833566 636531198 996804518 323112328 646153178 555829698 344083264 624240704 956369930 124366692 306301468 335728204 753183212 241739318 289868784 38139058 624337296 418490584 615571480 381262490 806255832 260103088 459612812 258590184 142688350 173708476 693715692 779766032 673412036 875927234 696217886 597061022 781633016 125119048 88657238 12609898 274478864 795872844 740148682 118214486 474026352 919862342 726668172 14379804 440083818 902585816 555944262 993864712 329055856 9878614 443315092 658535540 296192132 76326680 762970010 181452084 329750854 636962184 850283730 421270546 68636300 30716738 446484432 555861724 46508330 370825778 751256276 34212708 205547012 21547692 623179868 715238776 488989316 380075908 55994480 924022248 324425220 32683760 202734800 237563748 896358648 78464746 155321810 793551606 253711002 865602284 250497842 83962036 260121382 528524044 787196300 416636092 257460956 684494166 182345246 212586678 367862072 288720868 28081954 106292846 627264298 307375218 768868302 564483326 834580954 976356268 320966096 698471440 955704464 200694050 383083300 864088878 354855586 458668144 961640826 631487836 942281614 562073812 916490714 905295242 314620554 117092042 356014692 805709130 798342778 427420616 649060128 898562676 363010986 457150362 138909444 596686430 722496296 58775424 39355968 465414170 531204210 578950974 116016210 211637850 578939110 247451256 222495714 681894746 27030962 362011230 192128580 977205242 355243638 545175452 818500122 792768128 781257998 409808062 931362848 348435394 58264512 92136814 660681054 57008174 521127696 454966010 344300124 629538400 182467354 770758554 785761174 460387378 736810098 817570244 741589650 94239036 526973730 48602610 918610332 640180012 695749304 289614978 337736034 113273556 624896024 741298908 478881182 225653164 234172804 939201158 129229548 200533730 70736316 278403306 250963058 59332888 640957020 108079254 154767506 350129362 963013290 174752108 472660102 793398486 521819046 755101834 598949048 8856138 74824162 697917570 261879080 274041910 806608312 128886694 979682224 590321184 218818114 624942114 236147566 418142140 90484618 630991508 703181178 202772496 251285074 99154880 300585986 712745244 676639092 922885610 763451368 830099362 600548196 63088922 639878104 263249556 650459460 857767488 260548160 188398186 108048476 469453894 700179776 61633552 244037156 881687422 556771042 8019330 13065750 155977174 879078910 732914648 416863390 569281862 589055354 201363628 358474432 582151090 230037738 774277076 488711872 596361856 557558648 362943850 861110594 924844136 97248022 432152618 371158996 840060434 461325254 40227916 624489354 338853826 484289078 180510724 899940452 153521260 20594256 452246116 275860094 570260750 618679478 360165826 264830862 215453376 798808990 52257244 182912928 626569018 801662622 890208240 440080250 403038166 314288768 906480392 240074160 285501262 583542626 167996476 744043400 823417654 866217562 917186950 498840312 759088330 699731658 16083248 776771950 511223772 532279558 425270806 80864330 84341138 912895304 746644750 290908476 850569612 737672404 972204826 295641730 115484106 727360640 384061830 513309604 610993998 473431776 240155820 644540920 53619412 869225592 997378382 696380968 608786638 377418766 309291536 183915116 484028228 622791486 332485824 99660874 149655830 685876402 853194706 999024886 532680618 250057078 195780090 660101680 722193614 858570714 830129568 982808862 547581486 146338360 933069552 169554152 669303178 982201828 361644628 346891690 906367686 235785462 294685036 892053752 661981046 893246872 29281760 249476514 620836828 4308980 184542178 553486506 999538026 738159084 840724812 829906196 427642320 734754536 930427426 110970256 747657192 876259336 390983030 505089460 322953446 418646082 542588782 47138546 231528274 125006860 268947762 533178348 835719474 51713444 284616326 960318616 99171736 290520296 794724828 462901924 85156046 763678910 417705222 149338464 255955660 70855328 173864106 313189754 65751498 123227326 120624210 236414938 413117934 437215306 36838722 898359058 982309238 361992036 242225772 162660776 568903198 798005286 734293358 943388086 295144064 745576746 763737414 90723990 729121982 727492044 448421340 577866174 701461312 869134792 301278826 540493374 328075744 258144028 518097572 862373570 513509668 608766448 145864122 939155290 110537452 147350936 28312642 838518386 499325148 324021896 873830866 293609664 409499712 345428306 513864776 527042200 624905276 230702314 30923762 961689948 58336350 3528116 466335822 9400458 805353830 654444466 793703162 255166188 657405624 292135056 567896698 490997496 314331034 964895588 989143078 925148624 813094824 853591552 591947910 422508820 307222038 374774698 371003724 161903894 674197470 634609540 744399034 232660448 308637496 707027494 409386118 543869358 300532840 947225670 636030660 977854856 552359854 549994372 233239984 981817770 108244498 606592656 928941392 526684818 182509022 837033216 696666712 356500972 6558124 276993698 457699784 429826596 755514690 473647602 143575746 527339792 800088630 15296978 841722598 810465990 249444186 234983904 635143202 447439908 171253438 704012682 378174814 420706088 581290426 895318452 416252178 845680540 252886980 218741288 377508890 927775128 973695882 879121276 10739108 570623510 219685652 445616918 823914572 669627110 421571142 128796760 580758854 697521792 406463110 104928976 438738238 81899930 212895764 951872126 921019058 128978014 928005372 733858548 146819306 921793766 20765744 354218332 178588590 290553280 463987618 257739646 404709050 644180110 810686444 745106342 206772604 661064794 473453322 588507248 824245920 156471220 725479444 318435980 812930246 768416366 657799610 921262808 7896334 569009656 892589776 665403424 173893078 245303498 364398716 721571420 645209428 657985194 209454454 286557716 866365070 515538158 61575630 485882788 6834340 96321736 555970408 755945440 537660742 667800056 881440710 470279800 806503858 727254588 370878522 740442942 225521702 693547978 545625198 983614778 987697520 257702738 396923122 460482000 14923012 200434068 819618534 552757028 976206226 54441102 928335532 937645052 757137918 209729388 400960746 359547254 657224402 117276088 819298322 220156524 838227206 967453682 465349466 834866486 808217658 282750872 330261434 834041036 786893178 184472430 23674868 949655426 641912802 82123074 77903438 71197080 62591880 196571126 394112094 655933188 617162004 810182542 638793452 509263022 842461122 776317966 359828556 210896528 964709082 67514466 859957120 41850776 590202476 562461664 761941984 845795116 684190828 191908778 501116422 470724022 42272332 567340506 653948196 876861036 780479436 716479944 627513768 132325416 937461064 904043906 544536962 741739848 874710682 908636430 43365422 855895778 809835300 626545826 739432538 365705742 933132684 603730602 212845850 597870676 351262212 786674236 28967374 894134206 540383572 710899762 160269100 892263890 568805646 433517336 430092740 34719406 11222564 182413810 461601546 108494900 104482704 928913290 753287936 366603190 583578838 35703932 789271504 983387722 330015580 24414294 39349092 125540068 73636710 901372238 612503002 34630078 993320516 136490682 281823352 523010182 85111350 878476570 505951142 408188150 971862668 772210490 761447324 810901558 414882802 546140128 83390404 337242700 97208428 925744394 53460360 654381790 554823450 66168260 871044452 549831598 749790836 220426864 700552152 688146318 519171940 111692158 779393630 533565848 153320122 575043134 32537260 599749286 797874138 209575358 188993106 658669094 410071944 590420228 74875836 312929198 689047406 837591334 72773694 243160652 767802452 6236864 487838716 482728414 548613452 146454356 20189676 355580682 720882184 868668388 513877166 149289190 435452128 358542234 322184882 77016874 195461166 584881008 214449572 437827880 201068942 456673322 909678722 311730346 471313474 806724856 327093692 820506686 200480180 780323718 969776124 876786706 504697704 77734982 727961234 402169264 604249686 687297310 972304128 837584274 90155320 316571316 418173292 544038548 374308816 162661408 381114864 860781842 359132520 263710418 482554368 962461732 327490002 722102798 146370810 633140442 616174668 735136100 12692314 854133454 442922776 899175210 169162034 968538950 138340394 256316618 465217658 585716990 747309306 475077198 939826322 219319302 612192966 892181860 932613130 341761082 331459204 74272644 918581788 478710214 918573676 984577088 719470882 841202898 408659308 763475186 938787416 282492542 236176712 527138688 632107326 824869074 957517652 278747406 705607810 895236332 838736588 7870232 418227428 214894908 440561430 520059266 499758930 128115446 152793430 558123348 126067578 20462644 413731118 693858120 930695640 760795326 828733338 844791622 162467372 860067340 978129724 340649884 48444916 698770132 207114930 852978816 844655196 842080402 843301010 254445338 952971034 679247066 510164296 736594378 576831306 951393766 878681454 917290788 961306222 354679196 333652196 201227076 681030538 811633906 392080246 502189294 184883692 299939902 786058152 407108456 251607214 251564906 937117822 529804782 682960616 157292008 611392484 437805038 688741396 10020822 559407974 719213744 731666406 856136202 118443268 555595760 961709504 377881588 671727578 598646022 757763366 924258718 957410090 80145242 873734310 678105478 500722054 861444244 973414524 528891916 238548396 490825682 271950728 847183386 677464838 629670694 533506218 841991802 933987004 47909554 458248616 459220932 904604436 932794622 490662966 518172328 928113590 680049578 668846252 873173200 944515966 827431998 395441902 3274058 671992722 542611092 169035388 166684040 768599446 263949708 280726792 852414630 635062504 511545200 313679666 234195856 693429778 734373180 659321798 421728828 304734092 992012066 800339230 599293472 231922330 541387756 425600554 692423680 436620066 537878174 300078596 191228920 844686714 584142438 790773424 977034608 775054906 670484938 884565742 677271098 925721190 749916422 762690744 296593186 479147096 706725158 690655458 283353092 976526940 994946760 880449034 679739140 319085580 819841396 446831318 937691712 193536640 356239162 314424568 605814454 309215860 846947292 310419822 634411100 315687594 789186984 263009396 428448080 474807350 352294096 741844286 936102852 252485428 314298578 881173918 877753420 508356698 451052860 788565334 314337482 381652914 402715060 346281108 620907472 925113266 983630704 713419938 391487896 784178036 274428462 361531904 567971548 232150812 65825322 907647200 742367222 972641074 166601340 70851904 490292420 685814488 136723270 306784604 756514354 60482792 934121614 887761328 207994128 982738600 293481428 439706230 847099004 410237690 647292254 86413344 622678118 777322222 889884936 814435152 240132558 11837178 373421430 710618270 490322796 777006358 876586274 546731542 868799238 377984744 563555706 795561008 687829902 142715036 364128008 444027210 187297948 635921208 431275366 749876778 714905768 925220076 456930580 933436234 348597172 32305350 88479004 756697622 652211298 757363460 784519606 754564812 70941920 872702542 888736924 264978368 387453474 65368046 896434332 50974534 378701252 502814278 754507442 485084000 159172086 937248480 579290608 211870952 113256064 45310424 32896896 575237558 793262992 287687520 294035246 48783956 751576144 629836554 77020936 40892934 649854912 950544922 477652862 713597370 777725504 515604116 97961112 746513462 455470032 512848704 654246176 768451670 497589348 521889738 642491718 622638694 785553586 235286222 77457604 401789266 897299020 690573208 251727516 878056344 634335810 695540342 164148684 674492404 870143388 389106006 268679136 771928134 537856516 929795370 902352860 828844186 423183502 631475252 419310090 575005110 593014448 142669096 580353948 215193366 567712824 510217312 286917730 893540374 659457096 258780492 260216094 450925452 254968330 737427576 271085074 650310080 432367712 993166408 331919544 567657858 260719340 739294298 337490138 497951798 22547064 315557368 102389064 829736356 64217782 268798454 198864914 354751988 881046774 373455432 998557520 413861786 688839634 132359096 170656234 912848386 609482612 768140640 431385262 321689522 659785698 442666502 171583438 224429100 569166628 484329242 401466524 219439842 835049170 850521888 704360462 70539938 386232662 897445830 847859182 276180712 55063766 765039598 791570338 223466488 485349722 107082496 444976786 196851372 757647408 356578724 137922380 244141042 890022056 647492656 825917332 74172890 469724316 461644454 202032440 903831500 390859822 852267860 388272048 420454802 804242470 697252592 79103958 985008326 453777606 33929636 936810620 697907268 394645204 4922174 688550440 75368364 574951764 115052348 896812702 169757318 566536560 276058120 319188696 495547234 662354176 807861366 426030866 484879922 260479110 31128866 716987662 867292652 76520738 509968436 659617550 744995856 787618332 176931268 143168042 334911292 877651560 874957278 396343368 521049046 509756246 128217936 459918522 710554248 375925774 321676596 110857428 302135768 169996656 487150442 266501028 351897302 960383624 522575936 546699318 456837310 598752196 177913508 868456306 411165978 950072904 452373276 103256358 46441664 798425416 590005320 315314598 786062966 249524770 801224916 492383834 109200310 977624570 590588056 467568686 718594674 940612024 764919774 12466742 395138980 413142768 493978824 64813352 848259168 869460932 578212130 412941598 54943616 191195272 741458588 238494154 590793220 711019920 110819164 135739812 781264804 964373444 315733922 287240074 539682662 933569472 909761254 55871364 172140534 280518302 66712926 562319640 342337850 552508706 743486746 437582960 641606410 725711118 218596290 822583486 625732766 537989892 835735332 63368670 258253190 201761366 846047316 783443342 107445446 87939956 569443438 11372944 971385604 530917144 274645634 462864952 284664320 463036902 964228098 49703608 993314476 751952700 133830956 244264130 760831534 927312090 115652716 988652320 473096164 209860914 117924812 658024316 823495936 439337554 476128042 240760310 254097058 253541090 249817420 536514128 164459550 946810032 274610150 626825614 589831946 921868338 481357980 772112276 950183548 152009092 485909778 423206218 176542780 118664790 146293260 587744222 718472006 225305560 58037024 502677364 150645178 30657232 419944712 593212270 64816254 631785608 249756702 861700568 174896904 687140862 939907344 16873662 128441748 964158378 552081044 156479626 25165816 968417414 448061536 546743706 499849672 253133132 811220210 959914546 186788234 479583130 357742986 537795608 994347750 785454804 868599872 900581728 964986504 367777968 258197602 871501812 414893808 502584522 535577376 71553814 140337988 647703144 705131362 993879174 172771798 344981154 886718480 315651444 640459720 204400238 145040198 676312596 647361760 832332218 680619606 186828952 978648594 597948406 955881366 826476318 292253726 630952274 938632340 122207482 474123674 108855590 927633624 674129432 553294868 665801788 95253206 516667086 270247598 887350970 991991034 402427408 756572568 320484234 33465748 809517464 439344252 654585106 22665038 687715036 648295994 38518292 44173564 215643884 811093364 527097396 770123022 764560402 256195316 183654532 59919782 931905566 696995352 869074928 539064216 73431022 690114278 820989886 831595154 452037798 682993630 602354166 359132524 482396146 296789416 477686358 141610460 267267440 219377776 958717032 182452900 912424926 265615710 274296138 836307654 237479146 650219074 665834770 582426464 59577430 763915360 276471278 637668552 37861024 730445986 695255452 408426320 321816586 420351056 304130580 908970544 561770318 332952474 958925478 787197802 652313268 191226062 351846140 471169410 250295220 25461700 712788322 333263380 973745722 500391268 825022 415659416 381672860 196618372 993809502 990972864 436283522 758070260 580143034 539641768 316395390 793690366 857617596 615039890 822551524 559074740 540696134 441758992 509572132 184318154 53376432 201172796 740805630 525481004 95561870 997202148 627086682 531041628 51110494 618088902 526416234 978116030 145271580 192726786 600920276 871517286 567621186 269250796 307594708 555226914 196918208 83348506 999182754 124026632 918062120 412623916 565837474 616404696 166870392 555203464 533472902 449989042 201164674 495256804 551169824 65314284 398173898 817097564 680283642 710978298 739824798 372818602 15738908 93950272 298172960 319574110 959789978 56776614 892291312 494788190 513859688 58529058 620385806 935235770 163189314 959649402 354901710 969787838 375658062 101715386 118412890 760580040 130321560 184088956 4256362 35552808 956726178 619315372 920209598 460945894 551556560 347832326 991535020 154649426 720044518 622680720 61916190 221285330 451971852 469342768 244052984 421613046 824664506 443996536 567995246 714293522 411044830 983617024 80792148 46100776 712150806 82289648 370389712 35706796 593041850 117341092 353097764 175998350 647623442 423771456 484662320 434920188 208385664 123447098 784555514 450793788 132518124 962837608 956253704 767814124 946618726 986725120 72491306 567305012 502694746 802914864 381623584 246526402 942270230 681873054 8490390 59558306 488729636 542309558 550175316 463072804 410147632 240942558 717621194 320321334 646998706 398128804 686846900 360425680 584023296 625212304 776417146 537761992 893779320 57846468 497000140 733358352 985936520 321627822 652402426 901128218 388922196 38672836 814227008 341875372 599940116 833081812 774594676 973190008 942347620 605617050 295693160 8072108 586178238 637479648 951783528 10341632 448189632 60238186 296216950 714914348 147585612 898352366 307151240 53975010 270487410 186305438 695941114 474470830 137132606 689893654 169969836 486160442 62954278 285508520 219869754 322659962 217974824 364577128 498547790 215420134 551586606 783310324 194808956 650288124 703227124 865275316 409161568 196371250 88065912 534056182 219406194 528205822 320079394 726160484 317254174 159811804 105485532 95769350 758039770 89252820 217635222 204299542 304638596 866661016 114642538 594808544 579218334 796041232 790792594 622699794 922995170 919860934 615072350 869529110 165907028 517007402 366460838 602882612 512835714 961318856 532001552 853204198 138794536 195380700 654086198 8970462 309290950 298737908 355379348 424642038 989046280 895937724 359966124 476703514 554134392 230149828 541180864 575403696 461738982 880189118 671401530 869321084 194539970 262291350 97485400 364461638 658148864 5857452 717393446 259169674 55313234 990616996 371997982 808458402 482102022 908048256 717318080 588457062 693489062 885635924 970696392 101597556 497163026 905370790 333155224 849534876 230861820 378157212 755754732 691554600 86048908 507122522 682078226 979809470 162218590 268633150 231821978 745338250 113045536 975200064 103049064 725603636 441436550 634313262 154776760 977338216 850416568 116147902 973630776 19109342 705567720 179912488 67173706 183506548 480050376 924968380 561744950 4493798 920924334 201589134 273809122 870484260 802063548 401116592 399737672 829669726 973927866 392866320 600059702 998738874 252578122 568682154 905200366 685570702 701230764 205774860 262136592 821450272 389206748 325507924 464958424 642385022 39407464 338025858 608484062 709281142 726964822 392716854 416535776 137161906 951655434 568387086 866709956 447177920 653420568 120677548 975348234 514553414 984493054 559660038 229157828 503856972 404675258 293650672 88635438 129911274 403742638 896673620 734295422 555865528 981694678 757080058 479694446 529406470 874763806 983734006 952731990 890987156 706237686 1081672 930731714 646697946 8756022 715803228 219436862 111996184 407881324 306732548 656050334 99001118 534328924 18936462 395074532 325380322 782686996 32125286 381488148 620371718 25167876 14623110 56146160 161279244 713970116 995298134 449352514 949710522 325608984 975640438 390167806 114211176 293150772 756743782 803610104 51677050 391193284 503767392 768280508 451962108 486045908 748450268 882729866 151833088 302430170 881657122 867967292 267977628 372221800 51322470 444108710 914439974 481199880 522955252 239370084 902296230 961156822 401646534 340882978 752585030 546747692 8111386 402607874 892423984 453902300 571745660 941256536 695256308 112576178 954268378 672405514 801595136 482816092 522130296 457441034 207815740 414101832 198030284 56290756 498248622 276417280 722780574 661080480 902405914 286712670 271804830 786197094 936078048 269144648 355318140 864526048 778939106 886165786 806450896 306261224 760141128 94378252 726740464 661855662 220279556 658710966 625616648 890390528 880977374 589849708 368215948 763385474 921562056 603339958 616286974 190345678 452104518 754071258 629663108 878273318 699141890 491622402 928293668 736662096 797865186 354987990 892520328 197291522 687562080 647377522 120319552 827113900 128413174 877535280 328137162 832913348 780703578 507688680 467205774 963275342 883336314 612272970 391543110 489506634 553043842 624930902 96691250 940187578 463270732 161399738 550937016 446808362 243176460 676170992 21193294 932546212 105819516 61300568 339634414 989190940 152267518 597054020 862029970 715180438 980553184 594215824 881234108 92017408 433612866 343374324 470423548 483602480 709598330 948306408 6535872 819799788 880555422 77335338 765655378 627750844 879111712 31848334 546924158 477967240 33779108 796874276 480701564 152495054 323194872 953141098 160966008 310360878 67548436 580264360 117529416 293364532 631431730 741688274 826266274 172575538 561184160 937597480 461762008 488056758 843339116 970174260 477243998 830931044 936079922 702809180 868592848 298597098 597126324 590220968 566177256 560181478 225283328 453682168 676552720 5480958 300874190 995759666 563329328 76007062 381524238 596286860 586970234 493100384 942570218 374512280 841756232 118023444 861282386 758236994 225445354 60507808 990943924 665743784 11738652 236624940 876572572 181712442 529932258 482293528 891019026 632964252 667126272 9483062 818011090 356530546 900914456 754145082 714658668 825091970 179398248 359818700 472818582 409391516 679366412 642056130 638607456 652409796 615216214 614115396 580909414 35739430 943354154 204699808 206412006 576606180 216381950 973799234 133851042 809932472 797977648 281725162 142534420 13721022 89805344 705295574 452414950 743795490 103639090 307132808 292424746 276305588 259860522 181015756 823294930 52280552 560662528 155506660 285644194 877552224 561023144 413670678 140508928 197887162 411754568 236755682 266463648 674370742 275990616 170596082 882365962 361083660 426674206 319895006 191666136 806502538 269054782 452279194 413580672 20067796 754556908 825615610 770779140 279085860 361227490 326117860 544134520 395190472 884193202 896407774 230407356 687151686 985716154 445220578 468382302 559014516 913623668 421118050 803991198 103406632 809524344 329004032 26785932 709145056 159895282 50785928 906186054 506260250 474430834 384304650 662118136 38512338 302662880 210875840 411969472 531194348 82054624 669046636 656070418 908103946 871515114 849205128 197104358 9752088 156963492 270517922 153276666 529038336 349610750 174537628 893704430 384112386 725368056 683296740 180800532 480121748 258582216 89744996 115235210 235832328 869275966 451381820 847310534 311013310 82184342 68202336 4313638 452728240 809724744 944932356 865319502 765000864 393958338 677341480 211117414 303688696 718714042 338196244 66460450 79030564 66588308 916740428 795174004 620508702 44257180 966036996 939687120 690152406 190638092 743800998 645797928 132937260 683683670 891524518 904094126 323296670 205678840 782586596 25924604 969563228 923613532 758440076 172885830 445858834 430760662 464956472 983225550 592281310 573742410 719437750 382404482 559841264 622322292 651718480 172185798 725259750 118757008 452645272 58640918 46078794 267951984 107393954 6438748 552661736 714303252 930311402 653777344 313258174 47201964 879307822 972115156 802921664 191364824 519881638 538514254 23138154 595541346 568335450 863968044 340774650 651986260 111778484 784239550 610499668 969302876 66157086 318512450 941136086 311175790 835194210 52317142 925727872 816342902 22415868 972030772 494040660 157224042 630053066 264925674 336231806 337026190 913207240 964045118 533651748 219816174 69957598 202918048 774522844 587882840 219420392 30433324 216977062 209709400 526814020 52620290 749005714 851029700 685190224 111630538 353111706 564135948 21311094 416935452 693951228 102337682 382384606 769565326 300472308 987468432 749564318 1186902 744646874 794008822 230691972 644308898 909359578 767600192 394319642 781455744 127231076 134328568 997862458 370637602 918144704 387300802 431609530 931102150 458235614 812526028 306720490 784652410 969092462 725301348 777462946 661639274 858317750 660648390 436753172 388909792 655991168 451795494 64464168 675623386 784257510 698267072 251510868 9226262 29000096 25431398 820683228 798991062 317208428 984030970 789812702 738204634 532295394 795513412 313999770 879404592 781192058 478406200 242358472 439308850 596210206 304370348 23692318 664601170 224941674 319823382 366960140 391314930 919975994 684942800 586957266 34340222 525545542 95916716 840350826 106996788 646134402 818823132 211346236 978908880 43684676 489740118 266527226 641405198 985696496 130726700 34537474 917036242 667775054 514843602 734178812 462601120 826865968 536937786 834276124 581392492 674778970 700947354 753044244 70972638 540040642 145550470 703899978 395145364 203272628 966140444 965914946 479583094 894909130 342214146 719567108 402766802 582206788 822907372 667747328 669059496 575401438 410093584 487988596 8173082 311260818 850758536 774853670 638364820 816734892 823429974 26360534 732049850 839405226 762658264 719971600 963342276 969540174 467057832 966858594 410574082 764298930 408362642 899202238 801891762 218105398 612123468 743240746 536351892 487741912 111845564 839570168 980049576 900975684 283944122 823957680 929129348 664201290 365815688 932109458 772366296 856285372 354326146 708874028 724171018 114060810 962444692 884300470 872707522 664427650 18711070 620582952 969508342 638952448 212830506 85218074 972564692 560647070 516657148 753355416 816961514 45113064 270613010 883827990 110711978 836257750 777777022 417481386 390276512 92377146 617872634 800475312 968265796 295306182 592867774 250558564 153559554 212533042 895764052 840589086 564830568 866759290 479811466 489259892 92108196 245073340 514733776 679240526 974709634 21001312 838939896 780723682 148498982 889012076 369734556 724825904 747237960 572479616 600204678 45879516 956205806 779302868 893080448 360888824 294394262 939598996 251371898 306838870 948870314 31585224 461798618 101507800 390996190 658430848 751814926 599672120 432106312 608089194 64604904 863453242 911905936 781727602 541276644 312330148 969388524 678078876 410300002 795672104 33087396 234747938 286363498 806656890 924075062 592812050 878546596 846968540 40058624 665823308 923140548 912937212 247664644 521218944 410566390 847206134 412483144 891788920 245504472 102308700 649695604 799262478 939318338 207801222 79473404 166485020 323733190 515103146 396579084 517481304 892118222 17445734 793134770 21943686 755712944 204398538 79371960 162587106 14710466 994735304 316521740 640684420 769020422 335332140 734503260 503234820 795752862 155178602 180631694 249919926 709415800 898982556 817628500 456892658 38228220 326704278 480528226 781119588 888639918 346988736 591546270 229481620 708127364 634727208 25410938 244009260 630856440 193755170 170748074 867640250 709978618 406812010 865707362 635597384 541813828 581491234 317474390 931902350 693044540 663863806 255910474 376788480 690326390 379613108 646998426 128368386 516009224 285781124 956809314 985195614 619484200 848613224 926631920 216750838 375146264 867790724 326870154 284343606 183653996 272890992 854297926 755725812 662431210 802415672 143908154 153283738 996773880 14581082 242643104 567508452 661607278 578866710 851889136 380354840 315812746 207961176 296851844 170765898 530742236 431879430 618966308 427678492 352258684 351136352 241161630 59910590 101601236 434848382 31946000 90929074 855664128 147072904 170757726 329200178 144442040 251744204 110832822 89339370 740604880 319133718 276840084 575013974 30602606 472652626 284320416 491580402 186556712 694214524 762275080 406187414 69256714 984127784 126586006 49427124 867931868 813782122 858584186 632795428 421206350 964815992 529017936 226588400 425806086 394489020 474314484 459975450 63519670 996245228 858890452 880583064 639592826 839692112 302745092 831311168 408628316 924478418 864966796 205442004 547216300 383289686 148857368 386556612 300620868 550095622 508887922 136148642 288588044 62361100 798814786 641021170 252627578 193165794 712253424 224016698 294052996 171518272 940473882 155721564 84622158 428960944 218493734 931969556 736496620 846657600 942410236 506316320 551522836 953795450 124945054 946490040 224600300 379455220 185861260 777080476 11076506 429769434 937906142 60025542 521935594 260802142 137549006 460598790 991190708 782392948 664365530 447522652 466860156 233828692 269131872 674346994 491471110 605114708 913532486 164262906 972548718 357663442 149978756 376779840 5806740 642616900 76937932 405201920 728554316 789621364 119195462 879816106 312808978 125160082 992597282 698961454 920406178 414727922 286496852 339100062 278791872 403795910 25365032 996314728 457274002 674410092 624259712 537960928 690356654 187598858 524050640 515122278 740149252 690497992 876888644 27982604 934222780 920012574 519534762 981990568 823844320 28305454 296663990 615713742 289420350 135340470 361453600 26914216 451692540 630354364 126959234 71966120 523818652 860801804 411774816 827107660 61916014 743051338 111238072 616684862 459765080 286630648 418076218 41852906 828510230 277925656 785487150 546942336 801441738 460540698 650534990 937136052 652794494 267474162 157718188 438591112 182655586 757900458 264728360 940842332 247963242 945041520 914853640 299868350 192520456 36745870 728502436 229779374 844473680 347624230 683778996 535116286 293972428 321566086 407251500 931430408 99339310 343599706 385367270 88307042 232365520 424968376 344807606 264517324 53128850 528876662 285650858 104544186 329723308 760994886 922394144 421314820 333572024 899479222 830908612 51599990 476035772 577462320 708950204 722146002 340313696 125508754 912523660 734388470 648213490 606513940 562539194 363825068 719559738 221049920 521244716 637546166 397068092 132965880 37377262 398715376 149647990 500177908 366679160 208619196 816966960 959060958 59458230 951756974 117392988 888187754 364229602 510475910 176155788 457573576 336188208 176620920 485187292 887997382 203740518 540647524 210196634 955472216 310587102 425830890 984100284 577849624 283556912 945229062 772903338 900022358 753523654 709348716 3234006 903356252 40517722 397051838 987462310 648117488 865566288 716011190 216725176 547375638 215095318 535472432 841390590 298884022 979551644 682226664 887734286 347451844 21762778 1374662 434442500 772108838 870037998 996141680 787457910 712851532 735182700 294674798 715867816 396853916 744107586 589666752 435088118 712255566 330594412 744311882 895161564 689836890 982461916 379685876 467483630 326989910 9686862 228100044 582747974 636488256 730629854 456527734 58661358 123066854 79111414 100969402 588061318 440171888 586737052 73704170 606699084 210078028 585292552 824544196 99718964 146238748 440913682 762369474 886273900 992699664 166138080 122875836 281529790 208293646 650012172 513453786 26262396 885126514 575998496 104545312 793181632 320254896 179854468 373843796 977187632 704775670 166431130 68204718 74553274 91066776 464726942 965652936 181466830 474799740 190038774 283113702 34444010 709108598 24085624 604949628 48709724 457447118 318654956 382838444 293232202 347060924 840773244 407164002 321552054 195229580 127605688 603570072 237340490 401538534 213151526 18006748 269582822 29290608 540046460 583163666 654996370 138694716 341243894 990287960 724813496 890082488 527170646 776402724 948206640 868097706 331600560 194647128 470670064 466517058 674162382 807453296 552871896 625878456 539432978 175666160 737090764 214472328 484790256 263111996 740347768 41508128 696522304 401183672 65366446 615231228 747439096 459902898 17512920 797175904 116947896 956857156 173484602 236158106 437661328 746091058 44950626 177247420 691757548 447369368 207435786 575591380 588377184 154555480 525585264 525016502 294578480 673305592 84541624 366164712 273778360 633790512 630736156 673923430 921603552 266487926 991518086 610297734 71683542 840013304 211089672 970967764 350214628 824759564 416315468 606034658 642003368 689071082 800870522 821257656 27991112 26550780 522990694 505671428 764353924 541825412 467374010 810690660 980282790 847507614 153426726 168547894 336381424 872125386 100157546 279754438 919769362 796061558 111766650 674451184 464714904 289807600 723982852 70675128 616594748 301545692 127897058 37499562 346032714 677337530 698079786 976675744 33534224 567841062 984084230 314177876 166938780 62676194 438514750 880583090 634948244 903710624 201368416 425354298 165982914 57555420 821728744 374547242 8658516 64980452 28591068 83966452 63843316 625495944 410693728 192922130 548028246 408019408 209604912 641362098 998452890 392919840 418806546 127081574 973372998 695171260 258123272 814259242 152355760 20515340 876682672 405221424 306567086 742040408 188059250 898960362 694481590 945868388 904134512 456360094 367141620 385139668 212917120 509499884 248011368 211994542 932476744 186016400 624704846 120012626 449948372 198599500 194746020 781772846 227969836 816777928 378859498 199573696 404667924 79148994 167934342 24682312 998674714 166655402 898117458 538861254 993626682 818420702 901594884 549179004 863159076 593804396 254873120 594759286 616566698 633226256 259421090 281840632 282896298 66569754 100206034 749159314 279469658 542641390 443343570 44934798 790073062 893896894 845207756 809581942 26509156 300114610 454066422 810186212 211227902 460993040 685848656 779937472 490297714 568090796 658681714 229439444 275024250 310527344 874918098 551469854 298531610 67189218 384875000 547287276 851032540 427336926 58418660 295500490 707157558 479303322 945037714 629820732 683687202 937114824 11088376 679149054 835135096 632989248 557512102 276763752 383513452 149709554 298678020 195170340 291724640 641167498 66169314 295981186 74896332 129478582 794925300 610334022 853094972 154766128 954705404 948941582 515220970 292476802 847615504 345530142 926146412 447229656 457441294 473912418 893462852 314430870 876074354 63946228 106761502 547182256 886250506 953337150 632579538 658670744 486330208 809323492 129018590 922121056 183303710 697606728 407657312 479144650 504801122 566583802 492038714 353869498 837401646 312217776 918890520 277631112 369929762 999264902 862400140 791012910 464806708 862050802 868679736 101527346 378816880 265214728 111703164 192160656 933615866 648758524 76479526 972562364 480224340 525668014 924956694 133974986 887620310 843774980 599436420 231263028 346821168 517226400 979609546 779640504 138358428 832432238 776935430 695039664 100911542 630685080 348010092 244132122 818842330 299646986 828836928 826678116 385421818 43105312 805059208 974291118 482056460 278370916 808230520 767330472 481360872 527799698 393659178 283043410 47522868 314256870 940490484 238671552 913092864 768924450 642063766 631424772 302001554 279510810 925815834 731182924 810819552 603682058 893522650 394775900 349265910 100192084 881175886 820926168 800680544 821395428 738812608 563853772 831729372 959675098 960133852 499296040 759759508 461865300 917363412 623482848 796278088 983179596 634983668 202091810 197216622 732364914 772256090 483517912 231342188 691528192 70664120 253810246 176476916 962514532 885666762 541895200 434636178 326359024 613930358 491859110 177050182 109475222 850804666 612166958 973590314 396062154 813828486 316045706 870469530 842838474 115431908 429004938 623598538 607786550 859932322 34661944 936962836 656822712 312209096 554023882 633674726 585967868 192759260 480643890 675879448 911007114 258714442 815000 68839940 704487786 285928162 836092064 628451292 224920586 969133846 776164910 477907784 568967494 588547052 35661958 957264166 63429416 6108152 143850042 153803950 967951488 81275762 234980678 579511214 478661318 275265928 386008080 265214658 19552566 298997876 766749434 594646942 546780926 992389266 777053142 425371070 444791508 858481640 655579690 842760914 4648864 327159752 442075156 595274138 998613788 673574956 204720034 161354624 192862294 45147452 393342704 783564372 812312198 284043756 681947312 53851018 937386632 720507348 892712146 298548244 856383722 79222584 435545120 951300554 270467394 13736256 810864544 687068824 517944850 886902440 188900790 386017800 470612334 383282100 743443558 579030894 736929896 396848566 518252616 929543106 349981998 782822150 523178876 453508886 976032872 349494806 691841648 547504586 259748294 100147790 889506950 198885372 169946530 203947268 226091648 532289252 629239324 144682186 620390928 665182432 628678132 982115190 248668218 734573290 979594454 224550262 918520668 198709904 459165110 788375412 605870172 451512014 751885584 137207296 193363352 485495806 997868438 814150746 255992436 827181818 733821180 832533572 299318764 852666488 335838818 587089982 295324200 339310958 706366860 716245772 705832444 817625208 801463974 987154058 997241746 559638716 849316932 651495448 271407212 619630184 509499730 600780344 263209852 95154524 223123900 917768878 349314176 422112232 788275128 303814600 183625228 636107412 487791968 119161830 79177712 81712316 694641382 512475574 827647556 69261428 612146678 935393912 469245840 631290358 874061246 936703710 398008118 934846826 126745722 790184616 562203498 400577188 540913544 616792036 948302192 152962062 314317820 784779366 590062582 732621230 248839506 663084142 663828302 212108444 289778154 199620670 68270218 728056442 925483208 876910724 477902616 370945646 662335666 413483926 585953000 826726914 54626564 58185308 999740468 482610366 271077660 98150536 178693242 84229956 552149830 586115180 703921744 391427230 995687752 406614886 349895718 759667916 767072428 378629216 735375870 103653580 973428778 856831914 859701838 617746864 570722958 900068594 13724594 101383130 426251658 975948256 827559918 819357658 314291108 161020692 238678278 947974540 790723452 480612398 276638958 583153960 573452130 846787140 641119278 812901200 694673808 926015338 45006984 45830346 998143408 984769788 818024896 692399306 612951826 76087986 284352614 976841854 416066808 413432150 701629956 170089258 219077262 454279910 979525512 498619734 889486532 1915476 128785510 136531230 430460998 5142222 47661040 894727928 455768192 14290074 321694012 645731150 146998776 393446068 873648526 559067966 199463202 993597836 289544824 145324026 922233736 696816840 861833978 888366910 613831104 522216546 532756638 245032376 838184398 335505770 54588148 16157950 821627928 888849476 462863434 106781218 621996530 478007056 726116164 581821930 982022070 734230614 42198766 42414730 699925442 393569340 624794942 306348272 567495746 910147852 769254334 636509362 254456252 898302266 139331932 228260446 898660934 942274716 86907194 184485036 968160200 71443954 653162904 645961434 375765742 114250650 233026186 88390560 973976812 777345164 784313688 277185860 485095422 58165800 435867830 519389306 540621884 496169890 741838950 780644826 824288728 234597494 585750602 34221068 632830916 911006284 855488202 727735270 2640366 2100358 317554494 91979018 54736446 813945050 514754742 761072748 304204298 219488862 246337628 299344450 228810930 322301696 266369416 54243104 862904334 461335946 206316400 622423372 952966552 468102372 212251158 892621984 343747188 210290918 628044912 502086610 465234146 173220098 744094416 597448106 723904858 214388334 567178976 783013582 10580358 511517192 540369132 44816406 464680766 294048902 407098074 445491624 437302324 706385834 364912212 451428838 715746520 415923680 104092854 210382330 848772428 936849184 499368780 847356156 473110878 847691244 745401090 449135308 94307598 62044364 463318438 265563590 639838536 104721060 429082472 859668352 850381298 137722698 723321498 331413086 513706912 913048896 435542216 531145620 37876298 171065140 873155594 272706936 714563956 323602842 434640676 302853806 800948548 821923552 860268616 744857230 911175854 474970788 771787706 894227148 580568006 685843036 816016540 694877014 248349288 344488374 977451696 730295180 867774450 307752960 327671316 378567636 79825658 316101570 996737834 790446366 577372312 739143916 218121964 796236124 473236868 816337010 940749450 899062438 629509772 546681602 410972758 171808064 867466498 573447708 546320236 36696634 131611884 889778100 900509352 261161120 483632922 391058112 905820508 567423238 299002658 296286772 880099016 109502092 134165364 833800152 658126460 39933792 525218294 598401720 162568198 403664254 784939424 13809810 393606800 919596490 393057926 491477228 426757668 25729466 986617362 490481604 547305720 603217710 481712558 747498492 852937788 329060162 142430068 574827692 250288798 628215824 662145440 375322824 137801786 596082000 885537978 616927826 540465856 706104674 322708324 384171828 101169144 576162170 525102820 214630998 19315684 196545282 788369740 52086148 194727602 317258016 514097826 498553712 700052624 396695826 904406882 777213168 734495824 676596976 345004716 453828966 762639576 433925038 760861432 494635350 69629920 695444918 387742106 284493238 893880456 904015732 497941834 148455698 462262230 710139808 238862840 984638076 545880032 785704764 580518536 231049604 899599652 989852388 21066866 948896994 236653030 498120662 19721550 122187798 331249926 489779010 788084512 802490590 142496422 186543834 874417290 665474920 179262400 638531270 634188192 260438436 241959246 421066136 171035008 70130724 302117980 130843958 605382398 91674522 610064212 779210438 962875738 88599934 827369022 149700450 385769840 429449508 664003860 565604186 944948612 909152102 278120614 609600856 554837206 792926268 660294568 189781354 272880 298849520 751396466 85424804 954663292 765942896 43574130 119898070 493941374 430617296 612583322 85578864 900215496 874727718 374655418 600179042 182571704 592775592 588496768 8415230 99681308 795494820 27101850 474873912 336526664 939829070 750911442 884024028 200776210 159107696 599976688 986972598 35463604 852768548 587353272 244844528 910429186 55164346 843530424 236049368 664017806 727599340 180405304 386825034 32000480 261797224 764100484 54184214 882933350 668927898 830513616 169821588 448428862 551258956 523878946 205880874 801681620 272985846 877950224 649634340 616428708 228952688 825084410 183472588 348254914 946296388 964191710 795484254 502471344 905470056 425446698 815711120 497846042 172735152 897239102 194921518 178140606 950516902 277107434 203092260 605955346 966746038 393316872 616426532 80895190 426711078 711617720 244450146 850394518 894211130 271906648 63963810 826165468 902076284 72253996 108703756 968171224 103575594 839352992 422122548 886457098 701883618 675329504 798654054 618115286 704410816 934935834 645714766 80268624 959078232 51059642 387962660 705014490 799879394 600384368 904198536 903066168 533422898 792717432 141913438 500287506 549914064 884261952 426936678 655529814 971632542 541153620 643008766 260669020 618026448 213287256 243806832 517823158 396355144 767216292 594174980 97428528 46810502 395047226 238645466 666551376 710073256 593621312 749698016 330068998 496344538 664509328 381598738 432406686 410408306 319036722 63865776 324786868 974273160 862007968 432195248 593770350 235482600 725763478 550628594 49274916 6616520 698295226 663249552 81460036 421569326 647353880 308451418 612422064 330168378 337591202 497160462 248865180 860160244 899843298 26207044 331142368 448031974 40081806 996046656 996077614 930128746 545550510 152364988 799237702 705671300 833933976 172581808 651779684 916909614 414107724 905136504 645538574 47376812 683721728 889697518 333940686 974513122 559921938 44423570 469062064 939300574 910606756 900865890 46227252 861862880 244836062 55490630 535370258 197569968 833282200 940580680 666599664 401212416 152256572 682186876 121235478 598626448 172932474 538570610 783892652 431518342 730072900 712169784 12851140 163686524 744585968 465540608 500733828 360007048 180119608 37141622 169194182 487042916 435799104 990861546 416828132 580603636 987589294 26644556 38797954 621832190 672218552 609523884 543744330 18525962 363177612 249708104 602608994 329034408 128898020 846447478 721979286 792480126 994951046 850041682 35240884 930828132 760906750 370469146 589565478 384157272 181569370 302061668 674682856 574921010 391572340 280142198 68176916 417862416 802285430 516000602 939360920 961921986 855670830 251697118 378421564 167514680 854689666 91466702 73133946 976084342 575855050 651265834 289452572 357774642 267185404 47752910 69505242 874796180 742950764 500120362 393036792 294374134 608830346 906487896 303030256 520921878 184804464 571564238 946959118 406166150 312990570 218179460 571802720 539151124 552297554 147634446 100236822 518994454 289048236 880543436 458937706 341079694 50171486 322334652 963484846 303325730 425463110 12025416 915919454 715893128 369269758 37382926 131054920 663885704 233679894 418341458 829210238 615997354 383734042 874799632 82890862 69288210 919361254 706167350 885375770 72683736 105403544 464417238 349371390 686677768 266491012 77885410 460183406 483485396 269855060 921971364 601445676 72156122 190605062 50034114 492774306 562133604 380131638 924490778 560657382 469945136 868653378 186249216 26007524 185050506 174355088 871408702 989609226 321898850 216609162 978041078 676394566 415172908 74029112 413231774 251899498 740677592 396006978 79779274 792072034 35290146 512847532 300939632 445946694 518453950 932594142 141655044 950002988 64978364 942241044 570220362 151497964 572737488 192948638 729339086 893029212 442020200 255317084 491713486 589522524 332129312 13911572 69938502 547224476 350454820 390611682 314741666 535050640 290568738 249803830 384846948 765747304 576842246 427584678 472451616 770283406 119978690 891992132 412996990 148379714 481415538 423660678 369946696 202223694 414190794 440590168 328521038 778331996 458860196 134108472 180343462 3014228 877155976 730530300 528610856 503032054 15899134 305879724 750092842 105093584 354171510 887916804 158136870 737742136 532499900 339211738 58697622 157450564 964010250 221622772 561835464 562608232 90559870 170961970 252629242 792317186 286344560 581613362 749539666 137810822 277301084 333732880 637508186 815467790 124768388 74141586 905591506 623114164 142931588 989342814 852023496 553006234 447165674 170049850 222709124 22046810 335928738 154244700 57349876 125926110 731923444 769348124 157827722 802200832 672351956 268676480 91567486 352313364 641847244 185639276 604329762 933474506 439188822 710644398 483867906 541589190 6517284 651681258 762803316 743416200 714039218 899720918 410000762 596264770 701728134 295654370 941784748 793395170 178645952 125397350 858368926 774977602 641362730 174537256 497669982 893963146 652280946 537996168 538462550 6049326 965635332 925846302 953173188 399387032 567285602 974710000 828489572 638389800 262241876 343305746 952001138 746370988 7953812 345848010 1119290 310543002 897173366 699152388 278221720 363529876 875136856 43318282 885423826 853274632 952276518 208014132 15196860 759098798 93167776 482646624 863896016 713251804 852869940 385081426 201203460 704996334 678788174 268594058 931352752 798286282 537153408 792341548 308603010 532586698 171473140 887770456 908816088 744818100 8314328 611767102 670111628 117251680 692395094 262283238 610333830 178457726 157435920 59136040 434625596 565679006 131735452 79142970 287224838 15299824 297233896 119097410 718126488 120400484 290266446 69210980 582789868 330468486 663111212 761682358 52028334 190373992 551720156 862793636 749602428 479461384 205433776 948099470 623310706 565041110 234697038 350543712 881202376 122368762 365479374 318367756 728909724 352853382 209235046 762249508 834624054 362140012 424599836 585653684 392550618 201720234 198126762 731668774 79862236 311622576 534156672 845288144 332422930 241404454 9192902 218397494 102025030 529003730 459524760 850394876 106402382 873501016 538779132 786949960 283178796 616095830 793706356 617545792 869470522 606963096 742670808 956464302 175242352 750258804 882294398 891789444 914304688 809259054 370918222 244199482 318140620 532846294 32509504 396952990 188168758 612804634 85624412 224704990 778118176 702793262 99433468 2749004 468109712 990057018 717091656 848048388 569653358 49727702 338127770 480545592 850347546 894398246 925702916 79042710 165958570 339351396 423566208 87121638 477384208 887268946 955533474 831076246 941397884 795384302 884443870 5055388 88150300 643971740 145809970 107870610 283820186 218007122 219666610 771861712 200642942 847008614 805216008 877075290 448554304 860780676 572520280 878361796 898635646 5893828 753058416 334441190 128271768 298738310 919547744 522804452 194176398 67586426 531618162 111056540 361310798 975761218 724473502 528532602 161140844 260288690 52311604 356942072 965341888 336957558 434967382 696653474 927096740 760200140 721082566 509040876 842320242 852665012 616563740 737600896 656168972 839241112 713643518 853435746 631900486 329349128 511906150 329155194 550646298 133434246 692236408 25180636 402402038 38629134 223104364 874489842 850047254 624660026 581255860 571975074 964832480 12866778 114806240 837463638 923861054 279886070 820540372 831932542 205158258 555280312 953245536 59014904 510853666 694877700 769086220 42643290 688582780 185841580 620346434 974140836 940873576 77481048 574344722 529779894 661822604 284134574 760612226 858764054 187164550 471438346 118790084 968328118 233331032 364867704 133498202 721600538 541929490 495300662 5775098 155865210 480157452 181378804 7244378 671660102 120526446 941778684 810099830 835034518 386475372 277487384 101814890 990857906 833068926 242855644 992441124 825040148 965778038 419739536 870759430 7378846 64836468 343436168 785616544 602079574 745203650 690069872 45720098 214583532 93507260 341456968 94456894 989956718 953789996 160477336 363753460 524747326 724045498 27480968 305956268 800612556 706651364 172727460 902722522 874005668 288640942 832952430 567620218 52468642 533971682 838257566 651029280 790222686 843967290 609888268 591476362 124176502 109676188 778348810 136808844 57992422 73792506 471899272 294449416 250118720 599244316 687519968 292078648 220251108 670191660 613597302 719169188 954097354 87514610 939192476 755391430 829117810 14140194 147130910 89053792 365339988 863660174 571457004 647661242 71411982 295613098 813347962 358062622 924855672 11008906 34296358 517282628 825893474 490412712 6236606 616732014 336899174 130453198 304752220 405196138 960491448 813943304 215361638 762465798 80330584 721347590 959450310 806432468 46337960 18514928 947602866 400015242 799479724 245188574 813763156 938909974 878118258 404832720 297241904 869045632 558723062 940924878 515361636 973612116 429925770 219206944 953243386 573752296 834334692 44662064 174319200 948695808 604880694 885166126 617395532 793812120 789720090 61846238 586990682 615466548 916596316 261542370 940798000 577126244 951208770 860772102 588201854 515329904 46270382 630337046 197486576 823655158 88701918 103635668 150580566 746777546 801756704 199661338 397033458 101286888 169081088 172290394 537150182 936201166 95461532 606729622 18004148 709187726 784671262 715061068 558459838 752833200 647559724 723514516 629073142 873260750 251639738 317595160 101556894 574156520 469431932 587444294 861598716 699629936 851192858 955024528 26476884 275833412 312400426 156982390 334684784 903608156 486770226 914839144 533810984 129214406 467785570 714198958 284731274 765240274 743808840 622050592 960837438 123193284 688252682 667449802 846863484 4582130 627057520 740040438 90161572 236993656 895797488 104014340 397483360 406035000 291083398 660655714 410452516 265635252 770637420 609016660 399656448 623105032 725664628 57711420 472778790 856572258 81112196 449159802 515273326 544722934 211105962 660652756 679112196 611199798 763719372 726342770 719598334 345395124 586793772 912380400 799847754 802514392 335187428 105025002 147329860 675078320 801664692 860695192 797845864 974470652 655911128 943603846 127042620 128570168 677342192 159413944 493177098 395709876 633745804 997622176 633114970 899460678 625118164 871912690 663639734 626650194 253776368 93296992 20296328 401604832 287120260 325138098 902014204 251516058 540080094 613720760 207824784 339719762 857728082 752711594 812332518 466113904 390718038 482376044 731775160 463271150 286088318 623149060 559080048 303149180 733148 540516818 235518860 922340320 433849942 840304556 805447506 333539184 299753430 680853490 194278054 597867976 612570744 376752152 56957628 144341342 357821002 855644688 474324704 949131292 298310302 819645938 544831136 188720658 481496958 985740102 895921370 828284840 898096408 823056970 587098362 490809910 847781748 966069536 132281692 962939506 527501528 999061382 98480088 190752394 931298234 664309486 605876850 606039686 439361386 990214370 259664226 663176254 242324120 511735144 22880256 629687924 686111462 280997590 725780716 115488154 780278592 212510204 579649658 423362062 947079638 800599364 602989002 705698096 462404642 95708152 768188620 768061492 193124078 72048366 606911428 378552280 975684066 491846706 21763020 641263308 144341896 588997200 177403250 358177188 562506726 598714138 728873600 77730248 157839152 724014794 495863676 215759406 147034634 483863734 209946106 270050564 828263092 974183654 478833566 239926046 359192206 324358084 222432416 559015568 247185480 655157158 186655642 152849944 818323494 166984852 541690524 446148688 197485276 785770084 105110986 773150858 721489186 676315728 52555274 17042598 99590506 664765056 276008190 141843700 998987032 462429512 857871186 532609896 564337682 81212704 324302778 789797086 915617758 111402498 205532540 832071232 698377936 351132388 257340116 433996382 665261892 877219664 305464766 825704720 933798200 95367694 144866892 393302386 754199508 157397626 789588610 70719898 400709068 17020342 994044950 689380252 376469852 290708342 332591104 604677556 889990626 39003122 756889920 953193284 826015338 636447824 91517384 273433290 224452292 338173928 537192272 639010538 939494020 940583720 329587980 704180316 764320536 834044596 280079328 56188994 337272644 175088984 595137354 122450566 622322306 442789114 614628924 957385538 206672820 376713864 837174668 897128822 490230078 906492842 724992514 542499904 42338116 261708742 22633816 632358722 787063356 291547176 400488622 779309092 122651622 324984026 78132138 201385386 663053928 69192292 214881092 112100380 586182100 785695502 24163740 808987082 694610856 20728614 254501670 530458526 602647998 330772072 95387718 549534544 152806462 760629348 613746460 579920398 885961620 795272196 820633716 203730644 231009936 878012614 403997162 349814074 778205604 660559664 126067744 621640950 230855170 873873652 638924892 240619142 968360044 879621534 252949190 771544482 576407492 191070148 365509142 246326486 635407932 939677964 836267340 757899364 361816868 13357014 629467178 112473606 238296174 317679470 299927902 993022782 215044262 843929342 673001582 828101474 358296604 795970402 225970048 497337058 800874560 884038440 863063914 639576314 620278734 632035256 625653048 389791560 590363250 638757622 672359490 29052328 639484938 917073236 719295274 137121602 584127314 140899186 666640994 792784688 918227252 519362916 343271948 999346372 403411322 805677690 24230874 100751826 53620566 497468132 115776088 68944364 291910942 583726888 40372958 569735232 444898494 769070556 62547082 164572376 190336850 677013378 502747020 248879724 939160950 281115692 211473652 55284090 380249052 967982470 198626936 418017854 427221568 260080876 796208156 794938668 457725776 844607332 911149050 54506140 608905876 121309312 669164868 238658648 669129838 831616078 297078362 162256828 921904560 204914040 240283152 33185508 557426106 214150678 963952720 693629268 136462926 699250210 262644360 538086414 467117272 223802204 664597922 207808436 796390280 121080650 165449062 867183382 952446812 924345496 577553864 342697078 881535296 464120472 97909880 293984550 839098870 356761864 267449296 842487806 75925998 119491118 212760020 59152344 542767920 827457332 318836534 393394608 304337646 670539018 72680388 637992782 364116410 153222090 967741054 468279208 785434810 225398700 774184666 130208356 24580522 549448000 35629588 599102580 215704638 764379978 27502604 87117606 92942020 473661042 49317114 839338932 3842250 27370208 32125514 273685554 487213242 346423986 423887110 344178546 254989292 234629740 916005282 755282254 868288934 386025880 460779992 694561914 187737710 66672044 160284992 460151170 696855434 270569346 943481266 160602692 266681838 309168946 195338362 896716806 251229042 415687936 170783834 841634086 981190900 219645922 659396972 863384650 940483504 665762458 212420596 172377794 456989762 428056180 93112362 358288484 182504804 480226182 474844342 677642052 505754674 848804316 650319276 63838604 646226632 606072996 39121192 965069090 440762528 525608824 916747368 45927194 638090826 618339376 295887484 926200488 164884794 839395874 477672950 68584044 485304242 554371550 540331080 860783776 838181312 719235876 581767582 977474588 912714024 949433544 925595780 150946690 766553974 678974266 42740306 558118546 430272098 189827730 818476088 190931892 701965218 179911632 199798578 156653910 811584768 616124696 246096194 823810226 405678216 330116484 205118358 206649290 259128422 676799756 378025728 939299066 194432274 111585044 970964858 638597138 5506362 529516852 158061516 289690772 932155278 466567304 510972930 163128888 996925484 819995480 923505294 393911926 200502656 321711394 717591378 747926958 259067740 31869166 844162370 595322506 62862410 324757946 123194390 31030704 374757284 772690036 188646330 134087580 793012620 764937966 372994218 720686158 960090132 87754630 368432540 17384340 335672798 749892950 36744392 406421076 106211638 791155578 85261140 175162686 301026604 851499380 173497408 163199902 816369236 175516960 773311454 329442358 375997260 653425542 675773516 91962316 268747078 307763560 409758070 67229554 879638910 642728258 57216152 807921074 783415818 161371978 141850320 472415770 308474300 601669012 830444750 474346428 473688280 230168316 262153120 829035114 204546596 311567522 909255148 855428398 163637290 436947380 826702840 619335840 603904264 660043878 85683016 665792222 885281106 275962158 849134960 81282302 582614760 282024402 818063452 39256116 774525570 4880724 205368316 667744814 360188392 243106724 310617468 308681184 343475618 24786420 984427094 912346400 972216052 966570102 735062738 384353714 711456554 375839284 551892374 470927072 942558488 242821270 116125290 659747876 618969726 795646456 405291356 30942532 474661394 868924244 856575632 683647842 856979140 400492910 731083854 270772030 97127178 547976110 879599636 424957786 482497924 795905466 729178242 230131402 114487974 59318190 276807288 552381152 449880068 419440122 905900014 158909710 605108014 510994570 77628944 12399302 364721482 313157156 261646370 473898150 437471696 104785786 234168682 410778454 406977742 661686602 165907798 346705794 562504908 457164076 582860536 746130690 744866552 626064350 32269394 5586570 298936950 919916470 235880922 257435312 481361504 380059650 485148288 345582312 798739414 421780780 865533580 934317066 776507188 448867168 348284060 624795914 32931014 700333622 618074600 471687844 414567322 31189296 262819850 197405254 455625568 114354754 228910376 839619594 267742560 781841682 275774062 330672384 281589404 721578910 716752258 558269778 571699912 389587746 595053992 123281660 607264116 697987160 690876404 150418086 578096362 170073782 220153756 192907416 632724400 527455478 971859954 269677870 853734774 941221068 802847770 315285674 223757510 804725312 862217014 946314414 963640954 730015938 999421856 443847746 198127616 670761670 723531230 273280458 171939488 961054436 87465138 729705326 790479332 640373408 341520578 724005574 984126634 27458364 73907806 110359208 296402014 851859416 450065508 795570288 994905282 330481958 335059032 740017244 413228014 965542716 503718438 33290628 211542694 418643432 56426516 627688782 126834934 344266782 430660998 839464852 784986426 357058872 605663226 46278704 357656156 422564088 164989792 752954588 796113934 551622064 740174266 749195074 725575796 414885566 862987258 444277128 498390120 989579072 894081364 957060874 153799432 901215968 810161300 601264640 123461414 775946520 411804846 105132998 171355438 848705964 686035388 746836088 880302172 844574518 68614368 662475468 472013058 100843904 821242028 676480074 152007288 292112428 318320462 899460180 996972678 249545336 860485780 752333544 665816504 202895378 847300938 515816220 542526796 787340236 384890164 379935410 599752524 30978022 594240286 82110274 837217320 600432772 555661320 559687548 163741082 444868390 422816126 948649290 442915942 560072228 157713662 449278626 425349830 181196028 982887774 990721980 830501398 189962420 554884668 453894876 121145310 356976056 145437954 217327186 479225856 995341576 72988964 477614358 233576808 442434850 356213008 720053696 901960260 285479326 783001896 589849628 240295698 232080576 439834858 587299266 510039888 486527396 519264758 102338466 696091248 373358012 833081458 798277820 609381444 503084126 599667314 312370802 476624968 755713896 305839700 673456424 659923124 39641480 673489048 699264662 177693710 174400006 334307848 707397678 581120466 812805078 673719428 867898156 302646374 256460058 218298534 393953648 324536708 682206234 463011810 176436480 671500586 53997156 190266892 515475746 12406976 174478836 779028350 16211012 634412908 595026710 154117598 503237400 688388376 430584766 629106122 97550000 581979986 235694554 18485154 839587270 5856546 63695218 421017612 443296758 811470436 209235320 744685278 293357702 537857550 506707268 421458848 199274222 841598534 871224720 991525690 271406308 378344262 915255686 641648002 298199064 206863356 834922274 813992882 358993866 600545798 286295416 727707754 722691028 683866560 184396958 552629048 267788840 204606682 862573312 610988270 386274368 923126524 27792092 452195782 81383898 842185948 336542448 11723448 910530580 943552604 472682954 275667760 380727894 419191686 111969354 33363954 495345354 436658526 948438240 163951858 421362866 728246410 62614798 160435326 537711218 138066698 431392152 815796652 978516216 574161886 925926778 488979992 822914404 816777926 470630576 314596864 868164744 778716066 219652646 553655648 833683024 191866068 224419672 197391122 455751794 152759986 184631600 535606568 670545684 481001556 982222872 123084626 115731992 931831632 553271096 525446462 545595654 407777768 723341276 575952176 487263790 21534544 686013370 883656858 395059936 779902368 174288984 731485312 399268470 992811992 198624502 153326442 224411852 988439236 739060206 530857856 57686356 21538976 155125816 618674476 165921620 187319452 312027564 28838240 149234738 626211038 181177002 195719210 162564526 291842532 165394426 715644390 951841596 709002184 360682346 302144422 479730716 559845048 52890178 898779870 288293516 985406424 50973840 201488852 8712480 814771758 309700202 449199104 676815088 13793608 208933558 773122994 312048956 102901558 359019060 760550098 849885442 162626010 272569630 320429772 80178710 157833488 971891476 870562756 192983788 538150586 143372004 407072058 2214182 398688270 852992494 492364050 559593830 436050798 682347312 259633316 251249516 448868494 339204398 21538382 33232892 400940440 627746168 472472448 803793570 59992756 446239092 917674042 979931084 703433452 469203928 646596410 938794238 666647244 506638724 876764504 430381402 92350632 419453056 760627076 751677732 419661512 480473694 356052222 80400424 346815470 665184806 12288506 33911584 298176296 925393504 457347590 596318612 415815234 585846150 845984990 391976002 284305090 764770618 747974598 129771824 612516012 267545786 77628722 288541046 371879938 511565936 235914160 781247056 780720834 669150430 862956534 468814192 515488842 882357134 446681674 932324002 525551232 232596220 852895728 816958862 11085364 496693392 318488556 663921678 858142470 295351068 235766188 638603570 232058942 642627540 315012546 682606872 310407940 755846840 540839834 76355580 512312432 491271506 520830232 917445610 749935080 420927396 911691274 283859790 574587622 356131848 2128876 168357946 519251168 192232224 752435792 938181634 413176608 572732526 206397494 390773196 726934644 388070878 994625456 266360412 124029968 98490852 204789560 995722742 851127152 429402076 910192786 264785014 109213006 933032926 292470524 502991372 943001162 849454532 653925894 543374340 871488646 306495104 135309670 640314626 742032378 503543044 966199088 609850736 732503352 678149594 616752802 779810698 793198706 615829420 674792628 63039710 330844494 308031460 136062242 829990122 180813866 333231346 843143608 687404860 863935120 327154860 498926196 626951266 929488518 125683288 680891796 623467590 47368736 690767366 263644782 749275762 57405972 96963990 691874130 551877024 913141030 29018228 521546972 668908862 931570450 98320814 680766208 83927574 757826364 368184674 452260518 259275566 361376840 765942546 387423592 454990900 777263886 352122576 133635754 723670126 584910494 183943634 207274458 32643860 367053916 784281428 555953840 62490428 182907204 905597898 65487344 685902960 228782482 402880274 526029308 483361512 19996332 622012138 399056408 868011450 17660034 745909134 920317458 746752546 362187052 557924076 543911874 598304500 474643098 133792766 483085054 753725886 967404312 54453740 642534886 964163114 265056914 437281578 857170270 888414822 702088708 997686864 118162540 700571234 657355120 997903200 389710350 255375412 481906162 607747444 844480780 315482600 567477356 419763616 805969666 58771802 750668888 78066860 290035712 303041898 266256196 375761374 381508504 849600418 115331130 650075464 606975682 789293148 574005176 52945016 433906266 439770562 164197808 154454956 640153762 302787890 192341314 145379888 806002270 192224386 181436296 893888530 618684628 103471564 157585172 832832656 716361438 707463442 631099986 360662766 199522616 813484806 382339936 68206230 851090580 80016728 524631150 127399196 930691772 243379614 434875466 451779518 291669192 840401634 824293176 982922094 694776292 493237310 951758410 197461162 111739092 888988300 163035418 467170172 354815606 489377928 280328248 315139676 258727158 463188478 499601706 109761926 779670786 343152230 737229828 846086348 773285036 179283748 91435864 416821960 847140988 949767306 314883550 781754026 400476740 354129574 107119258 780822526 320134154 567791328 577340998 515720092 518562856 679345508 399581572 697586666 478611020 237054354 304946740 65147764 876442826 838821294 516153746 613438852 136969538 610066064 868680770 358487910 483148118 839916718 223132116 430244244 417630114 757164260 104140620 643561580 545128370 850222008 224233276 364436906 218461688 349249866 554059254 240666720 715237320 440611126 679094110 565080392 815377784 155083134 101849696 822026814 503249818 146267512 868523174 752608430 320922338 819481660 962777744 760240540 907602730 378279066 355439028 189729302 681111124 831745854 238655550 621353630 160412928 935468622 982148158 756006244 848258604 861774686 688203322 166240004 361993366 181278270 140218432 966507086 33021650 593236996 745655324 200340142 6804894 247893608 4692604 90702588 160889888 732208474 170558788 318012072 887895100 413422408 320149438 811556388 484273978 474569082 884853206 945245936 402929670 617082834 53097086 842435322 953420188 516761736 361104786 557284824 183904148 817481176 386769402 560834180 117704140 425678082 352096792 612165614 847362604 181227584 481568814 336326014 655781464 74969894 641572262 126152344 589735496 819804176 412554994 218262086 83088622 965916600 887166132 842454398 608993572 583977844 138456182 194613590 416529598 767617036 13773638 838206026 682634660 953781628 257870912 212200956 373459388 972954054 184575258 507680984 709841112 68506012 374915452 183078830 332941764 832367450 651984026 414116980 781980554 906148852 750541038 576533254 328177556 784129832 395381320 17567038 68369348 516482492 813973762 15288270 219805262 176827318 992919084 377098416 716690424 93543230 486565630 894090394 365379970 943516702 907683678 196317920 568111322 789336954 676315864 408015204 523769902 795429496 596454334 946347114 626170270 791606946 745524474 796616078 259805236 495821298 358392168 613272270 407420090 141879800 783106396 504545536 48539164 406628576 289628442 976967700 504430702 220190752 632259880 97532328 989218532 143085768 496326754 650800736 523413114 896799630 573834292 292754062 487951442 627837880 364005054 591142396 205064350 53655156 956798006 108397856 554115922 290671818 13356418 655773874 871779836 526558934 437266372 388971662 896764460 294723276 337425668 715230040 250769428 538545508 679775924 743921838 820180362 216640468 428177234 510534348 250134706 75381078 436548608 691268586 454422554 979981542 284028270 139252660 290427394 806168328 14797750 628706864 190785774 913323234 337767728 204035054 113015000 407618222 385222228 949147548 859209564 31370746 336426228 572537874 808013876 935189010 467630164 380590128 932671002 32901938 90139194 276050548 263952136 835526226 207189882 137126792 811398926 594812084 177272094 955840970 277171976 812170624 343540488 316790454 635717510 667214528 288759592 69163900 975463602 783688066 722082562 489836348 177700248 456653980 288144408 649581800 361539118 687035262 638177284 935505502 700834590 764311378 488660202 976503282 962001878 991232402 732995140 635216558 476409258 246486778 591602912 753206998 946685190 555354864 947796408 162218618 706125612 252373236 759343600 110763624 947587970 114627004 3618986 593215512 129892930 478506740 324106832 723837650 7536652 915141806 622476048 851776758 552504602 418618644 673758484 329257908 426169326 563043774 257220072 953314070 362388632 541271334 330947424 405055384 980165798 721218698 2109390 890508070 825893684 337434386 390084090 914637630 437781486 315857392 778209170 3588468 761806644 308912864 698979402 115276488 276383540 532124760 472215652 721458466 848644292 670516394 907362732 758478316 978439362 71317978 732427910 705072516 87792600 134925276 131789384 594135508 552822082 887093724 745176246 159672406 164630162 146993964 646232084 194252304 977961202 89968428 243685696 56027214 962978154 454304094 187071652 492965718 308972216 816865556 243906386 339058300 825813226 244612522 195129726 38954304 504134660 165250056 213128988 992682386 666334118 976433152 422621018 955579194 851667656 395783156 628132526 153867780 348959358 516355914 532620762 194471584 878770886 815355332 866557028 745411884 767176730 637889258 161231598 861674770 590617948 852987442 698899012 929735584 585492152 562736428 114703560 435584392 967679822 396189264 678008146 636966324 620610416 992334892 809246086 770408768 251007354 898484790 599339294 646526090 711461600 895503636 205948396 459310794 937340322 781627122 403053464 444243044 859376450 577419802 326752804 171043102 684560192 241751048 823670322 145345104 924571136 861274302 351991910 428199258 479119854 824911218 67284534 892118178 36037018 464457930 110879704 677057562 803751846 529193600 489417722 499315434 236619112 421410860 499064052 970034076 22503546 760187726 112741380 645289812 486063442 811323710 524204762 168184964 230923254 380319506 801719060 117809046 960477362 705058426 513955344 579168000 689572558 137109252 280349564 884242220 531556368 657367978 430927346 783589944 879660572 337740270 855301364 677311024 35493652 698369570 364121872 397730272 545809366 404043060 18411912 940267452 515191796 585771536 11594164 932684688 16110312 139797006 426644952 119268120 418180890 742599316 415029570 503887664 278552922 166992578 26704876 41110422 506817058 908441488 864015358 613876660 215921844 216433726 779794798 706275266 837832666 966496156 581194628 410539026 706659014 785619072 266801358 194302696 346220072 419945022 424728780 597294502 789530170 946060800 760174498 93409732 158543242 823285606 185907798 132984984 788066056 313542586 251229584 830882636 648031446 643630016 150151964 355909722 961002522 350663566 761494200 409086300 343757290 915406336 181770160 690987916 355818168 493709938 614217372 105899354 871194054 34783518 296711454 648274976 580751348 913733454 770977516 963017224 699978020 134106424 904231494 803701590 461023450 263638054 904122152 132890354 824063012 399641824 351088634 239794956 523607108 318859194 790994394 461891238 630684508 766953380 163917556 686630958 615762946 268075320 418874364 927563912 850218206 297648884 283357174 6102020 882519868 34805310 662113606 886743600 654792146 362719570 492834424 65578126 316272618 298427010 256283244 149673482 425790730 52338554 304954062 942090346 805043192 779841032 771186568 547152702 912715842 724705950 334495546 66026268 318656642 309020834 468694238 58534226 562856208 517362958 147538078 207005590 128124724 178605810 634348332 136937520 665370512 402356706 582994270 907934324 980460722 946467166 22443402 273013476 174377006 288568640 962534930 665127630 309045846 195477334 189952548 541417056 65777326 103138560 232763056 96260168 948899214 775900434 594245514 846401164 341719812 445752022 465234646 413691900 317244132 313189054 156720140 516628400 114487750 315364488 397206748 673343602 112062154 450309148 270939156 296735038 550545428 794977544 938689072 72311722 894092872 807789034 23190602 253836908 229474692 921537660 928813256 704329386 359846382 283118722 746398086 636354948 831367892 553026426 56897088 664772966 523980116 972834004 168497082 474101218 596641868 432705188 219935720 806572962 921465950 539948674 978657924 159749580 725838346 760510306 534756106 323667970 326057670 876784528 859255484 377190532 812283544 579352372 558870540 256083990 301835088 328648522 105095660 875081716 326556152 818786734 542202470 203546852 619483954 790622282 90972398 706303420 18773580 528036180 440598682 579541782 128058428 818413728 522102138 294951816 656001960 32458690 717599870 708282722 434037256 808858582 913378688 79298242 121979706 445641912 573376368 939855536 882182748 52992436 852057676 497996494 638634654 384705666 122507968 396263956 119487402 989784146 264076082 690037742 306254766 535720326 493355806 116910154 677743700 81377012 418755966 837114224 589344006 612411114 214681760 226010832 617136816 989020364 402546430 752420784 883955836 973066872 232699830 32273564 336827328 865133524 58002156 719269634 631230642 597482204 953374076 442397484 389656234 10961504 593973362 649566210 115294208 80185228 841121892 973931500 973996824 831972158 236861422 302946910 517492586 665193674 538971448 816403462 85481742 556106548 601600288 755969786 347514064 373104574 807261240 275341116 775308360 181839024 398468048 939009590 490158846 266928082 868044332 271157932 933855978 238208728 494426894 942790762 712242662 636762086 165209424 78366968 297297318 161765660 955294840 625675478 560764206 164020166 816289130 957979474 474792618 743947882 75196964 797521134 964393968 891761728 785583010 499624976 127817600 858271874 530005580 309645800 807358528 834005500 256229176 273515366 64356456 507453942 55855070 969883734 278297892 221256330 101580464 558775988 682996450 592548444 818557378 104883488 373054312 697812076 51736888 482629178 914080662 943658034 659736204 105248646 516817016 11562972 4428452 630852238 111729636 315608028 330136340 377474310 98563850 95858572 921586578 369936544 23646710 350355682 697524518 781018074 582459330 388481130 845013762 486903614 395536410 797096418 341371712 517940930 303561764 995452934 770619104 203460878 122366870 626088196 958279804 934021072 377302588 251401248 17064012 297630592 161088652 2317094 905158598 684481642 367291098 135008284 953953312 5366444 810079078 458989844 110870892 241133722 161149510 95144638 519065606 21351238 881074230 894801788 339083092 332805938 461598772 239952888 174989398 86578366 761943158 772500932 883838982 803632642 862449920 681812532 933644450 35478008 145379004 916375108 68950154 530202166 438765120 682280822 31747986 929889642 909276584 883254100 446256428 331204976 305038856 733240534 508360352 294976104 539787962 76238336 989135620 255999838 834541046 382164702 931677190 907502614 379068064 7563128 746592694 796455692 242900126 882943652 886254276 552368472 632226736 33782114 74709178 141724762 258269414 831276282 220029586 298824414 192439688 772203274 541856458 385085634 223197192 151052682 137649578 503776446 82013390 817212736 982368990 186637542 793372220 165194712 131401544 646592834 388842876 266768614 9807292 545817196 537852628 58408180 301110092 623663390 439719384 833139620 317400618 985898384 797443284 563602320 961124360 762524836 689434054 564901132 695892922 783277858 966173154 679993052 695004322 851170538 15568412 187949686 773010552 143798880 960779990 738883742 223903864 656500666 546868416 269511710 409817908 614647466 581906762 177582112 635478598 39599266 199288458 390369470 111365344 825266400 732028208 520222448 622830332 141481068 585386532 31936716 15832628 578090910 37746016 828631018 935463678 51405894 82885826 906931840 462240960 338776766 712241890 320020942 878188594 739533182 997282612 423258640 269119664 799820770 61098854 326208580 939632586 723862652 563760728 636144136 129807300 743196398 569714600 507031824 877357764 666831574 90552114 398385320 686454076 989976918 591975598 612390158 788262942 616012860 331719704 899938954 136048112 368085700 331197166 633508112 505225838 141790476 141648184 919318752 19861824 350592664 518092370 600933460 422546278 768939730 614801202 663237874 853333336 848722656 310324286 248641678 93510230 342177192 634343004 723311450 503373608 15125720 229281990 944718664 742264402 607067846 302424168 476877470 128189078 765760104 604817780 706574466 995786322 536427362 825179048 784122088 139636672 316714946 780716540 310709966 684782008 672909050 755000300 979498370 544589362 718293970 810406054 295373910 77728202 368421256 818285614 156146774 235213514 772600528 625312646 63565350 224116176 107974786 975670108 164790172 37892034 367585470 847273334 522573236 975412934 421303758 468587254 814779214 462341392 850546956 640765062 851676432 201095538 497780742 365170854 49852722 883221994 52653862 987484448 618928108 292953522 926389564 937024994 261407474 744698088 873090032 485139504 621785140 797261146 779295248 725069132 404635584 374308418 244886942 692935176 319363126 528879722 415532572 41677100 788476216 903428614 690681466 30002810 276945908 395205310 112841894 383149082 952791852 839547610 346419876 796341720 63442456 571097836 472398988 950939670 23124222 649492700 134429070 937471284 668692672 638968980 682715744 822061820 456376384 135574326 726585898 830471616 714821724 742823100 188091160 394719112 445996794 404477240 995017064 874375098 610124484 510711364 651082762 454247010 214224106 37637450 152462286 270961292 164804296 746431108 58120396 219778368 59675120 79102750 213309960 416187894 481696456 76747742 738004678 456432520 637731154 477649896 313330706 534602810 33802128 765509594 72427278 980096210 284499242 397577694 767504470 559768044 807602400 486337530 803182298 913566220 378191724 802303256 115680484 121413428 610357620 179534266 569267684 672707940 727088818 852984652 542352788 125121462 282215318 776206204 55918194 199517210 108367100 293109972 837742130 317105952 479514638 90695720 536458952 448730886 532391970 214753768 17610350 314501010 885650538 607394690 148850772 634175338 88484498 168996568 94463446 258526788 483748958 375217790 586849128 906147196 390757020 540303672 238465164 991669506 740921150 492191728 798669900 862412966 591379882 500587214 830289864 243843914 429814276 417868664 124155790 981323798 128532324 944849374 924104392 4156274 827925914 422703364 84524226 493661896 299931024 152343952 528264864 910139964 452758298 320052530 108584494 798737250 596628450 568060096 921110738 98812898 969719830 478202166 223083086 325476882 251587640 588705720 723312282 249877760 626146368 135633232 331145590 16687934 139930564 979045254 347708940 123663948 958234270 810581020 700867374 20688790 605678442 907340362 786895060 496864904 430762980 80630444 236839778 806608440 621663722 17303888 686465866 439201962 790245168 193749398 600617910 352761178 26603274 890054220 714820230 180430906 40110820 750135326 153794146 435881050 94134508 525571202 244740082 32866140 86878318 584572414 513034970 854993534 735559434 184306218 198015538 127734726 626379796 761699142 739832946 148627450 48542084 82352736 794365102 597028462 333338330 193821424 111323508 949795312 818998596 410101482 53512858 994023264 481119672 464644152 960353196 275069906 427602620 970894878 223531618 507867364 175267918 861711826 175869344 953210224 843785536 568982844 94155966 752031600 983379266 290844456 309845452 941452848 653518982 222286472 519468198 24155466 134225178 562275386 386562860 675948378 693375712 379911868 292988956 325479178 840263692 926033756 235379378 488856792 236800618 131474804 81065820 570991974 956036648 69672236 771333326 92643124 983468388 689729510 682091314 940500314 583513570 769126492 913889630 724862818 42784232 690149932 638678556 366709554 883289754 202718490 216543066 6669854 228742528 615437888 326908768 309665262 162820938 589638972 858582866 926102988 858481526 248658114 175069506 844701474 224537582 872199070 545459590 879655508 786814540 593713756 925459544 777820868 294875194 273326078 273469814 629573756 579906008 430405438 227524608 951749018 766917728 716823432 819069708 112796948 989554648 371000666 458877458 407457608 225380570 136667650 456744826 205233690 859625028 260091402 976114726 655522460 364858536 994025482 790176824 821626094 935188056 677460002 578538034 701285544 838832182 803068042 993700144 573498668 276230946 31035522 215469102 905411692 174495536 879537198 218007796 935719640 976964048 514254612 724682662 929298650 814701846 619600946 877905182 347886906 457506138 391105698 882543316 475825810 935216970 892264172 216061992 151009994 508142036 197040802 845217714 472173624 173333588 705765352 75828748 92163090 994976532 816334574 522371080 3780248 264991338 291658988 492378280 435726930 373831478 256678252 442812086 108924418 144626568 410566646 516798894 686981450 40595634 176273284 463469280 670380888 347363250 102782472 582218528 482771074 784644494 165862380 272496694 437328330 770383044 180913914 818524064 425079054 266874574 612589734 106950592 411633734 921714222 699025528 113138622 415223888 193408228 208227136 762428570 238607810 902377172 232667108 216672992 187079660 443616550 467410694 159631012 187988760 829277860 442555272 51464722 908225548 993528708 566184938 560748468 196162664 238186974 275313480 722900546 773790288 693790634 220268800 189018572 978235308 213782600 391047088 466249826 400786874 919235974 778755346 704949144 734239286 487964688 121187078 816272440 663647608 420482352 319040640 943011694 856290610 389556462 864978636 686210984 369586492 787743728 328488202 503083838 609704426 951813976 97608826 235687560 436792376 249189544 596319134 929556564 901911064 416680280 155695696 360679648 271041444 708322198 265431488 580697074 687188148 797527576 306305472 9976818 267817114 324960154 748634958 936695450 244623610 459997538 23741936 12092610 541175132 900703438 202911120 339685428 351478228 309051982 335554410 619398048 444296330 723435236 512777414 738130584 303996176 289396998 697698988 507695284 334056698 794291220 813425676 534647604 451426982 563122836 702586366 285193708 453698000 473724474 793299186 107250802 440973476 960912116 674301714 612720188 91987008 664311390 194551106 918719202 739045980 712159508 78054050 895024512 851266182 734502596 320356560 36644784 246599558 233173324 536648866 653658226 527593922 364168206 225167112 496135038 83414580 471957556 876874768 429309560 941096316 886577930 688727470 709176258 866868086 954451942 145746490 982482068 115157470 476794086 325603266 495591416 100561038 498841408 928912808 310788846 85106816 41954296 76094406 827620622 438456970 838423784 686060622 511062716 722238456 83935916 262621670 575398378 345838374 499627384 123847496 254450800 643240178 936580730 403843360 34163364 626700770 359411266 689536522 522713602 984921108 292150660 90317476 29954998 843057478 84211504 269611174 337529956 273558568 408452522 866206134 453491876 390300574 194775840 687576482 628371358 500842410 185857032 579539126 188698974 426239736 717571900 310919310 266740018 261112984 287704464 482352038 57747230 600782334 759994546 451389830 118435112 202695272 120749220 890162234 410501812 556044994 242860184 715231486 852471836 81352574 920288424 284824802 579407838 675789620 444545626 526773518 136725708 73342936 717966436 436160850 12037694 458028326 850540596 672957448 654016326 525049380 130437548 673576362 949142888 334542760 695082916 607389670 221799090 646540982 494930782 673109626 326433740 294524430 925935652 407901244 13715486 123873298 816130794 403667956 487677340 839119940 314326514 287970902 843425434 718218310 653145350 846193254 200373864 987159412 37596004 516947440 486052626 488303588 99781186 572388062 173829542 116113308 226065186 6801238 764720850 807654008 147110132 890842944 584262272 695958630 944630328 299402926 562808706 862787392 59503464 90566782 525422954 673518524 433810038 232343160 344929962 763687042 180293978 41661488 466426062 271598624 793092440 34271520 952129978 968172418 914367584 184246924 225520426 729433328 17659934 904666364 891233854 454349836 736245032 385801706 861061794 67948842 923356972 580712154 348146182 35176160 928691238 321307272 611657292 122300400 937359250 689476216 343981190 114347918 602867318 867642938 328466204 254259908 840341848 301367484 745582756 524183432 954375314 823903298 33115958 692043744 925404352 740715096 30331742 96386208 699253698 201283126 694293814 910812288 412958336 815407442 96578170 264182630 775639152 502618030 193875760 28496082 480554716 269481566 729842066 74261698 959117154 821585610 583715786 713854126 206009522 195068192 491982748 624663522 624583058 97055296 276055612 387590140 515116892 904723462 838861976 780855056 547760778 758240772 801149096 174387266 490697442 158670010 185154582 775219756 865712390 224745942 230995128 165721452 720872180 208392040 158378556 799418454 988518676 730929454 354518982 320917040 777715450 601704784 162259476 579058764 774167554 130214572 986610180 397717540 404719992 723869428 912264758 795347796 149238042 772592574 54995930 609388080 996456900 60970290 726019886 807090444 527003104 696422368 594868694 766255618 917610558 602027784 281498304 283124600 565590650 444010766 774371156 27500634 404982690 966155128 481226454 660728656 834019832 350742510 104076418 477040024 786067430 43762784 50254122 470399860 826317278 954063236 319900210 980435778 571369730 736921776 489451240 657265064 512134108 823830224 112782340 238040654 559675750 295458346 717640164 520810536 830721328 193813392 400383010 641056964 682576210 329724400 285915894 929381556 460186708 617842858 599113054 16358520 352243014 378106436 872871584 488060528 820164896 963078668 666500392 897463296 494693812 645323964 991118088 713605202 458757916 753360648 639900354 416694966 471769268 147537752 143024034 460560656 600142872 740618900 954094716 40812892 825713734 590023824 859348308 897935222 87805024 936801016 479681230 26276990 84441124 288105284 772881082 54816436 196549628 326428612 840236528 956667426 329941206 142344068 857948768 183677076 589347100 930922238 388837226 903116784 525846028 95777156 762161596 317121118 351745064 400449044 488273954 144155420 113324022 608836058 606925278 736442496 519757540 160253460 139024064 863963418 142314418 575901832 974651066 201514832 708541990 925122150 224693304 181506412 728989530 957101308 669724004 418322882 774462408 383248488 664700794 964405656 253563618 258574590 504218728 364312398 628497106 86748822 913003808 782925830 53011326 55375924 357435982 377592386 86011712 345053268 486690678 951128846 582963536 214333274 567545486 436337270 542370620 388006570 323247502 198508952 545156240 81597428 965475806 94813952 848958926 194408978 637492484 198441290 77689892 776444054 471774442 405060544 375353220 963620580 245570826 404751842 317469094 483486672 530511412 909151526 111379876 41109472 377511860 856068144 156599580 606163972 58545274 551567448 101219636 320851532 16310136 476650774 530103488 70890394 775982698 544880746 462621920 137624730 131936070 656354662 929010900 113772328 661321022 662098940 184557006 814482448 645491444 137857520 299851988 244885528 753595014 297975052 403927358 40754092 71693392 772796298 580611376 827712678 609354284 706288142 200736758 921517536 641555094 444190112 929056542 211767300 995875720 896185634 216233022 864703656 165223086 133992454 716581240 301466864 468902540 561869686 803769694 855513806 925265354 755354666 607361110 481175962 331671820 523676710 508006424 91022836 321617162 482193492 161911376 745166796 229553088 868951942 670596778 252814450 773205050 175060652 206283802 340189988 238921106 417916762 668229548 531303304 486987576 476622072 157264260 429322370 55335198 594556262 236362328 864887030 925482516 141471582 228302434 699106594 715622934 769584692 253731860 436671724 992145882 785273094 222296966 247469050 48561942 262181328 80970766 175728006 470804850 354412954 916963630 582338648 308999438 142311032 540755482 492626948 171837112 67829192 621190766 145346060 744639326 615256816 8607296 645705052 301640980 545598070 30130688 731914362 272135620 725540452 166038380 896654880 335939986 817512570 299990448 382289606 671099910 392909314 631165254 266998554 260712372 35576130 557164034 343280118 677502058 679870822 851404378 396215224 181079338 748003142 301379842 56116892 869309926 838017746 651460748 791035998 239334512 760854520 406557978 547144296 414071158 982569498 627936580 51861384 117929016 567305446 480315134 725007616 978014966 345885464 821305860 579030964 531394132 909968146 181667568 874694860 345301726 678581636 340819974 153706712 308438824 678442814 556540876 502175312 997526010 878235664 998423264 444937772 642489222 551453524 39140852 372391968 4667828 123047928 74844108 295111850 757211554 769486292 347381282 367577188 773006766 169096310 922264502 79517146 839797556 669462058 429361572 618825044 991079686 353563092 663412604 796880768 540162580 264300698 32732124 897314986 629804974 682945598 70835032 127050154 909618690 603437478 987217374 496570666 814300178 516792034 34851952 32271264 85235574 779062478 641737572 318178038 984875572 390914930 923407478 106393120 98202208 362064208 200036614 664223152 714494612 565380280 552000568 519402910 22488720 862665326 216701064 154974650 186785260 854059278 538041828 563604172 256061504 809121972 328598524 849493570 878813726 663172826 796866386 753997352 967748532 510607456 104266586 996926048 77496238 230110810 739563452 123425634 167667790 273646340 234854292 609649860 663049834 255009522 205959662 256803176 428304580 30386742 156124144 42999754 447109402 622427680 440384904 97490178 505706294 722584012 741150636 334102006 760945076 724246382 514578196 975988136 764890720 483215154 546266354 911588402 234503244 34097294 139113694 14957864 139570622 106119294 196658460 28469228 641261354 361938340 297747104 684447164 902863586 519234654 813420084 504921764 897309826 585603358 283075896 944802506 219984120 335166876 20497166 272046698 310075428 283486372 692370694 736265620 7930978 380496982 794312956 120531056 416078870 940687240 240129748 78244814 990119128 319870644 92325620 630633584 923946928 134631556 918222628 790377854 425984724 648807528 959306212 942057110 844810478 638128654 665085404 370252746 338299422 515498396 839105656 514366432 121083810 679387358 282736336 763254816 635716458 694117408 444377978 518026326 138031494 759168930 177598408 428083440 57229456 958752586 886131178 543334792 858841448 752054270 999790410 84408904 417688794 920200512 967346284 874867068 94788000 588402328 201795276 373437624 993736202 315956910 459328632 814990554 315852388 579869442 766577998 194617040 881946698 676292476 749811528 110778538 894874804 562076912 395844400 456093006 870451512 123842596 1001952 209445938 903529588 419411712 700360686 793664148 427373266 627757258 126218774 591347764 297828172 799798078 629749448 445540296 648738374 109830674 472832742 879766196 969356626 910274830 388814434 638122400 123309796 766505172 237270866 53377592 767683462 368834822 903325262 831832430 261553548 818673082 467031414 878710932 594352242 303542350 376839888 987996938 912765132 5792890 735029600 273241064 635433676 250359630 238244776 623983274 82038564 20773458 511274932 20797112 691643532 217234144 560885062 179652812 541018930 747718914 989298886 393863532 621434794 165155498 814908052 543368686 981815906 111215884 199088656 245320926 576786550 933026628 359499802 885414060 75617970 331407288 318801234 808823866 547076818 191483132 430015556 343230988 723865528 875636084 871659274 32154288 676619494 373019430 605293960 242453450 780432780 458074710 742980836 486482430 743533568 14313074 19094314 692043728 551750314 213766752 675710770 329511432 451362690 519799726 158028570 365808662 314273358 194197714 294062190 526617484 457387658 549786806 324047014 380142230 853411302 725929366 518860726 923116910 507672096 200275764 357641716 143389994 996176230 416727496 738027692 472197758 49800258 216825894 220318012 945472978 768509210 344748860 697345928 941822164 927033548 920619730 233535160 118266758 655845174 785493904 730496394 435806210 830182112 256724018 914840998 610087496 96343936 849201840 574887076 87824514 342552822 145705138 761969310 430156320 397688450 607622068 335382710 368658820 650917056 654289474 82032766 338864874 165197486 110872230 264772846 608468496 263578742 914906058 428243912 534196428 894910880 457240420 509688100 685976190 919495828 593573364 909884300 650026490 63009142 737447662 891679478 271078814 736562762 692165774 865291486 150455998 739849958 877497922 426664250 158210606 130494918 135481244 891707480 313495302 23032450 64568358 420433862 965616482 661723066 102462254 654409000 76183932 940511822 950164242 411652656 673533072 505554252 362934308 601838612 851374260 223245360 771508974 138955580 579878454 871209658 874238608 149981384 28998602 782762778 344456836 159978842 805783490 115978200 915604076 826903216 546602304 249367522 800583898 56869624 526636924 543235194 887415306 8044876 550519182 603752654 551238300 104452742 481783024 740491722 606831684 58610720 221237132 976402596 690117928 598559650 828617108 131727504 388051664 416325518 960324768 394063924 837648090 237969586 212902158 499832146 160608820 690253614 937168856 86993334 224245610 378655884 17406850 28908004 915816854 234197154 675578912 350408374 946640716 29108118 208899998 715192854 365781248 77122468 674634094 313525204 141309410 41767384 695630420 171334296 624118450 843031872 335002628 719535834 957422080 691591458 794840786 236185060 707958468 528727596 887563346 512111230 487842656 513405080 634625036 900599206 644474504 2978422 371916050 667717834 533147822 189684784 765380474 951825812 429657238 934740418 887257982 407320518 326873616 350319424 730407468 637951754 746493226 902547950 793318128 750270876 902745198 991737890 248210160 759448864 212892654 759017338 269664516 323030660 673415590 787281306 146458678 688804154 618925596 841784066 299973760 775310384 139186456 432800220 13494946 705630496 906148188 884434226 451501598 598639114 110940318 323741362 130741424 78251696 311085354 37984664 121748236 67746464 601922170 7343950 989923998 440880704 930943596 290967652 495963602 233189836 457262120 713304194 889993604 373831160 456792586 326144098 386923598 472049578 474415804 612920890 18582388 874069814 136023784 2985472 965967664 751788624 181703360 359350796 269890830 681939612 476721524 922702890 745785986 441658662 331566568 149775978 348269906 307968398 998201528 920695056 288256180 841635344 66696590 659365418 720586896 311068974 816074578 314213916 730670626 31287686 300431512 161037188 877309502 513344114 228827588 514923410 18178370 350898402 859823948 441811246 300413662 720950078 359916920 220327402 323554812 158379308 581686006 660004108 810682002 342874634 461590700 302723106 356242796 578936658 345974564 277267064 452145558 131689178 712301426 863655602 771411772 389883942 465823492 936674734 883197270 8407744 495415822 465323242 460507128 806687146 832525868 651916558 354353236 554595598 204257064 952123878 28095250 379946868 335156008 371501664 515576778 412360754 133599484 772824686 620060544 962647516 467386218 936083302 571824304 110742110 857304234 73627206 524710264 87233426 33105684 250409068 107120130 234787644 479483416 782876566 322903346 614478992 902441320 511424612 474047628 60115432 176487436 493761622 261874978 930551208 811909500 696652756 267564866 366703870 653225496 701647576 347495290 192712524 192520070 142552196 5185648 342413718 684521864 622267736 235198146 50772512 550522644 544654292 554185960 842088308 817732048 803489554 796976582 728861974 983155352 71035800 178606642 778107252 616307424 25780596 612100154 236812494 509567936 848263286 494137884 605423580 125979452 293710994 713915930 299138068 449355434 211186154 747223716 13436246 183604750 810307464 945543386 155611468 606608598 754164390 149842004 457490752 280042772 508763958 892043926 728256726 306079346 160541482 308953304 25017916 995349234 809096500 740636006 890622380 932160864 917975868 421091600 860818918 349229582 758797238 303683720 305581724 321649610 463114138 765713180 159633124 533219888 679840978 967918478 363225746 47208406 223570682 517358558 13615752 813971928 477224560 588342876 158905844 36599166 176621526 500199536 619863142 469246770 10676198 931617480 622186010 479462994 643941102 292172004 822668592 509085048 332497834 1249816 589655460 459537096 514701884 838583474 562027334 441915308 64490074 97687766 300746412 981782382 63424462 111041050 462471380 654908580 114153618 201231098 513020740 384753402 569741532 239319936 329975536 854178406 151775430 16226868 854216614 375240820 932060962 834252116 645119530 180002854 815990186 211728268 476238274 693708390 831673880 709215708 242521026 419405868 740939882 617931084 202218330 355707066 291378020 861806770 552968064 237153432 756206328 177068028 553113168 188034508 636409024 776167992 253455762 299831588 19382168 861330916 17152062 935985958 246357750 943923020 578523670 591948020 818133326 30735938 937859998 198249166 35297486 805599088 542237784 27481880 216142538 521777660 709440196 553067242 528307880 95670702 16582926 823442140 763056436 419879718 373232112 864533550 361350468 575745344 898629502 171260346 875611594 726075652 646831846 56333326 608757640 992459292 752390974 932275426 457549888 947109630 1592104 517249158 142634760 908711828 151767304 405336834 679326220 185766476 396604730 639887392 580230322 482181112 171558236 960090552 383168956 184019616 192918148 89842664 316973976 784295558 934883650 408563710 851293598 816320380 963256798 137713870 714905196 453436514 54986280 262382066 661601438 605045330 697191550 918251080 136269764 229051316 273181636 540717814 501539156 524289318 132498142 473768306 744017068 945768830 228877518 292939838 906513262 216505546 306461974 680214984 986180454 690219974 778967846 656503286 530576116 895858358 961713476 797416310 120368748 396212480 848391474 898490980 436653258 245950040 615285666 98707514 55360300 452317332 27582168 106445464 297543084 439307592 877016892 223182994 768707082 838410354 532850844 129708250 817995502 77309764 464428678 892164792 709788570 284272774 297284478 516391184 519923180 961162564 342041786 909218252 284376126 350293512 712007466 209501800 153673696 939619926 66054334 423305972 999276338 510989402 941413342 983512362 351184522 299092834 782501882 36378808 731499026 65703356 972203494 291377232 428127902 430896030 209135886 603714466 434881214 970914772 734364768 926145574 861495626 23829016 431214636 764193692 597902658 610299872 870540620 42132948 37954602 414405768 462004290 878185854 808857124 64505100 647951202 565131900 650223126 37435606 213898746 538921540 286138804 184773132 1205630 178709870 87528672 653585428 867864458 74700156 618456114 239902940 358279206 648927394 181343224 333576756 397587340 927016264 830919664 442506614 5395568 818953152 871328682 643670872 998695094 172168638 451539836 801214534 812257642 593122854 994228828 715476032 676775458 381701862 892097834 664349050 414958020 207018982 438778978 68213858 460707358 154499936 815560944 945826994 893280316 953376864 931562724 35607568 794080984 364003678 971966652 832637480 88268374 535894386 824064486 719730854 401126580 572757030 106129464 743148110 826116344 622169626 639002642 228411178 177563222 655389396 762779628 699783160 425307344 892343418 174405204 711709218 119315654 320497914 758354490 740856184 454966742 584978298 917886276 979081922 66373400 922118632 81006568 720980896 751804848 443665352 34094108 433758960 214641210 483227434 721244076 826713366 344673440 31617396 40276718 452801554 17573140 881267614 907692286 988304592 561215528 843387690 924538846 626628494 617445078 201776482 525529780 441553808 66016024 926346788 713062122 521584828 19231902 437355422 240976350 888372698 934677922 483904986 178042888 309937206 428321882 265253134 145953000 854276916 560567520 494191006 912659188 510450024 287238034 46291630 701842742 305195436 645801882 830134382 59257052 674603216 759032914 106547916 62109780 966374638 367705132 76383496 653481926 138074722 886063724 604148400 513660800 581719688 258798568 352086172 872952604 75477282 452024146 625387018 510717562 309516128 341245442 18459236 495378002 753402976 717008688 293742128 756686614 252563932 218756214 279950472 429136354 488379904 250919112 453839290 947451688 746253780 499840344 902771864 809733016 551740752 725263976 335706552 695903998 711174594 490065306 519145196 872102804 396684682 3317190 996950248 869061772 113661908 954838112 658490376 255945980 869711816 550991936 898725696 19899584 54976002 300748674 46018772 890944814 622668224 821098108 882212120 665188622 887841606 485302398 320659962 336411528 968327238 4944014 804644604 988407416 359535788 292877442 704721600 999789030 570529214 937409910 202579464 225327244 22138416 510335162 815671778 214878180 375278724 354072566 493977742 859543478 533965942 716969726 717022410 107753222 824239470 795446888 841074714 618993970 538224314 439045698 439841952 973051786 119129080 76130006 577580084 986596174 979692988 517567978 525673228 594904222 740759312 344630238 136880358 27143760 516900740 189721364 673810982 733030918 594534528 3769210 767204404 668004348 886104090 142376320 34484420 92191106 5270228 645700056 171118626 14209482 80921938 174193076 553686776 82747224 93897384 64495644 63465128 599271160 605356034 257775712 116422218 81519836 892331408 207034588 898013792 507054346 477045120 398981620 266300424 726434712 932828830 159953540 206251340 145685592 212585090 876977618 336453132 692687814 151337698 184687642 851654458 31727042 263860120 33732672 283954934 530382070 901690744 931130614 498983414 381649842 364464670 692371776 382874596 136402786 499341444 452112848 281833604 16868420 924040456 263196618 490412646 409858964 26236576 495548916 381921582 106567058 382479528 165051700 452797988 439587394 198568114 46419336 716559276 485973200 29077066 286074352 855292892 683717342 761808518 860106622 351013700 894752890 937677378 74940924 324095318 676214568 328844494 793725720 242542022 965774066 558921582 363023768 400202526 542314008 263802166 284467370 618971626 314881800 273152516 7966212 493163462 882189546 879980652 758332656 530681722 287960656 261299044 540128610 349350340 487004150 719427694 819224624 78383182 799602254 192676874 288632310 358890540 877922048 674262228 627692278 48840842 746990518 948255260 181830610 203238604 139946694 64523622 448564310 109800592 722492360 293434734 792493344 746723512 608181124 293537550 177602836 80997774 57404470 525640000 761466690 382787380 411429522 814130480 535150776 220460886 201137848 113791790 760884120 265992446 313102736 205070834 660095006 310675702 710737452 942531718 285004206 174109026 342146142 526731792 638730932 846311588 928265206 29647738 149498794 884659554 433570942 329776064 4125488 531174320 938959376 715209946 461661968 881341592 675835864 179779268 60716272 49610562 450568020 670957010 987605260 784612020 808144190 744274784 206380162 797400620 226982328 184918112 19032524 427509314 503835612 779831162 711572154 264561976 343368266 323852584 233842758 638365314 762201858 156184622 955961214 583293642 898371922 747134192 148361234 9783204 962511952 601357806 88039926 128822988 178094026 447060432 419324806 911997610 111604352 122553428 210070346 550290188 750417052 165452944 388538896 630127294 272116598 640231688 777735958 775205898 529749664 338587104 916283688 854818654 576158536 368770300 927038498 566779842 486026094 227725626 876729202 165437784 501817516 764046284 561696328 211928918 316810074 146894112 577673014 85275750 28381446 773500832 730380660 998791114 368027348 675013934 582046806 604602180 915309462 480361508 44882374 848879052 139697744 435587472 995488452 102707676 867358266 279001890 581310264 389584996 133366208 501689760 936268584 649370094 948185606 531320130 998391016 77879798 758125490 878138568 948083388 292587868 260390922 195270866 412677050 55470558 111829470 504232662 495828522 815671980 138732264 163341158 499721768 116917988 262966376 91325368 400676600 758471636 926629690 865850304 236486252 482687342 541234186 939994692 577675156 896655580 714601198 242571280 900601584 81962806 987351176 401542598 144235934 478574688 330197030 357301254 511241456 173294114 999594988 544276600 446091716 978591236 854475888 363742048 783746900 298627450 307361456 69671096 454228224 686599794 53462050 262258702 703855688 524955970 765754102 866086506 923301390 382219034 947476702 265177500 659634842 860810050 715275996 609340682 996098378 407752882 428242368 903187334 787359440 948928764 613224666 571531680 59119150 760004680 773539318 278617126 779075962 36946498 799705946 197147968 559150284 367936636 29411782 161022634 797020 289359794 187957508 708248292 275299570 373149862 350098070 131912284 144678496 370529614 292203658 615221426 401083232 126879026 726887014 395100786 345663506 864640722 578113768 648565310 386968062 171638728 962972480 366971308 977340044 869490168 468047376 581463708 597195396 702386416 784077432 398039350 339800670 209714834 222365636 831130312 598456130 648118914 346016100 34040640 467669466 58659698 179317712 406061562 113418044 793469226 657361306 753412152 913710946 948477920 560237900 849835406 468540546 652665368 100024866 898486810 58973568 471916296 650121398 715834164 926010370 323640242 721400100 443371940 871647896 810275172 510258308 427243736 900413534 946834888 678848980 340219228 361807234 726889108 586361988 708250844 20837786 328772834 599013328 227139072 884677592 730894124 791386628 261234580 930104966 70892154 393485478 609903566 615287560 173033490 726651140 114132722 584009824 548986746 964832432 600914440 667880942 612560840 944220228 401182456 434252240 786240354 979186372 363562658 661440388 415935676 77006530 720422112 903286002 57776276 976121736 274303306 184505576 278045822 185051050 799900482 408177506 693147704 381897772 288601574 914181932 456939270 948522732 33723772 969466664 160984130 876342766 166241194 841284196 724576204 955511176 219436450 769030326 892404262 548719826 49672318 963467780 531225968 971873180 911885340 834690794 598925548 682090056 372167586 564451070 966182410 243147644 874263332 2937438 57242644 363254192 58502346 499229110 282788916 556214510 685076808 718994276 480260490 521039776 950569426 344026484 995981850 97877806 570970024 100155950 726964336 407197054 103170362 335056558 530340604 315420726 119554806 584292230 870421114 281372052 597411674 997099204 677248432 689177752 71949294 620112600 766944536 724172192 742101662 909517986 940119408 432145926 369123950 651690198 809199228 372598446 866237880 710839896 835144446 82975858 120255996 747556234 53020506 164414228 910383378 674862346 616876788 557712850 262709164 526772936 909955586 764829320 122499072 400728986 406780510 85781750 65494106 31893166 47974724 542905392 744952208 647122590 949906326 175748478 127608536 318548998 121155184 556335116 497121630 52501232 432199460 705772582 453419652 910972144 838879608 325941576 887425976 909714784 651537172 321776212 562908266 127259470 834556388 155169440 953970500 671131108 483355328 489650300 629315782 455565902 692183370 591544218 790810714 170916542 825202548 315080104 790529266 813188958 618212366 813404776 216581818 141185382 723207176 347497848 85314862 146375582 450834432 377747970 155124384 687000986 830522480 501986406 250106670 831795066 360142470 678921554 424351958 908629556 900422108 47326742 374205602 377679156 389902746 535514288 470227928 408108014 323287016 129948152 74046662 158959626 464174444 882064960 944302296 897102174 20916110 688414268 833297312 513765758 993454988 868282968 919863116 641335868 204118842 665134994 407362090 8274712 730697860 157148288 423603604 370413370 603641440 505106154 703233318 588610792 847438874 453632904 506656838 166766184 85991686 113377782 675889450 834102770 147928 902607528 972975714 160563578 365138642 949319086 945196318 586641342 638462440 497560056 769112296 205747356 370560352 694975736 861276778 60561434 739901108 418358024 512215482 432505034 640483812 949849928 900933990 524589050 454733544 699620800 182052980 638709600 654517556 766159776 292264972 177007762 192550854 982950440 619443652 285827056 379251960 111158894 521050314 720108574 179746630 797819862 982289520 145493864 558069824 33080228 493650942 939698148 798487664 823217754 711337972 715408850 926108630 544622352 940597024 795415888 670587064 222631586 98815998 24664924 717260130 521075996 138800880 248775218 673285430 781074074 235710574 882493664 425234554 314648928 502889804 207459564 594800858 830111900 49930742 371614194 757361892 134868364 11612370 622221048 142301166 118199844 377034758 938288868 719354182 262952560 209255920 447585728 313017958 832276252 96451394 839722200 964997986 842400012 208392236 415976900 424495498 533370016 44411848 940312488 833281550 382162714 938939412 311531614 198320612 641314232 863656442 393748966 965989088 234601696 355465098 465347976 110194136 569887332 319482600 126197266 960987358 27983906 154765930 299305104 817308148 501588744 202027878 503636572 654098412 823147196 551206522 318915890 353888166 582291784 724292372 282919058 655422392 557431970 104723838 697350006 159863996 787398594 536107426 832925586 158539620 277276162 846121368 867525742 816930276 184911766 567339886 126265636 690720110 659368198 155805988 317099790 22195964 994153600 884825762 91205964 468258586 876874656 514966852 383817714 867512900 617335904 877289594 212589596 929993206 996767126 188075820 790462670 648803884 590923002 200503444 416352040 704300050 679156796 356201498 667392832 929012448 477967430 31012724 268773100 264563472 170532488 37049430 764996568 732290208 458335178 89884336 106900666 33748940 859069056 879944786 710094474 758953306 384926554 620564752 185529026 12354606 37040408 658586094 459436992 871354234 69903622 143865180 321073182 359204872 601845004 720425076 315359228 804529912 672091350 312891776 223418196 725975712 557455882 496337440 302387988 802934128 177394948 12600058 831728260 802906164 46022302 268372232 420230634 790752780 387424280 36021996 44195154 426933948 119307500 866843442 521300636 288184922 750384938 830800384 914722574 264787234 368544764 823620826 737420114 646288624 245127924 927789894 987362352 606598364 690329606 997152096 143954656 976589992 422492034 191247468 668139954 961878068 863717840 261870374 310298364 89866924 343156624 163758458 938252754 640771628 949000160 641716118 97062978 642801484 40234062 569196950 160246286 317430824 913540466 118324310 910248470 32066042 375675008 696560958 273972882 126181730 481730096 35578454 83357280 156218838 928830010 55839874 186130604 533572220 193681722 663755432 809435776 554262598 286845672 280360734 515217376 830379342 652108758 10487580 277367312 121696460 804962102 503339940 937942746 432373802 628186350 4635392 308390790 126714938 75024516 461786874 661077818 8790822 990911332 28318910 313078380 991811042 807630966 435174292 731688228 872970724 954762744 353508352 110412460 24142828 268481410 642500930 628777144 148441786 253432936 596610868 831198102 32221190 204275522 604486070 623503168 663106666 560530324 5641398 488006226 105211674 641755078 804183866 343906012 500496962 403462168 967968894 625618844 440841822 438900294 103327442 939838988 750421020 174328696 182789494 802716282 171273934 589844158 758680532 187262000 690201984 672552772 10775016 583873508 826642290 204194582 3477382 661999366 697937062 61776338 805100010 450972292 274804196 949696088 525728608 112119328 269257704 898849852 510558306 211587828 65632094 285111552 47857942 592950732 454449152 188556250 248620306 625816618 674669104 749044030 33953298 605288152 280112814 807483984 402047434 591187572 194537508 32114458 477149054 508027302 132775668 492168852 653371824 191089090 436451328 104141398 447060574 260870146 924681126 689050894 613263294 696500036 218595602 329547586 60076650 664739038 958140590 939364732 537450030 836614002 2125066 700889120 129531006 485734060 60920004 925244550 18069018 62979084 444225902 706487582 195467118 182131044 998370106 734038238 959596864 966177652 777045334 619928922 267910498 639912318 735671860 226175196 305983612 747714388 997425244 348596974 818920974 380191784 658340356 731877564 641165836 816181142 309841166 716240972 59252136 643755596 142124810 328891914 427127214 623041686 853935058 873374988 613542996 269919814 35455544 325314512 855744558 379433196 954202812 814695104 938967406 327909884 668051240 464740442 399623134 267254754 987511736 799746964 218265986 277139082 868425262 768104794 817777546 434847886 818349324 146549470 362765770 400448460 748332536 390715854 435724858 237151394 393311858 943627142 672610952 9453044 232729124 647691322 580345896 344476664 256218344 506904336 728657488 865875900 968202392 292939820 149876746 799221564 995580328 782103736 325715110 92861236 575067918 259684334 624337722 801276520 132939042 204306180 112086898 635438484 249205430 565638174 302006670 773157668 59119748 909777446 812938330 744197152 69237496 194140620 829911102 995485320 535561324 375756394 616762928 938033774 566981460 749048096 779089026 397731138 783462894 779957092 30063242 191949726 183540892 580074258 856730712 274944862 444176772 949128848 812861306 49874932 911121778 452980724 876971646 411739030 521992876 529091378 786489404 812977498 659849744 171600684 302873176 172194142 414697922 948969526 163767678 613902660 51676268 886600494 427700828 938132036 884824690 99162996 848793400 830217488 228028476 13096944 967866488 278382988 390303292 484832768 551203676 32598982 168065520 7298172 43637090 289584146 521690820 504657078 136780576 753081138 427368146 356060694 993542048 503342984 123392652 763160806 242462926 840642998 731930906 6268696 401553498 245809682 64965916 246511158 209248778 49504870 840866372 861357022 364843438 926072136 538005462 118831844 658213686 482402510 379837946 417912134 196237612 274344544 750601514 457896158 939465476 29997404 217331996 120784092 36813048 978462 583634628 807562914 593422724 665484084 951785004 52000788 463416046 992878660 938021412 81125802 355002538 516054566 688590980 225454640 688953354 806012336 775774680 195012888 115585430 538101708 17763326 284886912 457839582 564041360 946137106 539377524 521032906 233968052 360535904 914090820 715045296 685873478 214176092 408340028 909795286 161980748 956071252 123149666 661577422 384158876 483641806 428488080 721131172 917974268 857797084 92745568 683121000 244424202 992111736 630439006 794588208 753981682 865729076 299036552 893902986 994489144 605692130 815852234 589799482 763859542 844713192 989493668 76448728 563319334 59232984 959380332 167041100 179214082 465413902 399480108 680347192 764114222 403327912 56426270 989784406 2554718 912082834 482845506 660424890 15237806 731844520 548696834 853029382 53513630 661825078 671942522 19649506 284006776 620427790 19256158 101713730 736053500 333279854 589538974 885082920 279214368 922092798 571957096 382842808 109930714 242445330 96125630 817847928 965426036 64741144 683733658 99167494 803093626 244852390 801443402 555864728 293018302 34544246 992010478 379841888 718377606 843450152 730776792 597006372 605894466 931256598 578465040 116794278 765098194 714320268 623251298 528997746 679238056 101313676 349587484 887869798 327967354 747800616 35409732 788261662 817058612 248445480 936500892 483438998 307828748 158012704 372025382 670946660 314492546 650108650 622479590 436767306 274288864 965307808 17156218 455260656 326300094 533105624 361744562 952593620 263006540 369185178 635247886 550936306 484597514 210462078 285453684 693186584 996560428 508900986 262306116 822611920 462163556 717009508 130996354 629947328 170999890 361882318 978203860 640266726 903845434 357228418 364208522 828027000 767096358 334628322 124996282 770731202 388764354 630879906 511072302 854214502 533193776 100873678 375392888 412047320 831543732 831221878 598329214 784863144 566838112 912043272 957850532 902827370 15345398 915880094 916128364 246465810 307609272 865372342 557746814 6967428 846586840 940127630 356492358 569634454 589635566 115878262 830618546 532143128 599757378 154758194 357904392 53088422 552503572 999118412 647600052 487439074 760696254 352789884 134750680 864497712 862194428 25023098 405692866 943519918 998783732 597270028 563170150 489943842 189959498 267450900 413743590 268223288 457112290 309597088 536972556 509866300 367419436 446032764 48822176 828946340 557290198 499538366 904311658 648114290 339116192 373226240 522113218 18407602 725890306 15392464 108456840 845448132 489503352 137276348 219379120 120733598 879187102 889416702 37945278 784744066 692267922 498123982 57834306 883098554 640793700 692367034 48662710 526698100 447504568 738812136 831084416 707097584 133884470 542005896 743204936 810959168 471615370 430741570 440444900 75227548 307145024 396495250 752414394 650234216 550378500 860660796 58465546 858383512 755863088 80681156 540406630 685102466 777612170 257006044 19956832 837398624 941590254 462970804 638776308 358813712 275827576 140034698 162004714 308178854 27881610 494351596 434358650 287800616 311884286 554555556 353484060 219626724 583415710 193454484 53798396 7534016 644686534 22783404 401960896 226989538 722261634 206078634 147098620 211221394 118900950 556867770 579597802 256932290 815261414 913821630 765571530 640735736 725859878 489678844 255592174 207907510 35874196 733024310 134882480 486409644 513431912 470536934 666223322 334159992 497148092 751407102 411286 501534146 384373758 925899338 975270854 678167280 484060356 301000510 74671686 395765568 419528518 425165896 29963288 305620392 196343660 712451864 731541872 740387488 958088212 362711842 143265318 640438700 198408362 698016950 760518696 804576466 614767952 31485786 358302856 317446872 946194252 843557376 499991190 820671832 225756874 156565330 825915222 283150396 790692650 443678532 431644982 183408534 567400540 748355892 919678350 849355770 624257348 344614430 873934898 342477678 856459884 204468502 746495996 56331108 258837034 879836598 190578516 423251898 999474956 61976934 113065468 994541516 132896968 947119032 163873924 728083126 152478258 97070604 754930996 809456120 228843564 460652516 848211936 773613656 268874746 234287074 306217192 364852452 47616194 36373036 759010346 290521038 87390344 402149076 274199378 485038196 264956018 317371738 23632698 121889100 20544358 322453670 510179234 511989340 417162878 104597958 574715236 902644258 889286966 651416252 515579204 976971452 452356892 55002518 171123372 92551322 696526142 48070906 712620924 533520792 879765384 833590478 760872488 442099556 786062454 5673888 293013180 713477696 148752924 1480354 751778784 102254088 203479228 902325372 683559730 706224630 902295628 954068218 601113892 198589558 628768348 925874874 73525342 591498272 945061934 827196672 402591330 604918848 962876308 998119672 295159798 191997048 524166 659529796 633030544 831035120 3747656 417690990 951371036 462101016 770871710 364210586 636643454 845447874 191031848 832969364 717707630 871741596 220178202 375728520 970286768 815622118 828507036 505318134 281408480 553079446 693509044 112059722 893099478 571131430 583830718 753302824 934051892 998097276 114582818 784750120 376400740 323123684 341413578 916997700 617964560 188254352 557241184 294075250 798465772 60800574 518677194 713389404 731166246 344218226 621272718 157981138 369475688 152924994 944369180 21797998 213778356 353741050 173439958 58594376 339280466 368080608 314511178 551029410 604840314 427799154 452480332 428774136 89609094 471261126 54870658 63566476 897372320 161864940 616202240 39796536 822316954 599773108 107604726 435195930 279411760 672200096 496843560 830410202 639810174 242231106 797942214 538664772 514689104 539658216 540379188 857357384 748894838 855625678 467680960 354846964 289513414 535297160 657868526 839576384 685699414 478224212 116009026 941130100 683045954 753040274 853092586 771740784 976412678 808364102 965435214 34002064 626826532 384552118 269430096 104123114 359858446 928809800 737446352 206426292 967291190 870910694 664066612 392651632 215064850 881680044 679592432 466328680 922346666 430034580 792858590 311868732 338923310 442203992 236949054 930592598 626778882 972605356 120137056 312346598 774558502 794197410 982071408 736607356 320812000 183894150 719730650 546611416 276238952 734259994 208889334 752562440 361374946 610916054 336612758 691451798 376502742 975677990 706368440 908409816 754862626 59094442 885788550 93272072 262515660 220713610 334791020 73510096 689619684 396088756 429905478 318163332 369872742 219663500 803731468 3587494 483419820 668184428 677548190 24456906 32183548 274245510 496172000 643644998 481674462 793391766 274168304 340941636 913586128 528779630 532024476 67943990 1491826 355162188 991355428 768892828 272192414 582020414 48921072 965813476 473151990 186404006 620380960 801834828 748846882 154482942 571336112 503815340 236264646 388060318 184274982 132526402 198824178 860422944 105821214 290170378 416145638 160696534 524606438 44646152 197102078 669571584 338166662 818174280 94648310 512072032 259842540 557902230 574666584 702762714 699500244 235361608 380000296 59516056 474316450 906437226 70282848 53175674 441940172 595691190 130344134 511542170 155263134 450256032 185989972 959857390 94665340 621109550 318532554 731557286 719046376 86421114 790875088 788540454 730231722 792904532 950994268 422523264 568112354 908651128 592011332 724988618 657664286 218843774 901335520 432206270 417066094 806858960 337309630 267543888 408115816 404724880 152239740 927242366 858273352 999421150 755638066 369321020 507258812 143728602 508201146 206355478 409550918 186766212 576373458 301795116 218217466 541733520 915323328 550113830 952446944 637131852 667085940 821955608 347787010 368764158 14129606 455629714 692821368 698864822 89506390 956250458 200874328 717196122 441012466 82385792 321219600 881910860 285836522 91326810 598445060 858219254 237164226 670948952 557398744 587418286 601699730 322646330 410159678 545454920 864519838 255078268 246093468 257039834 356937812 415088784 920538976 184970164 256028780 490055522 953141952 766272848 456409326 985615418 295471164 717656036 213407604 283451964 986028426 730945322 622181782 705860238 171907922 142108854 616598570 854852086 697465384 199512084 555194958 267211630 571764718 590747126 54662976 817615342 814963476 330867742 320462354 570943702 695885372 676422500 129160786 596451836 490071432 845720902 108406098 514312980 33783392 634827420 717499250 551759402 996071872 379519386 220885908 51073868 734843726 83602852 160226372 455661394 740365648 179234938 107584578 43850784 587325550 601245348 913793798 114717844 817876084 448875264 969178726 694026918 445737122 336497846 326302194 399539754 859525200 694024536 470454066 282481598 434775576 110721258 548302610 908637838 558179198 265751596 622891700 200423552 97377996 936271574 294214320 505026120 811953168 236198906 508572310 344900544 139958042 198653256 277332934 110445192 431224772 532220956 808729456 829657518 472751686 907617792 827638854 739589654 92654366 815248910 54464956 909345258 119444134 10936308 787840346 621420114 611560026 919093916 90699306 290469196 97514292 599498840 523252734 780351778 877958336 61989308 961749112 380176420 409557768 167524020 290148118 335320118 427278604 230644002 874929920 812721342 410840030 682942950 96264102 620659124 659314228 682198352 536928232 690678142 279400630 592154576 978580324 146439856 207379960 613440794 957397726 585288892 746711190 232796162 725728406 339899458 107625562 377671570 264961428 587419392 923966984 562532240 354896136 137758538 572165650 616003614 853718384 434437654 336730474 547650290 455775512 764100068 738401740 488731626 659478548 618267472 211408590 189451266 607770472 715103960 502565124 948024098 478217660 449291870 871157166 192769004 970805818 326990848 336045866 327482736 126246590 626662962 447541166 986833140 821458078 185218028 912326598 189553236 729837764 251616694 638366524 324401590 452223928 14824288 994902138 667286998 227617032 607101424 739806524 471652116 72229958 452300826 382408450 201851260 929709016 172789884 751086912 678100088 741521230 320779670 588005536 468874802 762520702 547197504 578274066 922978066 801280358 92930018 887516386 772913052 538400648 825505118 21358148 704736372 983950144 77044508 971122086 630456984 539561902 150634874 733480850 784374850 794299038 468733498 300986200 305007744 478857628 876335384 395765178 712383960 988612684 719650796 20368894 458053830 129746130 531499360 899323490 427891680 41137848 736532482 621716484 907845696 379862124 368738218 37299000 40046688 595643088 352357146 600193140 152418540 161326214 464887282 74449200 451254824 173254264 878944716 79174800 480754868 288815380 9901494 48802176 320071370 746115608 718877262 29308940 3072296 874805180 963905978 907299636 382791378 79649440 531804212 55794354 573912154 129904406 927305766 465426078 353966130 110249244 15563934 658956306 698077702 261467170 814639126 613473866 421939276 536859046 533640888 61031470 762408620 793623660 660732938 546811380 991447976 983571794 82332982 677512180 866842304 315813596 415481710 843638860 256055352 11156766 868193218 271178808 529273940 750402718 227031330 259648902 753948338 791707804 690449344 310040662 396799110 851014862 36926062 327160920 49175268 842924838 452241186 593753004 986529320 782191694 762772386 881604500 595619500 655536146 291372406 761780384 147203320 67018860 140322220 620527316 563680320 326859604 406114876 166585788 87322542 764655102 513363546 166957958 605961356 507237244 150393866 650943166 329870252 372263526 66762400 137478774 296069424 626403050 110279100 218913428 48935166 514902564 295210908 1677744 849949080 492718188 750454390 957347570 78314356 359194280 168210756 146014076 399588714 994074752 762428298 788246326 64980080 884312388 509833810 155088008 748633018 436230732 906873480 749846642 341925638 18186324 68133776 371716160 315742766 950800244 729033298 479398140 570916522 338552630 949941950 497396434 254794216 468106800 170676676 444747280 345578730 285141036 489146370 124851162 668254948 264608370 364906024 653446510 274346966 795800236 147963150 743266840 93480630 19910424 227547040 242661842 962120026 610396298 698855346 588553314 101418918 320413020 297875986 525165616 929511958 655851410 911399846 444161666 170442632 853164938 690215776 348028644 674403972 768990372 330328072 238594486 671892162 287069876 911972878 602799198 780100850 372725070 683837304 13260598 797375970 303931814 665782240 127908716 967792522 324167896 335665744 733067124 581840836 846469454 113757782 108697348 700078974 149953450 465040252 519412106 155361990 611875618 485692940 144261976 101352234 522535966 693868866 839237344 917543180 204414004 492228858 792620722 299136948 607308306 399438470 675069306 316614714 26226878 815783740 819692176 902127022 277228214 692271090 923215894 586739174 766862488 220174068 644599274 346489434 719101162 927888776 352635230 949034450 270514796 565638654 823596424 823765482 674455520 703764692 978017306 526762736 909172928 432501578 389085180 731937480 48529806 760900750 549105082 726487572 38510526 144394066 321979654 655380210 554959498 257071254 530671780 30110886 542306566 56534302 992419428 413846292 288726620 119416542 109314094 930518156 307238692 77489742 355645112 863417422 952380632 266598136 541878164 397988206 177949318 132387376 593948138 913303886 715998216 295252452 237292210 194061672 339338120 327509764 261919004 590040482 538325108 685466342 590003222 119259730 279291824 607374730 435253314 45362418 210945400 300735370 77687352 708780272 642460402 160027382 882305866 460204992 623894598 846136624 587229640 19734616 586859810 19510290 869078074 128256334 195919870 805551126 140394326 942471932 732360744 206965922 107890404 709625866 356701280 834070168 15018336 996102532 793477660 981742886 339571890 120291710 19778790 138628758 926304590 873106060 649040944 245915546 114161572 11864762 123524678 413205842 134234798 330106500 674603238 542180572 378798092 160852926 498089560 752376480 918576180 219535746 800409176 39090432 312708690 378236210 606210644 429081240 243186098 235963330 170835766 557951662 357470500 643630350 646319778 186719424 16231920 394916150 394905806 72256452 556063956 410784856 447579628 703016016 132184732 385564664 673576238 506143904 324301772 86737642 388608222 530032898 431880214 176276434 828802354 743436106 40029858 517926236 966953288 184170172 679811216 363796006 499880410 207684022 426577476 265538166 779359788 654161136 189568364 513686536 646683374 489389624 136094820 424455862 682852778 143283530 407174006 698394278 26127276 97909030 839834620 378839104 817150486 672631798 86758430 574672644 590915572 234424982 873642234 95696888 640503942 165991810 844528060 951559628 428352808 614063670 377909784 640370758 51979510 803716238 355621978 222439814 783252166 134044666 367446906 769323508 848475918 247068140 579513086 719049794 532290276 10958626 539742216 734775558 28132752 47204124 585939226 468748712 574347808 637317350 65916770 917355590 822714782 278363698 324414044 704717864 465728182 541628084 940240280 948465574 869120590 70955392 378299390 941032892 332434302 292925928 799880600 359332608 82447836 264830122 348806472 530996786 488736328 447325146 370877314 314460584 876002350 502611166 551023744 747924748 849579940 166016332 189634686 757133858 777015534 20279712 530076024 989337530 930307674 45098678 983756282 316241520 125137562 622546478 78899916 266701438 277044234 647944030 34498656 601329334 782159150 340518712 76056388 962577900 44951680 72579050 175117918 418307976 70406562 939667406 11487410 533125228 59393296 251175030 636875722 326958130 219354400 551376556 50182502 449549098 286582442 15418318 912740396 265906260 77237824 791418452 423686078 226541648 698788740 249684962 504272218 714173906 814766602 812537366 112515260 878341922 888349708 833076760 385750922 878225486 859866766 32714024 992419256 404164986 114211260 352204224 389063592 390597428 29978956 96761576 249432604 424760822 697730088 614259004 650457774 925017522 210139712 895915520 441493738 602519392 924688234 87231026 890234366 135537310 738713974 385302150 76836586 481519464 225240572 452921250 721897148 404656412 371048762 330410860 77696182 201464534 609147094 284906586 257082882 926179404 541597888 393969498 577219982 768740266 753386326 603239178 75611280 609607368 769431900 247331710 792792844 216715062 267172002 634000674 357939832 845472626 108791596 991566438 195251878 785491998 84452926 860802450 917658062 521639652 235557356 73505180 809206470 194462526 798087924 202613052 28626852 82220576 38529610 459893366 981273918 951448280 392620374 532765304 252894836 643919882 211707410 832970176 733165866 65722936 600222726 691539966 532924038 113292356 541633806 161412412 762465460 554164416 894790794 783153092 616067866 89261860 679352654 353087138 537683744 914000200 348145258 816026580 225586224 142709244 591024258 699754654 808622540 191406712 416980348 656725128 805745678 487017822 703065984 496994388 515875300 127939830 233472678 700707574 368777798 31678072 869484410 915244866 973476818 600117436 975077136 653717204 115804094 744978136 76881968 37659030 920219692 498238356 449833828 907413574 490823682 422068278 212237764 654376358 50105226 743954216 494464758 237453106 379458570 892600902 382826276 529386120 675494098 594159704 904966226 730478428 694977090 298414776 905513156 911233116 178124986 396494804 887967148 237375054 30484880 700618642 742409080 310787024 380690470 757602660 744838734 736869454 29598570 267189012 484109470 666324648 798507360 553563798 670203186 149231410 136927704 417102672 488913812 361974606 871207696 221022576 841677860 78298420 837197702 151919378 270605834 149789016 392758862 729851528 203962342 390511548 26732990 62813606 488604824 140142780 943162104 926307378 901045290 214335540 42209668 377929328 321834696 686155478 881386346 816069114 631877002 216018434 537141070 259356796 31909304 525779540 341667082 373093344 785037774 612073876 88294386 493055628 961247646 103444950 116141078 239962322 184293170 989794004 373588660 840538242 283875420 260077596 292992038 490551876 728821938 648039172 71318618 379424340 913612502 519844292 443706016 869824770 943751644 75815082 51058 509922602 238494674 763658226 238786 985903150 465973936 940803024 828636728 276596298 887143604 272131788 27540138 656051844 562496992 630889124 369381384 785487604 124823190 634111396 268059986 946596968 905250218 346233828 860128010 524074708 800498404 567141778 201850294 45592308 140874678 1121358 5220818 960082242 898526004 748805842 280265506 529714 176597944 429590104 218637926 626485500 763399382 848205856 561697564 152275256 836893158 809772666 910800606 72646120 533363522 698372192 694131948 852604984 298852044 815291054 771783558 691486590 577309388 419511504 916373200 987423718 671844418 423222068 655727762 800818074 426989318 552682370 366410986 317992108 650853820 491172518 338748484 604603186 415580824 853014922 130473860 972262064 878844360 717641682 11774836 121004590 679039602 896747746 860621156 964018438 583935258 440385160 757436608 314103522 119582774 258989032 691880818 8808094 1654574 423574076 706825144 58695402 323051910 84770488 515782900 628426578 87949652 493144486 899548868 332580078 560500364 113117418 779395636 75860326 372337862 606552070 651284708 256565860 986023794 788230154 360410736 717217280 37037724 955461700 409355268 500136020 792835840 284896882 353586032 87163706 203370994 510623928 793952856 222761098 98017210 323753708 852731140 611147406 989232038 170379890 313852384 782313964 654758914 717000426 836930854 845260496 634879142 119479800 785397526 151571580 119337502 62117710 6349154 908963876 232268940 382693492 731553814 669439814 160158816 987620056 611095610 33562822 243210230 628467018 628433750 108055642 148900158 485397722 464233194 502957444 587224472 950967876 643546600 887044114 427772212 609808676 849194392 931266712 100847476 541886126 136106794 292168722 368208982 92959786 142202 440925548 434241360 963154646 594322634 966199096 465445004 97364772 610375530 197470150 771743344 302050212 749622170 710343196 13357436 486289412 275688496 550156956 700065660 180119930 906351062 713357802 287484258 221285172 516882958 68721104 265379208 116308896 8027594 781833434 11689486 223447358 868506298 981555670 56663224 216588342 706478654 927567824 720380060 81577538 128207152 108184464 584385032 404894328 687253254 854897404 712301754 170691714 499489626 335917436 539944194 439552846 763887396 988882718 873051504 674280554 675848956 41576806 44733700 660218810 143033020 466863014 743691466 22780886 289885918 449750926 688978820 45397458 471314106 194439978 771054122 881071602 65179018 822203318 237186876 979415342 205236870 623602198 768083316 949693188 646911540 843976878 379021076 12332518 484168494 866592812 734526794 671465056 275715786 98997432 99572878 652779256 648927936 97173490 626174614 12973220 782846812 588870512 934357602 516253900 119058320 215531832 454935870 429197834 471014358 9587092 926038414 537701910 409221296 420355592 757642408 543824792 868892302 829787926 366510958 922004520 357792076 862295354 585362600 416762130 921811166 348059344 570535534 347951938 706979254 634025518 516548772 762818218 537252128 755346234 56938174 279469426 213828594 848267790 775275120 993375698 476203412 836472688 837407212 910411728 110698920 415734376 951294596 887262644 790417800 597137396 356910012 855465536 947505612 224341310 808778344 765019636 888574 944113610 579021406 997351592 261746944 673781210 966074358 688366356 495157122 113305428 762937818 681768224 198522076 117648276 682868530 472714538 67476930 281904506 329814852 365315134 298767012 197873866 438254054 146509268 719979454 847250662 983754530 182436114 638400814 55440272 563157492 700615014 905002518 119291194 633696150 544639656 184548002 110909806 947446256 471774740 997657392 480060614 327946694 403019428 434821666 494932048 127472544 360148274 234164734 235074386 971290798 807283342 692749200 824631090 747854852 923267304 797245124 27781910 834211264 292856114 510176224 666900912 411404530 699758760 974996068 930036432 328708522 918363770 750655182 180254254 464024526 907651028 841937860 259867152 757433638 130369162 35876 737500158 921149094 983177116 322863312 384523296 174688130 903384652 988218746 660886372 400609624 628400542 568807876 357329068 948371340 203927410 97870034 347260102 84167492 649834096 821155308 934520378 259133890 68526020 914739342 295447462 709235496 302245600 169057680 870700922 881277276 677117188 514472444 134775206 258717476 946052460 231756628 512814390 281005700 172988264 813132788 847324520 998469762 998093830 513159210 21036052 833629228 489808620 40479134 78626484 462380774 757860726 937627550 677215028 966951474 59895352 483115338 494691654 320522690 313242856 514446618 967185674 507719234 18952096 508554964 547612344 589746610 337755512 732520636 429509026 699454494 632810290 813644226 504027456 15310770 62207366 877303108 578691894 49744582 908315652 54324202 327061390 26617522 860242046 656784742 215012594 722486950 959375722 24987280 937000060 455657890 548480456 454753268 207451312 164709408 755002490 100996388 327243178 501110060 349592750 245932142 412945980 255832988 433177854 436919388 639989916 814529758 399571320 122827156 934595454 740493106 916092408 189167254 741358542 116280838 210333214 632318646 599435040 402498836 488584018 323436806 280085438 491614498 219318788 451990994 239312448 826229904 431147936 760511116 28275344 5596304 948025564 237946024 151864036 723001060 814267338 898732106 157185014 639057872 715932582 227367584 557138780 981979628 95784240 395970000 342749830 872111608 292938974 323981402 385189478 260880564 277509242 122269046 966063426 322428180 166989472 774356678 357242276 851073422 328045508 142105930 794581354 242229816 374047920 704040436 641020914 546557670 520818874 659234598 104348458 122697132 899722334 290891778 459412332 884565730 291812386 960515910 440505206 462616636 80920656 651903346 509608596 648629462 188021114 673196134 294388258 630440960 230983048 112545186 8500930 342876132 266584868 868449924 925192046 730024328 550378846 405082656 39725866 35234170 276230454 592172572 349880826 413549836 834657608 49795608 434258266 973945878 813903882 318928634 220963328 596853216 843141386 452758418 211000700 740774476 767056318 351360162 986298462 151398798 562473226 844836608 121040036 417965384 722890196 782783428 960004454 868776852 510855306 582424 240483212 992470692 293467662 416881750 815973940 192200002 863209556 706829480 30417026 863351828 579418600 866502414 849553288 66237446 728048450 318409856 322614206 311130776 90076918 886552596 171984670 206560966 536770888 504210646 144780066 455508170 842219640 697524884 276344358 688070304 597086364 175257300 887736322 564634914 718488684 525328440 302807216 9869000 706995476 787370236 127661200 294548170 310326538 132688220 250435010 95607392 694024206 505915338 772275700 816601188 91266950 779210168 270999406 375498318 496471558 446946610 590053222 89294362 229085834 719258516 257764186 971349146 328580548 265441432 540904422 458074388 900217340 692848420 584485182 782459268 11243152 611973464 763742008 917827178 695192712 243561682 658172782 367175556 571508620 348543396 42847702 582266958 376321728 847598386 192057176 532953292 477487578 890014572 958996380 861397936 456988652 105131672 950163046 533205204 171770750 569978784 947168490 24084098 704155074 253601474 408644406 405358366 685988790 983516700 152351636 10216922 156431218 515521192 533470534 814420504 271508622 133015494 362725964 76298928 136026436 544934272 652084816 385543308 487344584 395347510 534431910 529340384 887110896 377304164 721646068 582296050 236824980 717860574 529389492 454206992 914260960 166590056 789824118 731720794 799539274 203818060 812928570 231630358 659104280 849865006 353688122 777946276 828062776 413743242 497460516 138822620 807751356 41718882 551432138 387725066 707075944 937901548 214481434 161070378 250129810 556063992 927291006 455148450 781618062 264100284 290509252 196364822 386352320 121129032 232716690 575585620 722236996 945107304 838473956 722469700 228322320 368169710 918984146 832137108 201143926 769758726 512623714 17986696 155523730 792714046 132710904 338055420 113787752 716903484 79897046 487995462 791888104 255202780 716113742 253047258 403791776 794411852 338419682 268376460 649511768 69809310 970752640 260435084 976147768 544802914 284128264 317803186 163649734 802408680 737225512 489271058 97574250 355700512 271489704 967213034 343953062 762193128 233599744 503600052 943418536 282884548 397803766 120273498 679794938 13420704 546634770 621707158 270756020 555941726 948481074 194038556 846855568 904244336 834071350 65140680 909202804 405850274 125889358 364717034 21355944 95473516 132697132 901091114 212568440 99478468 478738802 759221420 588579744 40973984 594299328 570890180 215015060 147306906 480294410 99955340 698845120 420371052 719874196 509057264 917153496 336209526 272719198 531370102 972743574 441873470 314789460 548878196 268822150 532435438 449662102 177428932 337759750 58439658 843643774 363391778 59295362 825630504 259133040 252610510 240540912 255997574 422113448 224754900 76784250 881022282 769752046 672863866 761038684 786051788 374968402 207872094 163084708 508364144 450305844 41253964 513366608 46922854 764040884 784441522 821271054 88440750 554404690 295374492 644243432 563387130 571714288 899372358 745570206 253460338 1693468 52988670 886570854 538452810 757877704 515895906 562929852 524371390 513116996 208027738 316418322 121837914 401561330 56676596 379101524 317825106 501083808 967921380 789068980 367354778 270823418 292750132 596214090 207129112 623906328 46111196 640248916 900485194 226901556 498586430 277184468 933972388 677510418 945554026 788946670 814553430 189740714 88627972 396222014 536442444 583666110 103561324 73027286 752993460 619749020 309060528 667391424 879576410 800244526 611106274 193517038 317347762 736049074 885755332 896479062 97853836 209329832 70552014 324458182 275181970 625602872 66586176 678866612 204235206 304524544 560683956 581975900 776027534 787775596 127647730 496489928 352276748 596598210 558992312 271851942 738344414 685918270 288423218 773585250 960057264 223801020 485634068 69076736 886908590 655195438 412431972 562268966 399809218 777999682 719376102 452771200 358534268 932993026 824083198 920309730 157079440 708165526 124573186 922480504 256662384 720981986 789489152 274836814 483421270 175735780 307825050 904706944 658201254 858167144 740016022 364720638 878260676 603607694 797380722 553480670 286657740 841264156 573109534 540191400 806012304 340956804 242953688 187342204 319546224 650838300 70171070 655641970 420050704 786606060 433921568 578786008 274872692 137111914 487278962 212117364 859824040 520856188 332988570 491250518 66794954 766048744 272762826 857375802 342409794 250135612 811305952 718164896 504909502 213984886 452831542 294576674 950108516 448762988 310162458 832716054 11302034 360050522 397158240 324864748 478293374 561154202 948746740 712820466 695227222 347854622 466620348 944708342 540563118 606502534 630069042 599728500 874592782 143228644 717855116 612542944 940720364 30189966 221715736 165081946 946196762 884876926 416682738 316949752 846025524 554002482 777506542 28930824 71195424 881817676 471354472 77651064 282280792 984989718 315326118 107292452 933614360 164596144 358079486 577932842 678439666 819299670 519245032 911065366 963039642 373585112 500587694 551129754 349097528 293198120 810049174 364564700 214088650 187389880 728916400 493574014 573157870 691122316 409553914 44825688 576685248 399554238 780958810 933757234 165092336 936676880 355948482 541891310 662543066 846855322 551448242 32696166 377229136 84686296 570825286 890902326 788423470 423393598 441782204 626991242 255809424 352439872 650741730 486794248 151134116 935281876 904215212 82452108 71300616 771043044 795161514 760021250 202404522 624490424 87776668 636836412 430485790 151890448 576386058 104139112 549071508 275738060 677661948 972690436 494552936 922942936 612231152 445987674 18368374 637280980 160291950 203588490 139460748 367561152 404814966 314128436 593104442 249045256 201734974 832525708 318989376 664511854 651294660 145233216 176096994 937280378 352612330 652544980 291926202 181487494 291740982 648680932 543490020 270758350 849645122 333264416 380327888 645908838 342342142 462213950 89831738 841632690 264832982 698243142 287767652 305854468 277979736 88039650 899998286 224079458 831937220 131899022 273446164 746567328 911984826 106063848 830905576 959198166 176245512 221883140 669102634 588870544 971612028 114689424 391512216 101279150 188003598 575603470 453900384 110735020 601437586 162921282 119567862 519943232 48336514 6758410 429009104 329523230 151920602 737407458 11049080 15888012 544734236 300355138 608184922 534970122 436245766 653633450 742958904 71048270 334416298 378959138 519458528 337782630 602689878 684974122 161800684 772080376 94633298 136113336 742968776 975574688 193986560 506651760 986262816 321830060 4077472 128015710 809775302 241200302 318755450 437796722 780390938 990979524 215717934 347171990 944221020 52433822 960936418 36031502 803609572 552544386 986240848 960555524 797013774 198114786 759953334 70039004 148565654 180103932 541663586 207373262 72403942 854755124 923934728 172338370 640322928 883104304 320499846 542727376 293364000 29329748 798741746 74405064 97862950 88129154 403635774 399733596 704384562 265528556 86835466 781770552 365667264 982418198 259794028 25312200 619495808 554507040 999933686 71288514 765381748 858049338 722368370 196166336 206482254 918736588 630126552 692006160 486190598 687970474 136479964 344293954 775515556 473896754 335601444 847793202 992114190 754553318 208496196 193614906 622688310 631239718 82888068 203810308 331106920 538009564 651134844 293015880 55939022 200469504 604935582 37817788 682441476 751722494 423199466 129224272 204199400 527240450 199840326 429408568 165943574 691664086 632639062 701230860 857273946 211175248 30191326 385740584 946747182 113926008 581284468 192094762 927710324 928373108 391646286 780998144 834544816 169637734 180165868 958378642 622885174 717260106 842884396 129437714 125978710 917763014 14778290 881332304 425408460 421507394 880274862 234188420 213487322 226425694 701130608 71115706 289296962 999961164 995747312 44022874 216055190 902824226 741333632 736160154 648246910 271058598 3792598 587336544 846124698 123835124 408168416 336677796 343859380 546164142 987611576 984003470 561682450 706599714 587180450 385734828 222026424 269606128 798929114 473789842 636533272 554153736 916057174 248490918 100650906 318791174 985002212 963481962 893405602 790038370 784127358 537133594 320249034 883275696 364999130 607626738 975889540 920285426 591297284 828828470 407875840 422741544 403291454 629347746 472076546 324083064 820031748 881898130 544847396 718408810 910891768 748686750 724179220 239323520 479906174 504638338 179215684 932940850 25772174 274608244 869603524 819278314 221660532 6275838 937779436 489659558 916944428 158089560 267277438 293769352 498588872 457139090 391219160 801708302 327977800 282516218 625409402 727364950 302120626 143479926 691628678 791793586 959955364 150032276 479687466 464891276 866991374 156941684 777781812 678065230 464692420 492013286 975447844 399998394 175718068 199159028 512842912 135894836 223628330 811601536 223042962 134151742 760795038 718989516 788772524 234304192 133451202 153910312 164809874 447396408 342520658 246041894 83032678 451558574 149841422 733950552 636509584 413859720 941111276 432596670 728164462 531363672 162069240 317593292 561282500 232247658 446518686 702440968 688356772 572969064 325966902 978527132 39487550 822922774 326288122 799799062 823368928 159465218 562595344 512159844 131218912 263257772 978426814 44873230 214427944 614134154 960302364 811949216 830199278 960390468 618648466 404264526 800194310 533409250 219651602 476320232 158918418 738229334 535355018 420120848 789626522 44803460 275808004 531189926 768475752 808987998 739909982 238188856 740370552 131991254 930270862 439719556 850632470 566628772 306227764 205662424 565832018 605800462 809700082 947254958 840174670 698183782 981769336 974093858 821730296 850667036 502458504 321388248 694893718 239683010 412472464 798300142 737497302 128439988 659654920 505600524 740181400 138454718 833531848 862885380 992228368 953799080 406559928 391481126 718482380 197840080 289815078 393151112 889021202 631729386 864555242 799719662 588314552 232266116 728891162 893048148 489396246 703876118 976143062 725374336 273291362 700636330 557273188 657306638 838964276 898974472 924237548 949571328 856426876 414006216 640706280 119896198 462492778 397339382 276613620 755030554 597619772 240650566 799807928 477216428 1349558 919425872 300707022 348477426 358968872 556367768 281329200 367625280 100280040 463330944 430440860 143412404 590620360 310393914 53170352 23953832 336126982 943060288 957115598 826065456 454747730 162382812 631293308 206846598 891893842 225455366 49069882 91202132 503822814 119164138 919789576 225691524 331630020 795268424 694150466 243111326 637343606 362274318 687603486 956195386 522881608 698159028 880236960 317932122 942276988 193525986 83725780 139075514 572008074 903237736 377392756 236519860 829563422 684455600 250904052 369486204 810504350 780798826 68502798 997194680 317650264 425370074 389044842 271605184 286324118 372016720 518945002 43874340 827438524 44089868 879286056 298710054 714085854 163811842 403086606 679819608 475120662 179279114 777650194 680192720 701813016 971487910 510915330 356957330 229658914 968283840 350865996 860615062 520991574 424400732 977026352 829269672 105752116 779311068 924266514 343245308 981844914 699524818 930553304 235453408 568388294 382796846 531533402 607433398 803599046 432630552 970005454 535300436 148066846 737302370 557834734 593637750 158929798 27955368 648223374 643745724 423713700 686294844 144284602 1935420 590045824 66113766 910125714 903854106 6039762 676281404 122414432 733471246 498768356 582061780 244091974 240868894 893134732 774162804 643231148 841573706 690407792 993315292 684409100 11166624 561221570 929291978 207900766 735933076 936465380 233375126 512904734 800379086 548583290 628291166 4393616 199857372 978154430 837837728 580958662 33816796 757441006 507206376 81092840 639661708 688892852 546790968 121183166 518912616 437561408 75605558 121462044 189367942 545927394 1802654 428575432 57331766 969166000 340258824 692948246 45995968 935027630 878041694 653547082 117237796 505699544 22927970 642166264 575533472 141206684 5452332 57474910 751323044 801890432 243535138 152209370 51739054 304367032 704864992 657797732 406824666 478270190 478820198 346180712 416029984 443223886 538852362 490897744 179425742 693472950 115357076 552496952 436371408 577476542 891146062 289394296 497343206 570509424 698843662 310272300 965194432 703750174 277845500 686506166 811347862 829554340 670252398 996263548 980138822 210356056 70996886 371579792 248400548 119964048 725029246 539955400 187717722 864621058 882968558 979786236 61953562 938558332 150506966 697389072 726593972 373526374 362769348 173431368 186525354 817450476 397490690 357991524 387878404 683585396 681895176 610020164 903498144 231912984 259287076 492029226 839667356 878366446 843267010 693202634 997825246 495528940 957951826 275179218 371519028 337475098 697417734 531917178 309536646 800684906 600356298 353078636 773263494 809051330 7351488 609263426 369454354 549249620 171014952 658814376 385847278 362455194 470078816 925959514 15285552 466845548 931391108 556188266 78890128 618570274 113101786 142209092 382637408 12390136 827075426 250002554 572051152 461731426 13980298 627845198 24203384 423894336 99572326 503348278 613945272 184658206 668121008 448201566 958781638 623609430 703733166 750831430 165340590 415954108 43417432 825099450 18865082 704957568 255939534 315972216 241201912 669617188 535488132 423771974 51629704 155904694 825447124 93631334 670289430 54053948 220441460 578410886 386419020 923242984 812775614 221912254 527260940 526743866 466693586 831587412 709027210 360463144 265089882 268792630 314294154 635601680 578832710 271836496 282068002 613377876 131813234 150345586 943213038 617380434 108937002 393996116 588612922 68975002 870901584 394207412 314298382 318300118 730472668 809683968 225823616 306079166 104942266 699515202 428736642 788171026 16238142 78578480 62600448 313583368 642821238 898074936 875203120 538801978 434235204 441227176 560093262 34849088 173620850 757534972 133252660 515438014 163755884 154314110 861937336 397121654 47365050 561570336 488729536 154049478 94112142 428564978 569498860 900029562 168437894 200326804 547309712 140815988 412957994 665221514 478413602 454485500 920501414 740944716 977072686 715708530 168382956 792278202 470445530 85394686 653446816 301324896 262458692 503345746 938297348 80491274 812519284 80729280 708127108 591594550 384948806 818140182 634883210 555690700 104915552 782631068 855725174 286473640 961459646 860280284 611562294 772157256 602784012 244217404 608139500 783609366 42282074 777170496 834575244 551437418 531732760 671104172 34179406 629880976 990838960 651053962 446335864 414948656 820926424 167356338 504220440 641875420 950876466 369292420 29313802 218011206 787757902 187565424 558345816 522485874 729554512 522243194 699634984 542436168 461952732 205576412 406349972 578443792 979894696 923147198 741155944 377599340 721694258 824642900 367192472 823464606 367007716 673375824 395490896 981897868 850684086 454780852 454929502 442880622 256363908 746262936 781749426 992887520 241125624 916727150 68203248 581027386 812201544 139121354 387178592 708125282 51698692 505931514 903038416 322728460 484529474 697409110 287179632 777705272 652093126 384342560 755688690 816768894 582792948 590076140 458116492 321636450 89331054 430487770 546447042 288160208 701443002 23952670 78427126 398595958 260339618 739905598 555417730 719510978 562061258 334669462 708612452 907097470 869937928 33607046 405462844 775530692 777925230 597632764 703257084 535000070 311072194 319970476 592169922 915964224 347728138 892669398 591143208 607303698 458016954 160380788 284526932 750450816 874858270 28804226 748620510 950855858 665983804 980169472 126750208 447187954 534219670 103337580 939945774 742039426 499785142 395228902 829623114 279563154 296125590 527826818 536129544 168406584 900059830 446677122 41438302 734320404 163609372 329008248 699469208 656186404 809729582 438808044 760669578 382132106 591093608 518058904 928103964 651623132 837285966 406704282 156643220 32432450 83792870 991424442 261189452 818498556 620109142 246734128 458149548 337984550 53741060 83545550 128648924 520993794 734243304 718002352 460300514 178875080 52172906 291631132 834906476 763384656 304891376 865789742 518060964 806539326 23458894 62885278 757338452 515240872 462140962 375274474 788765180 367264108 209062306 183410140 903996028 259824652 123743408 628119812 897583184 180324432 173016506 420932928 350018152 471299240 675961808 562520596 211732166 401525802 116728040 278053310 928046712 910550656 999994280 569414566 433430168 326412416 286693052 323831466 489858118 302898976 390601124 861343660 836744136 303409764 605013052 588424170 991576034 533168434 147699374 55609928 412823030 424467868 544670232 86002428 264287200 269849180 43826388 181305742 908096 476016228 997958108 412531460 252260740 454542364 971248260 912588324 74633818 341599992 267775734 883897502 4034282 109852256 871815482 232151746 150201090 71903702 13313686 275576046 499916122 165460310 386716136 851945582 296836410 943345162 996952282 697259260 443975404 294255354 100898582 840801986 64575110 877895314 874193918 16239126 223455242 340620950 543206980 827116786 38447298 115625870 239199496 317637194 249448666 413750198 102567330 360831222 85760528 386588464 319628880 325768516 885063110 714421100 901924146 41118748 18684386 147520256 24374354 373561368 502472610 357159992 75788736 422236702 208995284 977175636 320727506 966725986 129709312 528145196 28832118 53509374 110716084 737459370 86470896 94215278 8511406 705629410 637530044 920528066 383532314 582878792 307112064 709856620 871025514 861843114 120524766 834685970 128381106 127944900 318871230 291658050 903494826 79842342 52253458 113816144 93419986 691609192 88535960 237424194 808041534 212415536 723464228 992333886 31776252 348203440 344824028 149165960 147495132 941756160 279979220 274874480 974014892 230200970 157230796 350999256 636323096 766091120 943124912 626885276 88955118 267616394 447933004 993739208 331180020 772534404 86489176 508392538 864520402 854262104 557988474 892910544 801675814 715219442 241374280 220668636 843027626 502189812 216183304 54597230 176531966 554015096 790135492 622909670 78220732 869337944 21025504 777080710 31611620 379026976 572193982 575635116 508284100 399801682 798196604 3947498 18909644 827685296 629784642 341528094 192101518 173837220 153373064 670093196 778037134 268034926 577625342 990271328 185409334 746852954 783381490 365211870 660858978 728435184 477789660 703130772 203095318 278506204 46708028 601774192 575622642 20060202 49121722 474661606 427089850 595105648 540653754 576662072 922555276 14801044 229196492 361330612 752238554 40889348 761746578 239110994 278316686 264679058 532486012 995979172 86707460 69009222 450563858 382905054 980342238 959644740 772456670 280588174 235089996 736932582 11987840 324069508 45361222 291653784 76122522 86737438 132061058 378668750 289260716 203710262 566572066 663170600 175939254 882189626 438401532 749013150 171307196 893820650 617611768 127601498 825983764 415850124 536095058 749285244 514779960 164798704 619826586 991410738 837752542 495656652 236053898 382938480 178353984 879321388 268330712 30677084 724515960 827293316 402167914 879338434 44394446 871005906 416772422 529076376 592280540 674269858 31013538 402025494 466398660 380878902 950455030 468525670 236752634 892195272 780378374 301552502 314540178 768473220 49555374 375552488 225222330 732620948 951330826 10571708 18086538 638304238 528402592 539875728 241161162 529474056 812846342 862538906 576907888 750088924 669539886 173859398 347078226 306709014 29178994 779873542 294660142 223938624 596489674 226618858 697512680 541050986 887796310 577209724 874070194 549171550 636123956 136416468 622134000 150680814 423417270 13166650 780878864 476116306 197829904 953164612 271915276 441620174 669026404 822562978 45194714 575659330 89453840 532458882 226349600 579083606 519769002 456355458 847506428 282948384 936870006 798464262 567334646 784011178 129450620 533978764 698681720 229620344 145597116 800922894 869503512 648731834 237100042 642733162 984100286 60404130 250907530 717535774 701414876 726686828 238747794 508597246 192822762 398184278 962902660 579137086 543855716 730605824 820633814 239493166 103432010 911855328 705079626 156573244 156842650 557226520 692305500 265430346 475906538 897053048 636898662 644328580 245037690 267141416 801951010 131021262 102407992 670412698 764078670 493500374 1034098 354612852 756756986 971145646 675845154 976902022 747192636 709597038 256884934 472264496 310101766 124853764 845442276 756747460 288938706 843262522 97258036 726618698 27854712 383560294 763660700 555175224 943177064 301561546 728919332 961919860 928628034 712161216 393318440 684736962 855130444 831751774 237794708 196132962 730201488 441240452 934042314 707839518 173361232 452575690 800480832 952991298 289647362 909238898 99696742 461810764 194738774 227355246 948692102 277221800 619906768 601298914 375414478 88424562 380867178 267025806 510393682 536873500 181354478 785408636 917982558 674342502 655017184 517019930 764498818 202222522 968708172 306297090 553090088 394118694 603438400 36289528 235988822 850775246 256218692 525496410 942401900 686927122 634231788 515622068 933387042 504752988 918728024 650236224 857818232 11369296 904080494 407646762 431058038 505637640 432468336 740351458 294678390 563925608 176487286 86617048 541925142 622993368 789152884 419632318 587547560 616802516 438212686 288543510 986994830 630676504 289043248 903969754 521836462 605187060 922968042 193810104 322459060 312160424 297343648 11747494 639123578 452626074 292207056 762856978 658482944 837407872 557076326 255749904 72188162 617143492 492256932 422052028 706555992 228818958 367942292 172514290 59120044 678517880 698136080 207635326 906291934 587394658 975592852 57455642 294967428 541091402 45533434 520228140 44055708 333303108 999056674 541360854 537478352 886694478 122071786 412921342 780503916 847548176 300889194 435935712 389189652 589327798 897578498 594551494 977957532 62285228 424323656 461506176 310316002 195851256 678850192 59897456 505558388 406141426 396970678 422703648 838937000 411184434 316846600 653489404 783023264 170525260 670307632 184412924 492729792 122333556 279833864 53185316 62224616 708667382 238418988 811565082 310682272 888125372 518137494 925713150 807794810 564630502 508379816 447230042 101291232 797305490 630964256 152222430 129530768 968460124 999090550 31141774 90043368 675541754 517672978 189871114 648037614 228582536 746834120 683506440 276340516 247028618 3711800 726305234 507545498 591081312 734915670 493581808 177696198 923644872 768614038 160002182 936412102 858657452 147679948 365687002 954859206 746364570 125827646 743183066 490634840 647461238 42914974 508201506 345837334 92273590 141397880 334831574 635468686 717561572 350727548 197970630 648727010 608815172 430739830 738671102 762981176 334100608 143407134 640915148 103929836 455519374 651481514 979244336 21898152 662540706 1273630 890331674 286098328 104301408 472348662 793805924 472679742 778333150 72121656 710988328 701536236 408147342 737984916 975518738 520154908 414727448 483347518 489275066 25401278 727982648 641857700 642490904 608912306 156769634 30178984 290145514 147954440 846273786 656302542 1805724 957823758 618607090 668354962 145013356 89536822 42050382 76214424 696457626 726556326 34573784 690316902 8443122 479749840 283729626 193512170 700993240 915754876 954518966 948859754 461587934 55115246 324766616 447509802 707290986 512895008 629335286 42745246 583775656 333989300 465850972 666026136 768802718 677717574 150263700 90600634 853418182 672070572 818687244 338853792 3866518 147539914 672763810 534962792 574744150 842304804 670722614 442515596 436096406 968088692 177966040 119521228 838251352 336600106 211394676 171869662 320712332 482431958 726160436 400381348 670465076 484025762 30163136 224668684 488655876 505566782 297038768 496344970 987813224 620400400 378283442 881146338 394757762 795286108 481169016 576634324 496151876 801258636 283266330 916653900 275251452 998871640 194853488 264824802 53431496 494637994 120251624 70054078 852512438 385720942 315048606 253740210 941947800 304399300 163735364 921567322 389590898 565697406 460115294 526853540 885725566 477070332 874546292 755671456 552075124 97163046 491458472 685245910 419690716 466527046 748953556 932170532 938826984 997434498 316520414 501112238 503058592 352735026 411597462 517954348 660766144 537278780 356679610 28279100 450538696 485644640 963994540 345774734 383196474 898620170 246018500 237377772 865923328 466968172 4714066 843733938 571444518 428166604 295691908 218478230 37296168 883581306 946715138 298769936 977417156 492288690 356866758 767533024 491262674 63978576 675995040 986621934 580659136 873677696 723003548 792522280 793449360 229802326 607687222 158536340 870764984 313739278 321449920 975668488 827238904 872598860 79772482 396682414 637774764 257373082 900956116 917074026 854808334 404065262 318046268 880396144 451848728 7989568 595821782 359039374 257670004 369478242 51620534 111204012 908936960 879249832 581004346 566630842 229529534 10193260 614987574 216813770 233533732 483446452 518424094 990529032 228747068 449392812 249049314 770337606 596026480 309142454 515391240 74553022 145741900 745042268 377624452 668960036 705644034 188649542 370104256 244519598 494115590 976983188 412167018 387170690 862029448 483081248 664933458 530453978 146964988 861976472 692664040 411107250 452603810 767254572 761181416 354103140 837788316 691094842 730642274 446944924 263615748 807860256 630658650 261285052 353988600 624665428 518275150 459190266 77791112 197921796 939911758 64644112 827873314 891401860 953937556 684172988 595356736 278657998 158000682 290418422 110034126 723211706 875197636 89160030 299000376 757637494 392874422 899497380 367972426 440411670 991655314 791354502 580377078 939905756 503598354 138925200 310546448 751439722 39445604 580185968 850617234 665008886 867048572 48579994 895539980 300263900 894781280 345782838 84895046 37275926 82825664 949390896 50157478 736157710 466821764 183534396 420536474 86599792 830604074 789883216 42873920 255367930 277297482 307628620 957918062 372364340 308681670 346792276 952186302 78402002 115985820 831132976 4239422 84375724 427775250 580019792 49908994 498633142 466793200 41337688 284671556 756464106 753405474 496557206 626524428 386713810 814255490 65039360 551531142 348818892 946891678 449566826 791207164 114054980 172609446 798734530 778580248 851090570 615209968 259424370 373781790 379953044 162515080 55323042 710598234 981213816 600528958 532608054 826355918 76844450 681047164 720668318 67303698 732660136 97675278 706062030 809644218 849492542 873535006 942183210 775083806 533006472 321202386 727484428 189918118 809562074 355205914 4642104 970531306 958263314 557331240 337808352 377847198 944678076 901076078 389156258 866358690 267379914 739638340 406246890 27014492 942195900 712797186 97558440 526506218 460433452 177366738 158503004 722022864 456330546 140864330 32659256 119012022 934310058 616958432 260089302 740355484 347720838 200776506 303989014 129423588 725918730 460438946 138883372 877959248 533669086 909245358 842712886 343329460 851782658 135414582 923387790 40056020 730329198 6291000 139621500 950393550 288542638 275913872 122006642 726464778 868044592 493417264 149220212 32852108 991281140 991180092 757836748 331312286 574597316 478948590 871544256 802222624 915549162 594570574 509236898 441742388 51593530 977541092 272691318 699452236 371529598 628892726 930682374 454826470 870696174 65578108 775403846 564721378 698555014 63031668 771155504 917751800 382731106 811089826 373236670 580284108 809963206 530472430 50013066 743028486 887522642 349195718 515968214 119314256 341882494 919024278 350993620 174340752 151830812 420784738 622899296 577837102 808866460 844947406 166496836 273335418 160244548 616202918 362509740 414181666 761376880 241887432 616318360 612363614 432403600 512349382 958629542 343761720 757829180 230943008 507315390 162924216 474855442 973026486 394447706 887723380 659325616 743750114 979910762 371287856 635664468 542715330 493679110 431127868 397734710 776365032 581274656 225212162 835437036 565141476 839626918 570495224 433436996 272944914 634715474 204353882 772490456 349303674 588810520 176202728 51030900 54792378 531603086 185435706 544284406 749319664 534491958 297977734 744717314 838163752 360889864 423730382 522269628 59329524 544704144 201373758 104615962 420472290 556796838 213849500 328171042 173235128 367968226 801074456 420917510 946378992 618752684 536268930 136589790 92750066 756476796 700012204 866192416 302733286 186921960 641034712 606365048 7509114 70611430 868126530 666005658 982653300 827591274 344120292 634327022 412201824 299058900 728430658 476116000 957601610 761693606 484253694 784814130 201549084 294781390 121384438 647160088 627963576 866352204 259774504 792258272 794189524 173939536 93629994 21760762 600596370 209205458 78792550 571499244 865616594 53189524 257810766 613255106 250709628 300382048 757206542 841327066 7496750 166639276 397069742 321430216 613457182 197388038 821428192 980241128 228818284 176280880 195874548 338446446 351436094 57569878 213127074 48659856 269254852 964402820 978867468 19814450 993006998 965784274 871463962 511428228 673582690 615176608 260828066 373584540 106593446 729885974 870649618 254776308 51332838 360210962 643667908 217753070 844133024 634895796 902551472 854433508 317171824 142576504 590158590 92079618 620972996 273995306 314271684 636944022 103047300 629463656 830152716 762271274 875205352 327482654 121492534 968844416 312034092 774409122 290133646 549834052 794672154 117498374 123838688 925341246 624395506 207979416 428489802 892562564 692218362 682520568 705899088 231177318 92830030 350328502 336345724 953517906 227489788 434634600 366526476 728927014 545994876 735640274 598908046 994115636 42948920 316351804 292326242 648899606 363737980 668194434 414179520 142709510 110695508 618855520 906558170 161044436 396405378 455867900 42559222 849341460 298207132 34138014 294838702 115819830 521713310 713967190 58043006 451693096 621393274 177121670 203628510 946991126 589173778 386622788 1899484 537462188 293169304 767227876 555157366 822918094 131532984 289833064 311538308 291493106 453145816 145637488 589295126 845012004 185553186 514290566 461139384 644749174 223840276 686091286 424185236 264767372 73229262 378005912 967503508 774433604 607985920 686102486 988573708 456938636 215446466 942564554 459484418 104678180 46245446 157699308 12537362 169104982 320816054 381028984 468963834 40515796 456324778 271604466 645418600 582447138 903434998 277702410 758686798 773114326 932846136 38368862 881367450 890942664 500340170 632588528 907538858 488402540 613011570 122700594 644228394 712837894 222835118 319016222 17670044 188762546 738216040 471285802 55857278 733430836 48826858 96333102 805435598 805313396 923485888 9810162 955457524 202705464 804804916 428835876 812839436 564210360 171162326 78736976 702375542 762149770 755590054 188369286 982376290 361335040 483172354 325723806 599185618 916168312 534633240 495678770 575530704 472955472 842377644 417813224 159239412 445458584 776988658 559660874 929192906 183457312 323826392 284726974 642204328 296676068 285988088 740394938 74650382 953718224 121284690 911546712 558796012 952399732 624066036 315703868 171941898 537910002 924991038 223565840 3650446 639770766 836357292 179534646 285806512 422446532 77169208 546446600 85723670 261462092 699589008 83813360 553334962 477590192 705961852 629973346 392556708 701293020 430626452 24011940 647784374 98071686 135091060 900186094 131876690 166013048 411593890 740132968 800412378 278897410 419400258 877587560 494954126 252135544 839989992 730218806 986035664 235956602 820271674 793040378 639478820 443504262 693684486 974754910 972310634 615557134 867942738 792345902 351594780 133111628 795464 967090658 709753552 765523740 432256528 458846388 315233730 30917650 742098714 856330014 810417678 373778852 175782814 538738836 49242290 321897108 773825790 665032438 691160394 650078280 923991034 623840542 661450536 353557720 460021346 327692856 435838178 693683144 534272176 745510888 953361390 730283468 958904082 49000096 339166018 233922224 980183344 324787196 172298630 854568576 699640218 945788238 867979582 40106212 397652784 326742684 225529290 465563408 758692558 510141296 980884958 53163156 519765454 27757280 53449206 480634934 540831100 397444038 631947612 762903396 418132066 800296958 904852632 767128722 285494896 612572356 570670526 287180742 290705414 566922986 143483876 371085686 220166652 386309744 952094520 35357290 848382220 409706780 911689890 749645946 786764568 800838776 665598178 99052458 8958890 998053746 898881570 263484056 212991096 644368522 128791280 477153268 837041390 250001606 554041134 37993782 229267534 854469146 434837354 474573482 574572626 542124070 411330656 966796176 433077146 209773174 269062404 446994008 290198874 339039096 803168430 544941700 93325522 621552038 947993920 691151328 128233514 557381800 313521948 540618914 62991652 856976070 930348908 121019256 463890090 377665346 251168882 271642608 229991380 631626466 546158012 337715522 645361896 794502662 546315060 701342818 625346378 561476796 607414602 451132200 440320432 395552660 629604654 303871546 221349444 301152242 393362524 728066444 690489310 219812918 171648390 504921822 796422660 267844646 667800238 955270116 385425822 947990120 438028140 545783458 523808760 175556628 583660630 507552294 685647898 608201080 19101934 206251114 960389234 32168656 4482734 135362904 93988140 170047290 128792240 833474148 574913696 100066804 633183630 914363670 669894336 9321320 724253036 848720750 740861972 437384146 444983706 18770290 101047900 403129278 110221388 398601376 18185388 600121998 141868910 433412630 206283648 13884312 10750364 188765606 946352152 292800210 785362534 994462894 409670384 69625724 266752012 55180510 146377182 311196396 291643266 657499754 732285996 184774134 419279586 25438906 60968732 518955012 648278838 456447138 960690334 567238252 871585210 522027288 344229942 644412168 911236522 749823286 180372310 492822300 826094388 155006478 60876496 290461612 220836084 965848270 398387350 652609268 753662834 536579172 679385796 185869932 952185920 545322732 734725340 958233540 384322690 629326742 859952944 622682152 826921966 160993006 887551302 63814154 286565816 44493136 157179818 509587030 546669978 637176976 110338250 128394696 631869736 959674168 842087564 453412118 318575610 583110438 83830996 288199480 325002304 773234540 683126378 153563294 667413628 637599094 45360014 314048240 948194478 483794938 780888444 47810472 290256330 68069388 938381886 759381166 340249650 410038864 745892256 571084818 933146984 217122046 756292104 327737014 891846322 305562404 544027098 446280860 899777680 724393948 193310734 338048252 610663454 740109932 319267692 61140528 123071144 68597798 845545460 286421090 305857882 821619330 564116156 848139818 981495180 394496198 930020294 59934444 694543674 104479964 727925554 680316198 341898996 759301004 97405314 854443666 534678222 464485458 348537968 839948252 559495702 452062348 79030662 24363876 238590940 818106116 821821110 287460002 117275904 851701428 44101124 155802896 165076750 318488302 775734620 656679832 70513224 760139348 633389560 473427232 218190772 128907718 509830076 896530152 149869320 976357042 525710154 274149640 893786798 438804556 939116672 441211452 45549034 101156610 992417230 769014600 918623988 97724310 594619934 820310262 180436904 157692752 982944430 529026944 954831548 880706198 838771564 53651772 22948874 46703738 432794822 927966572 839437242 837251182 719270240 924602942 811567770 57355952 699683796 377641080 381471322 35540958 26668178 954019194 727794026 316494090 603977664 496129780 142619806 132288102 74008526 824855928 455903478 215561114 193229584 605687588 132472830 156696942 103849000 592764382 804682098 221533812 270067006 31441568 43285152 721553616 875853854 482706898 354885240 216834562 91234160 310472876 604202656 416215938 313765944 712650030 571426404 610165866 985780030 179647816 619388384 221948618 780453330 626472256 622743040 393355904 388641216 403286978 628885704 462896292 274950240 401776610 161475012 483482296 117438286 423066068 166988278 269192300 702358402 705242354 947341600 678166460 317240202 287926830 181746064 613792344 717547908 542474216 277182986 519531400 228090846 64337288 840814994 980484614 534417848 939110426 269545274 603743574 135765260 598078320 455824294 288702842 173038216 947908172 226962484 91169416 301082030 565478064 697777394 142750436 98419260 760360462 821623510 450441910 388450766 792520098 305283358 271030368 818798564 486579338 572702102 414569882 983214606 501004572 473020664 588638526 821259838 429420164 836857726 685042078 11781906 394932838 815767458 239934162 440564874 70219460 565543958 848932218 68089564 35214882 307490952 267703874 289450632 55462020 208123374 869005084 444537640 681464860 962142444 944796804 102408816 96255446 843786796 587984044 801295070 235405834 527889180 865083238 939215450 159841262 484729348 548006554 73215442 747579290 954919344 346344690 940892390 183662660 773821448 176020504 583618692 505422308 784009294 395877210 396821012 183789594 830753902 826173738 941342978 570598582 292298458 605578084 730755518 548028214 739635372 950573150 209303782 793802810 188138740 568304340 342544638 926988670 539312770 763214180 993969368 888390362 522919138 215620220 133733246 397229582 788544544 608016058 365963500 718271748 96554448 570432834 209471782 568566918 959798842 871041932 397256844 753327908 795539404 448050180 650744376 493409576 404779718 717824018 53393964 4435676 547031754 739443456 666525634 542438720 498596694 961891804 928671718 799060128 127754592 501107148 608572354 441354360 464202658 616174586 505252468 553437276 296455244 910876624 322275480 865524690 813626230 277894364 893750814 376114552 67363590 105609852 171850322 807545876 788280364 22193978 966202636 788685568 836959262 473219410 774607320 552604422 86506644 544196468 102455926 296978034 379507686 871479104 58688336 970389164 210039358 733636572 809348576 890628360 999065100 472642466 85158942 333069456 194921116 731485048 223174346 142692930 87141330 272428754 948076802 267745862 603788244 31519098 116905208 408576934 561652268 320329022 53186282 50482774 506397420 340908330 244582914 63077904 78977104 329266088 615048566 615090508 692144276 210369920 544007268 248343678 854803914 229531038 243534268 432242522 333133318 939517968 512278030 934478476 666936630 525483194 126272946 618092928 790033806 232227810 297027350 580143566 755435246 985705576 70445602 939012442 247393798 100161598 763697942 469440602 320981358 713576128 875116072 495633280 370084276 444333646 469476042 192564126 254719404 387134068 984201172 459848064 937328158 414121004 876270606 688101896 566352298 354308922 477292936 969230736 137631550 642434382 883131870 245068678 481728532 443843892 377976496 442640098 127344652 307254858 777939890 865914364 559991624 62398774 377027376 344081862 990550982 513430868 830506450 479673308 604095888 462052324 790504206 885452812 994859884 411301936 755266470 557789810 985125954 987489536 831388920 356714824 554229978 976350800 225489480 675404372 302840168 64688050 482903308 160139758 322807206 780682492 537958170 785019772 182473776 674592248 207593454 418822968 244303712 264497942 603492018 384154482 611397638 437202434 939980858 453553068 870090680 743091502 599011802 930503908 814070034 16804552 948505110 162550018 645447844 41708116 307906774 661829712 403259922 594955540 603636834 67240578 56721382 961567872 27298776 252415846 847075670 478739554 392803630 304833264 137411278 520959980 876887790 256035096 592546766 318991112 532835394 242415966 234971070 558881978 16910244 259836228 377521810 2168200 149009828 947512550 256088580 244248920 180171338 241067876 419460312 345676432 164043098 475344918 944358140 963534500 139755104 726751822 344044938 970052006 181529066 152409670 707168458 757295954 672812934 100531706 99947166 762244842 550946416 776987016 46863230 625099142 432079908 331002302 831389530 499290272 642017250 557307338 737790330 248107940 664331992 68472100 394061936 83561672 489639208 220577948 895720088 559280330 779732768 914299934 509880938 884178184 260616090 251699448 156589020 256054052 149965762 462469876 285735926 927565070 952137574 383724424 244466560 239957816 661102296 704328898 359442188 142571154 303225606 439128182 595352962 267672230 486378970 114773722 985030778 806112160 23603706 356868580 347417474 59810216 153672756 640916344 78105982 960790850 329853342 205633652 204031116 497334986 227793230 240583930 138305770 73494820 288450634 185288832 484704302 879424892 559432738 166669000 952845890 144479482 213777258 315997856 100750556 736608324 975971544 711692760 229233794 190158598 599531054 443872226 864887812 180114536 683994412 416819906 381284996 838945494 409656386 17541196 415123424 465007470 784947316 797674366 365506284 795364106 13048458 295166270 513767694 669146422 416821426 988467702 404832610 49377848 21478886 520892200 722638210 360879698 202576878 562556090 146231666 204665218 929318546 14314204 808183058 767107566 366315474 838930250 850704882 803103384 27721256 338838952 317735724 512053800 505004116 924107716 933441278 635020456 681870078 636947338 667253808 883304476 315648116 136334470 864499032 482754478 935595250 848584728 619468850 24522694 258579626 844787592 712372728 736774160 430998386 151082208 947565176 187349900 196521518 265530968 865500340 494162228 800679582 869932034 404835698 664420624 789938424 952432612 658406358 707987910 484177252 737531326 629523292 372769906 670771414 168005876 61400744 977711634 671451396 712266200 588949842 222060266 366845648 996882770 74178190 193868680 473052430 845269228 330914338 701800974 966626534 405029514 695161666 249872486 180017650 921774020 951372498 30430838 941151578 367693822 190608708 964199618 38602774 331679164 124447960 298614030 877617114 436271294 874821008 419244466 180173196 773839620 196962704 764750858 207605952 623465806 79607566 776431678 114382412 283512380 469601264 39963330 889275486 290801370 546093696 590130518 167732422 233385242 672865044 738343298 555674134 97458888 239813610 333012716 882016654 102525874 343605240 722566722 257634234 400553658 306416982 482415806 847331478 286961650 514387430 285080886 438450470 913879156 125152874 40522504 662494812 164355440 609408196 728766848 838527294 953623918 614008024 989212098 156351906 833593978 410378624 979473682 742050724 703420184 693065140 619743818 565755420 571115312 784131924 193421962 594404942 580981118 906570250 19755478 444232192 589148772 634335806 781292228 979531652 299480554 899736350 583065570 641302554 937625420 808610772 159868414 275122302 32323508 662953030 163632444 655331710 97981438 629485756 673877640 595444846 500198930 669110062 115534900 72409520 828266056 817201416 289533658 395064716 121915786 109136182 887748664 497783170 403138320 292267942 88527704 158349868 301955846 378910788 213919606 134583632 616044484 648123484 273815938 763329740 707074602 428797986 403196 223666678 294658848 429540260 2439140 666055636 725195430 434497486 169591324 48147504 974454322 462132076 22987286 432964882 917248026 63401206 790168910 612263258 539532966 258725930 138376762 354966160 361838628 447861562 827588102 376480482 905306026 589833946 579385764 887568618 419931280 551448890 712985488 676337634 263910112 810077244 351296002 940483302 639829204 69689170 871126466 944948980 86334678 693999200 206685146 243747584 371358316 565319380 100107848 73843910 345267902 16329940 215294734 398735642 311614730 413462822 158670560 268275224 302762344 752545228 716851006 328520690 687230694 397044536 506587688 810572604 547350904 77318080 543163342 891433936 988558932 172526906 841055400 25097326 393663718 724587952 584547488 448552700 752243008 328110222 258385748 599987592 68268698 788314784 711397890 235272048 846868108 249977208 83296174 1652092 979740646 202419286 433544598 645750412 581281816 288259370 957762014 792433536 8597800 891114756 411280130 840575172 181702596 120830032 308534982 424510516 980183646 482737988 665542738 649417664 750855162 270869004 461580356 490129646 117402684 748581072 56491258 619758108 907377998 194202052 161942786 156760712 706914136 685144950 140575032 101869946 909059950 769911944 495374406 494763898 817415168 294152518 684412614 25804900 403365552 383361314 229632890 865386254 677658124 954853874 910768180 965116668 777350750 780518022 762350420 383723266 600453414 515082748 566964982 448017436 577988030 662683720 769647926 884744042 138036834 368127142 726084070 249819976 546789330 937557004 578580138 70197252 125169926 592400978 668007424 161540008 671271014 791071034 21693172 610232324 78532014 513955644 806906870 689811700 976363180 443245356 53457584 55641580 362522454 138328656 332047796 493599244 318409326 907931294 193905346 911116410 500659808 17577274 851097190 182570016 445321032 115524024 329087728 549970136 531706512 910548444 363849816 271330280 208231340 212259966 896731528 68815190 190540562 102071786 711133768 887865274 336827656 67613378 536474916 130448290 732448204 921745454 685401072 269811302 15383682 953194798 760417402 617908274 103509598 271663538 231820232 89730126 59400804 670331316 544735276 899658718 999644384 690962792 864141016 85841808 558858052 470637626 767023504 103282236 984518132 478293744 60083594 826753952 47336300 871931206 58994630 858141904 596064738 914345856 468674604 185516624 640115922 226927084 400030512 274875740 827677356 17128384 744880074 529003014 28165568 219101748 993767736 891962200 167864976 702965522 273723398 305194108 33111890 2921380 6129048 422478066 14150366 466965792 454183630 526012772 430551958 29407004 677437914 911516410 517828964 316567498 123704380 795480018 63688324 905262744 277144200 562379834 462774628 526343922 977352392 395225846 637174320 243449768 527286400 824452824 432302434 116257320 981168150 518987310 110672518 961222566 698749200 354011714 11745170 984189918 485131360 442096740 936460180 897200790 913266572 694960544 796515588 477691804 734518762 580956412 567386800 333847716 661015434 541730732 316924238 355973174 261433606 343116408 808586866 984610916 388996098 447728832 263889246 819874326 921081054 714305374 338328302 699422954 59576126 569736216 269142120 255346596 519462352 265085328 44019966 605351088 140382304 122160620 632712584 40233640 944125706 844757616 226298136 580856518 868037828 412721852 24048934 922666012 20753636 387929902 830341868 680026560 360417754 794558910 664555322 286585394 211481208 974193680 742992592 417533222 34241648 463220348 470232258 677200378 418821366 448104430 605507584 373689622 847890946 187859038 956684670 635085234 196046000 564503344 584035478 249229410 560675240 683501146 158320934 640563168 136211152 950902798 493441726 1955742 129609112 485337480 945295246 309050302 944389976 452607204 503355980 926227830 7336984 497925900 668354698 877303240 174330142 747311044 870573056 565618958 832162626 326845164 760268072 841577972 208272008 370778006 707266228 218205412 941688940 730672102 587610838 992825482 311944176 45385580 671930524 724367104 287761122 101295436 121099868 318056738 731202396 592837910 599651372 848375062 695208884 450678478 868962422 264907954 442530632 748950526 144454110 305208184 641829906 187334852 18835298 130386374 850603834 621931330 441725582 525544266 340730906 153492902 938737078 774250462 919121546 671284498 646600750 411404764 820324386 355954526 708681378 624939160 397080858 492870486 441531906 773979428 882554510 598123384 245861628 746102900 326858938 275924286 757247020 553306274 173360710 150172680 720914972 586841074 458396686 956699832 835129426 611716128 914831628 110333856 690049528 915041502 254707008 459221972 882404338 178381504 649765802 847734374 347142448 553977886 363437234 13925318 114323244 724670956 975136992 674630706 162518060 346804200 751283200 660221172 57429346 768412118 960033020 913695710 55209814 452414022 418633370 731110582 386635270 879336066 998244622 576097378 320714870 306806420 801868668 455385884 926624064 58041160 322034160 259981998 536727756 846539352 772633750 694068438 63781056 585296010 655384224 894351890 743576146 24669738 237318888 83688300 734316566 693034252 90295254 470963364 817518790 839384868 941699316 208999532 936700086 84459912 193341772 148298286 539395080 900297186 558727898 743938184 817899596 570942060 224435374 21571510 739543316 298225828 659926776 615817808 899514862 495743874 913060666 777801824 659416552 708709278 874153902 815605396 129642872 328431016 349634802 466789694 578097252 509074944 846982128 823504706 241422672 93451850 123970628 552243816 30020010 220216232 855940320 676786604 374806422 356772606 151786330 383943978 846431464 785713346 584428332 391832016 509468740 431737692 32029422 860045266 149421076 758012676 306202218 675861328 37974046 885369574 520428642 133292886 965589436 568949782 516880526 501585484 719483238 754330476 100814434 506087456 555382278 337872568 680986056 632088136 190357860 341221944 605286184 713322120 330381824 550715604 935050804 999753488 589374656 962952088 879695344 762945014 830375954 558531534 889650790 946137046 432812278 234728356 322190874 39429046 933261750 231195238 498076020 357332956 991628748 390677128 541492186 386220340 983746172 8685768 90143982 92726690 771383884 128452788 788393442 475742832 285777024 156837100 554915848 930202532 838229238 118785900 823782350 197289916 851643746 196533652 634144914 82936110 637488040 250757576 358237490 730506176 292789302 527383902 617847180 867289094 428085468 620290288 401263822 599169662 547882058 359860306 732309020 797318070 66088178 740342832 195450904 200202550 143163116 420351200 477022324 935852608 290314010 28262000 492909386 256592620 517144784 698010946 71675456 32280406 220393574 397776552 770952144 210029328 395013216 691842862 642220898 673641558 736006520 349072698 564555130 790472446 894011022 683621028 907780600 377953142 623084784 282928084 471467852 983639590 798408672 926318780 338116868 46007400 223596412 99086228 259456578 706293328 729698756 634243068 308148610 909977614 595597984 334299514 640196692 314161378 850149002 418292464 381546112 829527632 215620810 162056474 701198260 992930392 667230714 144545342 649251468 399224414 559689676 78145764 59718538 381416828 81809114 386995568 298689718 168569942 390782938 609584956 574605908 571499118 299719978 740601602 512876880 197515198 555977624 278183314 68300182 710840086 188886034 892122206 695007532 968520100 636850264 685675236 881600190 136248562 538708180 314027346 956006708 697882198 677183072 451173354 735132932 397126074 71573664 201725122 476503108 352379746 285093896 655203156 929163574 66719978 806176966 39385586 410883326 128970230 16749404 36288562 280382396 807293926 580231210 630411500 637879766 311088440 835539358 610404220 981237456 293579434 519229150 507131058 725712464 55570150 628628054 342221682 139916838 4685736 376507852 352589124 642943546 720345208 724502344 821438018 708550492 461766564 192363452 182561244 283425038 743985164 353262020 108762046 814455400 768816978 955365484 277456776 277525236 956490380 635940654 7164096 929533574 119082840 733858970 338806358 764971388 799346702 871827552 449153734 492353204 374894000 830990716 914244162 99378672 964341602 810462098 455218432 982402000 649967056 532756660 519811904 552304728 638874770 188303630 163620284 990132098 459047830 451517012 141933378 814167116 782026610 631272186 821093954 515772592 778505916 588969666 30073082 558806032 597410266 203434016 880958138 975316086 958885936 240414336 85082950 761823116 56793898 856415162 747633270 554897500 323163184 657363482 379626302 543645424 638111646 287064598 564473306 666910588 130259084 761555186 499267250 425462410 149456364 73439952 142086850 19466744 331957432 566558730 172681348 803258064 862187550 308393622 65713140 526651974 947247552 394219090 822154704 186495472 585363364 353072344 235777760 212387828 368704434 543370394 6025472 824441996 968333034 940932404 998496232 92278994 319277978 621638142 751494514 137420860 233975350 688452306 485930470 57950380 440844186 62206858 43942230 821685842 179767722 723779178 805478904 505852168 489567774 855107530 655506178 496366730 839738758 901379354 703247862 881515342 332103762 101794948 319701236 867462696 686795684 305282856 585441090 973286014 684882048 64611534 556316554 918832042 289896860 967561282 687540374 545816952 226507602 394122966 748690394 742083846 743659828 778641880 833169636 898958170 34750766 208828436 757013188 819147344 516801898 160233538 638212300 293459308 92190230 812707848 409820686 949160144 684160016 173682528 393630002 820479082 642854460 990746050 980406972 534620404 266705426 759033430 392638996 178315856 501297854 119642128 527562160 617387202 280060280 128120978 760239344 132340200 285514718 360235254 748169020 363035778 463150332 424170180 520126578 611094900 135248930 266218338 319010432 304124312 891395384 475891362 689249806 203802782 297480956 980401708 185638216 427640060 195633614 374963252 163621154 239495340 260919412 743505662 585087998 475613548 178751406 329098444 532586864 362786566 400515326 839949738 951149880 145969208 362699036 119333472 301650758 45276324 980319598 10328558 767721936 594780286 298034166 251592172 222419820 47990802 403580566 522590810 615151606 1753060 147890242 31749978 708273824 17708512 520909708 604635834 494749788 602472884 194725368 584846974 364865652 565836644 885141656 929197742 398224318 970988914 639414450 424937164 535152102 659500352 872048512 133599328 51194166 791870740 371709308 25403586 923502822 107962464 740831016 130501096 929437980 277886678 997955556 621602274 595234100 633414094 218779320 360772398 70847660 600156026 342333942 224489398 569503204 128145164 796004318 508445196 152803476 778188674 587744650 324313104 433816942 604699204 620511146 852139208 243869098 598285404 32634090 916704426 794577358 123931888 479312202 436057788 903238012 582718406 875548800 80352324 370730594 652115536 820565218 561377148 152953518 325675928 857777704 184103490 293577764 107037844 548057368 999999998 799484638 488173174 691971374 250217648 507091848 803008378 890551286 929964956 820289902 193448656 950150002 994988824 22366728 969829146 75875386 130036184 587360384 391155082 38807812 933222994 809190370 905609150 424591964 803785084 701421450 37518032 589089138 444501010 345473024 779101334 345407944 221106642 234140402 895978752 81521610 574520742 950280886 446102734 407894752 250520654 981922166 652690326 203920332 444476194 753587450 740518584 345745102 539351786 646316602 659738100 317026078 17921732 806336812 380987690 990722628 31554508 408524654 825043034 285013236 221068856 548170654 791948386 95644682 138032320 965446426 111019052 744623116 799672616 631078662 722738656 691316954 625351758 949566680 31713904 470593604 96970868 745078762 687587702 330313204 932879994 476364826 831427868 468654386 471142212 235201088 511511350 626353912 197462772 94730744 132439568 169318488 98689224 754420792 241674924 836188704 319836688 477341334 819390760 705457582 414683898 253430050 606259830 866255118 626489520 748208320 673988944 884524226 600930742 483419578 133248860 697810092 167221034 779893482 548405310 25456694 228014674 514338590 350593132 440458708 592525484 828193274 556511978 85249236 412190516 13612724 219220672 999713900 56655058 153252154 662167842 667539384 397784556 363721074 75878778 120911382 125342430 938069372 830368276 974581930 127643506 442556480 219706328 304051982 231362374 36650904 338798258 514416888 642316538 406960858 871316412 989792586 951820732 698329392 414407328 817304736 539384928 977352940 918495342 706496986 664268064 590591934 954224902 622685914 800527458 935444576 947956950 398969302 535416762 268135402 177018748 158581356 187109460 183762852 996374596 937380636 129192450 724943122 851526716 979691162 532082988 940243870 686580572 946514532 702512210 453167190 326676946 830084798 913134338 651811770 610368542 174849978 148545124 393078252 672123878 23263496 241800742 952491212 296813352 851238314 592144740 373861554 261721820 430237478 698414846 7862324 177892010 500014354 161203842 580231230 538570626 552928744 253657332 736931062 583273398 408298548 545535702 961147180 168587620 513260678 708983358 614785634 272839728 217185228 156828270 222271576 512434048 66276282 101523820 978345174 255335504 467302760 551830732 718358112 374990144 976000892 803249970 517944944 849848820 963526042 876991790 158503718 762637540 892134224 920618184 402170524 209653646 252668196 240865192 866033558 668653066 946901916 453712448 789795486 18867834 665917840 8666676 416577158 899860506 615758158 238303308 989229228 900639056 573034628 793974884 721914000 667298824 702385832 374923070 216805024 376000936 96354462 82986868 395054800 604513996 517333482 280396734 286935212 286735980 699056176 243984944 132389610 546366962 563065252 307364236 641397266 130054022 722424534 677869592 687503636 330545976 502331574 816838000 871221672 780708276 304125168 41971140 115612408 375481778 767037504 174052986 256079138 584048172 695346774 42713536 698817842 452877350 946577136 540702400 762881758 221500838 924004150 458392536 976553456 952616996 562123540 88414638 122596948 633671406 685804938 818782218 43617744 211070562 241342986 883240478 735545512 845923928 979097974 485380662 248358828 113279598 691536064 232499430 268338796 999823346 868347374 903234788 929855650 930448872 178712606 419456722 479510052 504701196 733106740 470652136 468993040 776546588 642829440 959311944 931228472 647540040 126429898 292404954 966853088 949805610 549783370 128696716 549686346 19478106 682141078 903850672 894336414 319285528 796268712 724073878 727914852 824626174 44190838 619346252 318283330 646110920 835940196 400942248 686984294 12296250 206880468 346671866 165100894 7066826 141995940 370651886 36562872 413574274 879755954 876705162 904647686 8545754 432808678 473434260 498549842 967180730 631661358 526428636 628508786 413492386 856716028 19400504 544147434 682496354 132301084 653991322 770827904 497778408 12876202 575198072 881606168 752256086 572234812 167521986 957403134 210356894 297615072 290199084 674820928 497645546 546849040 148016220 237808368 11426644 349568482 107030246 400853372 434729562 691037900 545888634 771680294 113915530 661313716 525957956 851933586 685409346 859659708 858680924 859735972 508189954 629647314 731863420 712017898 701144374 60973438 768248752 70551338 795180766 781039936 844787186 561912152 505071706 915828218 952506516 597237736 956768376 635619112 769520714 811512156 173540166 590070254 844044634 757352246 724462800 430990154 903151682 381333640 570957002 936957764 809711568 120686748 853808830 570123438 732628210 503779724 671234780 811934360 743315470 946294586 444519320 54204738 568998168 843079142 173273258 109203554 999918832 404169310 169969772 113674724 581170292 521120938 414110792 416073940 819947006 596732984 392583956 278154992 406522388 651631628 874749876 849403812 245756646 206099014 423965700 155907782 600617980 262352156 474069016 43361324 406965934 861169040 211758354 189466466 55709030 915229020 709960372 490141902 251949324 24589144 912582684 919533198 676767330 890900980 107232498 291262410 584234708 688422576 960594036 315044460 598651664 974650608 770010834 378155480 61909928 814659148 854218224 36809618 561681170 22262874 397165718 180781474 947281654 752496454 237302478 864721802 196124532 396235626 543614588 864590396 867078738 85827412 679474812 262027330 732534714 413833176 274948330 767647286 754568728 263765052 672974608 798839822 943224468 605038746 64566804 588560628 76346186 824970250 158156496 346776324 322289846 525207594 795207768 522532146 367471406 252691738 401934670 803852540 450927618 298362822 990745130 110893816 134527752 396325204 301059418 327852832 464914078 95473346 282432550 971365298 847417372 36321710 830264022 255482618 342618152 776347694 711373068 562127238 263207440 220621498 523429916 399026994 683197700 76061546 115005402 462323788 341257478 368155348 105081602 160156058 278827932 620264370 232108144 608239530 68580254 520997430 745208750 383694072 834689152 146408362 888184902 580960510 119358014 614460286 491900006 853208530 429690010 816461652 906472114 801382566 354864280 89836342 14121364 592130466 986469460 865700544 337483410 150308084 820908006 252715548 522993772 965437316 388054398 349184578 212523874 462762102 870821862 889515406 651300974 86658818 984410524 806483848 11743170 160227030 478812184 376565792 878161954 532331294 227772012 398401996 936756 944279170 379754956 450158724 483026 517569020 967981648 835659058 197983402 195691064 186564776 864769004 279804322 879730400 171456362 658362726 946165220 915746428 853532540 748972088 7049980 987822782 398744650 262997832 376176726 575131810 577201332 247826752 362183216 150945102 975513404 710541944 271853598 572566830 371853198 682012406 727309646 82636618 430189488 944071708 384678872 705103548 860828148 257994966 699156554 671059614 615821612 609052738 490547644 600985418 461190606 495808210 755215000 682453010 219200934 365044010 349971824 65792064 751351048 211248964 198868746 470280250 164177760 819389572 20688016 316606116 439468404 820332138 853558776 609356018 265850318 135443890 184412770 724348976 561103494 905281072 751327216 164688074 642876224 279452824 8787052 588786030 491952358 983757292 375745192 655726962 759760514 59561248 157707956 119331740 443716130 665729776 343590790 769444470 662666528 870471584 79214408 451108028 472348764 916044248 472469800 360889806 330317566 91415324 700770408 140678972 607181788 645169024 195553536 510246534 654405492 407751632 765341492 329456806 255250958 500492012 431421772 654505496 415412684 114323444 678168776 507001928 789505026 715522230 981579486 962101592 443623876 275705766 585093712 85131554 853107704 707094078 648819482 440930434 432501086 847344862 660128414 271647316 792095796 73671234 20311924 534494752 568300948 244993414 170705184 791999158 453195478 275096268 542504090 372840598 785866094 944396556 110952188 358658346 622380862 982149090 355265116 834494500 533049664 91789282 29776038 828392034 762908190 459976764 213303472 688496264 856069268 404885196 302752274 429398878 323409634 350476158 322685770 17096872 412227492 370856848 358438226 622321144 641028640 255184478 17555764 345792110 811916652 622204214 597076720 37576406 465098662 255970110 477996568 604952254 626519852 236146280 860761550 871374300 439049442 596990336 510330198 426027558 381078486 39469380 107849210 500877018 715826748 886758010 987486876 240815908 583313960 413103222 69649252 553805302 369391146 776678998 729801532 702826310 197245744 199818062 999663954 377234042 142704862 500799760 544765596 258108294 330647098 617556130 731124138 272244772 522331624 941279274 8074488 965868906 298914564 774696702 469939480 828076614 454321042 760974536 994252550 837565892 189288358 279973250 249682992 699523348 484568048 347482026 188687902 427923698 77843158 337533122 364333544 970650824 167769994 161206002 702804860 378962022 783759794 369664914 887046052 712667106 900118504 721389922 844650436 468249656 120052086 82320726 546314968 281406884 509442546 312575430 783080824 998525758 547595096 127395332 875723348 565573122 957466874 986089726 426980518 516490340 617121936 906410540 112315702 183527230 329742454 95049254 34682888 943030690 401529374 231467680 461115904 687935122 867280324 246037284 205604172 103497828 148261368 953122366 223164124 927312102 688672356 75072030 80993418 660272090 763279020 152741814 147874238 803956348 126400498 733387592 857598568 871268562 528235128 299378836 932663426 656216028 549220090 97601360 92153344 963989168 778485666 289758474 193120548 74272656 578848900 327372398 501701706 370142140 833087976 831552776 186674106 250834562 604058012 902800774 42033456 543670348 504167122 553390672 772696336 517763198 609739220 383766080 167264782 580143996 432441860 333957604 111459878 770701300 581376312 682790502 484654524 483348862 295455354 223517716 159889666 60195148 985222972 510826706 160945742 965862282 504271078 197638924 908813564 263969772 733814812 678255378 825868360 561557228 686543022 954190736 726658662 930376076 963217692 62712840 771920994 675961388 26144316 280470944 415384010 659414414 293673044 754426322 717527508 775269034 821550292 857846438 272444100 332319268 471245150 722023006 343606490 932274324 285582420 170463168 698776948 734782036 797661874 550244732 935320680 210817714 669040648 207905940 531028742 631680656 74731150 120233690 688626356 422978220 191493738 841579318 517113212 345237656 235285908 242432630 427913770 752853740 100056354 956607898 476973302 809291402 620184610 647913870 609154868 727502008 960567686 712766554 335581462 458064992 323174074 505714130 467995614 975608770 416274948 277104224 429848236 411668962 918421504 473790018 613670578 43917444 965994318 728747208 554591472 923636822 39900784 677877274 933219694 409711916 878051014 796019652 381796676 40229568 484429032 93938954 561308516 796497482 149928680 563497698 422370238 719112006 667932290 675794018 217063048 607458018 969383980 347887988 254486986 826759948 455734246 376636154 18115696 192842934 514920362 867512484 264584414 272941626 613648758 524252040 37290958 208690440 415281866 588910152 852936484 326965482 882522336 290990714 394069302 11997594 620093128 100241518 716150428 737693330 258899978 725387314 107212954 230400422 887818058 937520496 943494 481002916 497294996 113942586 785174812 918961018 416884260 373278918 498173132 293357842 342563546 353177646 304906520 694656866 517004992 400485382 276882108 734172888 485528746 813931164 258610916 661462632 324501992 420968236 872503924 563643684 904327044 330440780 883007348 458771624 941431440 909867138 135133468 675488100 790388224 176740064 117238074 130849356 81176082 74643620 709588998 972527500 502066032 257263650 810489504 106876044 624151526 846555968 555487804 165741342 747779478 561582232 37147846 647095924 28143364 634091390 876292562 909152992 666835378 356994024 367331168 122948352 469181434 245035186 694328036 718125248 3239530 526225636 953795764 941748688 842721808 58882370 550609610 473246972 431658620 953150750 722283412 772337202 190434542 325267912 364278320 238809640 767499286 462610222 367648420 753034946 958432228 383045286 505532512 423750258 438281974 779185374 219729004 718305046 154310138 627185770 20071576 531373822 933390038 236745662 738181496 153449578 758819188 879896890 714673378 734176148 942045082 588966162 254777984 577847788 570894578 156064192 309651982 945615556 213094494 218767386 501377746 209568032 688515700 55346942 319271016 726121358 293478572 404461158 39416486 5870654 725218080 676930706 721431066 352429124 641178798 523353072 984695408 373752682 905717000 649860470 524722860 794305328 941570684 569207488 823162160 76284806 455886112 868295070 434946354 251464830 841604980 848471056 822860128 708377502 735461104 554933606 478834522 926852964 391446228 618264958 241834800 55678512 735104622 830992046 318000566 718254828 739113240 391342978 222851866 572434238 769744168 803752814 411028298 615213990 580382788 370844656 486811422 813676450 575295202 221961918 590273636 82972296 306774438 607549732 492695766 602559278 844980058 721763032 20687212 2424908 248138880 153021236 951123732 217902122 909655770 876873842 75972992 672029738 711773396 245097982 485558106 911630604 164492746 890824698 492478332 543726512 681531822 256225428 840781504 670108296 819239768 494186 59481998 663071636 784708866 318095966 118817222 967734320 427311214 830180474 993643218 951663030 63233220 957908196 190546346 734387836 882910244 977533890 800344680 244013644 7749274 123099740 100016364 499236840 218434252 76173596 600563814 11181304 360994176 611221096 274967850 66493176 266584702 933204020 589910384 839337118 747089800 166222804 57131580 166265318 416409008 913833728 376445380 764124828 593527422 200402290 524524042 380721306 564605132 778426202 462542834 469478280 903611368 185878570 412651310 532577450 274538782 488795904 919642050 733127274 160686150 445499706 848035454 618763546 634711466 228707984 681363224 925253980 380482398 335869494 626843224 658514126 300219688 806012492 236729254 188238708 444873980 747737476 705578884 856210570 663409660 346404850 685583270 338612104 448741910 93943260 889110458 547638278 461273332 473308574 614231182 426156858 343605426 440918112 779139184 901812934 711545984 168896272 223947666 765580926 157927646 644252594 279189022 433057534 563252044 240919832 975577238 256861164 232654164 957911392 564128722 174004534 266903146 349429118 49494360 948452174 732818138 70195352 543198552 170235742 70177134 639914326 32727846 632394108 590839940 114392504 473147684 689164244 656128136 841881496 766806488 803358024 262709106 15460310 970878536 425443190 990823952 349945242 157413274 72979932 781703532 549458228 330548090 329234474 152176480 681597208 670576082 858395660 14971418 310622016 425191558 205037348 852889470 605090770 352265440 377354202 860162748 499999418 453098194 990881704 978893874 472424726 971627478 329597090 990816426 429773730 699120254 917736256 429691168 140238432 903757046 997284514 944611840 28257774 608637308 860355176 359257460 993943268 423733936 272800848 565735214 498456114 287519830 764033256 201291912 844122520 363719824 498598220 960051246 445263238 405078312 773873318 434544024 6268094 669327996 517526498 91622072 493456420 971257044 720526556 927894564 179498170 946762264 361790590 345714852 90363352 355508824 471418148 547580572 108932760 207867850 786906168 43964250 94557326 287808374 147112422 488310470 953834088 767569676 404559764 579504688 890328372 257786952 889918388 857314206 501628328 909467622 180636176 696534054 100999928 37517470 26314956 93970114 883936324 492009784 639846652 451342220 502650600 247557822 871571154 319558310 415164598 122337794 345787672 124056246 346821578 619702966 832345306 395163978 649550252 717965484 598538878 844499522 865575796 644034104 793605266 10069310 715894064 997274884 107687328 903287262 228556922 792468430 201112956 423217956 790636622 110324478 216637986 511242416 128343078 462915458 312147484 570498344 637146314 317828658 612975730 243350038 789006544 992266860 659418912 539241994 701437514 76909528 147775020 148279852 40577834 769763472 383080926 832003490 878609600 473075118 814204808 28893676 113458608 895788094 15131408 902578482 273147964 722974074 795942092 622277980 375843848 872008918 908309612 86145356 631415020 203484958 729885436 466096098 142934558 778078822 468827614 286175214 323965986 655466000 295302876 740575828 963235340 149522748 417223822 888409790 514920998 938778852 550511484 584341220 440733334 310105396 813776370 850027864 794185332 500038646 857346468 12025014 169475484 146990014 130270168 605522456 175970392 278117884 61735648 413088584 529658422 951241426 519963020 46550100 206352132 38217758 957600472 498920604 154308814 945109096 351934798 416759116 3833600 298174952 801272628 457559200 645029702 748164384 357930284 225512574 206699076 146374358 119883608 181370534 457285180 640519046 938513772 644210544 735726532 973142908 195822116 904086248 735861422 101478172 843229076 699665702 448180928 164557032 393324578 576842238 849212246 231416582 902322128 989102136 539846958 642392544 124401604 933985448 961040292 627281730 832642496 606439788 278452356 512323266 211881056 799798364 28396732 640205616 667519504 598870112 256403620 218733636 871764406 571480390 598339736 398622966 162298606 447419832 609506448 185905254 429082244 784773100 127401264 664150970 861428556 731464888 171262544 111381814 38917844 886084374 719456114 948912206 860727030 853891702 477912480 809692276 538109194 523689050 531848142 845973654 141324904 335865766 361796950 540801334 732018978 998549088 917216618 334840694 770366132 242524526 804591442 886792390 145730086 550017970 70784972 326965200 758611580 606854374 766277326 324952256 203933122 360002966 210384544 432662214 506994464 206333720 965773318 444012542 530919334 33940016 736772068 269222450 11088162 276130190 549087406 846604438 499886158 762848376 636202 954169906 274899910 486368762 580785274 277023568 338800676 779807574 871362310 85304038 992140624 233235354 573335260 994399456 18849868 984002988 898307712 753228996 862126460 272804130 819487172 46190548 295841900 183334804 926441796 629195622 405801132 424523172 739296324 826680910 966771994 63433980 369533296 557792396 263356426 637373898 224895782 111047610 753056034 380532184 204360148 326333032 735337392 541744314 641060594 138817112 346413736 594703426 419501376 604429374 921824042 315138094 562030144 853021734 509538698 246795540 794254586 166374222 168884400 463342146 878202696 400377124 512369806 597801700 137927900 968432910 863604528 253124878 440446210 960757794 189728200 969501088 700066706 996819074 450663272 820403768 769016898 529689060 452992508 575527880 301159974 374779500 552172360 477906102 583867112 188493400 442703420 650040196 627239316 751769962 570551728 286431838 554688882 608841710 72264182 318338222 327287454 575709328 451320338 681815704 7232884 574649032 515335210 736350752 193980028 696245170 776201844 238335312 548244104 306526168 647954718 311724360 300990056 259485848 452462922 638820778 84147200 852944888 57540974 651652244 952185814 312004726 640600378 11114796 546872188 56679718 329043190 124933616 821286036 681528442 105298794 56418392 120595504 814523718 788579506 560411018 668264252 747454068 287506346 523766800 899587440 605786248 564029134 956441956 926808280 684077006 85117402 671438396 772921116 753570608 214995862 76196580 17239524 951979766 89219916 477444012 392488332 348428818 212957452 310239900 669426080 477545292 588819086 777684056 634356822 534598736 429375304 130884584 251460120 77130752 160438616 788426384 66272220 343004178 149869206 241030418 819909184 411935998 379738546 74016090 255749050 129180928 614114096 939409608 166154266 173604808 341695538 409333568 33312236 935820214 948020138 100989492 35244962 164821428 15494538 192347780 545105128 180224680 187629568 176191594 907993282 446657442 698361736 854457830 5126616 920613934 853633352 256586748 605826458 985495966 12031876 453762970 865147058 384420154 556443110 841234572 710294454 643187452 603645122 562719382 775949028 313318144 914769178 149122066 150938806 886925968 363693062 532647332 511198382 581808862 290517574 487369924 332772248 5620710 49764592 622880846 398814298 130974410 530365440 106137362 534378090 237285274 372909806 96723812 413579970 856499798 519102622 187498866 947608094 737137652 174464918 71017726 250124990 632819900 126090500 246419600 219700778 73821362 212371850 701734554 705431718 649729802 404711296 62235790 581139208 864841052 114850774 944572728 385043856 938364150 276577152 399108944 532048660 342809578 790533776 335322384 147897432 359662916 515671778 526069784 403013992 342120198 517025258 7810024 428452066 339929852 855325396 964833346 795880206 251974788 441919666 28866200 555591186 738536988 445668314 920339644 928610968 474469430 230400080 690057736 219803514 116953972 291760160 791532222 594274418 886674536 745084458 81294162 442769332 449844632 599275216 619331732 95134798 23456854 116692574 920817162 190123354 830339852 103447208 28944332 480970464 613981444 503046568 138489296 527136446 81000086 224480042 354333332 472254624 984384558 365527126 765500910 767727808 846379874 741543670 449843722 866400746 538165556 704584270 739389924 454940896 791631964 343781954 607025386 901767850 972384994 762147378 377020410 724261820 584030514 516338376 565882766 871950894 515389754 621792888 235809122 716648368 836344608 366461130 45690886 740574450 644041238 506361856 612220704 579856360 818754562 656157564 931170126 621443176 571210212 870628658 658728444 995970 495003110 855829998 997728818 662218920 36270924 77430922 115145472 916111252 301701822 961851556 227934532 108074586 407937788 11539386 905889768 281325902 81472660 901118112 721682398 838369980 783471376 290448718 371882898 802712512 738045116 118471356 730220048 408935700 48896560 261968666 307949336 309901328 182106296 466563572 864459732 794721012 613176840 78827640 840637432 706610644 247418770 488767050 872183836 983609590 856328294 444307282 765513176 335292544 880950402 584251594 942025532 164413346 899846120 582036912 403577106 455589160 459847586 397112164 166121026 927579220 580184332 262809118 655996988 405520586 560747850 631679334 92833964 907706660 315783100 970454984 463912750 333572956 497020356 824951806 869541524 729281536 412491602 532753210 959420820 639958492 26280836 722579724 878849016 297536016 758788622 775316284 942166122 100784642 508328532 748284040 833116020 215770236 943063794 508958086 661143556 905026806 124880004 673803760 909924946 276943946 265280070 398287028 952213748 834177730 940684628 456628612 815056834 886172096 103493516 435470164 757387136 495868466 765810662 57199838 726041832 49614896 860332458 71620568 71880046 526495304 209447018 924094296 581501724 776197276 378509904 811333434 671430744 611954744 285260498 581572260 702698988 44378690 318743780 456282604 854936352 706955780 985177404 692623936 780066160 494862276 297151644 235177700 232695126 194221106 322453470 195710424 496780604 51478088 277275150 416372222 647624872 881902404 203437488 404096066 915633390 720501284 665386934 219616804 766586634 834563262 271561410 181729790 893194738 265547240 393696894 54481244 408016510 868121524 256236364 269868812 272358816 576829406 797441796 152961438 495012690 952491128 432986846 489120148 645511076 70944184 24357382 10940512 709311128 75082886 391609934 63826014 1344344 668134530 190759076 230741946 625996380 524463902 330919598 423032012 206652746 165298238 504874622 554652376 717083354 434453372 524463300 689523232 111023466 955205400 78499322 518762564 750358474 389794506 850305630 726929070 216567364 142794346 980290492 400880390 732231774 386052498 247211754 29044574 868611670 888656302 7231176 216745792 826260754 253392692 327770592 666563698 358179126 536297268 75409712 811415880 944935664 96244072 863641922 829029652 288324696 80442272 820759998 467761474 137288772 952062038 249010098 121828132 884865384 865059800 892738612 838590494 673005844 206851140 479340082 773996886 373107422 318809610 738860056 337263740 60258706 397707018 606506366 79524316 825041816 823525978 350900684 139054568 350266780 959154606 146906878 412238302 326693576 265594420 281056256 60067392 977473114 86639634 433717630 846662942 354376142 473624360 201472988 698527388 281023828 852019082 679112402 723705076 468849112 378425446 598908816 506675178 557695546 584196342 942401098 162295216 272468960 299143166 752277214 330882940 749111564 667310542 146088004 66383104 943171138 595074184 76518122 571495262 846536022 470028780 924541360 832711448 914581036 991989710 719056646 896743112 379630072 932391254 720619622 167901308 511925462 572975452 363648992 650867278 953073662 366224482 99316114 392079228 89196350 177653018 452173700 310095570 7411056 800233498 702997964 809770868 551411122 590241314 817628684 222847836 984843950 316487742 51329516 697055268 272856306 514322314 677642296 941902352 337195614 174220036 992572642 253727596 945576992 837759360 522021826 663639992 965012016 752630344 497737808 642761340 653054466 758003118 376702764 671179634 779107840 83215434 449380220 279979868 151860968 431444696 144656964 284270726 159902678 59611762 85304314 738290452 577873298 236416956 453431330 848559340 933776518 760206478 625938834 162628136 11622460 35345094 633024616 878196086 18550756 804968098 954716520 924743534 307250416 931254204 117721518 350421138 904025474 376549430 458830780 206079102 274499078 476505694 31644030 977851092 745980968 426279432 162078662 629244002 730523078 113952010 389828148 655119974 336937354 743016362 668709032 829078582 273234114 137450866 376498842 773692128 659417528 436190510 217903542 960828926 312668758 405768196 572501926 208997826 727251892 818013132 89151890 268441850 814230184 169473676 278769580 408656100 132668228 148902006 597622942 302800198 312631466 31641822 708321014 983932902 821303372 9009098 225672130 325922752 872524406 715832678 44517418 551841090 476513046 426601068 497045598 500521288 523388548 502537628 682680452 442620116 810888954 868979108 601510718 412847540 568015884 999843848 770469752 846727872 596053792 622751760 830939542 125251250 237964232 132422650 748254378 800772294 353976428 327556684 900913174 628970200 20558178 876406362 765489438 983746116 691587972 718370654 768096434 378053334 345536778 29281820 591784300 30623110 941659688 51291554 331862358 548573896 537214966 623945082 910924132 688791074 106609450 611658710 551513840 492369992 481415086 760867538 691287892 347459380 537730738 641747986 237768938 767678102 965185712 252207802 208179722 116316142 638900014 306406038 96266930 136368466 340726654 323536362 57205678 676568586 257181886 940684986 402115860 458402086 793783262 997474348 364317726 900459238 55356540 128982508 359100930 151960632 968853614 173862484 948274884 254531038 523404152 302035562 332548648 785087974 400058882 704954100 875798328 217388874 964483274 337527410 371953866 144122580 590517778 635687834 217320488 483074540 402775440 596614184 658996356 209633134 197138032 553764110 698772312 179563358 607908724 318719728 163053152 769262330 80575746 334821210 953706180 370842738 242263612 273265968 449900126 908165382 822871736 629779986 560166118 681673452 774642054 389650476 623049518 395076376 959773840 856099194 729492094 537137406 59154764 654546026 977510402 814239046 935476398 253226734 815416200 451049870 266239828 354039654 898986380 931441906 558715570 938231470 703882634 209451912 592950880 903475596 64159794 492266758 654623000 739889014 192975796 557161488 359357928 128135518 579647772 835635502 452476212 841264918 975830544 900925666 684712082 455024512 785284056 130940704 120234030 831606674 506547650 962418416 770980812 285628496 770268 412816446 955910208 493039524 757709358 132500660 386188320 273839214 58100802 410934732 824178134 160751624 946771634 611281092 757401562 632931750 96238136 348570734 10230648 711213164 32067650 692351470 523260042 460844024 411896514 264493670 191308694 651991798 443970126 646712864 502976242 589133304 943877902 253518704 805670870 314433362 603645616 764336066 384618466 644678332 772929610 175775520 224934524 848465296 107962346 431772590 688184156 482555658 797407928 703255788 541105510 912117730 42444898 181560744 263224976 804826296 385386720 116674236 967452620 49844750 563839116 731626990 223275936 186822792 440727664 617019040 292597308 997634732 438949454 581999640 432421624 15948090 174271058 948951938 268714426 793837044 732878364 442202410 316396322 805170874 304697150 725809346 80241600 382377198 390209554 327438488 89163844 123611692 560037400 904366970 124158772 303232062 368867520 382747902 957419508 12595142 208260376 42107424 302437142 637513856 488665334 563002448 667888114 64891024 404237654 461439772 298655814 50336012 976718410 281581152 626687986 985264200 654469184 819609638 20311412 654813302 822648554 895850698 913328232 482738490 46590624 12825676 158285258 153266098 12407558 893949760 265805170 976759246 274675576 539258090 407680468 818143330 85049724 205537794 828446418 238995044 434330652 790865950 390865388 492669598 39360424 8393280 287180426 951474280 97136400 218526482 265576340 237476340 945882078 921976954 624614404 664273890 526453658 263906932 986837314 936639492 964853254 887808736 57989464 190961936 365518470 156481716 498907204 735633658 547918204 58038566 18313012 638861596 455204024 106448318 133600470 853966580 191449248 557023334 910073828 299885608 547793928 847516458 876869982 288214250 678966766 286579978 800177472 407857402 598532546 942647654 549488588 698366400 643882622 578075484 38466636 774851788 680039038 362765800 893371368 569177388 178887068 458553580 252363254 449150272 327944494 273517212 64724918 543326762 956956350 82068412 897595440 858505626 210034698 736066336 80643164 817973502 472624806 158680374 233123820 744200142 470740284 484210606 834992366 999435522 214277110 873894844 189805092 110165460 822855314 633584674 472609060 941871276 891282462 202493766 408109096 349730160 394641444 539481700 212048274 761906202 5850546 469550004 649915482 340935878 392874260 165863990 791541520 374014772 462582266 587296134 299856770 867743220 517368720 129982976 437834588 946461334 674681418 929354070 9982384 232283500 111273590 317067992 528063488 758705398 108186752 492546838 572136872 639620128 921020378 594284846 190701090 612314460 638932620 817321344 294928992 904296478 117001940 439521592 281369934 442740854 936058224 687439996 728705708 5306036 558166646 22222598 990251792 646151300 727407762 817979290 539587982 25343162 294319384 543808180 712271126 35770302 348573310 612976094 564455720 470635656 887354986 225700840 649372780 681644786 31597922 746752186 865502638 671574252 168454456 416560132 962535400 240702824 750740240 157102292 908298228 306308534 418076396 777066494 109291692 22324792 869654328 487890462 219761994 146849262 484849306 998927654 480973972 330545436 657823978 859877262 324521806 605038064 849812560 564118136 424566516 530267648 339274726 376291570 989670138 433975462 310271600 354211360 965004132 880095218 228902770 522805786 649636630 189375748 842114848 851053662 681724964 472001338 414603596 6574610 147229392 77774780 690066230 476606488 50858306 182792720 338876060 285462068 676523450 236751264 505628548 794716142 427571574 266214348 166924324 962221922 107465486 730445474 500569148 706945490 154399248 872686460 71631996 290297460 770534540 489279886 421401066 523928260 739027062 890863914 483767658 149749730 921498214 470613104 930052970 276941242 644233842 551397564 492624192 931173962 568883138 955361396 21396936 757528160 127787560 40523154 823679496 824259568 130449264 339483154 687576536 894610452 739626986 223235282 770800108 694270044 182574828 305617586 512495964 202000936 827474014 491652520 905680820 639585412 305500534 403193594 533632656 304538974 810969602 66746674 270527174 218785878 766879952 91471312 723328400 664076712 266380160 29323624 423959604 674532648 704410168 534071108 119717114 288381420 815112138 875957628 950919414 912799180 280207072 577381286 544920184 639794788 17125132 669416088 256207188 99857794 42121528 630538570 502568488 316175952 741063884 822848836 573127250 587028712 508769592 594932280 427905392 870753088 727918940 122427920 521505324 933589182 836128256 398079508 868769256 858588310 635167000 507762130 151595576 895967072 301675988 635643430 366029068 662118644 625104632 208219668 619044422 761115134 315313394 930686216 842281140 771631596 750979430 276526902 679959264 299307104 692146158 961486516 410298720 871517148 891929980 903050418 410020814 629651752 789785414 892680538 133394010 320292762 973992904 621531178 621127490 547536568 18883812 383532370 364202676 953895820 601302744 181253354 724904484 358953216 634515272 944117488 829853280 304990770 550345110 390630444 379887138 227434064 768904920 378729994 48892770 25408574 254679648 380173392 18073732 681862492 246783648 593558152 407016418 529167650 523038822 729763940 463157628 575326608 938107346 559162928 182105760 404935094 668859260 664384048 192067576 461878590 626930432 690801654 145219890 978990478 2261594 15371878 184395012 885084254 1588894 14274144 813359920 724657222 629433162 446806770 731781158 51485752 234918614 880312162 99411228 111896106 498762938 237319108 4736598 870319424 458899270 426644802 263319134 456930996 358772778 333405532 593484122 744792330 913299608 622255486 504879906 966860502 988584208 154528772 256302706 435172194 260062394 527999732 977076624 356849214 726557998 749958714 691128452 658862028 152103046 303189028 232867400 620530396 417293588 15465466 791679406 710221798 568544526 824286880 115947846 480997850 858536664 335707640 782512710 171841112 560097622 759192538 388063754 968975434 289030360 105843264 618598208 933843860 733791316 483208218 934267134 696680850 746283958 899041384 272574568 846386816 998399148 640578986 596828844 915130878 351098966 701242634 182367562 644832904 992315064 938695678 299987044 541288076 891308772 258005302 273892204 623086762 911532358 337975590 384879244 541509478 108475746 711170512 911930494 447739320 353308314 299610122 484790302 392262414 217577894 108010018 163821312 139441076 634396840 618932668 952997484 684415950 442782768 291169492 659069414 770174312 819451464 462864066 552741308 380024724 426358572 475963934 409268294 465670946 879436052 678483328 503767162 480325424 181799290 900974816 605806700 574048796 608189588 684134220 410054640 192472808 354154990 824574620 234732254 893697948 831012250 718310246 937442080 433805508 973238116 434052298 643291856 80802788 377353190 403032774 839935906 87018472 628221652 49849748 819161692 432432690 336623734 139661082 883844252 362261730 612955542 832499702 868063332 974393304 641544704 642889452 996647868 707233864 301054186 966732324 967381764 507799020 760426820 133234762 822872818 196680666 945428006 338563254 83165154 609939370 414731752 883593308 163078076 577855586 51968910 301986598 393739484 160309988 974967310 121388416 150321058 510309538 896145642 828859500 76244410 835907208 679679776 327082102 312071008 928806544 468897662 580554224 201890314 248165536 530707846 233972758 800146426 410448834 659383798 585414496 994824108 225194578 611603878 278830862 424146430 691044194 671263158 716864956 685225840 474564070 805960540 800574216 284962330 543546332 443697488 315588404 90585442 643961576 91730276 204605134 798352706 200509612 170873804 39225264 162960730 979530526 952812056 60442646 299806258 351738964 920777314 631423880 633174904 696034792 780008560 284974382 974180932 534879216 812763024 909006304 946564212 302389356 760021786 659213530 858515208 2232350 47971194 549193736 261224890 621494954 775549862 107576394 308940610 11986344 822995764 330352108 153021856 662774666 755054136 151880350 508242228 751601336 850574162 896243434 884076156 434721848 766501726 207962942 159914246 702806432 640113252 542729948 352178076 426176662 729031344 231807108 168900750 992429476 477130094 766337286 229471338 729568194 146774456 485507954 724067474 336308224 138255976 619200128 605245994 335312388 196764746 558019588 965295374 557094236 84959242 197950360 248683922 581343310 260371778 813946214 572180720 372527362 515977872 655297198 93512688 906061682 441698670 766835208 205910990 883176426 204777320 532992294 33888094 47721696 404399324 380181624 775010250 559242572 515400500 752821480 976219632 343874566 311334200 763442756 407393166 333851456 545403662 754591494 384832862 966301656 435268980 494061196 458546840 130955784 341602260 605253328 321053462 105064756 308666596 156411092 309350280 712264878 930970134 400469378 124192648 842421070 561523522 766680170 869994534 539707812 877803760 465918338 614633012 695373590 39236362 744629488 911314320 701277540 77230792 869628336 510093206 719482284 441456910 248933588 605429154 678727142 74285816 259476890 95439476 504140846 455995982 518852692 322248166 315231848 26874720 567859714 776439560 355115090 322613410 223310000 951216714 19675244 759967956 34171086 250438060 305155968 390076246 902954136 807308914 37390218 200025322 736048410 136397112 916778602 400627664 298376944 630412982 409488980 192027642 211346720 989401256 850308972 412152522 658713250 996468788 761804938 470304578 674155840 374651026 989483074 68378780 434937714 33672680 346637670 656846368 39367052 804564456 47102498 514546434 626484948 456572152 547724590 754845898 512217828 700927090 579667578 700720194 618877684 574616686 208511626 449841964 827508460 69543394 78908710 275492298 349172036 115838596 772554396 577451048 324599958 62748540 748400972 226191780 47240682 323045258 118165988 728852526 551011882 347116476 712711158 784894674 393620244 324575850 463914934 891382974 659047696 90204052 828579418 225390364 987205382 355221764 345848770 487322028 329946694 391075802 7889872 471233396 820640112 662329062 624377284 206152810 979583934 477929222 19769940 980992554 792741248 543994588 170014978 824792096 786345704 911547698 826542474 783790264 613629976 124833260 579543834 836067122 712987822 236118692 399745034 387963980 717424844 967429576 678460940 209747180 329667464 893828416 457502128 489218226 413630040 728646062 843213992 347343598 539971126 334706678 860094384 7811290 121413768 321004804 994358420 245845568 886347774 12123366 445091018 5395380 133804682 78652378 264396120 923001232 13600656 468796886 348913900 430891654 871541116 303282482 845650986 838475208 590712354 675432856 543165874 224267126 762408812 204362418 370981650 389389206 277676762 780984978 662092774 706227626 947322522 755018410 221634250 235445100 682959160 477752916 242013356 699219254 702694710 589277912 160519374 552678582 395558928 323169426 145301644 953441196 250553504 408406180 324665364 654152562 774379340 8232806 413671600 375954048 748632468 964571726 510238608 177064094 315877206 36885130 729539320 628523846 708951998 312637554 418175940 660167194 369974812 346754678 629245550 279925868 722925284 585318566 176820020 466487158 192284086 898390002 230295712 357674678 960380362 450030950 310165514 31636776 712175410 706566960 333512428 896750626 682634328 304072938 338877906 782149024 280847972 53677934 175341702 130762274 429714940 255652262 649053736 890017078 274724924 527371796 612305660 203951186 32493786 780364950 35923732 459761642 97072592 800499844 863642904 678999686 199198132 392445958 596512542 7796104 399891436 729155392 442835288 665772392 785342788 978918046 611017408 362880632 495097242 211583978 380258914 682136730 247321532 175545868 837065496 165451250 585846560 289024138 189569664 618153594 280282484 314503874 650261758 816499106 791526006 775816196 890599414 216474270 86325372 6700874 350032084 489748574 904263738 643161670 984785648 522398764 172720406 199862156 165140668 441393624 45821884 983165150 985080288 172365378 671720568 328338024 917877214 626861956 491256064 712285900 764745508 10693630 580178262 919834966 686495216 140628778 583033734 223873728 607776206 858607570 177685244 476075390 714650558 497780208 938336996 373101426 712272866 497190820 894269280 884449496 844644900 859365608 214789756 8426954 726645670 345541816 70694296 162537506 617725844 236677326 346655198 197701396 203974482 647052108 386606578 658180228 99718828 878589634 11451304 416288980 332855948 192204934 108267718 28478510 141331594 876240722 535564942 206876838 123961482 301444984 320982918 836885336 502469060 24790194 682890612 383001654 15500380 664699490 997784370 18182312 974850856 701055382 734601430 295158942 542246808 626516612 394317288 988311434 311665580 411465448 738531080 641316742 7479146 733483300 353258146 381706696 322781580 777398480 256788262 888953708 401997656 729333424 39423370 260987274 489824644 25739220 834934788 880356746 366308652 737016208 991756842 713766006 761917292 118013666 58549404 13179582 273063896 723806338 216485498 308320538 606721638 941759464 338928428 598125076 284233000 776051034 624833370 729028978 842338 30161628 447717288 889355190 948181444 757050210 550865328 38930296 131956628 537055266 705432786 908814822 405231844 202224296 371473074 164281746 156647428 734723952 299062350 488079602 971179974 638803772 73959070 540118990 983739574 618292528 365042978 137838916 241515908 648504528 240788794 778838368 293698182 464305600 645436956 330345606 73933172 734413372 375911594 711143042 554860906 931749192 915008948 887150048 473658476 480602578 609819402 391589978 620177508 387197500 478624494 6183508 450941310 272090696 297948902 343322766 264393592 418519104 769639786 699495462 628643742 945992194 321807430 220287152 676585180 877191520 879663838 525249232 657361382 887523828 97905696 798827200 371583572 944661982 405642712 434168916 681450730 592911744 541008156 62976426 352963172 636976050 639402076 383232900 792540622 301655220 771516378 554739492 335400304 828502972 543061332 996302184 716225294 588284034 398929708 234655120 545747020 847545130 794269324 832471436 760566544 720905784 507133768 843411234 760886312 180551706 153438726 483441430 631570186 836307586 100798360 74474452 914364854 289719184 799117200 723640216 772232860 140369734 258947050 614885752 173783944 411363126 118284776 881315448 263110120 489976162 744823456 452046326 192591642 276639872 38450020 979591208 78264614 103547656 12622184 476537860 237219668 433486846 960747668 544960610 107033270 124226170 772639492 255873822 952523730 823742920 42881206 947003746 256974626 76151362 684932740 959511966 172187164 176057224 87036082 448222556 110086614 756749218 628067880 506531652 258346624 65980948 142584840 595178780 228699308 89754426 794986008 764470608 823489718 574329550 136173310 232303772 71601464 402941798 935390698 787008348 212260708 737384422 481433204 81926438 40246680 192488922 189974728 299013552 543532514 213718314 370192438 226089698 659913850 399347234 227805526 861522544 472977052 252881664 84815970 486435922 511363966 189516442 64838604 139892470 276965020 34528252 448998644 599048684 45544508 362472640 649545134 138003426 429351648 54348750 798907152 911332640 6767934 580682124 58473978 569221292 394385280 340408818 633715414 591336242 234270880 716257864 87553342 406593960 74983882 659572340 410478092 353247486 811694184 989834714 123632748 292472712 319506822 527107658 467018410 387192472 735851654 787341810 267908412 399795740 355990266 401290966 362364450 426498284 172032936 396463432 982578696 230470340 238915440 564912500 605575590 254330284 284005962 577968030 843432798 778107476 840075428 430195464 796314650 936592634 659554578 843801684 525291046 326403048 282187952 732082396 519611794 935938508 666036794 276129572 971968940 605871050 661615956 914581716 756726508 355659864 506945272 333102528 523329610 235954474 171133652 222549896 855882802 561478492 643024802 686654504 261362944 833628536 983109896 725782902 356328918 212646566 624992880 470174704 450917196 258462954 82991120 997789166 156470638 616537146 760481408 655937332 415339448 659271116 335678998 914376550 775505638 399130438 337364216 224188442 266717046 477901250 394323136 883704804 236800422 536899268 286794014 790454750 381908534 851653862 614396138 766001682 811404786 837184804 949097432 48063554 300149616 552858146 531931156 34946954 807813282 129386196 965593124 445262484 494782138 656696178 454467486 460289634 284806926 499137292 504089340 124232526 828892528 7874234 55289028 599618090 309489778 732766806 373597052 168895026 320724290 383331014 198807702 225460258 972662356 160128902 703002496 415085102 109647058 871233880 304294652 236498930 368196374 973728684 254954600 682986442 309614308 607067512 90717108 580540660 385281776 107701014 685556552 753333146 595607862 463290296 883674682 470833572 650023522 968125376 447960112 660739386 867242776 829488128 187494184 459782154 325602778 981142968 692716248 572386948 87562674 511318170 339863500 917832962 258147536 915975996 35755822 446035096 362456746 365222366 343397314 14050394 973270912 140509046 680812344 735896088 797411508 75089570 543482944 884345262 373109246 942484616 254076578 270313492 230333042 507079734 930834992 612742536 941093110 184783102 561246528 303608008 51687464 674206998 566300516 912687976 104172422 645827450 813862384 178388086 755388134 111633766 637728648 921731716 462023424 508337960 547881974 244826308 165997652 317896304 345055138 871504928 442461488 788211964 162876480 534850256 702785360 447766074 97518410 760761858 223910466 801046738 482890510 995866242 944266502 398840862 280809088 370545990 90141020 906606796 686015744 671496282 167049890 369195470 132271246 328404214 875894810 320781022 494242196 709287246 671415946 516269996 651377950 724565598 316931070 997998096 728773580 433672516 558263964 817544754 749800692 526886998 69392946 105373080 296029556 554712322 712970846 487115418 660886524 115789698 244793218 693354162 101096726 783698624 27048756 412956996 424548886 862660372 255601916 897720640 947298600 143512432 976799550 475208406 638024690 194377752 320434576 869458902 976452034 952971790 275057270 785314866 12439152 677030694 327002024 262574446 37207508 582491062 779845462 653084278 652244338 129130418 505465414 402820388 354690470 791118564 541023906 692515292 797926116 77884472 734857102 622548022 10363270 501378976 311669768 884777666 640488632 302271978 151988804 79415094 733969918 604583404 163205542 885629046 523159610 729494022 603787656 435483272 17045976 91674084 389226092 990042014 126959712 854074016 462113708 399943978 208015672 378957454 420127128 476404600 688389574 470861150 347042006 497117984 980732412 693442984 382597756 154330284 521622768 99114608 670164288 955761506 915087224 470815428 665101750 459628350 855923384 739721608 999827204 23276732 501428784 305918936 381640016 935399072 880696266 485645144 488931360 658906884 13520566 742536980 107710932 230713790 310821370 484736244 457121480 512824466 207082864 817013392 661033218 266787054 374252936 906913616 734283040 992189264 676958840 602912048 183104 546077480 718862840 502123434 782461500 993767276 896717736 906456780 403534074 384578958 578223236 467462918 124174886 424296716 393369624 944883598 962648460 127381340 592725376 86890862 202026304 997110970 124821622 28175196 239180510 751043898 252230726 503409572 289053042 501545308 70847546 699591464 355647492 958686506 202721732 547462326 215835056 246810884 628370158 107122046 99887390 239275138 875719844 760807304 335782430 503164600 678909692 484715930 424954130 150936116 949700724 793653998 170327190 91752600 791278820 379361756 762547536 542806402 880183160 694844802 311462484 878606564 217380878 202650390 627924214 889486426 41952218 581424544 996289376 218474146 422933858 317358100 60980158 451363438 74446884 62952442 512886276 353816664 978980294 419374368 415923736 635367506 596470410 877697668 930479366 950750318 809078924 658614980 49073088 178546246 864615786 761419652 943376516 501199570 731526614 638099250 466284262 747308128 352122694 953724100 461299464 47009412 271848660 136250844 442635632 281405310 953881388 317753662 387162716 691742046 345409252 334227288 124358814 377418822 199365130 517833118 815609150 893731596 609385702 44923706 670583860 460996598 859596044 420469192 278220124 760413748 956823156 974725926 801678774 973790238 755503870 649073016 300931594 736287376 691689560 456268890 741766274 658524308 462339208 398831818 572598768 253522966 396400564 86204380 384954946 412300168 772827846 26063792 804944356 636607744 989053786 987070298 539158728 232302628 668555884 421119568 575154870 992390140 526449902 969689612 63665920 478345316 771572658 328656370 889769464 942375942 451219470 448650586 203983456 239382308 359499922 679133826 443067726 392022196 108915630 527536760 471078736 247877532 220503198 655207000 894076820 563776268 602318038 10263114 648797136 640192034 479959930 358264622 951076530 306913684 845217670 149782238 757211596 24444468 368133560 623961426 26947136 514275136 326881746 704095168 941318150 248106170 709596310 578606058 185179868 234888604 455437100 701036076 700987596 442952566 176372498 14462686 237258086 658013320 68221862 369245560 565004176 711598504 578700540 916130370 755003240 861376472 593759518 100142754 282926912 105318032 753241380 222027024 879761576 133389812 744668954 784238648 214747032 862239318 697255890 462240272 9115230 812799670 218101894 544176778 338397180 729473290 89909452 984825540 228492244 270603318 510268820 310862266 276343412 441327720 114821020 342754968 60546044 772460074 679560082 642951658 255097538 915716164 669645246 242362726 293982386 400424836 722037236 127690136 521244060 291511162 513191872 769035036 194921728 336184818 147508818 478970678 123944512 946093642 21346876 421729516 511924648 487777964 447030758 527641076 484494886 979461174 882801520 594680034 84071384 743284616 116354754 812275148 545564758 848213238 649468362 226002952 562053770 494515650 798944758 864466956 292924572 308800844 610779206 596755464 136854668 882733420 70750680 708348538 123063772 511476068 208976548 682146352 260367856 396095268 86133318 374490916 181253492 827812654 482783752 820077198 572059094 148407696 907268176 565814684 441543452 394983624 650826574 929044138 347184624 685658752 920792566 340540752 157413480 376868930 173033584 968499530 146102720 591028114 975507724 621706762 968279732 789668246 178286056 678321952 343807768 267228576 80863128 190376836 546669414 314407796 632911932 433454620 734442848 970071752 456684536 726988068 630529594 727196116 551350878 741422110 401494304 107914604 338793914 430199868 823411200 194791094 956757384 174427154 922756714 47287902 760705996 290816026 274682408 618191292 6399802 782177236 668997044 746494972 390242182 622808332 839332706 798587132 810607678 462688660 384208086 525871702 124900668 356598416 827157182 577131886 824392410 475990570 935025126 993095752 755874358 321460736 397941408 166864338 200253190 996646122 196230284 652318056 94873268 445644750 571028240 590326460 170350550 784359268 865817106 252370576 840295886 813419512 355581204 84418172 519042662 579956064 620878444 957401988 940177296 920652750 291160766 747594102 300276046 173518108 930375366 1141262 218394528 692335374 239153900 8014216 779245898 892823758 899141632 396566824 383617598 64369026 311701982 631165604 164706256 279276248 273685732 467877796 784600370 742115266 539824692 59709588 165162284 82474570 691371322 258689126 688541180 780832714 265716574 706366186 589973484 672311056 259763774 951732112 64617108 171945324 870059568 778789906 22004972 6346608 285690420 42747450 64529856 395648308 886719996 705433198 878124798 80082326 83852738 25082412 645892694 344760588 298448660 471526438 874412560 903777264 531150024 135317726 3138646 193184472 157418426 10437480 379411886 250905162 687886394 321116422 119288470 573668702 46059528 655170726 10278736 356484704 537356726 243069436 675629384 684146304 734659242 889370102 502828414 825262194 216507102 785942500 828566128 708126628 259338568 431203438 13484022 59924 550322662 405393494 368269802 840269790 288488982 716133604 232543234 561885522 916902344 447535626 569442970 400028478 644834310 660702334 170773070 638012930 539687308 826973126 25182914 133833130 242776150 764685460 340881654 169972346 519952210 279045468 19343666 358802690 844846902 196412780 612537076 968953848 477653166 111201174 717680644 568990684 519584126 270287094 107202572 129566082 788817676 672769906 948446258 788763796 536439894 980369548 852150182 624007588 20465678 427299520 639546518 396757398 184817014 714084008 538255250 787221122 66424942 601060684 674237982 286919616 39672046 952825824 398978420 405204110 806579604 273353370 636030350 339358478 828687610 593976334 190940436 441926984 810521348 771207938 492433682 304793986 301974268 34907116 24297754 763846722 718999858 401733792 592903912 79830768 642888680 26048282 257395144 741443892 715468012 88131348 413326238 410472342 547499302 115546804 940944036 153151330 31726688 572141308 555764566 196973284 668862222 506167288 976146594 840795558 670039228 253697648 270875814 239475704 711171928 722009826 940511702 377562322 426003258 105789286 641822226 845870364 140316108 56365006 457154628 125486026 633392612 175646746 832591456 408433556 385563148 510099358 646218568 666868568 459121184 376238122 846604332 230439648 595106708 722268454 679264472 30401706 783321858 226339198 666006504 371897834 794256284 201473584 341515950 65324856 238066406 476848344 484713534 231575582 408073526 712303578 583219240 414520194 825981640 703343058 52085342 748358 317352742 379961146 611819222 427042416 703569716 675997582 133315060 37585376 435685096 466288382 589885400 357966410 236033780 646373486 663599794 529003924 312981540 517895758 433025350 884231592 205036310 65625660 207582860 152083274 379453170 221640952 240248446 339778158 265450838 152377950 849973154 522676596 772055580 453478050 328973586 715633922 610852554 925735550 755674408 165021320 243865024 563491932 213898566 352926242 902712024 842988494 248723992 533308908 503415766 863772484 4581464 751238524 514503408 144346830 618246368 664158930 412430132 777051496 849537452 584642618 85165384 522802082 138617802 871530298 272804348 521675550 912099818 870454342 658322206 841517776 768183228 447182644 734300274 175547428 824206288 375906892 13347078 538552956 23493948 949443372 95237012 772475786 235892836 483853796 992074780 742670358 503563580 731617186 626505640 377210630 45094426 72903036 814391484 651629784 111459184 78651304 785843810 105848072 617362630 801054756 408058306 251503972 753219256 483423544 59358530 923852040 697975266 175511536 235590374 345576952 967022230 205186890 47963772 736630650 616143728 532138966 676268636 324049030 853771132 109408668 114331382 449432884 493023692 311661674 219827166 202288952 335514082 30411162 179446778 241720764 1668672 451746180 723138330 806457674 31286368 58054572 743431186 979958718 775142310 300545600 890243400 849013060 741395230 188812180 598826236 854931878 513585600 626900922 724394270 268668284 1497208 784159086 530500752 199714088 138986800 8658740 189261984 831397630 828270732 623570782 913161584 745620036 655948760 402673154 802080520 727071716 265723928 457225974 165319556 833621786 290261052 483488518 182665312 864374204 405756024 762619938 790552396 441874596 191041084 954521604 952589520 192433852 567352924 441638104 68518360 765746554 674399894 676043704 233611154 596925902 621321566 288847230 696255118 185057176 81222998 197322944 274218904 235735720 280454526 242150850 450864280 183696816 498898520 313583768 858996516 526587426 483437730 533599622 319712242 453021506 60115328 555295912 800674248 925743434 489646286 282506768 51955966 907041874 228817190 243241794 311017822 864107174 468872788 190047690 439919550 149357528 678602812 603518518 319914140 102240540 886242920 366461428 295412150 883690744 673678948 477976358 47158752 736627508 134074034 757371810 31740772 88180774 152633646 748115434 828413456 71317108 210910272 114578024 510003164 960512994 954930092 178581168 272007606 755280434 905116470 727978448 277818478 434970360 296286752 50228228 408554812 49064564 42712298 328828498 950546804 258197074 405145022 167071754 213843582 72866242 238296422 961742842 828255736 271458896 190525000 893003448 57673090 217623808 966388106 328775528 582201500 111885052 420185758 825510990 459947306 255328626 37924106 540051790 671681700 728528140 570654396 702720900 903006370 262221138 919258028 167328038 235071334 427842254 819351294 92029800 551088792 233247388 127016246 611804442 129317578 21877720 625442452 401274610 345693506 273068180 440184228 842194046 267311752 373029248 509844254 239246832 406053476 40917164 560350416 962514584 113793298 533385072 352366458 741258100 111482558 404043346 113943508 708839838 870736896 415182556 538644842 388050932 247137050 108941280 32413004 948214598 364129162 885465050 958500650 554949516 863340152 659759236 406351416 863519944 678847938 85934554 215828044 538458658 807153438 219641260 331694612 893960322 800769206 87331198 823815136 591688738 666256842 402189870 789170564 56569556 694846328 704305284 971921358 951979640 263419812 884345228 849979474 810414612 246873888 362751236 494914522 894216718 91074722 90525654 468715740 20419454 136119156 630258996 602940580 160628206 804075858 499345044 307424188 428780336 912603950 935945106 201872626 842622134 391205972 609535920 750292502 795672984 669007408 112070820 959441738 729174880 22034012 694120122 876585750 351920312 107204042 759571744 896297610 966862486 711729858 718910088 155803420 879293066 42461264 982086958 382989538 400158800 582109442 394213842 561554632 279941334 315023374 181471332 666241738 109731594 594753468 727180012 872548166 62066150 802566758 174397232 326047402 965929552 831634104 486442050 53158492 617873020 521358692 954644340 406433648 18007748 959666152 150839310 822971094 767710980 809785474 182637734 837231072 872177094 669051344 786594796 82572306 304646166 446029856 455497914 288525878 586636396 626220960 687686488 226127228 396957716 602097606 21960976 355338164 386456492 529040444 918881638 711391520 429459452 28871672 294145996 114405204 706774782 943270084 976108752 405158142 658364582 866081566 727894130 975969008 252263918 53521730 446959292 839588478 289214488 952458158 636872716 620499064 674550562 136008602 894056382 788086032 348714124 823611056 902576378 51039980 800587730 449197650 213009108 498367046 441512860 4626174 146657790 441230524 980352042 450044686 975391792 492333552 783057510 57922692 642715568 783202606 709586896 579207422 909009776 714357098 382736184 52382936 767501410 515385436 958700156 533073244 326613508 345863274 408388066 71243950 769236658 464076656 103255960 408373588 427575924 31258904 768161616 765970288 357007310 528075802 183162346 543661958 454291194 823476914 893959472 789875552 19666784 258007948 879192174 403257072 956879104 584992714 169830 180321130 353645804 118132046 616422434 973232308 595553492 22774032 760783718 371965606 281033586 822614572 289894490 742592518 733925784 891938574 211653004 423019802 884303574 202942204 529508876 875314172 869060344 68083738 667058978 834705916 753050326 62698496 726954224 423287868 842411918 266634802 45457786 459523908 147720894 436250394 656542414 77507248 837291524 6114864 827483720 385952110 79422306 927025236 192959476 735756496 743961878 77963466 572037690 599554084 391874322 538006818 471514714 236991936 163019416 432124814 851438764 376009590 58077440 31151426 607635488 139293486 816138332 202664192 156799210 415069910 607710616 327724550 639248192 260508000 734248328 787676064 24467022 141504416 780494446 926744184 771300378 699758906 457072480 510309374 654443928 899734708 913876068 789828496 921914804 673308448 350596204 99470946 615848968 283852866 944035258 374139730 848999868 804586328 785289814 806786214 765365862 877974360 865386730 778495042 117088530 262354624 71117314 165817284 699731318 892236816 181258142 621132232 390748506 358831518 675376156 179405940 929853898 600426186 440772762 818499958 773289572 861460956 283465522 612114806 465421684 589220700 647689764 799344962 482116 217136732 776882034 320740376 132130740 588981840 207476370 988656204 51989306 932995444 941072378 670307638 660985472 424365780 326083832 870043336 391645908 298043026 788342030 646316502 945890678 738518286 926026426 547803446 802798824 179280668 46074256 473900976 638841824 649772740 650519306 925133710 88815926 351149344 997149558 772799306 386926040 185765424 675495916 593060502 364041568 681038664 425024712 972102034 981364984 929368322 72993490 348525576 490329604 16482828 256509766 517842878 636502720 399734022 390941674 59481430 213167162 128968548 305162752 613837844 625736822 464664060 649360504 959835832 217211260 207375842 149616514 471281342 416071690 811178110 683013434 355014362 563244228 698805008 929153620 464204748 509560532 896746824 616040098 299563548 544093578 371300910 112638054 221675730 557340258 159137778 655291902 389284926 42168514 348265668 75768834 724774444 903928078 795942902 483685924 159295276 985381738 462255212 882844872 919275136 76843882 45666346 429060706 406540342 776248342 636896846 156010928 923393704 627571184 802359518 345538428 76147086 230831444 547801600 627658530 654815938 474182166 67084424 36557058 502442480 979676022 527344414 340531794 722253690 318631834 845474556 630387726 91624268 218534960 647295784 27509046 891534242 243221006 585506252 175315070 115389570 77918846 566291612 268735184 279599854 756374278 762342550 87514240 540827820 548945234 803664416 176021346 143052858 89373808 429808044 295276076 993513232 80005450 950939916 578947620 962293530 214306084 668186700 788880778 485161682 51507208 456040948 563510046 213106834 489391106 103138398 591620626 371172212 524631430 505804760 313901860 830615080 413859612 675280218 295098336 24405898 503540670 805328872 899284382 703166052 829780964 367741780 338743314 515695626 903262508 770521048 950126398 626067468 395139478 164373428 702861666 521802380 48161326 930003820 385917204 215626574 681658094 945061862 35534772 584276864 965884484 568511066 510821156 70445102 23358186 884773586 64332208 605174800 422008098 109256092 806113662 414833640 759649518 49946284 596084210 511349588 786951790 870719306 269605398 922215782 456425304 699291002 986348520 55434550 673835026 748069070 50532720 266088326 909709244 51142538 379993540 6858064 610651010 881709094 514176810 515703772 565969658 802244868 647765592 624195658 234611008 184443466 199123772 73241574 758966920 230677754 62032322 139232506 737470070 34293304 202847006 528405624 738497772 27571054 969827254 113713416 206294374 585744182 622923418 676978736 21641850 402653180 571600514 992620950 459594260 353946218 745004304 678978196 702377286 536159024 327927838 868346814 28909714 91119372 421692446 122351440 596533252 687531384 678557594 316213652 925358788 865437210 185172244 798100894 677763838 294306566 295824484 109945956 662021836 12059788 571091448 24513638 791979500 713750234 934154444 197497038 880066256 757288410 728086314 851448682 499932034 225658430 371659958 79045524 425035120 229287320 267237104 798571206 37753966 146322976 12352340 201681704 6520604 371363244 80109702 941257052 778203374 461537800 372552258 969656268 21039906 675504312 787822628 642150610 285476100 313425030 147744074 703333988 617517498 935079778 144188552 233787322 186082506 204933500 600727122 630546896 612256536 690445308 667055924 776947276 591319512 519705324 92393214 208590046 624024474 173269812 68659940 261760106 701535702 263469984 743743464 114638804 609132832 836727222 924091662 945379000 143933866 444479108 274117322 47348746 971170606 838344060 353877046 23730786 713153720 687365264 199628514 927271148 588160568 151142152 412890564 716254046 20510852 660827196 517734354 314547688 646232192 442619822 237659634 180003996 258377612 580267578 202215962 212221402 559419036 265303976 817017218 942796380 831205618 573104688 408800752 106974566 219954096 601637186 945587302 463888866 726503288 256871356 768353964 538036250 22486274 66579426 930535156 606515012 585128472 183237752 439497610 502587808 161758882 399768516 641778638 205276400 783391678 461162816 681751752 321623866 85272368 805202328 419754358 942388780 257999428 606863924 638577922 339852468 611754178 904330184 197790154 314952974 829119218 302194582 171874186 972781438 798578974 956669298 46173376 807831692 682610892 389956068 473326540 807205464 261665840 677871056 719151454 184073620 405186644 862447054 28486574 698006620 614919140 495190848 977501648 847880922 456604108 631898654 555420006 629091854 565704974 899355600 355184366 544079442 437797718 565128466 244483450 847468984 934104988 961739612 430918110 16414492 293678656 534110084 339786020 393022998 479343460 73458330 844435772 687010440 57268652 293276990 693262002 511199996 97122468 743897678 29472358 114870460 225351736 216093636 18625000 586964880 847862154 760912236 262085140 662003144 861319164 776426856 362641404 630138596 412259074 224786964 645890896 941308480 244056560 318282888 322392582 644602094 754937982 430294342 921948448 998363688 813738500 522996900 884505278 206924426 835598324 994285358 578348930 211577496 770580062 23880582 774444848 794762536 10241940 183488332 708601500 453101176 665564446 796328764 585862328 413307672 517003206 315858766 259786226 250766430 821340296 586968832 478290784 159925204 820448808 637712084 520012080 634305108 38431712 860653814 635789786 731780384 489747064 122353138 597004822 347147360 153661924 779320804 522593550 869740230 943797048 782460150 829369988 411379634 14650180 425878524 705461702 883669272 350403898 478211456 896315670 47353570 878601258 201128214 653455076 247908280 837179890 880761984 325902156 786868592 303997792 263738574 390532058 401313160 481440200 342548512 912393258 603330796 540466158 898473144 707096918 492341584 902931670 150286718 68241804 362746832 53608934 593318952 620100280 65917214 727136458 903492444 299080552 774734192 225515666 699974260 265736918 204770048 965164916 734743010 793320086 70014542 571709402 551904108 111232630 515410344 530900916 185663612 486531538 406109374 668044846 730834 332946666 326037868 920288570 877712108 906085810 662157320 819801216 924474792 656407206 667652400 595627066 87782746 639881340 591809310 98260424 848552440 451389648 168918470 173935300 268828924 86307852 94920112 347290408 197648454 938929720 105470916 168603422 360472394 445401990 82910990 447280060 174898364 853145428 11788728 162427326 991450428 88434948 166976992 594926582 527727054 674741506 689206998 245843230 768792292 140761862 222623682 234678154 62778680 536923364 134360764 61799386 427675126 836605450 635339462 202899606 329494702 36802936 503934430 995088988 534193936 986821866 134708220 859294332 315117802 275114494 710579292 169200898 210042948 228205604 365652304 463249802 226409828 199205450 531801986 954079412 453125216 2922424 865652474 469256656 130335254 755906572 474426602 175548984 757742588 157550356 913140392 937417418 467888400 203758638 918133494 817656946 891270750 885206578 148513600 805857466 523040540 501578540 462078000 9906794 361885206 263853408 640829024 887255518 52520956 955223224 831014882 684486850 553002214 256595496 738755468 235923216 896574302 674368808 786049426 127825574 909800392 576845518 320836110 308967970 144793306 240077430 149023070 337809986 229796180 292233066 343448492 104670148 886582052 493852948 172096126 724284652 9469182 961125504 580255384 787918198 742078104 775910750 111097572 588846992 931089716 207814694 573939658 577548118 325494324 158040260 521280124 886157742 641314124 850931756 533805256 423037242 303696108 297456350 772531434 231065590 691515358 250249592 849529420 166454160 684660562 505522014 719297628 290151628 703011094 184794504 761360634 572102558 428356490 128913826 432022188 289389352 828777882 970232392 129550402 416178074 400369920 433557288 890541862 447498922 71188362 79989688 408234256 443243340 849217392 159472360 314223182 661084732 557487696 573935198 835024966 891362836 911909860 289500594 780353348 57847354 242590446 961770202 735766784 796215508 683405212 855743192 740940080 435444506 402363204 271356426 114757244 591114900 22422960 919607162 869352118 186238346 478440098 559263096 520966610 959796834 652520896 356969710 807952494 390152436 87972266 497710414 396928516 431839206 607917628 173594904 537325992 97265600 232542728 167357600 497903064 601307272 689241216 637545224 988850562 712291454 874970038 793757932 655876768 302465544 466529910 630308158 314209824 892935882 3957598 91493974 470958014 105877744 341861166 581940420 143842756 262637332 578955558 397185318 91827936 492539226 222310844 603456846 71007142 627840590 604463742 158645378 811692210 609284200 415460504 227592392 541033386 814428610 31052850 757664506 652675630 388063504 700698922 188588188 824305186 115780392 17356636 150022060 939075470 393040828 80161344 461321020 223427046 887842956 787512836 394889890 61033146 779319770 641135220 676172456 522141968 47520610 13484902 133788534 720845308 469988274 196038832 860174376 872911584 331431506 999932726 744312194 286373762 311085172 846235814 904683488 515816228 245192840 222252126 352941276 278722112 115252274 147116460 238020192 147416362 549002638 725376650 59970262 877409894 830122966 354507512 637347922 223900956 832377160 482173236 890480500 77169106 647525496 755648854 439314212 247631104 984766978 769957460 963158480 308056582 109995882 310799326 515546762 413995756 232586976 801564760 288796584 363004016 39282782 543454608 983356060 147196582 741118582 178399470 520179704 332520692 687607728 51177768 588014640 99853402 457788126 226529930 428807900 415057940 101346310 961871390 657905742 723699810 622951346 314212628 748258920 360256368 110101794 551425964 905972098 198892730 618092896 961433184 622355390 745631794 275689218 742168924 541627022 366989932 34088478 276478650 512666758 529124680 87407842 907878 501081112 982860974 109531132 690297868 273176072 473248432 721482122 423883284 884154854 262290380 258837544 556427428 628047022 885968190 726389774 547081920 207470830 549476996 356524224 265036424 374144154 336864770 434642648 919664358 314335804 418049632 323468834 945128230 199973162 126930166 604531804 397085854 11911962 30615104 127010460 596697704 502793116 332270676 979174 54058922 135704728 767642360 751487094 683107606 942606578 855838016 758461290 116765492 762968590 731243222 957080060 143742992 563462740 542660760 608304408 698343086 722616162 321032740 443163628 146334576 926880416 748380674 802034484 245365024 465448938 230952354 361164620 180168496 104264526 712559356 249585430 714620360 946419228 532351694 976874218 863775188 880104534 52387002 776754284 876881044 451418674 920677792 133901610 504903828 540612676 306911308 662749042 985249770 524511978 733219434 958160000 731546976 455119690 228866152 971810238 842373188 149618402 593748266 622151902 25471486 331146552 39826188 667603286 902228486 575163002 365050734 838827148 25858454 886202880 577743952 257265680 383346936 933335446 450688202 182522908 341874564 945875606 348880670 275125970 686081816 169613486 193744728 314459860 436867212 49287706 353672296 467592428 642600016 658416424 305140878 659955622 283960822 484170120 468616584 759103522 449418754 201654174 922209358 444190878 197629342 35800264 613731900 320959094 83000792 922673572 222931812 575641834 641989416 743070600 734308174 552557784 765384234 949843132 199523674 133888302 176774652 724932600 956897678 289723084 157912118 26443120 704698300 504863164 734236932 496531706 634395892 861711690 228850188 604283366 164300376 953557098 765821512 233999510 91905892 309221840 707655414 496106812 648292430 368146006 117479154 718410996 492243498 911184516 954007286 22970972 704525026 706199762 379396390 950344152 627733996 34568234 633830690 638148008 382762676 798579142 978759398 694459410 514800734 667612536 580770608 731174768 784379826 905627072 914763010 324889992 589734430 479498296 716565512 869073940 41645192 187479248 339182512 342839060 861267596 341876106 420987758 668513090 290381674 481319550 988384780 923214800 622961336 374174998 790929188 702444948 472997912 424458084 936317524 799121836 240698764 209270072 677185044 540310476 697015470 892530988 875347750 937235366 478593508 637626478 620498810 286345574 900319754 461162966 934409104 446293398 49246232 807132508 702556192 686455366 336594972 568002608 899154666 983260146 2951662 908907716 637205828 488348930 243472998 49155922 850127424 834300318 681375540 797050002 903452650 666786816 87470798 263587120 730459232 601902516 225554784 802802302 790493832 936258934 13299470 571561910 214390214 277476712 670160640 539559248 100047662 600460252 778715096 644787008 761233846 384129368 526600206 204276598 341388232 139671592 983603000 849057932 493226848 161060866 58161178 549006120 665283586 537493152 661790776 666620264 69548758 579985406 85445918 217218474 430839150 501204072 38355530 87864204 597879204 605752502 994922518 432214916 62748734 957717366 243688348 461017410 122652722 493393432 932341134 264177556 836277614 454724326 320677926 725538800 875807352 442305962 367311892 771331182 570808878 134563444 950027800 65591038 655870310 162467940 858572438 414541520 17352190 626936212 823878418 337465112 896427754 160309078 662759152 358838506 401480362 65205324 878022288 513143726 293946176 84405310 302117870 523946512 387684542 810314280 420673852 307455032 7780674 594356486 616334320 264499744 13933730 105596410 905325326 709543588 592091282 134150718 319818842 288524214 974365430 775336916 44985602 30448582 707317184 343742682 172965090 783652566 625576556 280895758 222267774 771482104 367459620 209312838 732806288 395678012 309751500 641266498 824731608 313511162 176387664 771161346 369856724 914257370 325738276 466039600 228895642 992117468 606037110 55750022 789948622 332705258 810146356 150244044 694481642 642455208 655060324 274532084 510519370 796608756 777070992 337585056 43642746 130776074 127219174 907536920 669515940 9331534 90476246 831364870 989464564 238788066 765644230 155668036 400477362 414381482 41866804 334201192 370522308 387732286 93312346 899047206 864886340 858221796 925790600 607092484 883365198 431665296 455263520 472046538 66050392 166019452 982401934 125159846 642331448 384717574 116783900 392654550 594577132 725287032 613878970 366190882 294659944 829087564 516386388 898163954 523805374 634027000 790969254 883488078 849079272 690495850 900972570 208091998 675825414 674243622 17789062 85004776 965498094 790997708 509314336 896655688 129546186 441694140 637690708 569506306 664450382 851918672 511581064 254032408 753343646 563675088 726260146 704406722 322721332 798129836 723018522 313253712 346088362 347039802 364657348 196219400 53506264 568898586 231956640 868352812 212903450 928483356 415788170 701343636 162701738 308867254 590941232 926542662 867198858 310429896 861573462 131887836 410712222 896592868 899682624 573725090 297019566 657958904 451815080 103618672 719263852 165803140 103150886 232724494 145121572 783630248 46680582 469906564 556775274 236538874 617274368 441236642 258334674 949935988 697789298 948563818 454771370 316722706 421243422 64599190 139996266 345961954 176312966 779861688 443041352 468758876 548735960 353846236 105241178 293856912 300120424 884453682 413583136 23907432 821031260 18195484 429359674 778398602 601886288 259380366 732538086 579188186 15777934 248619544 883401864 308844706 99987780 422473598 581874812 936428204 348697938 191303168 925488876 153915858 945160442 506314492 513841496 324740958 868682298 278186960 384837492 597579604 163690682 54509776 755314974 428897728 515299880 304390788 158906550 352677668 532732954 99689018 867471740 981539892 770879632 378881130 938760318 861061440 621523756 423183332 774355332 209089318 967963836 107214500 270382372 512165572 206812930 592226486 343833922 405067380 365401260 659536802 547197752 699835744 388715938 517647012 524365958 314733868 960317948 979025776 788865172 792573402 561989614 524581698 940231394 515341872 534912716 45405586 790272536 573357894 148755480 663125176 184853624 581074982 578339652 257569470 398434362 342469034 751255912 37845152 763957342 475776670 368482478 236159188 318064456 880002882 295316038 498410834 186374860 330838262 254133944 524661198 236285464 288187136 294855912 441646538 803780580 397760316 423282254 386265732 454032396 620477708 875974244 811122068 918875578 596296988 767710582 588062770 654400414 241233816 614140090 167623998 729954908 241262866 423510682 737622136 233410634 756614772 588358906 974966594 796946766 42021406 328518058 79585586 892845054 777001352 962526784 89142742 894359278 857308832 732475554 195838450 264309008 372752836 842107792 143527878 563109528 627898016 737005020 504096714 530934716 36628624 209503590 644778198 587263762 886708616 105605260 277760944 793007200 942564376 537634138 110075504 404220622 707466088 494302262 709684566 497111920 611677062 27432952 867656198 470693738 901310518 287458218 156305936 975807820 501802292 180212588 592463078 389310614 743847714 213211054 542819330 849284876 106716678 89785862 350193890 129376374 471766768 110940408 479774392 710634142 101590368 393129980 37214986 970667232 886259656 979989890 52705276 279132090 372770468 779699448 972050198 292295434 958183524 758265728 332522342 718690216 406789054 430533662 149194836 222698626 181953386 418553234 891055128 459217224 4458042 207778958 726053112 702518714 975066192 434481804 309921938 903248576 811924516 703395740 554513872 359038804 247047330 457437858 853084902 378852552 148216746 692532100 815420350 3683084 195251300 13952130 421078916 480230886 418991978 26745690 469544222 138997790 750562584 169930900 74907078 130541912 107006290 7804714 481426532 783961402 453238534 851914304 801201092 723632050 782989550 991684072 838794006 313140476 759040398 567090278 332244594 896023746 385633144 229214392 18419040 371363156 621691236 456745500 484013378 29168318 951414280 563144524 910975254 686020418 777384588 73832456 138190716 645539726 234158228 924414812 517186404 540537620 412399418 143246898 262252986 918889492 729787086 41550310 801518788 167715392 300048554 301283936 828530556 876805252 516071270 639228440 912112442 907478580 774729940 987683036 342887256 425937332 644381928 83455168 773805016 751929362 966126686 413141418 428231390 617824488 580538372 67961236 460376644 569259576 714643274 94690236 226777258 327947508 412090958 592652578 386216780 15638066 226884346 873750412 856315732 306788728 233949460 905534658 446308938 341444080 48329380 435451766 297025340 532495520 63406346 777746552 329646122 461940234 746734464 655920830 383890808 655338608 654200696 642300246 786558908 729806946 48397702 996232090 438794050 208438340 272086374 608787264 698692738 961281810 774951134 532644786 995794916 939486170 664871376 773253600 365440744 366000586 140539408 232269984 815680024 81821272 949895372 672658316 161489986 963493846 882174074 93875304 505692158 959759838 996180816 570805390 529593214 416104422 212220606 419871328 216582972 92315590 98354876 388213166 131134616 332070400 141731564 599176448 802886306 548124198 974043770 111469672 634748168 140103626 787790658 671505320 353049954 266642320 261190530 93660762 121580556 403954506 927973006 842780832 472915984 605620664 634275682 21861934 458769634 937064370 655139370 710640752 459696872 388802638 667972146 31214030 884826090 159676966 127896144 510563240 760678072 30780712 810743488 97394952 868109250 286925714 881083782 51085100 869221726 602583366 4659958 771899642 59811178 851877308 731795840 923775308 413906270 902966266 289511786 225489608 284422236 138672308 560920932 951262904 736836334 389208482 607926086 712728018 127016646 882637114 893816356 284197586 112479282 159522498 342270540 615665376 15089278 286860318 301249450 1099170 892948586 249747462 525495742 747190612 251221174 474233520 908454934 667301098 567232628 608583084 639315090 487804560 712071124 111704924 706468996 472830760 797030148 681360362 223636438 202601916 812305052 935338294 681669314 477510594 440152058 47645050 579613378 848111288 629142984 570209484 488977312 455987632 972607338 897615422 696086650 174683054 439772870 718543144 990488272 559740730 573748190 371746796 786938482 887330340 498836270 537751090 241141294 426962014 600630218 176171388 524772158 135855896 360969276 869344868 761050594 83955400 131455414 289217698 495075942 232319120 486189308 534979436 78454996 767417434 604976120 939521072 631444708 707904702 500503006 639300402 267367248 855803854 563287106 283437512 278965612 964578438 174364776 903190530 499278500 892967002 391851504 667085374 566855050 693149088 228401984 975150556 358939318 586972542 295780088 691376638 211848050 878085340 434101618 284288424 261046652 812564958 820192234 693443340 257974230 158319344 402303690 303749876 569783458 688122166 764780486 571941780 204259360 650920146 198169356 816639660 161011728 419333882 205629196 735748766 178990116 491648092 526560882 971686318 960590780 106411274 20954054 675319296 115079820 326451076 926098478 190322596 215216962 999202162 156398218 396341536 265647178 924823666 438256622 675483506 218740916 598640300 263884584 110387390 746614694 456094370 831849666 596044676 314645454 968591202 319554930 50590188 108036086 79070694 717903902 250770470 527161210 138624800 39123348 784369844 830913750 766628996 200813232 445322004 68790876 558307042 58277842 670613546 67179738 938286738 696768644 899321064 919143312 845643850 376347940 730855152 147612260 684155232 329193850 620984420 775582434 658320160 308988196 454726286 402067260 997870980 943481912 149998560 289755796 119509588 29425870 771687376 973362036 393619120 936580450 222023714 348535460 224852298 562532486 268577102 680222886 356100076 412801662 498777282 676123172 211214744 655493600 571702310 664877944 358020638 198807420 656804214 372350198 35086490 371814982 145739544 514957620 287929646 931600148 576589774 422987158 311706756 18819008 498738968 62271168 206423736 615833388 487607044 920667834 288895156 625848404 523458046 962603434 566274566 868731428 717821872 232695424 683467622 208706670 93587320 910144862 312430226 155372060 520204944 467146968 549815574 150998318 897585050 308352426 772288696 946514650 938102258 87367368 593378898 962911874 489952814 316067542 192346602 21273026 670981250 220981382 78932942 510192116 109341528 308092770 577037726 355169910 917873750 661205126 5233882 338625486 518800594 559752854 50603104 57393090 296170356 595053980 722423864 627519722 694208040 99372766 323092962 63384750 121559294 190144346 106568736 714975744 813627402 554252144 723789048 795604652 327530684 875201658 267618764 733475358 371264572 798557862 450653858 626901654 439510854 358152614 196086688 236931504 805608900 161749372 225509386 582393812 815040348 243352738 395644376 833045330 471400474 181953022 822443410 982968576 838688666 274305876 949196738 409343166 399835872 582445460 720797378 512171606 582758898 41091000 624899682 303556422 361815690 982820044 574803508 527813482 132881332 243139694 949730944 827161472 708189832 478003990 388737460 412423026 171713204 293304216 237060814 394453370 399326714 149099870 496813428 835442676 188430854 393488336 512227542 770499018 129779552 125551266 43400320 458335406 998654826 820360048 998850988 807093928 625067186 996042938 587465078 591843042 943348910 170312794 37810522 116322782 115173292 184102758 774624398 906884668 69301900 167851146 269581472 208965360 269100328 692388184 577137222 209823764 626970022 838675370 406322396 206725978 214759798 557070058 915021694 131644814 493199172 344052538 974713082 663206010 265937832 910961960 12491388 687566344 821300354 291708460 44700910 134484824 554498378 255237056 117014066 266293536 421426362 34554450 610222158 139967662 668103242 95442674 459909498 617707740 159763232 583383396 614677708 652250600 790282176 709273194 51858646 931208632 485472944 439082690 678221228 214688788 61100534 504086434 616308468 419619252 301238216 85112312 74175322 152393418 306217362 931151146 569482402 391526760 650001478 828211928 20237924 365751240 488968252 410736108 464053064 244533030 989367952 82439032 437241382 437245250 571092756 938408994 276904048 339994616 692174198 514092926 278618966 619572414 804409490 175111898 23834278 12127762 711769266 379417898 93789808 241665900 91680448 606781650 758844318 898379418 921238306 54469844 407157200 243877972 570333118 821163998 871122810 25005994 634808556 39952040 9842398 441166406 28664290 945617412 316067490 4515878 652122858 899015920 336054184 462289370 589030500 747979242 645454278 806908694 480726738 275279126 926531124 665722150 451392942 854084678 556178876 575397192 452078650 933337284 212608214 388043848 714177672 141724234 634211048 861309226 149680606 823967098 204632822 818328344 590298820 65779706 164437640 873355444 299133898 954575848 116076746 493936432 738344068 923342066 156845262 444986980 82199510 201138242 656853288 179114400 530979214 678966352 628263454 328447184 316473038 886833656 76658434 769194056 346235764 867221604 56048374 821516634 4768550 504219338 76554694 811160860 515848954 79786524 57813774 142851754 938267922 72353804 945681126 881339846 68417880 351502372 985216422 757297854 89122426 327033660 319466564 909519704 333956254 371887286 59398826 873205394 923037950 458859494 642258998 889165402 974650810 757621428 899327810 2521940 928847702 760525448 246510104 133608390 423795832 678798142 523004054 516518896 608166040 932905200 957527272 851122036 246539176 861234342 962449790 69193800 26204198 897276364 336043134 253556986 952620056 986342712 122298958 135661242 303477946 335898988 57278842 589953778 10015174 751753146 406980232 107850030 988735044 163569904 198627998 729602112 356486184 320286898 97409094 426796584 195489270 843811824 810180332 418816964 318740434 504144908 651129934 814498324 788808776 98097474 482748470 267718048 878282682 119482174 875528856 80699910 340388858 773151436 121123654 608846814 180251366 609543498 96534410 896061428 820498742 543959142 862961302 917616348 179032746 275679412 517509052 250696054 479195342 940919684 28818744 614224878 548965858 248348514 848484276 680385474 410115320 795931366 587812268 862271622 315248676 13287312 526693682 117065524 639061926 773351202 613453410 957968132 894717754 126485060 721418902 223414650 937340418 591065840 882084616 835270516 986725858 429519458 981929578 305812514 791138408 648796754 514935622 988978074 797396972 169933826 778995822 367955812 2043340 565274626 3226520 955445604 368062466 598150808 637375074 548641176 196021506 433997048 419049542 893934030 744273734 1606916 62957414 14314426 373234772 421610166 851616786 323020226 705554914 230330992 24548762 353046800 55887168 2866520 750951986 861553490 418592628 91852900 106698086 474156684 270464698 532081734 890470292 61926558 222067810 317989720 701046514 165833944 433134518 75531932 314560100 652677524 587227004 312808480 946456282 345654444 100696270 53420436 709808250 178149516 515089872 224727816 183169790 537832196 927186836 90207886 842973180 224163306 120448720 496645516 334138214 811623712 422781744 862329558 452781110 410090968 953352872 794428114 148482598 330563848 730053282 676434230 214262614 140362658 288241494 702888238 963215058 412806930 748591466 123214472 844062692 75412920 301896550 404966038 352678102 39962254 748875190 33702080 346005812 154260814 151507898 353844140 492468418 807872958 128645672 877289606 815273014 821768400 393345580 903858390 686831648 484558854 978274792 839092208 217674556 319794578 41033416 280412870 326402602 416532278 252466586 123611478 74917648 569079726 758120692 552443986 600820190 108918898 478712234 400069490 955622316 583242174 754312554 125289518 662814808 704830668 61243596 754724790 932910464 989684140 265734060 332323440 760958682 100342928 530201546 14356904 442886104 609486252 625135058 849520332 9685670 917282220 68193142 230213882 91635482 864375952 902794084 629029000 900757026 516267142 322320868 995500782 223877424 278229050 308940192 859682818 52588450 14905012 118882202 216532420 14108772 695208976 456668716 349719086 655769230 40330898 182924040 294099982 627154216 827240078 199723702 361137180 366356232 908531292 508425378 620199204 940350686 766836938 456483096 850774754 348261696 277697008 637358728 861263648 320957508 770981734 229184862 419450824 65108420 99912098 705409544 52436434 384933658 377065496 618627658 744072534 516817798 990544618 774095800 780778826 34408130 560639452 512423164 375342510 478498384 205937030 127468548 948310052 788730186 467125292 435257492 914848762 185536464 6545076 918550720 663727184 14056294 1695162 290420414 158680054 599556436 861802548 381521918 355884624 33597390 97129902 151449058 372101248 763823936 442405512 646350000 430050610 406935282 384600884 701779286 854759828 181722398 126075970 656317528 492129380 624658948 141385584 156953968 77708352 75873928 427392040 762928330 913612194 306618506 831294020 278021886 505261748 934178080 496998074 533499248 106714410 774839294 306571414 608763470 521120670 258386846 25483616 302148006 242832852 890450696 593968706 766926752 93865968 598659510 831829510 995023594 222463730 244543864 87154150 714249268 945481572 835626490 670610734 975757860 542437412 849032766 240306346 806290200 884492092 997662252 783605266 406002206 203335056 572872298 52590784 773127502 5763380 265755666 783231678 911970336 807736522 970312990 177495046 850698722 709816046 220575548 223752198 718009800 470662290 691134064 716215296 489862262 631045294 116568200 445883090 243932142 922242740 862857028 503171998 936204442 322968992 482809332 237170996 621607490 5807042 30644860 902677108 380514182 588860326 666318426 343428880 103166146 999387250 809023830 809205856 219742202 490756324 155883914 726192082 715345882 889115704 373147828 131245604 55162382 268341642 219444228 330195540 573062044 244602364 650384606 766512534 347532382 918352564 514600042 380332326 759765202 973428808 642218748 782961346 594771476 286604366 715751324 428569756 283816292 863032980 783119088 223799722 740872852 289869970 446414064 327859124 689417080 919048060 757718768 265776278 117188882 386276288 885633188 910686872 325065290 136835216 538527478 598648054 590291700 280956594 538126092 775582254 303963418 73815218 174824482 672006210 817296654 526472256 304469924 357471190 861306050 688073536 836138228 350390622 139932750 854032062 372804054 181523712 728308198 461846012 145754230 714879384 373484952 833371026 463882450 270076744 979555426 418320414 840128074 216775194 44228228 163720390 811248492 779741670 227238168 545567894 182104376 428419166 427131952 656103160 18543340 790316176 518225948 219059704 778766670 365660780 10616284 402475220 483693264 855123390 89548160 458245200 193158824 875400950 511808620 559362756 745744786 379367536 219976844 606823308 166227596 558527750 615199580 936563304 866992864 76703874 934879342 910664262 329288400 181783440 897643246 206333216 839879944 249918656 505117162 187834386 652545708 568832102 461641500 606154710 330838194 141999724 137691164 667449838 644512446 914836024 385118870 930263604 882459670 949563918 392134870 747473598 378731218 395082344 635679876 836960328 34782918 993265970 637308412 171039050 143186044 811857060 718308160 711850206 498405218 233058324 447333450 952160962 247376554 224280676 634514556 131557062 542079522 706600478 316577038 290093478 687800572 521154226 682217234 718404284 444033492 394651484 199923246 576916844 887206492 744893588 988772652 775459884 308442494 194178750 56035524 814420696 780190612 856775788 845193458 294380154 394380986 569440128 809009200 904874796 258879844 118450180 843856476 716844364 885527220 642768518 308461992 742899938 466542662 555710722 517257948 570882234 140781704 753301100 321971636 604240552 246268780 32668046 646612440 638951064 617575032 870800498 107729456 423342958 79129964 575634136 911912852 281137032 97105472 68178086 631446576 428475680 426503412 143695042 229168518 261239202 590287676 586388944 977703806 709273338 623038244 952271870 379131916 78507086 231406944 5033364 499874608 999061200 237653380 60270948 478997522 332930228 546365502 357244760 301076456 38355044 11212756 181569718 638424016 266549516 442643106 545591492 874677852 771224302 605697802 423376656 938933270 8959430 18147300 486310274 801769152 76264374 442110320 321963948 45274336 198380512 726685332 575304956 753420334 102173586 20043130 760093404 502037880 558579004 600501210 16175308 655505004 797702338 88158960 748320806 237325526 88084446 949434556 59258654 8746418 725670240 403367376 941574848 997106278 634144434 111477210 607691112 310752094 143277758 400904062 913366274 743680948 706425884 970861190 515578218 111445826 715056644 917198970 841077726 476249612 971154722 676119728 771863856 345804720 894929804 818698722 307215804 625220778 212271042 613167666 286904952 732571432 179866998 239305300 481762258 209058704 468564266 170029406 15261642 755130188 258273582 845685254 197802102 126273138 262594382 990345530 337476818 605516026 184987488 48421672 649875094 98323314 132478982 574489752 603483538 348974566 214104046 737306600 885637758 245632946 627434340 469493622 815242196 777861120 146991872 336924430 440843668 111158968 424240560 432842374 763092118 218307628 791819948 598518558 447941500 742106406 626645858 342257940 839669518 816451182 365477910 164644652 42608396 656098066 842644682 696696538 933154426 720456734 511060268 843136542 753213948 633554698 633232190 601530190 69204878 454660816 937164712 778139680 535269524 25915526 89832646 837473380 880511042 791215918 929317776 846698248 90531370 440458718 758211988 31307868 946484498 793833230 206139030 322670050 699869622 174461522 892977542 78272590 49252204 238620180 811875562 427135096 801871006 499228458 932915740 722235732 282731440 383187506 375583578 140913098 53715820 645267458 556479270 877968536 905558222 112486306 282950298 716663398 83377320 109676114 587654714 555769618 672981946 507847910 377225142 662288022 182810590 682010290 200310012 730697262 777341522 503489964 381483570 135768034 873604504 97356974 672720458 956174916 344910542 907470918 388867536 354609160 337460078 259043856 735734320 484990796 171667850 770881922 471275582 540730942 504822456 391453292 188208136 883337170 838484782 917991276 54837486 317261588 528976660 578499632 11688576 899671000 429716360 127391060 14357300 175435882 761137808 223605626 514468778 18379956 369343498 228606870 832784778 473634720 493182854 945752886 670230586 940669584 729435152 1493672 544754200 913155014 735390128 632311518 51587592 376787412 982142 966884164 900747880 547725712 873902368 331227084 766771110 542709844 684777736 72520452 124019494 137357800 403784700 861971438 1936474 798683214 838377538 761518802 817730140 615884354 169920716 796582542 752742314 497863502 950773588 559305252 354803414 283835362 190180942 694658388 102014136 850831024 357081918 580503904 722518904 284881108 169934798 941355292 129217580 835179700 977308590 872260036 989951102 96290604 596844572 777772612 319585182 391378354 52156522 686923086 821434984 460315816 550026162 522807708 390034822 992151102 302065340 126219348 189863170 404784240 715241742 579196426 642754288 927498952 476887194 385934336 758280328 691022588 393305152 721291712 83742222 246472038 360287610 898763940 993623850 374345156 452518250 117055274 255415996 405582418 537907374 759836328 163644834 858420016 926593554 300394610 471781048 557872780 248499462 998200816 126886414 6924848 172856502 654694798 659898150 845233234 453802806 845598436 237976156 430262352 727803144 934328040 500559284 243471268 467534818 11900692 935977458 622141510 872554400 843559532 310793838 602395462 924526130 394595714 498225538 81942480 457670242 884252498 157400816 476870330 200538986 178432738 465784052 380559150 814069522 17438676 211727618 792521672 966387128 110519268 201196106 695503298 857616490 168507144 278303512 950112420 827271196 41566776 703175430 845584548 614569896 919414300 478973200 494432352 654723248 892078286 548706190 414695462 544155430 369164118 798817126 350462534 580564406 608525914 718812146 420551316 223444038 163829410 570189164 966842668 283146454 82473854 847884306 448493204 464291484 816051112 504963100 230244818 574910244 441087476 423870906 813994478 222723858 143522150 374580350 476721746 931688388 592612124 376741728 676343888 796643606 620001476 130808188 441924076 850336850 807835192 600094448 697856996 911041044 148212876 336291544 276684918 300541016 839624852 821021790 427140194 690795142 991294496 375062674 619066296 163307030 339807190 295173836 360852998 370686442 753060040 582415830 853867166 678995792 392949252 277867228 733221410 253112020 280416388 739923978 558707480 97591378 174653764 817576486 485048920 917097312 827850366 421367188 622041836 736295168 948528448 131799870 262577262 392809690 466046054 201396132 739244124 150263942 602097000 772679880 134108338 103505122 36126688 852733560 21002196 994113646 355110520 119945312 305004156 271591402 786438224 734888470 695686942 109368438 428096366 121521638 167926774 504971344 862629528 399218708 795958304 226376926 907329904 587314814 789336614 41435244 890380850 279517966 848765028 35957296 537770450 361580574 697394362 559969744 130676378 976275008 54946438 693785418 637882552 184134824 409729914 210069010 947535194 748571232 568382364 963065834 874436570 432357884 75703648 831618232 539229332 68668318 118210944 216033220 183800950 375660644 13214094 801167682 219063472 914946038 930080740 480166338 57870298 804327516 938161068 170704478 439733228 176981408 840375112 655560836 651822898 889557866 944734362 63023446 824117214 253109860 514974508 428839518 651556884 283769358 175503736 840062704 536176162 316736840 7785514 137765508 86164594 489165140 416984846 147619572 989219680 717376142 481572636 911868366 36086386 529567994 936332808 808162146 257008410 256810518 566289782 345613334 86952238 708441196 444956458 803341082 45637928 110135824 679021104 257796664 41154326 200397108 630672240 92179314 806982342 582319984 357785864 490880806 669225566 493810516 369002266 820414402 948964596 970059310 117687312 167273652 747430228 973810086 131502092 581203398 162456562 347916530 216385024 910417030 368524436 254980352 582878586 385141926 543085410 543722332 250968664 334542452 27060664 529244234 501825672 498860132 514330900 697615548 546551892 26019936 533116376 562061880 321707138 24289520 95647672 375762168 24508550 513944612 879144954 65215312 417325318 6842836 231275008 419569986 800465962 529153608 90325486 744547358 109065880 245907408 613042250 249875684 401014574 357874662 894523740 786707542 333736914 109020618 704769710 145449276 819121088 598971022 106730052 825669904 891157244 353415220 694888406 818645740 786214348 460053374 247538322 920472096 391806612 783076384 282354020 883231516 918987666 926195196 781635800 167738832 990003228 789356446 658822818 183061306 873804722 844130344 564884160 305654806 636929882 679555928 479645064 506106596 423430118 105343728 95374360 619037616 728561154 34178038 213708770 272531138 329616394 19437662 839561764 784522120 919222448 144955304 607225850 132234832 755629926 85614412 207112184 536951410 162212762 251770334 519586556 93324360 423368336 314724992 741016858 600020306 283954842 98055736 648043998 477909704 890809250 853748630 218044268 237629794 418157854 443893126 865758136 220603814 17764240 89041156 71615774 56503106 439379016 468284872 685459960 818375084 685610984 989404740 385698090 771260146 468469848 579464248 944328086 54044472 87706042 178603528 309898648 968107746 372473296 62644956 461181282 986062654 529557670 239606168 113687746 788838264 491084822 289884612 669529320 94640334 469985118 477220590 442815352 40959356 959260080 592935306 918070694 746287690 840633046 735503358 535225806 835203484 140044010 874306228 313492006 450802102 728837268 527277966 856434792 925076644 818966408 138407522 315939446 541215084 273620736 83468984 604667462 110602666 125824560 205006136 412295472 742674892 944657822 737119822 596362282 236743814 301216854 661195294 33814244 231616712 261262328 460339390 188105924 27174418 186754672 306045724 364910966 259279270 94756032 563438670 660419812 571590406 484779144 59924796 89930902 394175588 616899778 170829952 344255258 874223722 874996922 139353488 300625410 322065798 512438330 405515244 617530810 827363298 758723190 447635526 800260566 618091344 571175036 671582972 464414892 48220674 756222414 191541498 882657404 889113724 651325920 389439396 61163956 765437432 686738656 781146706 801263626 488868730 843419598 956735586 266515668 854075874 179383828 824462126 739992662 234690912 662677252 803426776 461330962 397509842 708762544 155781834 895525298 334929396 70563892 341916168 499360662 757380840 787467900 786778438 41491384 850113258 968533358 492788124 388657124 387118134 546841986 181442968 7306220 985433418 606358494 85936208 698651398 677234716 190916832 719513458 785763722 52777190 73132674 283609872 987534984 572606034 835765964 765542618 29136328 85428392 175729284 658400018 685701150 604681632 402926216 651077252 273216836 988611398 905568412 324093772 920494654 280999118 778938924 95816356 786699546 434729512 77219676 503106094 935970468 893662582 420702744 21692628 471061322 971368032 170519308 818534200 870484802 226397818 204120676 411170026 879562576 744157670 797467576 366099490 442800478 974043932 248175646 331320798 615588070 890722460 567354816 159859340 705250774 461926682 481832116 630546374 203918668 104003094 605857372 475066376 626108224 223763256 888986600 362540774 553745742 243091384 24721006 432203542 471813134 666660096 484472760 392794686 581371640 387432084 315811266 627334934 89152410 682076940 581677086 121343192 392244182 394761720 767789204 250705394 410103902 367573238 879507678 585904060 273720622 760985534 582572508 530366482 855026992 772995788 318753584 671206678 392532314 624074454 361669624 875412408 603728736 608134704 557196818 493319408 441208956 131530556 964969886 819146770 915805478 625937034 491513184 42149192 364182452 435234970 719123986 949216418 843445198 381014902 658301612 800370780 585917712 196991872 964137870 772770686 623245430 14376030 406587694 886268946 637093154 993039692 323556606 777313534 717117666 424032900 185715040 612651608 824280304 206944124 413474716 811258914 78544278 363117988 121222612 686487286 786995076 831907102 683722370 53503442 142584464 486590690 845319268 145723772 927650740 364205682 986693702 489676274 504208898 770529558 382564716 549205060 402261680 650113372 911435096 906150478 296443540 281278664 34490902 490203732 944503694 612266624 800121774 691464700 380050916 329586608 921396238 872677662 389025968 26001206 338559824 457094146 250490378 814231914 853754146 289966904 276547312 339511970 135185264 498947112 256613692 58004384 134004748 174039006 313414138 942474168 98617334 392903852 480249908 196672044 717556600 677112314 75873284 489207646 49063326 894390198 607008726 211128570 901992612 328973902 384833146 244475496 157737980 985650920 32927668 297686082 907467638 631348732 646638610 882587968 989675390 892842728 151614132 591367650 603059834 242229138 672027522 122427248 279829378 533996270 422713504 415704606 610156342 354933660 132072906 885783698 298252380 540660520 152052364 356823198 995912502 571034518 510225094 374411264 802925814 178767942 455016384 841543952 669689824 556542630 37743376 761839156 153101700 338983602 992847490 541750408 419405030 710504660 535918152 567446100 415277632 663846730 881383562 992860496 322809094 891244900 923708308 72357632 273507724 324726416 291897964 170047148 10549464 989797432 632210390 874757888 920397610 547495128 935117848 694481674 865032312 738861940 103880160 740119328 459692258 23807300 616957686 150828750 712350090 112959998 16706542 451824804 846094600 887590752 280648040 201101010 699373690 564238380 740285386 376908560 256836826 116989828 609766194 760791932 535430702 685177156 507969586 528315076 496617090 437131296 501736088 515320724 379321918 955705604 343588000 258040356 768721880 767111922 672683504 868764842 839725780 766616350 829094898 12588164 21787416 227605282 415596780 949860322 878681516 43566052 387986752 5821918 560884024 564554762 525460388 600210788 297280418 983662516 477894848 748073336 690132416 739171788 550916556 511615206 410480610 252772382 687342608 437256146 756309798 318698086 412645944 279380320 81777774 691282160 967728276 357238830 422890112 928599548 872861470 551903786 99897902 419886690 763003414 247544384 760796618 713010660 685026518 304259216 74213268 276472488 169776252 807152446 553451378 813075156 638950484 461937464 164846438 73282678 174750594 625583562 665401594 746882862 402451652 953115528 218758894 73885988 850865330 734126118 939998198 738140882 100769850 553753762 184960704 128538764 496809844 284143426 800288050 714389808 677253162 487768908 276535242 532695254 860678124 702313480 292565660 294406042 169788804 692160038 286211894 711362450 873128928 347594728 527290132 704472650 700793858 953490948 641441028 554628016 413857474 397072688 671337322 152188126 496928436 688969736 543468794 391517716 937196332 849385894 973066042 686283428 57040430 673171908 43171040 284550202 111140544 969373208 596324522 677105196 882793660 334490072 234670724 434712426 563345734 777659192 749292142 747292326 462859304 363091082 334314102 59697954 195940076 781642056 742532328 191450744 425685078 921206456 4118536 882377524 782803534 11722416 410969956 351324318 16031630 749979066 986864226 850773336 534756380 783464924 650292972 755341322 51184850 29780748 827050732 830785488 132168082 14833712 869324190 516484150 842270740 553277082 506047792 936132468 696670854 490077042 615208446 449489140 698213184 44308216 60528958 262309276 509077250 926467282 788750508 618144506 467049682 159568664 720327862 854934310 474053166 355740882 711791556 262660664 11471710 642499386 352801356 255847310 758123990 937394640 740066498 395023542 370850306 113683426 679897034 549878262 252182742 386571204 564585782 487583540 655771164 631265688 900111354 748847460 509647546 803110716 454833402 446595406 486897306 696839424 217860446 405047506 763517540 606003842 529361240 489249400 151361224 338247246 925910670 556362108 937559182 971467072 392839376 902650288 136626500 694301254 881335280 245238938 766830640 740324716 378488058 939713858 209052144 472004890 485495166 313961922 783148822 589607924 6869982 51403162 139928154 866221794 942171684 102950522 157717052 412303362 222756044 708450950 37771098 461032952 21598886 476372900 326230580 870800580 509426740 117729490 516783366 772669726 44424096 721388472 802076582 274363550 444529560 8395704 493814140 987195016 302603696 220001084 723507070 408730274 82420260 322466366 620082084 970406688 366209832 167035680 712834354 877960612 226503192 761265300 854389670 950288956 370207706 359229412 72409826 829666864 279399930 137979634 180256926 103457850 563059560 419447374 150019066 550115998 572113524 997289516 710702718 769098464 84706262 645413166 901445180 422494314 783209512 74379718 26494034 1505762 887355150 79525384 69776848 923339218 323283758 541839834 40721506 826227394 807180026 8808064 533393184 639937818 981241688 846602064 572924292 650055104 399254866 482378136 30068668 878043030 800876708 695058198 657891500 37059050 181097644 793060140 503678324 435006198 193934754 1880738 707150324 747344042 855507900 56107576 151674952 787524892 798031158 189467152 966396076 935341932 228600722 616977392 806038170 51743226 359619820 171388040 400250280 38611966 213580800 98287054 693146502 147137226 194112638 583678782 334156056 796861800 638523958 522491560 531037278 427821374 247255832 431446148 438010302 483093158 18242884 703951618 729879566 255899202 412338266 504091100 239050078 813065944 906027324 745713736 941200714 105959392 993878862 754068998 246477466 904154552 109251238 170566042 727660320 227198530 331836006 498364520 811594994 666700138 418568050 116083958 628071350 294695976 236049290 963452392 157070192 663039902 660875806 958288718 849583810 911965176 374228022 570121788 455486726 999551122 101950246 710500342 4648928 705405176 887946034 821693972 846734448 572456624 990395104 347908258 506169480 534790006 634583068 790008270 101663098 861125106 229221352 589111184 467593534 220923058 853810022 78759828 957062900 52953974 415230992 911650446 621557984 178499244 842937696 610582164 204605236 742114282 110652920 696443972 243538020 723687064 522858826 833644116 186276100 937115324 653045822 727212988 583368380 137426580 417835514 618813534 10328536 10459942 750915844 124720502 571636862 999372008 939466008 451803916 442219568 172002528 290407246 246282478 893437404 385048968 739062076 170188524 375731682 651096564 827803732 851920370 335839858 4024466 109268228 888159106 895581478 402288446 167259028 977702556 127281514 297778984 191975072 754634696 993365456 484829894 139026600 70132794 564092606 363956506 706295762 807617378 830853776 637750198 334439422 606865488 550395918 800438402 654944440 169024144 760129626 101545334 696630942 926734634 129188594 259650416 927042082 668022632 584248910 922075526 972560662 511356126 65298928 303308060 727447930 360159510 46368246 732942668 949722758 47321196 678380430 7002968 868233296 114025690 610210110 445768322 55471848 772063600 451486940 860477216 399182620 296158126 824182000 970653384 51777078 140029180 765226630 871015868 571215698 250017632 424609686 949807712 240406874 3716016 418592080 695088544 396399724 273393486 926335154 727013940 688338382 723473778 77977416 673875748 895266770 662312790 634589726 694031236 605463652 608533328 129641816 671598918 183668384 479937040 999709490 931650382 839736338 721664898 361570678 562546832 837755448 919288758 299201310 341333984 618540220 717667068 777218620 143311662 207170842 402528780 59246450 66892968 340627970 658129006 613942250 108266870 762441134 239758748 302242666 434896230 922619818 902391420 710446982 23843736 610921952 454920366 910992150 340442166 151224798 249751996 745750160 258822178 280701650 753060100 158643694 376973720 521370820 276774892 818866132 849425518 64935344 331216040 538004484 505984172 98641812 810679170 435197884 824033740 716289280 600712998 526315868 581733752 895438680 629187894 620788908 234577428 700920012 841764584 735072578 327881170 345130574 913288778 180947628 305397096 955597860 108022280 791810064 552824528 137291808 227907958 430771078 441295548 742450882 184566158 240550168 239700622 330622072 536705950 638265248 258933262 909762346 814542592 459999712 872301804 783885338 855358694 869734380 400316918 552038810 308551890 911505618 962470212 47828990 987881320 584759194 344638752 682692196 15534386 10386574 828452338 74340258 882466686 403873108 46275564 715162316 19695876 40435338 621995372 289314250 755403256 792361938 283500318 934006036 190545160 307264650 282220742 503750896 988540872 215203096 271118220 692179628 455335138 340356212 836372260 783977328 679670296 781124180 758099336 978882432 603214186 938993006 940243004 768931462 951668234 572297896 616675388 13733824 266194228 764727848 175656506 654233982 540306062 69186120 400650160 73894648 389148356 269557344 580646962 655324392 659367402 627081858 855587882 171529060 990936482 585104504 83102034 635749400 467049714 894496120 66489446 226816010 290613014 52636238 497798324 212515920 508087346 667722822 730371414 199392850 338217736 922439796 826110390 422212428 460029846 136400208 57123816 206098442 377491960 854464578 563607750 136821350 978334978 631401696 301823542 714741386 393848764 682914046 364954584 853972460 67583412 340907112 80203544 312893594 903759182 74329452 84655356 38110100 936905222 311753652 135729866 955596948 645233622 837843172 703272362 381188286 370620436 662623146 988102650 254144736 893813128 530561804 61420744 806764648 246376188 777910722 943159856 602576570 893694996 325201166 281104452 512903114 615324490 866859036 23228862 410149444 346737598 223083914 714150140 930989340 349196152 466777446 458116066 253987474 265182494 139471402 59969806 852137020 811079068 63807946 214783634 358361822 25726178 786223026 536225868 834453850 203080726 808840670 944454240 405370664 531454630 404943926 556655264 728862724 881773748 728903716 911502340 313980036 205200696 249717032 827075948 682455552 541822948 755314614 393725838 358486494 328335954 939887232 593158716 607785296 738832668 966553564 924142914 841972558 924461852 396155756 791317796 100896832 884373720 328100792 519055442 744362060 175780060 565636496 439998356 115486268 767069250 734898826 692289460 75824342 218420976 932604184 293707270 210122540 726687682 184842334 613527886 804828670 238713518 765418788 125598000 849195030 725731842 149821600 289006558 808667574 107082642 291695120 969512752 282131948 751935228 130255762 427983128 954593164 140394418 380213116 735838916 407964472 141548472 447433792 155596218 757604404 817005060 120039400 959712278 822222060 185674296 848636828 770673338 400199516 693743126 794900970 278157898 104819984 919258670 848036788 343355462 742407802 368155140 154314172 694882106 160246302 682785498 683297730 806488916 546055668 794801358 472373182 926490132 78504036 393817452 973137756 338601150 839668100 827507108 386198548 113027840 169998306 945113708 256001336 564649522 362978626 357423838 309361326 646743656 588580050 631026214 688345048 797937446 278314284 963163630 794272592 294762742 824915690 721402156 488293368 977106092 357653680 396409100 956370494 836514332 234540302 985237188 16905360 248551534 597927404 825814992 119368328 819233630 439351248 485512056 425609892 410702870 596348478 413041388 369402006 402525198 114387784 94271334 897518726 137121764 181866986 62154816 108324118 662748278 938554578 523145208 761682958 999562240 384640060 128869476 310578294 646226656 600488512 67977592 39589704 787145220 709234234 631225378 118935940 829161660 628112546 335019730 775000790 649004874 543055870 38897768 468600596 80547198 489079700 23779028 793708268 184657176 139452452 338758114 796351856 733231342 972713068 205247366 534062156 760477358 875699968 131635076 207686054 12853836 345971688 995729532 509661252 172661922 174679008 74353956 983799020 989027044 274931848 29013624 64720264 222721580 344948374 4801130 599205672 991442970 918588214 458559250 901340140 94829962 972217442 634368726 983183042 596342782 414253352 450158460 183280990 788329696 616320902 60342078 789683336 513761102 970792686 562362526 681504508 972135502 804070784 256555692 784111994 457135792 240719368 337275124 331590276 483666752 438964452 104021030 679800116 400452098 920238816 631453466 831182092 804733584 382842246 720484550 349748406 14174306 982088834 972951568 140724094 586726018 260531064 800403290 778308972 91908424 306478698 966476508 662749036 378473086 104378784 528373382 324612384 519622332 415780400 717311714 931725368 320023184 107077468 793552668 899155098 973991328 700346832 230523426 454214594 290479922 151830432 791666588 886803880 695929076 389948194 600280194 369624118 539323274 147324436 636983436 456677298 751609336 728228658 98605710 942712132 657151392 336583274 996717972 643050554 112110114 663563234 60900844 504469562 924503400 743216468 773178284 483973982 92673144 233549358 557827420 325762420 425075652 542107614 820175160 872160480 785569196 394569750 112992758 961457532 144225704 217875110 449226316 354192024 34656290 892914560 47158850 683373404 147271370 447891416 218335322 793465850 545493304 740425950 103637180 662227366 900319170 322214128 68559850 597823896 341650984 227971918 15036566 71998372 197682496 670721772 70682136 23730860 395737630 394066224 160690472 542179270 436762376 937074926 629792138 155509776 799169496 420651734 381164358 471460990 613569296 303998716 391022420 993524466 755720830 283158672 906423276 103600800 44812134 107462044 399762134 27299632 841201702 250428694 22784366 281019816 18509994 698715754 14172626 840956286 691892910 353129478 310150786 261120058 464820992 476384948 415179572 506349648 601620992 880560206 353935638 988822428 754315996 458999540 580149200 989083626 845250190 465791120 337095600 537875230 672243506 961741244 231582344 997865172 311535486 77808828 874667998 573972256 868090940 777292286 268192534 421960524 373539406 335598372 718948550 653154736 560331346 961764502 553315094 676790652 120403702 518203288 448775526 540867322 570891834 508544250 363714494 644357910 951341278 800693042 391703794 756476008 632079552 340443228 609018128 274541668 574600938 409846552 150337250 173338426 268916926 921722386 455964644 362148342 194908624 10951558 21574114 375651620 540628638 777418378 909939510 73139718 919345732 570418246 411418918 538422394 151750392 561078778 629144600 646564030 949815520 648275614 963796400 202174526 522480808 290624280 330586874 385449636 469694900 58202160 121895464 399597170 651533968 729678894 62962204 356633152 441730812 254766168 689810 513469282 166358756 206227362 311607872 449483358 719985384 444500676 747774968 868056760 561943274 481701276 586734242 115744998 994280368 744121346 5488760 457162850 997757234 77935462 443713122 314796240 326692382 385261622 474035282 119200780 205866316 371311176 197735798 747743658 868534268 832715118 223394030 899287906 232957158 417531324 950454974 169701662 288075088 142919588 379067390 957318972 813505626 841357906 658452494 956229076 331866832 175630454 778892856 117212622 348148516 640100600 821560632 746075354 309285658 151043014 716992190 977690710 363435904 796546156 60173340 855574930 541707996 760089120 598405370 786991080 548503986 577182638 643813284 293936350 920582652 1183334 738157844 316284926 835977006 386437034 603362104 587349650 487174174 451123118 304844912 935481170 55039254 362462448 358238840 535599176 842345900 344497624 909044960 176744230 236256070 909490906 182377144 205343046 796458854 597480372 573686166 31714352 838781102 764760518 171087592 18109290 437307784 593188830 196854766 778205478 6052394 856641978 246214042 533746912 713810360 500331612 272160678 345578544 519939370 691672044 282091722 942863818 180899786 808866792 512297666 95603718 437037654 376408808 338242346 636386562 865147968 854078910 625735796 708441416 371941382 651807240 204303612 981940150 714335568 256455196 800133600 725090254 304524890 623129952 195166138 199862068 494300856 774171670 894063718 947548186 176870854 442195946 509021680 149949218 894370704 943711496 292684630 896900680 987121622 548174160 150041094 268655880 252959840 864644356 740102038 313804472 36882358 710890084 460654776 432400446 155703166 685696782 491824638 681541088 223239058 372967848 774092604 379242968 250400390 4297914 964546860 59509112 330648630 699175312 466810918 645272732 98152666 420225010 921710522 371728614 656634990 542218868 941121398 883591256 618186726 973346606 102295398 233386340 709144184 821174864 560972070 605903900 452590826 396989336 22149842 535877174 774927474 589153738 334695938 671664574 441582940 892539092 960466560 326626236 223399018 454002444 349572154 960350760 646003908 902920354 356505496 716689644 194626940 327292386 669466694 669062582 177056860 810062446 558642622 630234624 213116986 470935254 815979770 867914736 9120278 316884378 774085808 110122752 213742232 263647838 193275094 3175112 474880554 923145156 481488556 985092870 636091810 380002300 330383596 882329682 574253108 111262958 568742836 929315588 963166306 785750554 464430582 207745886 949725926 713058990 673492074 804373372 698679354 473010730 902531370 487639554 681887896 895483492 504407374 878475576 578146528 361924068 335338904 203427918 948385526 214527844 790822782 631312434 373770696 619303112 162102130 739001692 213196904 129511948 424672874 457937036 134714642 291470962 362863300 562143684 147541400 742331046 810670970 484830008 97145046 866550994 38178914 402427240 71762182 454616008 165591896 634073820 45155124 334379988 168046368 168353860 429182264 914889730 404369128 619881858 305725878 720823226 32624548 626805686 672986492 794744248 102848406 617174 483757150 239670682 418217184 732000438 743915428 955178412 620413996 707002840 361806604 150329782 830725514 764629380 26668134 309559854 182011860 389698438 902949166 537114044 396042724 834182590 98268268 930975180 817874176 132954260 39240290 736240000 786304460 305435532 204879174 436419108 226106566 128539672 91020350 82849286 592696598 769991996 293406368 632175524 320347586 985886270 175830042 601107264 498662994 712552792 310687054 908774874 339730014 618420812 822026622 416360120 997543296 691206852 638370426 422572544 740797186 933502150 503828530 76980584 930507588 664683704 351816210 332876960 717934794 47991530 247081396 106272678 953641350 936866118 724141266 68510652 917365348 978712060 721665568 605233090 674856102 322926662 369800166 762919982 80255852 543202674 910907120 499541548 121921366 402523940 14376946 393076270 38193086 605902744 41601082 13703588 440410672 150010646 440997386 343113496 827246190 449488480 108039532 216156044 723794018 468134022 755478568 898244752 946640002 614400182 373472358 839403890 273794332 989353564 330057738 235588552 708398790 269753254 390795160 549036562 234920700 519421016 661918538 383516170 122695860 532844718 497763880 965107052 230407756 849992112 725812296 999081442 287020408 135756902 954405200 517714590 23843648 527589888 644562312 817759844 904037114 609093952 135365990 867319498 674672420 537081948 612028634 764173184 740810282 532062904 147118280 18083296 373617168 297549694 55168066 34544370 479783542 990901332 151355106 359513262 965461724 930535114 183367734 219044630 330432432 388715092 607928746 695645802 260095766 210751192 277009466 719408098 516088132 358862094 921413130 737058490 340882102 682453216 898300332 137474638 916403884 724877090 932473440 522603298 155536402 765497164 594656826 629170508 734880206 235227670 94914458 956439772 644488966 945968814 329443612 99114858 792613906 400022072 107107532 809000384 132653236 239606876 420308708 487038958 255494134 858746632 318760388 132811970 81994722 64584186 192850900 484005716 948410130 122456834 234129294 761957534 62190548 393854630 504143518 161593286 310527902 252959186 603860472 126896196 865550624 650562788 790282836 209987968 712257868 311083490 505504880 494159994 259835046 376393824 704623338 228521406 569418492 36199486 130588220 827246912 666700374 713460738 933561180 580269328 271837386 31948396 112775466 600362346 573279546 975272642 900664432 761133918 682004440 398257136 987876634 100782508 670102564 675908984 558281726 511470358 551597868 367535956 406974394 112894008 664313386 348270456 435455560 316937160 590329764 615344730 786053980 149204066 994877142 533366056 455099572 192248180 865511496 104151066 460432382 303609550 662860168 828678544 546390246 416799174 321571090 18529568 82694396 514332998 47613298 399319540 741284412 576552356 293846008 362765730 915272966 593234124 279314666 48460916 782893762 837829204 743690626 698175250 569959628 104897998 583352662 139359286 993643736 760985160 802103544 61351526 23528430 918569408 552057058 942291034 681927416 629630250 305182200 854821912 77633518 225697394 722350446 807630578 347140376 422844706 875804364 478522912 585903104 516463646 695621852 437082912 784886552 174461286 721760014 955790384 898693846 685403616 768642474 334151150 424319828 686609528 410250102 142092550 910663780 621889118 34009128 719809974 602764406 38392650 8972854 611158416 518417602 866843438 892653500 924865526 730139982 515102344 941034512 29205038 176198864 234056546 854197332 794442078 525749502 358287246 661558822 101802090 964423806 268692560 153125168 549987152 504766956 854289864 456195960 309057562 933745620 989611346 180712298 195509708 475009212 130898602 978927730 486255742 625775898 490009360 410805712 127784680 759156218 254486342 180461606 287001346 167444964 154193810 850064824 161738204 751125590 764094960 895028488 77019990 956251676 582851198 362858324 746329108 489586756 179125538 353876652 661076270 810799148 273793972 650402006 929628954 905282954 543305488 414736480 984385046 317916664 650567516 94093656 748959080 60365248 204731224 374713598 572496378 545631824 968586934 120765546 831108376 270135520 631698296 144560576 990386436 362231822 768036430 524422748 36066232 661567546 359931130 467456874 623445334 834078162 693880414 80525816 8737916 390166374 455474186 429870122 975368778 831987830 954603704 317109204 782727634 321483016 884265792 313919416 961596470 334315202 19990336 318130960 183022652 164731406 692606276 678762090 257209312 966883768 54711902 671646566 537328350 801121696 556034868 955121954 379591844 298613580 140948656 114873534 820232450 831307802 885808834 120912372 40591744 814441230 817483360 794525900 917994222 376368400 49260014 579182890 152489768 377735940 498355718 529502022 150387470 944087050 595519794 718523392 88351326 929565844 650193234 25016352 880895276 772295402 443337982 477223006 103074364 573836798 399096780 809384300 548534500 243640976 834667196 665330714 728337040 951139816 300600546 666556362 20541262 781136368 917563018 330473950 663634184 996669238 264278186 16084952 500863734 797725972 730433868 959074568 402725294 5631686 640527818 876941388 628098870 244737962 165667582 44527058 911290188 538680836 138861678 904942824 403426008 649889306 421083020 987294952 588020958 588682968 91493756 477067780 580350852 420804896 787642682 667296658 248971656 650648730 946861406 400823454 270301138 938427458 892977106 403682620 961203658 631356508 243331076 364320216 966748186 16168368 283045548 92653256 744290564 466781858 296722014 779346728 337798930 964194242 813544102 991543158 689072096 651589464 630348552 26478466 983380018 642579658 91300976 833198396 688215390 418405178 212086132 286442746 639449494 651639624 663591546 651052994 7237216 548606390 551548842 414872374 534638286 725698018 332633876 556060502 311935332 352279826 667098114 752865842 863559070 891078198 423594222 106210564 929136766 607891294 802453686 380542460 338278140 548630822 635311218 139891320 57051942 158017812 505395578 884056288 593130570 263177110 950976420 399957464 700945594 435924802 341371214 382100056 913854364 251053956 472634666 407334678 132919518 353701596 32000918 621497614 543638578 865952488 126364842 893997834 572615956 195706880 981613700 278323650 587950800 133836384 608265140 158927042 434338432 860175486 443053602 661878920 378237478 747899628 509456832 872730532 687657236 217237802 423493414 484775272 50767784 373355384 143618642 983708178 565018002 49776760 244093316 357121852 582162268 873084180 704031058 373450374 960289556 191401784 970365110 406033598 557826824 328704944 841867974 334041920 817024840 805963306 433834396 908036696 568513226 329024656 241490826 313344684 540646448 239100828 705071576 977050490 769998036 271116098 100738734 416462716 787232554 848463716 928709830 309592846 195564414 236903932 726262714 31545406 150914386 734743120 448995750 761231304 383386234 930768650 655480176 269610940 491458554 91346424 601341736 254196438 708971946 273227810 15219028 68732260 950277100 355760338 878970246 271981714 407041074 450074202 209059516 400277326 27469588 277622552 137194728 992662048 376071688 446525456 691405410 791785442 757983522 739686522 679012156 314974628 374099402 673987146 255601360 2912388 823806986 201574678 605225740 539140466 205266884 882457050 322251486 262271256 147081838 801447780 106321892 885901600 263257748 408417188 536838270 320356230 744214256 810659104 875605084 742003882 26071162 313344408 788129886 971999786 716407944 923537490 6944534 614862800 932016454 370678852 611081132 709199754 291281538 134247568 863683084 827645522 770678522 332807402 474613612 217281754 303538062 760263274 688210508 430619524 668225360 739928254 550179286 694801484 693996848 122340816 85024270 965989410 342196962 789005238 795676340 270001860 101711976 105759988 475806792 607399212 165852436 377614334 267127068 708913206 500391680 386148990 855307896 74530460 65628564 366154172 264897706 29544616 577750872 924599434 561809310 355589728 671474898 266156350 177739776 80191244 69292532 526127210 329892446 492519914 765370402 576839804 661175928 945034264 218918422 410454396 999832194 311018738 344725690 497010894 959650266 812742304 170206666 841657376 773409158 650379722 10667120 659404822 198065918 920813102 677534380 644219144 439009286 666140872 843977296 878697200 601871390 696186318 980511790 672814208 247942912 466614744 356240068 509099726 395436422 336481170 856239120 328417314 403562670 555360488 1210526 475389000 911417472 535187892 168173504 588357776 305817824 88681080 777078570 843107562 734983786 219032284 75317294 19828376 592310528 211804470 204535506 101086594 172032072 966911352 830648966 683495720 615834924 113862898 124618224 958867932 641617142 564679232 492177872 15814780 517682348 480978522 727250164 731250266 834710208 11995548 530329638 410856548 385983420 348589862 145737050 46113776 912536778 573661804 282470586 751389034 13108644 255344314 27823366 716355148 564312578 498747200 319316462 946497168 535546854 39429688 450789196 427829360 167501846 710133324 301460924 426810794 66812814 888207072 888895796 1040040 131281664 220270078 859224076 972684480 187507416 671367168 221647826 751881262 211955468 828688770 382271142 786769392 688647528 524336128 538216798 530542624 48034164 307841962 451102224 63915240 570577744 346788100 355972262 929607330 54777372 415454314 162612840 489250898 541703074 357474966 512132924 305668124 403370418 158868214 877185100 562059458 337996862 720738396 478932658 182925322 122052508 321040554 666332568 562558420 642087988 54167514 575455936 19910542 123231328 905693828 813574476 515134446 401379384 188673446 546327698 272581426 802992934 49104864 874425320 66068050 518842018 966555850 432115498 127432450 212922824 755226908 753672652 598670994 488062438 279120072 238622392 690177014 483410080 334885700 265858032 442177882 97482136 390911660 608628328 892835450 142529270 892953176 862287606 543809402 340954154 642784040 547324798 526897842 62905092 18167510 569139812 444836340 100831180 207167658 876133384 702931216 965721144 740803210 9637916 872598308 273224126 49991748 691890502 720816244 998925220 204707600 549228340 590405638 283093224 579339484 432500176 296287074 402466386 647120 257760416 751396586 773466882 93607184 614330948 329039048 207381992 460373642 332429096 983212778 229444584 340119676 272765932 526961940 768895142 312236460 20286266 779218306 362959444 448808066 824862076 915782422 222717478 530762648 130557100 608920826 771780600 845843524 672560994 629669532 886267398 622914112 424452534 606834296 502807968 500621340 206476292 199634050 198749254 107219774 171657474 914455090 980989330 654086578 278261820 358357844 580687354 384090476 553145800 150422962 587008412 679341166 187805430 371549104 13794672 505797476 470993756 573132502 378420848 5162044 132940888 100297394 966852270 921973908 508930322 250612750 592624056 962356022 634283558 674711436 821707594 735059816 903009524 882979098 241468572 884458420 706004376 473448952 929775844 754182446 174635026 969577488 320314462 713108546 635613204 742093314 954683794 393466346 707680298 505419492 544651008 672170052 356240822 776079650 820540012 323327220 486513576 947574464 52867794 221342786 259562222 490092658 903864520 664024258 251657256 103062334 164247416 202332052 546338830 433055744 303882240 236013370 754784392 739980676 922615596 732006516 974004336 605782740 15635096 131696800 482885762 190409430 974840496 89409326 271630868 956667888 277163740 121952 520860250 754889482 343935830 212705162 877401190 409786222 987292498 612625212 218939038 54612788 301149612 137527822 45237712 292175902 439371226 253820160 959571896 803133638 671639538 776574766 579693416 861286624 161768764 486225652 665756402 75847878 604216330 126247148 573030494 588243408 446406774 903501870 974417904 343240756 911924502 909190250 486339720 46183866 303394552 806268044 897544970 928948276 678633208 254294784 910549952 746374238 280135368 648030738 926867258 728951950 990062592 120739006 708606006 905947158 212618168 283485660 516758952 452074462 739585656 762137808 294544118 220141334 344274128 82573548 443127026 897360246 919089302 165751724 385378334 989219658 679117262 582002418 97467156 63699908 439919736 515061902 892739016 795309182 850576598 7356894 894278468 796339732 986203282 505551466 539489354 895595498 468934382 110301796 111343768 554513018 125750212 662339994 410191002 29230196 933952674 686179864 707898938 474457272 311571660 356137026 191909788 95605112 325394534 360939036 540581334 792104204 820202770 181880782 298178764 535936886 733856894 31420902 765795482 629067886 457337672 412966434 802279746 651046604 940614420 711177204 535057210 797933326 233334974 589099526 484097456 243480992 388085528 940692402 646329482 176631148 773501956 277027850 188583994 366040284 265404360 812266174 265047562 318641090 900755474 546467910 969216462 128896574 451724374 972148872 323018758 288034582 745773134 810613256 325879890 165675318 567899046 589116316 146993414 387879806 969922852 891598832 980473090 517438638 675792476 145232346 936416866 259445524 928727242 968371274 67268494 293422428 664400998 613034156 284742844 101381056 26967638 706563796 496703740 815358202 293855822 926412584 284958368 207908408 363351352 30976412 774316728 69082736 350427844 381159022 693910592 278284832 516137578 847154890 854829496 928161760 649533806 748336014 358682900 891910946 58165466 981717336 727659142 926478936 293412720 94316012 910571784 606727442 643449272 151546960 454685454 863749986 192932160 51685304 462382974 808754736 761754160 408378046 433361574 671366 412997500 137000264 435493980 250426336 67447482 172920492 883614334 357246746 254828422 654368006 131505830 534841786 616913328 670173014 402730816 542857386 953175266 82571964 481977988 235829926 346360560 479235582 509869590 695906520 970598984 546907422 811066322 362694068 184838020 640886128 786476550 810352258 831758032 235912620 47933804 313369582 266735624 154449898 904338166 339661398 137067472 512819022 379734818 69223800 879521776 748003466 411479806 234218318 751407768 220928690 243332278 276759896 625924160 709624972 860031100 147666444 691082208 809168786 2754218 430117834 329639374 32701538 12265022 530701352 305375590 467932806 347769406 287091456 336511124 931662596 252998988 590781174 945333760 301367418 496503994 937822276 617315226 657394166 174490100 520351746 72906476 198857390 303275568 685911760 282952242 15065172 117744288 757325916 211517472 815993134 675844120 542018874 73625518 199750764 14257760 259608542 325497186 34458212 570675582 47482720 338162674 302527548 420827072 670894966 103614686 325423392 594283028 74022554 252021650 972612614 115875880 467324992 889583734 299190568 465238802 981204786 403919680 825554034 305958184 888047424 540024444 652499382 245194878 735080388 914150360 135152432 543155024 242318442 301753246 469222034 910978828 574323294 260395532 781195452 177839372 174254702 910906648 154376352 925664716 319502616 241828158 259925896 453110288 805765876 735020402 752883694 818400798 644088138 174180494 183706496 991582946 421920004 263630542 202784360 646545670 992485768 125428524 192968432 590809814 365765874 276288640 143056500 230166906 829993480 708208276 348991356 953519886 280092724 321074578 228637606 619981286 897139922 63788428 306351820 361927178 237526334 187821396 939669544 230221560 804298336 384002134 874434866 736998934 877909380 43950104 558866296 240427030 516048306 369213742 403524452 106863212 475271458 311724474 680701306 754522508 596910896 8893672 734096522 762940958 991727616 975065504 431690634 384344358 988895394 233587238 91554878 733386790 483980814 841709460 163625766 229247718 876519124 938923054 486019022 304211826 441810886 433421706 358881732 758200812 857922742 27183530 768937286 182189308 68404158 379005734 654082640 998359084 466126122 254201254 820366478 835203698 935341636 96891914 39308320 242625954 921060552 450253236 468343132 297097140 222210936 806444618 772833144 936286386 21495376 525998376 197612144 573306662 349252790 44595924 827643996 965034518 951214342 46272418 589175910 210452966 605124250 304628568 446679474 453007922 810270582 632075710 887426462 61603060 127953662 870113826 511058882 216840614 235880862 567961212 952330268 240090850 209570554 350942550 241947508 964774490 763035112 887408658 447809380 395511112 128281500 115934676 842963570 796551002 774745474 86728736 426425490 266893886 578948202 737390040 575782138 553828306 94939640 63212730 611788776 474868144 993016820 531255260 654249346 666801546 896460706 479295642 163589750 566795310 724621030 654632008 8970166 349587916 58715874 712443098 357956528 233491068 934402642 600102926 250177074 640312564 171032396 141710334 194399678 430095746 15607432 632858368 315921916 713463128 233130700 142389828 662228020 741101630 222492750 329668310 601853302 320500650 246408364 556675814 17735664 371589534 669944520 739742902 648266 824713172 962755010 557922474 111548976 601983828 994787288 324161294 51457270 323270552 532803640 297027774 480078374 965431128 625209240 224581336 157224494 688173898 966611118 794680050 588920062 957078130 233767664 614396984 184898758 363326710 903548736 757168978 614593274 939960506 740618736 856372652 35334090 205896260 238688434 681208800 616383124 17191984 397152758 941762870 415389234 123466852 781188176 688726694 863486910 302562148 11725884 949291026 525034802 466084162 150371512 350783720 28409720 758599414 897725678 94222262 125122134 720977332 919095386 776255796 971252220 981473618 827795132 509459512 139941036 598329542 427847630 761101240 504559070 369525748 667969754 808364060 787378256 349782800 350320808 793208138 83410370 139983258 873117754 194468694 62859912 177580822 984793528 56135968 678517652 564809150 668689538 381043552 372499094 153135794 789581058 789030326 147485844 46893124 408723296 738152422 638932780 976733712 713986374 394953066 364908776 202066178 390120548 641573784 712804170 410520248 854338082 266593122 504278904 490412732 382045108 219090824 619724974 654488232 859368694 139685894 573292852 11429542 615352790 962264078 89454174 235618072 124968254 698066774 358200666 504432728 754989968 686850642 399200504 710518790 533730120 914252802 992852772 392405778 412721082 879092416 603160738 772546748 512718206 660378280 67155824 572703184 19700190 72416650 829109162 634411086 461876518 919491312 496560072 495257032 605506122 82158976 659322276 410275346 680237604 74146544 118513574 84053622 302885596 952464436 912499432 186130398 458766580 370708696 144872112 18681636 620073224 781889450 469296610 12312724 29909244 951118222 242954968 585356472 952060294 610929484 515013588 578679820 488686344 261905456 984995754 719377320 293195206 297642652 10638896 728298290 591681254 757310800 733503600 603861050 519468808 61353416 165117708 55562346 409064214 737508010 264227324 379402660 542905700 245982158 766456822 189520720 14116402 105371052 869940388 486455864 804746386 309917692 803952272 933573080 273301356 283658948 171398706 279341450 531278500 675017054 608037736 316737580 224163352 661492654 666932680 196344298 998962440 862455522 709572398 599931588 958504172 461490344 987670322 736493072 774140514 449679570 879763686 904695178 477533970 705575958 190033768 556642600 942496956 705951354 344598226 854161836 654777826 253874968 213301336 806962004 178986626 197122874 252403206 373756150 82532024 548886318 206407990 826328874 567660776 59010986 749004616 544079664 914389840 67919700 265758828 844058186 332373826 70967874 179796632 39142742 391227478 113579938 863818596 736219594 522769002 65544998 53483388 895255060 191745082 237177698 697599788 920686294 705089908 865402558 405025262 383201736 172547816 573714006 79862750 254257270 395795482 97524612 612388300 314451138 620714076 964605780 729285466 158372848 95206256 351372398 538742196 869401590 268455642 471723744 175976296 387655062 483364304 588791516 137211588 741796480 267573542 221445000 845521622 413166886 719393288 445038160 222406754 489255406 102905410 150696400 243708228 584810246 277853404 155423430 804068310 985601998 371175500 974597302 138661536 963134450 349145598 677540098 743347610 340256798 840448238 888120402 710209800 99631182 552256056 249247562 779184960 314334294 644475274 574495040 9263276 173059632 477030706 586672196 242521394 960858118 106081462 672136132 722958094 519357286 123838808 648528758 489709736 969895302 878938990 585225708 195268510 353713852 279816696 704075076 857682768 646134618 95661734 174781924 705973740 778617044 11571584 622359080 207685216 109010366 866759044 972311892 809066910 427379820 190504370 617413790 662651752 993988528 361905934 922548534 495575682 744950460 691336928 970953782 587516374 521181110 525252688 509373634 993206502 599157182 453973304 503303862 954151866 664329216 563055636 330984820 748867950 288518022 365244418 793237550 593138372 811968500 95767200 4932284 226345106 194261286 457712480 373389826 14906718 481042376 66956120 236479626 199181356 486955836 842121382 638378528 30536484 262186788 386380012 237377498 773766218 867665428 915112514 839405004 353265724 95662466 873391916 46742004 929934546 936844186 999978418 450722672 482487080 757561418 594126786 172562022 977506478 112882462 698488150 73841130 439600814 841685440 312621616 972110372 469239508 110679642 87795898 43417366 634237700 889817964 82891818 284425816 28179494 27236784 520474418 809235818 552086516 248218588 726547250 92067004 505382334 276665006 596180014 670074978 909087646 898038818 538934634 39716974 960266202 374181724 258329678 916924826 558204776 261271846 174156198 750654702 88594388 601920912 622758148 120937762 352260176 707007494 488540356 108752854 677626568 787764246 966671732 94710160 218334006 954944336 433154602 155754594 110669486 66546080 295766898 245881280 855657516 228991280 297564104 658968770 66112184 761321780 730867116 717061738 113015922 901093302 404998854 784951560 49592624 227571190 284365546 778546364 380740282 477216518 906526792 990651930 106001836 87153922 565330028 936882422 362402418 350247086 18010348 192964634 31914354 633863290 292698756 983685820 309386678 802812660 863547838 959740612 650461322 846042152 456188014 197879870 309147632 654653256 685453090 789793600 723276900 972392816 41832764 369204062 47772700 587898414 903458780 75752668 398894634 391540028 303574358 223926028 688840406 537740998 882027592 808069010 321688952 589073446 90699348 315783546 358594094 700304276 314618442 658968982 248930446 136330082 951094452 125395124 816302860 583653652 501335846 356971494 4598508 291625980 272361614 31798678 207487764 556001954 450177002 734084496 909410044 923285792 742659146 522096966 812142258 463624298 182291736 876205990 925417572 72862124 203671648 950224986 37300788 537292710 257237792 779128490 716329284 73245954 503624034 848714846 505359090 575395932 912606610 795033864 335088796 598407164 37406296 463940996 21723084 106251272 518963972 401732880 372066070 798893116 122229162 902847026 562359584 116896556 974063952 858236316 827839366 838799322 51316790 464857742 452555376 160169522 34783712 898974212 400959054 136913830 622964768 876046998 454600488 300811572 515106364 675554254 968383486 338579692 452904554 587418876 948494154 720423360 693993416 461946590 40985154 366887896 480499002 750143774 656826196 970918756 380298430 683162848 170760410 445701710 291164202 245501060 6309482 735891050 255169306 425900424 957214006 474961858 741766516 321302406 526091476 646125550 152307120 256273056 153105514 434337852 140953498 404083300 28416614 314209226 454668950 555832852 773122254 801663376 267452612 681685060 179086402 922765304 470686620 468693400 577020790 430201644 885413202 946570320 84102714 725676558 979371780 721599318 973719738 808985738 507938468 344009056 878753496 293584582 922919164 588723924 380825424 150593058 709925184 979360534 613821572 804055256 674095076 248738370 41372758 651903794 999587820 80154546 765878 971532876 525275750 88280222 233389648 446417758 586351156 343483728 125644020 541096876 10209054 802049034 241868436 23402716 298444784 780242224 37893982 416079822 460823422 226357502 228863648 988269788 710309112 506582556 366008174 920119268 179064268 106289642 309648142 965388832 759627466 575795658 148521576 394441216 255687650 641244874 657360730 828931552 685137004 365657494 526128964 666972654 477557974 140968860 478642416 291370686 96578032 411316118 390719228 363571592 756256848 262183024 472739958 651638866 261933962 191626058 205908534 827897476 246163278 211573886 896783782 538746298 691052562 542226146 750050326 177381930 62184634 155912598 453072054 763127074 451351134 82913450 241970062 185556058 550572306 834658248 680333360 297351142 652569012 344859996 157574176 164466924 214195194 455604010 305694102 868950690 235547602 753831926 705935756 361986460 830596934 644692130 215519750 586322884 150909466 189188430 878994974 13514756 285557440 833999668 508408642 264785518 673334530 257840118 564936504 864571972 261743698 642200824 222668170 310336622 45480030 853786568 266267604 150392842 482091018 541936434 756088112 647428214 79565894 619742534 238081984 766511874 55741838 574404816 787702670 185276006 88760688 755505288 648059134 705241212 483848962 966380052 294404556 677400282 152524270 812834434 905389010 905043268 368319758 928753796 374739572 64239102 569260270 506930172 380775422 475721732 587158562 214816152 475109736 334836862 929573934 660769990 383330284 408940604 615286752 674523448 602068258 84727344 490755730 33647398 10138982 412654876 588046930 414221558 415531454 903719526 958810864 42382238 301366342 434938744 540562120 80960322 278236296 399300260 867009796 269464392 591238000 998480526 825763188 352043110 20173820 517103774 557480584 459596136 652123440 478829082 234211164 905873980 661914278 308388160 561148782 659468216 971749754 996541516 97227640 722185566 685457060 727650678 222960786 112863056 694975584 366882800 139490564 612544250 593280634 497759648 128811106 438201090 742844420 902894664 792915780 965225710 622967904 229087842 25086012 926945100 156735072 899068550 921725558 154238066 671952402 288594258 888211130 921753306 289044992 722763042 969195424 507555882 504017124 206014356 705843944 191740572 412903502 806035470 308945818 509153756 462188688 211394812 896923794 619018378 977213646 240800628 478012604 188876230 69340838 860845504 166291248 392572750 42568722 645237110 421509444 326186568 972200804 337608268 300867454 34391326 900698670 982559970 591982838 99627672 937432544 371939122 625713230 811272538 815921218 311314868 542795342 836612758 455488902 841255772 133803122 807171836 569633372 424376902 612387764 927196308 37625124 563739946 746926406 945974744 987212390 483528366 78432002 830997368 95023016 798634554 25961656 722279800 503028752 760186588 334409520 656959752 90822676 462216112 41010180 953926892 380070720 378033866 463126016 855297620 51444210 662638262 95769452 590460006 244703678 949790428 41117536 121914746 241484782 178458686 927302376 189389370 907802076 388976628 834950378 75813738 615930484 409914976 80042154 885997624 83846430 15226776 537240220 609330440 914451926 629340352 438801754 858920136 387849914 188090054 122396702 104250862 772680312 173857114 201499750 391840940 829248000 304451606 86042738 659938272 531488922 211399534 121858070 341756808 966920900 377486856 727351368 300747940 596549102 806835656 327754568 253507706 907915800 935502926 353497322 428627370 154853222 122997102 417766982 471830550 184809690 344550378 417433838 509005232 529612946 117052804 477483820 343528366 98917886 497415560 812460506 81923854 415261906 214433966 965878808 22391068 707591918 327572640 903901508 569289010 330309208 188297682 790536986 976938628 752132178 275617438 807509684 175958364 992529846 471142074 902009316 500990576 645001466 282344456 527678898 860292882 915193578 792761732 841623776 856583608 884943674 111649340 705432874 794882280 204925234 118666820 990815694 335281430 260798274 922270562 526695492 160577886 254451010 748839060 110619386 306039108 143513658 427627700 860962690 952389236 624693886 411633774 790696268 413260308 881413988 316135412 193089090 654722302 160023090 91463302 197598424 297578656 545530894 492258618 324792122 477891606 324615412 772317072 713993648 841280158 511145114 183218496 741844006 693816090 748406254 796751200 352874302 393404012 289426612 619304796 235198308 29436668 372007014 218325912 99793008 893932654 68794604 840474844 145832202 827529400 804399786 159242048 595473080 408987966 217623148 603415766 29995554 196411534 17191336 394789306 318389432 491109882 475602390 917320588 166798104 399645196 712588874 530469386 550396278 948270978 539220818 120903384 714013912 67245132 410519016 180370018 760902094 259124830 757396634 689449870 381634698 854119730 697207420 60949712 218857428 788418428 141192338 170718246 421914626 99260500 309577606 816467464 196179422 132700302 234511944 320810370 967743554 224897648 252704310 788304234 539115592 267483968 5356668 441055680 279832500 694731584 470707894 36098322 486348680 727167718 923632142 40261080 970872838 781490534 650399322 419386182 422525696 59147174 240070894 145615166 265122830 76996382 87856918 128125454 229192772 77904530 790380498 384235348 842758552 288304104 868132610 217333690 985521846 678751524 527113016 573127772 293511848 480002340 14340808 779301734 484930212 867948366 661121614 132878752 143498936 726462382 8163188 133247178 686811434 520574158 90962216 86608440 772151334 875511576 464032210 211984578 835115848 423413962 531941788 511990032 950007934 417061460 480506268 849817864 688806618 356884096 440914512 752473060 858346204 916104484 453463992 458819844 936594080 736694450 838845214 156056946 503645260 615253616 922008930 174422596 47729204 263390434 947101354 3075606 209812772 401227894 280842264 88849198 780416498 586805500 544695312 718856170 474282894 788962014 455600066 46353526 305728152 174753002 164643162 323392292 298546416 869398992 24404834 285583800 278464094 636602944 570642874 387795618 504957838 392542294 542631148 73383338 658867840 467428864 36334790 111679350 446416126 85129592 820698418 723134678 965683202 862111254 789986686 857034262 537631324 214919560 449675002 414463490 635190140 177353170 744322090 320976430 580121162 458105614 191089652 822613850 786724642 864311026 507074494 274599912 276886772 999883380 455208350 218552380 857315058 764592422 190185632 916939118 257909554 156705202 352180556 98126504 973496132 721210942 511741658 420182290 603592180 471416326 602590776 716310130 297238120 297251188 267204474 296386320 234279516 917293988 363606270 536984668 141389556 40707544 719444084 591600112 102384742 948967784 518079602 440564746 705892876 415809238 163685210 568315780 546025946 359072450 641540700 496870486 386237412 182979756 827976536 344911906 574247672 717030000 162600116 182464188 690662884 736056764 756604 905248166 886102644 571529836 355723456 761991390 51960600 799524338 910663890 276144834 842778488 282475658 267374648 921231034 168966630 527438676 683150236 675730024 435981370 589211124 891700522 165001792 419730096 722179246 982092686 663533106 983919286 467506926 543366388 346955576 398026366 721551148 801288160 930366298 208615476 605764776 145717818 847696132 94072882 984146814 972303178 822575808 794863612 857581792 503742568 869804730 774992156 927461482 176350526 758654374 806396816 619640594 424977584 302465456 322044498 441172100 80909182 18474686 896692918 768716980 913900894 621907482 583999548 152701790 248476618 514838868 113471766 31429902 296400784 552817278 385793514 149783418 379780232 554461616 517194864 607573846 12362066 339938392 208942812 796409908 511187876 600968502 880152060 322034700 678962398 627472258 755189198 728959006 927245312 630409052 106667510 213407156 612954226 731752288 213966518 632855212 19140502 121067696 58211580 156560684 38149006 763458772 737553214 944604070 755963734 699262926 143114638 654135072 695830394 719529124 251505064 486678278 835164262 329572254 596189988 662869768 628379400 979905638 371421886 515983454 931269860 714383474 631967404 120709054 434000720 410271388 614667716 121304308 514919196 994340880 792023950 440496112 436983356 290606168 944860772 173269128 454880586 188849406 123953238 740185204 53236942 975304050 31424922 982230472 136556216 762688376 898095522 269214054 223792474 569897428 328357350 310470920 528559560 493813206 945660102 59737048 765659310 299662106 517393426 742837638 964169652 746634282 928057562 202846350 885300040 5473914 642241594 963341548 53238516 278231276 984885824 388031484 950949014 726047782 613611654 683053478 954653928 269019890 663071498 31874260 407859168 653313512 484372022 576223314 95907018 996008992 414983000 535356428 679244890 321186078 587957904 880041232 244985346 789525018 66485718 357296172 980779884 40514184 435740794 734130622 488627528 495276320 315892756 735722312 95132816 919005072 164206292 500667768 649088062 322403220 753184860 254566956 521273174 258285790 601935798 852048204 18287314 300825040 547731064 505228946 134986028 429224004 131906244 744005150 83288226 87121630 360264414 765876782 343510870 58765086 219618788 124261394 678220102 188872710 23449826 228253330 37194060 651160316 612858048 85409306 667240372 163532484 286517088 302933418 380086018 497084690 626106596 903815728 341706680 728688022 863300778 802621708 979662952 396448060 574432280 837104236 89063906 663150308 504196396 891189248 692330538 347069016 218941004 59391538 558683418 369345532 380462140 137956964 1578724 58272494 388069588 209599626 41401992 606560582 998092610 104802902 607476818 390940338 125194902 648548686 868744260 6155028 325499638 263045188 795451546 934167696 369300438 194635374 730226118 115042296 551127174 348109422 541636758 52657814 143968136 569896368 862413024 864118100 716594912 5854500 485606932 359798230 454681818 463866740 441457828 628744736 791281626 820959266 976127188 17515786 229177744 911883982 28220990 793439220 397917974 217046900 123298836 894120072 86262132 426792304 130009162 897376562 21320844 858870236 593110296 39622314 658281174 477095480 91648196 26221528 564986520 530430634 133142004 138334290 97181404 670984336 628270482 784546076 90081948 604175606 720333150 215416418 164464522 935544712 935884314 163837912 856134728 149904460 487177534 382263222 107345318 703625520 354702486 276701716 968510106 118052828 371458092 772311684 673454462 388442270 643703506 214837450 849922634 114098114 84570326 994133078 514357108 512207890 999520074 626146486 574849684 522512768 12380958 444003510 677133038 299200900 500825874 328691348 514019952 198877922 593615800 17446068 363179032 81998866 335542806 970258444 302488324 892681018 431807964 935054202 681085832 158013058 74253880 562781108 9703518 670976212 894244736 383810642 633276414 986982158 576143206 492756550 582543350 262984428 986999320 854194676 598364434 737039862 815235544 114446066 994260194 628574954 802968146 924889836 174295134 459880310 238028702 385783224 207761424 654651576 234294624 962370758 192481866 644947836 757715164 821241182 923452868 153697536 53781008 125662062 480298310 607460100 105344314 194091650 156324694 414864802 388957890 306394850 502334036 171605334 558906122 343345174 22843816 757926410 267877698 691999194 395153538 434259646 683993698 975248972 830337030 184995380 869310230 217961126 513516486 908302234 793155448 313684702 722208942 841236688 878832106 615671770 233892646 469896778 976465896 89433550 500588396 901477150 902472290 88110912 600715638 113749816 577503162 676782758 655520064 413799706 886691270 780555640 66928168 171765284 26819574 82167246 73678718 697953064 616126324 132415964 975871842 871386986 223941130 646595946 38520850 385666888 935605496 98174124 944650832 916113242 265026358 635011600 859340268 552671204 263653614 736543514 856506028 391520876 947573006 980524244 335535602 969952772 988081888 743977856 605306518 211796346 873690396 915932616 127377702 96238298 806333200 785715868 870014326 268859832 965400026 784277068 889618418 580038814 226308350 579004840 212896846 83430608 350503206 701907094 81111376 909726062 686108710 697228204 139394550 460200132 918425782 977451048 727592078 526092980 236501602 196102700 361268290 83097534 700886440 855058564 204133562 713623182 630221906 656629784 527235348 403072308 55136566 215520668 280194326 554337332 626405362 396926494 312210680 217136014 694733750 641290308 964281180 387491482 443012534 21543624 590025592 760710574 740394636 211362118 617465226 767232610 671499848 973659948 271641980 591129308 933209762 314315332 294163476 272114522 750369606 784408120 237157426 292782696 122667240 19763850 899152128 495398096 151060050 748466358 871498024 687361672 619909698 481429162 58740462 480709614 259945364 586712082 244407064 652353218 343759484 140453086 877869408 193387932 30378214 633920412 200427874 822956372 297828876 488700302 932852032 975047140 550850034 539932980 948284722 190660052 60541726 185054864 691719272 570403756 693157470 557428904 583989672 10287180 878533464 280585960 722044754 735546530 56592582 979729606 854106574 740545338 405849004 610056364 582802960 37908206 111806268 138630516 797799028 776792390 549008506 84480994 705306454 368064902 744266240 359781990 104513076 85182970 728633160 332032598 996929634 357630882 745679206 660236996 869653338 875759076 214592556 663522686 521752414 920515452 13190480 772152112 653578142 816109718 60633488 40221590 631238180 613298588 863821490 871610206 475133188 627753748 304098402 175143818 687031052 28701256 781172424 160004792 248901336 687182546 774459374 25340624 957431198 952180076 916082526 556642660 255123758 236384006 343310552 93401690 214727446 278802154 755054482 923975276 767928284 406656452 112932984 468732470 598507426 482081064 497591088 941197316 351875662 133760730 583935214 577157278 455327020 50057928 334117038 41611734 31404044 372475634 561116724 273963116 130779372 652858788 462253536 226683270 354172552 289279982 117726014 386539178 594983914 15152270 629563302 913408502 13005796 887094828 780773222 107072252 381744912 657605146 899709398 796426656 745749190 484673264 381684150 74305756 549624746 120793020 25122664 877666940 358803036 59107328 785980290 40072002 28473710 853185180 824450228 954054992 122554724 100318532 335126856 67395926 968238158 953803448 256978204 542173624 715597922 822570770 517092252 205936048 55731462 996458406 805517168 522921738 922183730 740955170 264308342 41212752 386104408 486755926 732224594 253431854 667493322 195852520 215392554 171180080 453280740 539755148 310455740 506682158 358428334 539423734 65934602 802334696 785026966 939604740 645121810 262711974 215433138 109647836 467114580 196672252 305704006 546383342 77398036 502848228 462120606 470177620 717766936 31871766 198662400 877629878 772884416 869130414 218426890 71275580 511807946 876225092 226786474 937580106 276429530 30659420 16174524 782408662 644466616 388319912 494656040 544494924 108582408 737816976 652030306 748967868 807329708 641978848 497926598 806780922 75530916 653926104 326822442 742854922 316667274 220935628 767110116 558480238 526492676 449423502 836843528 175346302 512547836 72246894 412646870 642162932 994294554 276689426 711275840 35736072 273884840 820384018 774805412 98142952 569814562 18641128 973546030 467066154 205231002 432714380 527023950 208534430 762869870 905055222 629190098 47106408 356538716 586640642 20153736 699225494 494792798 764683876 356414746 93975552 539089238 676143640 592394602 846123802 418064412 333813608 543074810 145561374 330828162 17367900 8175590 97849274 568256802 312772948 13377470 802318254 31159098 628709840 417513526 240512088 225096616 463902634 973127064 672805812 341542886 510213338 127790084 961334562 880609440 946077342 968567044 495422848 2795156 126759538 248900888 313158722 467848506 169719988 551106070 434471706 16229448 498979718 336682404 165013566 664493316 684287732 92819002 336347610 679851938 857200654 258417024 464539896 190124426 261859042 180498106 749232812 213234720 443032700 904759372 77836120 819495044 822801808 261019098 14091466 771082854 869886202 471905478 788993222 789626578 857629382 625716806 764368642 243329904 966523124 234882352 220381238 863895672 714034046 630720088 865740304 260244420 927901052 960815932 668385452 376827984 397036676 560508850 455905790 711095122 254088972 284431302 201173146 631482816 368491450 176697494 258687838 935459548 97170618 409369344 291305002 251886170 827433516 172843278 902074378 920111106 943005112 675561880 703470386 665504736 191037904 316418700 725460008 221971246 58119458 174899132 518627662 365639180 877312766 579784888 362508312 342520720 506738324 967923878 605617970 997947680 571510818 881051238 830017568 783095212 55705938 45667348 844975082 297696454 947569026 478470974 428284940 218799604 952445414 78371090 340117628 446085966 459503054 328991634 942998854 474889808 621833762 286361172 452775264 596185076 763146442 456048812 324341734 352948950 389543650 277385812 107789516 51053920 670820680 236729420 386024402 996675440 727965908 135085076 934315780 28915612 203784854 320719488 142762794 801419352 925329520 34678522 322318620 945557924 666802774 453308374 171384828 609976306 74041820 528789046 757671860 12146188 533319886 720992792 815699058 134488356 190462346 353369562 194603656 337983836 59035192 986275854 308494376 389225486 395437616 828717454 181442304 178868382 491846556 349772602 313370656 398394634 46754798 69783026 887258090 585250684 3273630 853775034 990438792 435466632 811815098 938380078 481272300 475512464 887674644 653744252 344683424 720181418 889700462 690055666 364304412 276676452 470325472 132705464 42649238 507475904 691670294 476642560 250246492 176895596 780541790 320566878 464848296 545134976 927228678 387426388 554029956 58446912 186956032 662105058 898755416 603359228 561406214 510103026 482472528 560641664 194432784 464342158 462284486 861471562 947770626 84865746 656417068 128702742 148529990 549828186 449980464 961079834 560503548 118725346 546520208 331570064 457368264 650226272 281483868 590361294 275404224 419372910 235722372 337448028 940136816 575652584 3273784 97593716 4647754 360860352 744304804 229380636 634523810 95587698 39008070 94836710 762251312 625432596 319170794 932960548 195269514 612679372 141290068 264821408 955930344 139685310 51944298 710918230 90120386 52169538 31693634 255186312 413146808 795659558 291809972 117009148 748644244 284971766 594640300 88385218 762547026 435997508 441331434 30730416 155750420 639081446 640243604 222769060 451386110 933154754 361203562 768303470 308334260 97597350 978724714 367360082 498050294 73770370 67986306 88887272 37630418 508068886 738424382 419891082 180830564 644321526 65774256 246940554 296126242 605205194 38400346 464177342 451408138 497054644 877631624 510914300 621574066 878302724 848762080 783921432 58895026 51293442 708536210 948101058 199783638 329925706 693798320 35411396 78247420 522783762 54348094 637050960 880775790 116683636 682635272 448350590 88207978 989271652 485750034 96640534 151266664 140391990 330703330 241054076 620558430 435774384 444894736 664990942 401083622 145381262 620425632 286326988 743180476 63735476 457606406 317724730 904610172 617145918 898364702 790192012 326627642 96852802 934223016 919039030 372716914 392794242 630579816 656752222 548775638 82789060 288275694 708954482 976326014 460724526 467450570 862131896 865350118 871445990 77679044 724224726 307242612 318016274 176962260 205828740 885359404 147489522 797587876 339807480 374249806 609211916 748508478 383607794 59663064 797306772 232924512 907124436 21198546 760756168 52305938 375062122 482389634 312337116 314570754 840410258 429083954 308828882 919004282 468782840 736311588 844309418 424137288 807225920 972131628 351950680 778293434 74871038 373154510 248328578 20393722 279751426 416860808 135195482 817328890 820466780 113336582 952987040 438512822 419481188 977720114 118487110 546371056 617364670 944226748 11008302 12444544 939666748 606034844 158511796 220885060 783408600 444448338 816412250 731582604 341030018 769725644 179017022 827941088 138754532 910547374 870326964 721154066 685582982 863204818 182130580 421427994 483575396 369980238 533140146 624661676 566494838 705021086 824760224 922247270 187103196 115713448 202036834 122981334 913194752 323726544 464815458 665301072 172219222 752830388 345355912 817103072 89540192 875172328 404010954 893115286 659153894 152469594 179132098 959513436 334617644 947660242 282006950 359693570 991552124 872256158 767763818 635874478 91825066 217343144 934122036 171196718 481420370 119908918 306224926 125569432 944098112 145337940 214117894 74079452 493150174 354917858 348111856 883142852 546031496 859083974 575851598 279744078 164766050 981692826 850475002 63418994 539998580 213238018 519189586 513757828 462112574 584357774 982543842 434286496 697820470 960547836 333385768 581439814 449292756 815000938 478754728 979371918 95489276 499712414 415124456 314784942 857876138 683058348 908768684 584895928 990168474 244159146 366599162 764901472 746181322 689388236 476300954 196024640 873717846 565619636 371252054 273494122 3592088 50057054 697156296 756013924 5090926 879062164 599246918 880253266 3369722 666568500 246045842 962951224 214494396 833018984 140613616 650209916 383532830 113495922 575111420 198489116 297127350 321024212 737502724 740020120 880996360 361900948 430843878 782176938 119969158 937236220 21348802 374224428 546413610 509185518 43586422 600874320 182875194 429997142 176456986 548665376 539467424 289129700 748465962 420198504 632408090 245057678 895438792 833687108 154257832 421682658 159816002 243453400 748947552 955292938 210025200 912650158 219746728 361490466 359847006 621479484 761420308 904759954 459913764 164098658 972507184 866873714 603565564 309541578 811834080 926157854 757482818 638672638 736721318 675778094 572527544 940038816 700313538 941685582 52869618 298368252 466067842 110277280 416424832 789095776 76214776 769115148 192102500 122696536 867537464 641026380 143416480 972604266 529053182 638164930 970349278 790300038 580486756 935115820 256613290 917171480 659430250 506387688 517559898 564381262 954090500 61934106 438520864 198555760 140239332 469703408 648129080 478274332 295244100 151532454 908432120 517705078 519266510 878251504 387357330 358047992 676236326 669651194 648201250 247644088 702014332 459245070 814106678 102227320 695703790 354046884 265234378 299031466 308066548 72971640 77733692 416567096 758633646 431629794 2041570 875737384 352948086 877433938 347789830 721509754 573878734 811126732 578052910 61592950 764762548 233833538 239576142 26748072 760759164 100661860 67548994 635760834 843876814 595335816 799465232 986900280 229525382 955913122 476146756 8364280 616595674 281638392 937346026 118014242 517352508 442327736 940948600 466931744 521333252 818285566 47972184 644075662 101088650 675533640 301438276 820633560 395204098 273670530 682003532 746886590 826704136 148918370 706449088 707582052 760316234 768501170 87508440 508890714 105060002 208392936 15070946 283828892 120627034 678490694 22552410 512337468 984441380 137556218 357566884 497679806 130840010 189286984 139733468 893883998 544591366 254304004 654877442 735851172 794251238 132686506 156283870 35388650 859369758 651226820 841638344 378929820 130259998 699401372 769549534 96527822 518348580 580931908 494510614 525844978 428239528 490480370 522321174 580388308 645370540 856258194 920430862 63294440 741698786 230192046 605193312 384259082 343272338 770686256 3068052 258253914 243640158 364211910 644643520 913578232 980256232 566737630 370449090 78670734 724428648 727149046 666555166 162463336 46032218 803735942 87938302 808200508 302230356 948760522 928012246 698206152 150747688 925768626 170291938 265242946 456654512 92029678 710552260 358132632 447311562 805589160 335303056 962209972 653090028 564944658 364535014 729968136 94403116 389930492 909757660 596278484 683299304 769110566 987566972 184180404 321067304 422622054 560071436 782025500 38263920 675647774 738053292 195598910 980553392 805818276 312864088 527082468 478473882 247400980 132886180 474439184 265109174 699888512 913006482 119685912 527407264 642402068 513159584 425742978 433020508 873146140 743503434 990912514 268702030 410385066 635969846 712872300 677636176 893612206 121602442 301471952 299360560 51748816 91911732 530420132 755012900 559961446 757392182 269685284 840633868 425320170 598379256 98632600 50226240 358601234 314364714 274036422 199049054 702841166 725362540 171127282 729693856 741846220 583650676 228442268 725165256 740616154 466494688 177886848 410244260 683944390 104194960 803549866 353762678 954014500 224332930 391215974 888091034 403092544 58597718 808462242 74713388 506333750 873023526 700273698 330454498 414349350 910639590 469974144 251161298 864870884 577219114 560883700 797872168 66053200 886092592 759362560 281366192 524466992 95653354 224090502 714623758 798483632 951308828 672941904 472876884 109490434 389065862 994491988 435606968 10568492 450788460 201904654 204041060 189630340 561063260 369284296 955260498 397241174 59999804 156428738 155748896 945751334 925128096 296549404 724636680 634019618 85381480 497992388 426000268 843676796 615259042 10052136 894139142 89177454 743996220 244537070 147388316 103153656 76352512 140907836 22699638 561558608 37564242 14806826 200548556 484647062 486102020 117339576 2811568 907565804 625514378 896566886 685973136 923914164 109216716 605577844 790363652 652153388 421665286 998971472 830329446 41214474 126212838 755945450 496030000 763902998 750992094 198914496 2474696 880863342 260951004 585206768 69244826 168478768 76072600 493783304 403953660 503262994 524404092 887277542 862276980 57550872 778576522 996680866 334866350 234854270 603626504 864601632 90122298 443568450 991089886 861994386 102007914 87270638 803115944 341913732 910318010 869239092 974168184 725088498 461520972 776855338 141668774 533144850 83611644 889672162 826633960 786425102 116802464 609230992 372221174 27808014 684920234 99990714 409690588 53903212 142153348 317324110 125816892 51337372 111163018 143551418 651637742 697768776 109049174 95781974 785429984 518569570 477474660 60178662 343343682 538690036 727130264 176904216 330412176 645129398 148944882 73659486 962080900 492025312 30205038 576662208 556598308 439016926 433637152 775902828 694563178 808738826 939649462 630483066 944676520 183520640 251296740 71136870 736127494 938356214 823607604 821746292 897820716 974398520 214463312 438180556 770677752 397897596 707797738 821882284 725136624 298493362 368215562 470108906 867035142 659185714 130069860 757021776 823304318 525031576 649428316 436311472 623691856 407797894 121202432 594687210 141120900 327982392 475285256 196742514 490523716 11574798 365109220 597042772 164016006 572740032 370007234 555536812 812425178 829771048 867598526 591817356 247150436 788566866 738816884 578544902 647921952 573291196 158280464 220049460 985332394 115881366 981571288 508705848 513670644 374545770 918759532 499338182 957884094 274238758 993431928 37882212 741068204 725804676 644506162 937047508 253179036 546368670 233721706 235860596 922855950 117899352 67093688 239174976 652997486 584398984 487730352 639006494 579353282 337498352 9991328 773649190 602678122 634889274 394827558 243615326 236013806 997119480 615137938 728654748 489839628 142148616 119593056 786720552 492801120 639729810 85203958 673886854 11330168 21550786 708945920 521573876 839946420 688653808 343033330 819730356 330734572 959552512 634929480 923292554 616214898 100944386 227567578 828745234 935952644 573516242 782704774 20856270 667393878 71246178 956186736 537614714 722599928 818754618 774358012 78608302 822429780 468895292 38900586 556500362 799929682 717376358 615614456 586402726 126374642 320385380 768920412 548840274 901275746 48298682 179345812 484683350 761147418 556645714 700739762 449840858 430821538 103675062 223209908 651184828 966427704 360138364 343899428 337283950 711804710 43896994 529482452 361157628 110558764 869973138 362085498 340119778 288748864 144934272 385494882 283540130 576963332 705088500 111724216 458052516 32233562 445742812 655720014 756232628 556975594 627734504 458630560 85873562 959277658 931971030 916408940 897270022 144810154 512822914 149702802 885282344 29421148 728836766 334712000 991262930 285650560 647792568 66533508 417001092 660451822 477866794 911219498 755866338 455306312 855031486 955987322 279952926 828725066 680637044 570421918 598576180 690938130 739619752 494993154 116607062 1221156 504315156 574180944 983790898 4019558 513295786 32653044 919526804 487098542 956101644 468114158 567225082 692058570 76848748 748697658 554811680 245349164 170256804 39901926 848016828 732082790 249896314 803367564 98222238 588239532 216924804 287370926 352063652 348928136 740878664 384827388 394970738 482219532 101101508 954264998 666663838 739214510 787366810 40092322 158129924 420163168 61360464 383213762 984091866 125543414 750959324 825679076 635152806 638701872 564223054 417710184 966456656 389574634 478063854 279835018 999922250 289733658 321148992 249129806 496837450 716704340 785010172 155486434 286607036 707327608 392912288 732158416 824135784 610886106 888563200 982724460 281556932 202528570 973349640 229601644 401585142 241184298 744561800 929762806 847880456 420658954 779683936 579970516 614538062 408032690 173215314 369214862 151087992 482500214 658389728 333957986 658512332 555681142 929122818 616217210 940334342 639582082 579469530 142954126 519458942 353415572 368225558 708588132 847340394 302858932 378837672 823059734 955172760 904275482 791439388 716758382 13009844 229786986 319588046 223369732 671286800 826621908 48118990 216871612 21384594 586747462 780276258 862179094 272712952 965005104 401323960 898103766 919993714 787953190 94540266 872896726 74712086 441119796 261884316 50503254 883923574 654467188 441947854 850205638 605777936 927306990 682767174 369836150 189560280 834099624 505838222 701665768 735849980 870027994 410425780 729543024 913539204 613339108 536596814 332630528 459430432 299519562 669030494 537941604 494569590 160957874 788662562 720877728 508099674 976859138 632380376 527673456 248203582 873783718 537305574 424093692 319890088 208228770 259416142 502553076 815225764 699836530 534173922 662087134 838099604 443897632 426381364 460020396 745169408 19451298 673194948 810521236 13951344 131368178 98859600 498231238 881722908 672467276 809461268 97490098 55373488 94177834 769165818 939946658 761347092 40590602 168888124 460082168 151835068 88035122 970210702 732673866 819970490 450806458 868414882 510374340 303030214 136361514 62157050 612589198 176796300 678166586 131601022 690362488 439331688 402614376 542211356 946683642 336290836 345173936 3829676 886050548 686033848 376872888 312712574 359171178 831386698 120205272 571265004 226975698 921813298 484570216 267745508 324331482 693036732 329959662 534186240 974516666 711216426 785553326 71497468 217463020 244472804 872319782 642469874 901591724 726787550 189411798 488898840 517150520 350045524 942136800 988855018 90854202 631303870 819816038 166153448 615665836 492841376 930136614 144209640 983757750 622467444 703952256 455812674 601636890 541754742 371071312 901475778 642456284 410024788 937650418 204198578 204115046 187615794 713743716 7648428 625635046 394721692 604769714 685493828 709733458 632403368 264933652 738328020 546902814 834533796 946247722 935654886 844653654 752664424 358553654 893728314 473853486 193699752 875143888 745721940 198338076 305656782 441601932 561741050 725352072 364770814 495388844 759844224 428605846 765670304 314619612 862742044 545305398 84786330 389406888 464367446 746107464 378658564 471335976 684337490 372820284 389219410 365086256 653542224 595429642 956839294 740736284 478358292 954363740 374162144 13324348 596883310 234680988 102362772 793777080 913033512 134578208 176191478 978670918 201890872 652813558 298573936 608141674 763842994 930250058 772132374 834174822 427832750 568211308 756952994 395213200 672164880 263962884 640992412 741115660 32250608 180361378 682487802 926249896 14393840 539033822 491543480 715325152 547389688 803817360 384814740 690829808 286959672 308733352 67697146 177538940 551192776 409456344 336606892 552630528 17987648 287767660 392141332 965304884 540436592 441623086 558000024 994020564 270323268 537634070 978240710 63125144 775020138 942174222 840922772 765280538 383049632 212017568 281296588 679519882 333049930 914010822 510806036 144502156 270845972 117322650 690211768 588193294 903891476 424151036 54042212 498358078 739215814 288044282 625139214 245281960 146359452 872670544 57262754 486469428 964294644 423830022 15678804 352647692 268487378 675030666 471467042 208572608 954690724 138083060 73614940 124611462 184916434 3619864 908862364 661599364 648278110 317287944 782449448 636242934 728161778 167149396 243293272 23275934 828228072 152011240 334612646 326274382 778776996 473255886 465150754 422712842 637791548 551188944 867112208 386523228 810290440 808725498 445181236 850643580 915653782 693940578 50800228 855682192 67119920 95936244 626019174 449020274 317753152 467430298 931980292 412904480 325221666 421918962 651684444 91395904 839929294 648659936 742330340 40177290 519434478 539979448 990819332 425326418 303737308 963766098 487125280 692712952 895588 693670282 530559336 766762460 290564066 414251218 219512798 700544938 421413402 836211722 897215484 785103172 662942064 301850196 406729632 174901088 145736128 753789288 894602538 99056748 853201554 630005792 298376382 941504218 393484248 179829782 553231564 836052544 495571838 288925060 312230638 678469218 504257376 561444976 220246106 38600624 317702872 349930220 834632478 595450998 819531020 545529366 497732126 62350864 898971124 159548012 538741542 753686186 652245892 418613392 103459700 230737776 437320828 609691130 821414678 379010472 757635298 407163210 930725468 654214366 353511668 315472192 902737942 157110974 830052786 599244066 406325092 852075552 565425794 290220036 606163840 760575992 32613418 229255118 507924716 536078824 120480932 305172566 794520814 917153524 196930716 580976026 628306514 884721870 324296768 383133098 173383106 367070096 473441188 63043478 730847372 608995302 961070114 948915614 665483356 548272380 587496796 748122860 70941200 606383682 544278964 305321552 127555674 610317186 950713718 341739406 481334020 605983032 957006102 477423324 944070234 22475494 565980044 113554650 617904072 432421872 491413256 112971136 801176770 201365558 492882674 543836296 587881346 264346292 957506544 397098182 390001790 165835512 568341414 529683558 687618164 187254684 486014616 488416966 244911588 371607836 680798076 121160140 202866310 674672540 423601178 985571454 857262032 842664176 162309146 451130608 364963336 86872062 882114372 596029060 238025556 733777498 294614886 185400008 86814262 540917114 732012260 136196974 730319668 617706036 406297992 271950822 148629912 104559474 266899556 403615764 722058284 371516828 152965454 527540920 247311284 944415250 495224250 111339818 744953920 517496696 411740930 164212592 111954718 835371138 573728934 993482778 627613494 610772090 180380266 272516452 531142004 380229136 886959650 302706688 953759474 497258686 934006764 109374458 990907478 530909672 965181140 396160418 822388428 613882648 533828314 314634800 116918694 593728552 409108654 249198362 573870300 866992256 340317540 821694384 330550570 56025752 706800830 595749630 383573736 528632952 923888016 850710898 92572042 648096880 719163808 38835412 780106246 815876026 579499924 267678502 231403024 868988828 172709326 189572464 695770506 507647518 760653656 974495102 60781554 348387580 646847270 919930532 443813184 535582670 524548490 246420264 591137680 765773614 979788926 789404878 570689688 285426670 586592924 842889446 993353684 480742696 972885342 509279648 181009810 238460212 540937246 814009892 84058218 384545168 958009386 879894098 865706454 651935738 612002 315619822 784783494 780421556 636089086 106267804 844425988 596853072 387885924 29428788 6659058 706549898 470606942 490907790 371686280 172329588 980736912 293560090 267667062 105128318 546829500 7777352 407667070 776837052 209550354 343206380 595641186 973249860 954260406 234747254 342271004 921761570 742089966 274105472 418088122 396977906 114113742 273008702 407612806 820702090 12826386 72593938 95573814 481331974 664378392 34616004 235870230 735839690 592334386 822872796 292951288 193716108 71738410 594486668 581779880 178655800 59396568 953682704 77733114 594162712 364048378 985662202 291503226 717958572 67517424 739551538 690031320 509595362 412910070 84143580 580920214 319762932 308114544 157654518 460353778 225781748 906591458 610970266 699107124 289999094 500147478 417000864 803241416 958771120 200772210 29222364 929587740 390867764 793654748 82898624 205322242 391870214 428834924 467217228 669805710 585942522 380482972 245318630 289112124 564004790 864431036 824392444 184617402 965763676 59687718 756586388 18828386 108487508 16329880 417468056 47639660 303397556 345123624 259483308 775776382 617006774 798787700 584245138 177486518 84137050 344263580 948096078 305872232 17972856 824117954 124093472 566944688 75233212 441812314 264055802 827252736 62093946 70202358 943013148 61232206 309918870 196752742 78588102 904230888 59485820 349020278 629903350 649097200 132944566 369682568 374500064 676896830 720635698 414953382 560880036 562417588 958785692 831795568 761163508 309299998 529579616 530319210 356565016 243961968 619082648 511207782 761863820 589196948 977476210 93945140 854735484 873567960 753623708 923726562 887005748 295124438 818757604 797976636 570904126 824758404 136902348 766550218 594309266 754259788 845658962 493779906 540946314 819785872 131015556 595764448 561874530 541210762 410614302 212474982 808098102 813577776 120026342 749617756 741582544 69140874 556559672 761853610 257831852 721476458 34934500 172734946 719635200 475659662 476234240 865794202 880699204 263650812 695733692 849952606 283518506 19777254 879142590 21051728 438524848 485112632 679790168 713764674 989923772 286656246 783596246 376105444 445496034 287333202 298550414 9784328 897921296 200181566 521483568 798338204 597064732 712043312 868301750 663474304 942395736 130351746 333871806 685551804 154694662 787606932 871295228 515844184 236537328 447145630 777491574 956407150 53662928 568667296 382054536 897777898 6187194 724194002 14328630 36659012 596644372 595489676 794404786 422940588 805466472 678315458 645449844 979197134 142914598 459653156 220512304 493315304 285596384 952592244 81460100 250323174 592780828 951785680 267473872 137037316 820560430 652509386 323349256 490956388 229838172 104880326 88394332 107997718 186801678 899440264 493955950 500173310 703680480 408433916 383363340 169700462 207520858 661509840 220712804 80937636 423858284 981056402 108539848 881784540 401776236 766109552 345410674 250051384 875751472 173341606 450537354 582696068 504635170 955895630 592023736 37033148 440426380 616436710 195296452 751411054 273202708 86758548 46219250 545803538 266637434 483552768 482049856 485467952 956351170 60354298 320624464 553897370 772541852 802932950 272176468 778232030 152116774 918754484 574812224 331729288 910806038 979344444 9297742 641748892 754884702 647353694 357295402 709456250 570957108 286386510 720043308 876910956 121935458 381322258 97827170 217807896 664504382 981887514 99644996 832745784 139722066 180252596 986787884 734524904 161571740 339103082 866728134 294536698 929627352 15647130 197717114 85474068 995628502 938015256 214304702 562332216 184179198 399481588 604295568 501703056 650593694 630682718 534130644 99907468 557551318 354744854 543738816 911296762 129539592 179205822 982703058 888980778 183448990 363166006 631385318 139104832 642481096 875685444 828641930 947066766 230539310 898438400 965808342 734430898 980507634 603787108 659297052 665812878 263031122 465090808 5298796 850261092 331529966 205440808 561151458 268573290 357276030 188530868 871666528 629069130 632076180 326722352 400365700 751635560 969285620 87832828 588528620 399973784 71636518 213361182 561648928 42933008 909600614 801898250 834037672 739357260 875244300 187675916 106817878 682516754 254540198 298761096 680361602 881370224 92187086 145475678 735659382 195750952 312350584 656681434 597635510 372314588 587104058 447354696 861549434 878071676 816581042 769629134 200623310 17273198 156702878 501237828 622500962 904385234 948903076 330812520 373183426 36780834 594653724 109839624 726153280 641815646 536975094 890016190 861630558 635293696 400646166 643729718 306749110 463387318 462553356 11385252 460471390 171712262 732523054 983811694 51453406 735543722 339301886 724693420 543035592 683478916 164986170 567921200 319294094 529620018 566070846 355705858 465744682 700463376 762905896 626174718 162591070 909768904 494944048 20681494 735561020 165954144 89067760 88390942 241842182 766127150 473505114 59725404 440741846 175273922 934598008 717839020 998398700 541555398 585806920 480819838 670667780 208470568 143214952 18338550 566334062 746608436 759444060 285731636 957341820 530650490 827412840 847820352 591031638 723930542 497708050 256469202 845775988 41853048 155021332 535768428 742899712 37951134 697874548 16607258 297418724 420671588 750247802 716394514 442153326 36843292 196050172 807379736 340260634 699048968 16290726 773254812 552444552 639248972 971344936 909609256 534260694 134247450 507889244 398423976 533298674 480844864 557790582 263309506 132717938 528796774 90036458 494224644 589140688 636142010 173286998 180046464 244645110 322405512 636013220 183002928 535920504 319834224 896635294 637901300 526751368 653134192 466988794 356705516 372189084 293494554 720539352 854935898 550847666 134672700 300647266 701376562 124382326 573712452 530840418 292091146 613156106 555667036 891470630 351182586 929319174 875623282 869951804 725123326 672725320 682974518 455560378 245813836 241144856 203011024 9110552 823926618 320986556 687537200 28156034 628758212 906811572 616006966 770253558 486003388 402303164 618324728 322252640 523005900 179603926 723660132 769782698 155495938 349269578 969809612 204638624 538548324 315344314 947288218 695123670 475466054 412461882 342349320 717223732 785110624 435107434 222780448 221087656 498325832 569069788 535378714 495466774 660515302 986419300 665759854 622446930 883059758 18819484 579090394 9158624 921825184 967703750 633079088 85838984 936382904 453035974 114491236 100025460 424569168 71073724 150063618 324112000 256470628 717010814 781442168 921298148 420895474 687222124 770101422 844682732 504272790 83360778 495702426 846303984 486533304 981169828 527478728 95623336 821122200 688068600 130156984 544744100 645204096 591291938 718313650 62597738 523304356 476120468 369270084 925662146 602245842 348269240 624910950 441491026 822807518 620903844 422582270 115639942 145059182 408311088 323996534 208238894 405957312 595693152 658725334 325539784 776110700 114748046 996429800 747025124 911543936 654452558 547101694 223054848 365693140 317107776 719225060 602510332 503801818 442839622 670573100 896406792 287451302 760443506 593442736 912189778 119050270 160746420 584077286 514835508 530515762 170967456 448179348 730439310 434832762 192017116 962949452 869167232 596447746 981380352 857466726 156502942 743132520 535984536 530301406 788563692 906472070 682500112 118010128 361857232 592131672 183170836 468684496 930266470 484937204 504612608 85371064 248439710 483830626 433475034 157991084 395882972 319597928 689702080 531410484 459135950 72699040 131616324 784609242 45068686 64276466 558546814 984343478 631640004 909644368 500097872 605395896 845780090 19646598 88645898 422373570 213570020 759309862 615570202 844810288 128377860 458531472 876924860 604753250 245715656 785383516 885530010 470019996 802544782 690071248 553736336 827899272 432538384 362147242 161438796 643691452 443884494 692402456 706431456 421327990 585723204 493077608 860667098 995290064 845824446 993187034 948710962 461357018 866525462 805849716 856338394 858474356 602682534 311668820 694594412 585563802 175712968 5098460 6915732 694311316 355845390 374490722 766414348 359965164 713875830 175772512 852585704 363659312 843424914 672949878 174081800 872922584 398890864 279682402 299685260 615010414 184845460 113260910 816217570 727484884 607109906 912612586 894940030 660124316 681353148 775646352 548570794 959066924 211750128 585696820 256176328 461391612 967070410 770191468 936023454 219304676 397306200 612386636 11421478 387064836 772855430 451734732 833805954 175885156 192793234 694999572 639695512 117023874 91721296 609158260 758942694 357213206 654970154 51240332 345995814 73182408 973801456 290132888 232025138 357440512 845389448 212216340 912573336 320947456 729260366 61010016 162110380 629864174 690540376 921962370 868956436 709535496 119937110 555576162 425882938 990570626 529434930 166977076 262901542 763104630 680608628 126364760 270465386 299758914 639524668 28745308 878935804 483007816 711615436 315562268 63004520 641562230 752574192 320399760 60034916 597513796 507804144 333827580 430016664 641608326 78868690 333663234 329651576 662331472 868528528 761062992 45491680 288422052 100651454 685800252 262995446 838037972 630199446 469866004 461831126 575707110 194557190 981032880 553373564 184292730 511292380 279641760 422802596 979549894 372554588 335706984 970294566 963139122 342381296 68676378 538875232 57298004 581101802 746133012 915135096 357364846 697179566 789958078 734033298 462024034 345371612 414768366 559315316 256433912 665993316 686813088 159521024 961602224 608044536 845120702 520635966 745886924 758950352 212532824 482126730 521653714 331196512 951778296 299472664 966098462 386553406 643596500 55411314 812972540 523189632 941745170 375110314 125488328 931359576 802846246 682588374 382870596 889240020 526773270 750586118 59521042 818748276 636510290 294549272 847136476 756830826 773759092 907391572 726578836 407918318 548347324 258834502 524664956 499957682 983226876 734174400 774781188 906193606 703846518 671662244 386871786 274212422 914789234 674846538 584212128 736444434 537367094 60571934 235354136 284869184 922382462 389288654 774200122 902294442 797016164 57311918 439106906 93857976 638319442 740824012 382094696 278263616 549789966 182379428 763848940 618723394 598233714 322072242 857698082 407593742 557459892 740066426 208493506 92662358 39851896 270194306 174865852 883522884 1390014 657831258 556385464 953534718 37742600 391988022 927401810 12921608 73973988 409673966 33711820 91778446 868949912 812602506 446676492 757602890 486956822 429705916 100182190 848522084 649296364 905371592 641601228 881559982 423559874 615713204 576453980 761467536 443777740 970576592 552518858 501649088 181523744 978354094 150962760 923062740 168067082 180285620 628783804 161122344 254027022 246370760 329808306 210527918 518823286 380411684 245687822 427604932 719803218 340494874 922954514 874411238 263197592 152722290 299281526 736180844 461624868 437097914 304294204 10832224 555540590 53792656 671396392 900528532 984051448 645617658 677951894 480355384 461961410 968157946 245299952 551523958 381831758 771000208 170247594 24973942 316924958 292787404 253548308 749331680 991014606 632746906 416825202 501967308 737842986 254133492 813295320 944727546 487332236 40742494 875089258 309284268 660438142 34324032 131025612 290007514 888654674 66573612 931362486 3379482 422415290 460080142 968427470 718798294 954701876 385547618 706516404 701427132 170941330 83148074 789721446 781748408 984336716 539285560 510685742 885255222 987217414 843000754 809630234 265497774 690047480 917361096 646520010 139409228 471715118 219456808 316437314 802286098 523057356 124072818 264406832 764986156 348685834 324786624 747507380 505318740 354407086 709004176 762769996 386155134 972287750 833765172 800292572 974855186 176711920 545384290 304927396 331762668 431670008 916758444 766443958 819439272 583322874 962081402 34057640 170388020 522452558 944532590 147824752 603909118 540393348 514458890 339814878 151119134 233979096 147436554 453458944 194705350 508762036 269458678 736930322 471355468 682378902 118500532 944364266 515082656 225386738 520811052 794566406 539016190 11053444 673722822 303663786 187587894 639296616 439256806 290500022 536095724 257140792 201149520 999195750 356619684 740010698 115111532 790641942 345832588 944374034 851224312 141189430 171423784 181090884 891101020 228262262 170091326 181431080 272383574 974215496 546052772 991270860 137303252 511237804 610053792 675684060 674681156 374161526 510151030 478034210 112084006 667404460 349813816 35255144 342036098 222294016 684629942 142272276 749669368 310664280 659383882 774329494 903586888 281199390 997450866 94573236 607863536 752049950 376657696 170404696 713744870 273442796 516339280 112466486 715630556 480975460 511590636 81423086 41837948 338626778 318892452 96320890 992688946 843532194 512706092 711796396 801259550 519090972 65197844 962253896 906665144 334844638 11630408 272422338 887014462 583351872 80520116 690747632 646911706 270393816 70294504 357793208 192041600 925927164 334431576 674441498 87992262 13312026 845919508 151205496 126664688 332152422 28717250 282740500 710587160 116950248 941455162 149805042 345259914 847197316 70160372 474006626 309409416 314055710 358411518 882622352 707622486 654013020 753151964 339625426 758903490 979549602 372985836 23578990 964978888 144090838 569389024 983085884 408129116 77770956 309347252 458345048 844940958 577950620 429976074 6679316 398864572 917149904 139989598 410494192 275202546 974588774 699338760 348451998 832058854 441413976 499826782 405833304 431015476 648598640 925429386 975204602 554665874 75380234 677108614 761099820 230663168 921246170 441405544 395096294 651617558 353831736 691926714 794615774 658474326 780419520 504931498 478125132 746673748 889358096 304130766 116563732 184856798 200689766 166138064 934262312 510234430 690254380 298173550 899939156 201689396 832519546 220907694 500922804 278282658 9733754 224691658 435600242 30752992 861271224 95126608 481439986 250570980 500215382 329340566 852227956 6336700 169076654 814365742 457768974 45626096 14154366 463596750 791533332 963421460 496575128 46624476 602308484 593184604 520806326 490683858 290545232 727803572 496687368 531100926 359374280 354309332 185910400 766025418 390949040 416975236 802383504 765040448 940829420 89767266 55649552 708037768 324380706 946503624 753436794 421837498 11851364 5539300 801666668 183136404 637580644 840479182 842469576 341189370 432147058 227428138 591192980 144210786 73591332 411121426 165274074 442655324 610787536 884796392 41723936 503118158 544285472 477265600 243302766 694099240 66045088 647610708 523826180 877530990 942517742 861645092 527156746 694813704 971464134 666828612 301303936 520205400 909731352 138967902 777744092 896087132 727690710 245958052 791082640 884583356 559801846 785914076 621102204 770083918 81936360 895739310 725310876 857606154 792263822 230408228 828835916 779160464 317329480 174493474 304835706 97213450 901761374 725556488 720548496 276888624 66792986 183491232 664336872 281177862 235669708 905611210 113623736 923126838 760574844 858437042 983357156 64217162 531430582 911860314 157178738 518088996 209962654 983301954 978664772 320108580 750419838 985390984 528279764 307374188 959932582 140804280 453733264 62234484 558087674 466774830 224179650 266217956 682412332 305774340 539850144 37995940 228771332 247271790 667511896 298220430 11857562 293295292 432358760 447402950 289277758 962150322 775401914 315423534 877417314 139460638 78498630 222596368 757996482 593418838 704387914 681110476 247098304 327427996 530392926 892490964 309694158 599206814 863138378 975105596 838182310 29158572 286231324 186948342 801361146 849403386 229740066 947657416 935044102 43003472 740897612 790347338 559288850 609833024 907134034 511214594 545836706 435178520 621489978 850706336 161376658 978491760 938587698 533159016 92466978 846125044 553413028 786132132 608045092 6550978 774765562 718030224 882892200 430211870 275115740 867030702 951062764 218302962 83165824 10558190 894927962 297726170 901196342 280795304 903768690 659694152 745909200 823551004 952594706 41388808 524116824 966256044 338566814 766720438 696434296 704188436 575849248 403347598 972960054 258405030 255857184 88687642 715682802 384810224 225303424 499900832 1908312 538089976 707765378 809155116 106017482 678988432 770987886 30383530 8254024 995081236 636626878 28996860 165439198 850330784 60151302 508656380 571153932 132190184 616338628 877971664 492908248 28876602 60551000 928117474 95806850 497072322 450907956 848375998 202775776 583910040 600163672 472599986 742914214 458450310 516460368 772450918 977621950 231183382 608569302 204567156 124368866 649527630 995749124 144704960 894203846 674074508 492039348 950466318 290425170 612397776 891199820 580719356 601643924 703777486 538935858 831383688 201094732 64014768 641192974 840210950 850891370 654245666 430864912 541185328 47350960 13203424 190760814 950709314 16196170 987786078 803569354 236904074 768858654 465196808 705056852 342935496 797653964 236677840 973174630 800841762 808346568 573668912 539983232 759392486 432859334 235756810 291722478 664569454 640490296 298611312 9468732 799292556 943544260 444293894 283973306 841775106 653250384 233514850 45884084 63536504 456653726 904337116 95792892 866985994 17238268 423456310 372616058 255441458 493536214 104436268 248570712 929741596 777370324 468240026 562861406 872446900 659202582 879843698 14091396 962311714 870857502 872819338 734016596 778698650 676512758 36822058 71675824 190575154 705500218 172876594 705065190 763320870 437596402 485832518 437673406 779944660 385535564 405285074 982712108 35747748 991469806 814222500 821735982 238372984 45106032 318840666 20124890 597015576 304511996 708562010 170029490 254193998 611294052 724931904 392189644 194772302 616567002 135495782 638217144 217819760 910588816 356428564 416867272 958481194 411027754 675206524 930749442 46657874 87586332 328037080 734693110 142323308 117661614 730518526 447853218 936894378 81785904 914816936 929530716 973402264 952752596 542937418 9136366 990575948 665265134 5065548 311089984 442550662 337566308 912014438 190177736 747243292 989301552 736405306 63215948 882537556 688026200 482907700 303978006 623335174 759138802 236785280 105321470 514660888 970154982 538699158 646439104 374382886 418876642 11994284 633095924 479454994 819212342 914622210 993047558 317577402 261967686 721841766 764765162 463096196 15282256 53222242 297434796 721576686 171546156 434815058 261983558 15940726 175433988 895039566 290945460 131804496 504610264 245746102 722474294 836499354 144017792 409110882 6007988 529169574 340087836 219118712 788547312 721219972 130661250 463847338 397716874 174130568 490150548 963939318 831730088 712111346 515241798 665123258 726953114 345270268 694917392 830793442 984615980 983920418 632360570 941577238 847315642 753693286 434769740 901499930 19794258 852186244 951936436 656806190 477275784 384967088 354840858 316521314 703351902 945955630 435390378 524244880 126059222 88715898 14687088 334143404 708287268 845487558 996196920 530530846 16116748 53764600 242642838 116860692 667363438 829406554 119211884 718580410 929459610 267392532 897822476 210183534 298905794 222199390 923374402 440771422 166791216 464979312 496775766 236660772 321708042 960618016 744528212 832576288 139010314 76887212 966329032 561305492 333487856 236174180 544128028 177481962 721043914 239595286 279842224 408027132 629380244 351612014 43655416 791718722 797087716 503597346 1622710 46578840 993658410 497334914 146061944 969821374 125973030 984385424 404718682 509965458 141957840 151719404 694973492 608804216 380147882 315017912 987348434 300683590 248612162 420884732 34484922 575527130 11670476 48347228 331261836 32997222 572269208 580574912 793977338 98172988 695684098 364707094 706569292 453181924 914576802 344707832 554616308 24322624 190609544 605999162 822809714 427609854 28167736 289741360 32886148 184824696 939020264 468133292 803233444 434125870 853745688 263779988 147680422 761316298 462037182 854905406 43563350 945549948 186697180 453728002 943165000 358807150 805952950 115966700 264728460 161270170 754040860 680057456 381331924 442340502 555169610 974243100 659718544 570446668 535241612 945682778 792090058 367426798 703891076 75997064 599493538 987118708 104954312 374599092 827818574 813047232 103400808 54950474 519937786 136638568 94767906 373530960 895098554 265051282 496529764 593382558 130495534 293484018 258657040 553667406 385827078 569283694 210883346 694451486 98364792 327063042 466459432 659670028 836537518 988122700 479199498 694521826 777683198 643696580 731273890 928074128 263331252 956685504 192769586 429231172 286199106 451377734 794624206 430200062 781586650 810077472 113216234 282231558 491725004 928668474 420568228 313340122 634903430 108248296 155856006 641107004 470805728 194881188 296879570 346764470 740624976 682725348 348551304 260103804 40359526 529489152 116213318 14170406 584549082 647619402 875606802 634878946 785025598 838837902 468819930 990009590 192232040 749653348 227232836 557740050 867106070 977771474 976800474 948928462 802177498 641741148 2277400 522619556 372415300 923006246 840761864 68341694 564218372 533185856 119154516 408537836 634021914 821316432 556424516 861013784 877101140 837091302 732816634 641759118 811676332 151468580 499198876 323628232 108418256 209966370 363386250 539949328 479175286 167397342 54412596 568596430 386580710 76417190 182077104 630297530 646656262 870206474 677334650 350037152 638283642 691731658 489471286 793483802 89801174 613325888 331721282 652075944 13486798 626223302 432707200 969743572 845927208 195365656 641557806 699171118 69721800 283988280 539585598 479406784 62230424 290913510 845253462 372871780 959299228 340213330 935624124 819744586 428690470 266562844 291444642 973367192 976298918 925924716 662782248 150755762 268966084 278827518 356250786 78171030 491064824 192367994 543029604 124791184 726630154 893891760 597404954 939967486 680269550 374246210 936036334 710320580 610551496 584505500 628413932 619916720 757482378 588243064 620400716 573701070 110493160 544968036 631230932 389869932 730815686 668334978 240283940 910729916 59838182 391216604 623720770 812466340 864300412 384160570 343152374 529173724 694479486 219141858 168965166 486943606 913339780 591754030 18138490 246789166 56501618 664413506 718954642 496519454 349894434 189100056 171418842 465584936 865097370 720993828 292549210 352514912 266884358 660471740 111301556 242975916 54913316 605758588 301399528 5599450 394238476 64487614 770101416 633258826 956686676 667339776 620400094 500456744 977144804 708375892 865599952 999499112 894248344 370516264 179165702 28579260 491488322 705015218 223472184 588624210 543233466 38260236 431925546 235742688 97155606 857444922 146859330 144527090 78647736 845565018 567844596 359270048 268118370 124251158 752194272 121800348 495091884 839211940 609169780 929230718 654872970 702863736 880810680 685240832 557099636 556461486 681526570 730548436 925152292 387098854 897944020 418722780 342585716 764920890 608806054 348816426 450555298 510536974 815338818 47965168 419657228 981757418 481165210 327415508 244388554 649926908 697052450 376813214 32257542 943959062 411157972 875149102 216339594 63728760 442837382 423002692 637712422 847481814 329850168 2790930 433716724 275809476 201707644 447307834 94839380 283954610 411434936 187970654 189821962 192759832 71972376 91924434 941885202 348512548 452553926 264559390 288939312 687474300 189432758 742837304 422961886 300727756 23256346 449558480 56115968 344509430 339149310 430854444 180244574 621718948 581216274 715227394 468384190 47287816 215353062 445614468 175874000 984336008 972128774 153275630 343230722 725403370 958447566 954913940 978815196 146577862 671720598 648738802 814510672 394424784 375637084 174140164 808808336 682370858 962954504 43960362 63791890 766823930 325511666 12448894 25063138 719493390 659414948 34417052 5397122 98355720 167206000 115097006 334782822 48468206 663139378 730217358 416726228 811090862 676728520 518323202 179585754 618820124 407107398 690515996 95375536 23247540 716713296 432090056 90715084 433334850 197607614 113651750 957151838 422452344 167303830 505853288 388555990 992811384 424188284 972345726 740556716 625411030 180820108 299021954 71011064 722749700 579748948 814644404 420895972 144655296 862268912 125779704 65216294 740816606 231795740 540435790 331337032 542476658 925264698 223420134 421511104 593964526 306129512 378432254 597651890 756077346 690474224 377841468 661679812 168022690 442499268 428233946 774667970 860720544 941295266 711781438 998524314 74337984 628050480 183517592 286705764 256733154 510727168 167252484 855064146 8090108 729328020 47237284 272949972 745160480 630831500 737682080 241879174 652099376 107495444 794760442 343253742 28231688 472350630 242710036 829560350 90374688 259192354 971979808 20690862 208194456 232231468 260370578 279826394 509476464 231686500 891935574 890108348 392079884 959331864 20351608 540906286 464686782 892931166 995980380 232826558 859248248 319064978 204222246 248814148 981248384 90166282 605166896 429698506 870117620 12906792 195413256 368913558 451159222 18610508 226047682 433251690 881098142 432918418 652805218 161350386 63313114 80132800 823370598 140803514 791804206 684367846 233012918 875117744 137225350 52887968 267676334 787665992 100961850 834803614 677395350 591777342 892367382 323479072 266636224 373980882 214083302 381798394 297908132 338576524 926570198 364776818 104844750 676659570 546765146 671705240 879810692 567687860 977200928 85291196 134656320 331728114 565130972 273895072 997852546 298231150 418754704 911563512 75049566 736868520 688695258 101791618 907410748 248855516 28259514 316794490 355007924 500051216 291270674 986116892 633546928 257270772 959636032 97868570 190057106 902671970 663544050 459284956 406621554 134323272 183855716 199758068 608790452 709960330 366230942 768717088 183557610 174875194 377719502 146479090 549797484 181867368 940452588 615014518 147297942 418254396 178603792 185513260 35330742 272304866 53153308 42014930 317559982 610751198 329384430 221504994 285990398 473296828 127876160 672935476 531680676 920664888 446016012 689381196 126403806 922988888 49163434 898643076 420927124 997398630 880952496 385781134 943495280 359659178 730575992 951973324 887657958 901010272 345286244 268702970 948699666 981495630 24756066 890714388 439469834 532136264 274365440 193614612 707044028 503903256 495118542 229390538 675218182 883513698 653085074 776117756 338714934 874599090 175577420 263244940 693528200 681366234 75956734 572472378 971283600 463364616 606841552 139936520 207695184 501130094 142904424 661405540 379751410 250957796 245558796 934982808 170353246 842111980 219933654 418645410 405422534 180416932 154904894 615240946 386858684 971584586 595593716 546394054 257216952 951686396 842970762 576765914 632181332 863284068 594893942 459830634 935922734 70152084 778148272 842916734 696390568 989591096 601139310 944242412 689661672 896420090 664688348 117446786 148083786 617283714 855902962 272694662 986733224 719048802 82929658 147375422 662775364 349121208 461369344 550189176 843542186 628194490 784690644 851242366 149390926 382517286 8291586 87034360 183458668 851913880 520783666 44302908 862506978 704007970 598022894 588544464 426761048 361659004 680403460 670646540 229314070 993631390 758132252 409297266 159901082 75991978 873390660 990255394 707631118 211674812 730894494 507773716 544363368 566845246 259260270 843033424 681138944 585568018 994174214 215607924 209713380 281932312 493088106 389860416 983683660 929250486 741212176 503723266 237488530 185811240 372981432 985756866 591830522 526416922 201126958 177057082 812323854 731739874 429705750 337453732 486387460 952839540 561497494 353715836 242777470 376464814 900525278 793114306 42865030 367258666 414468204 206465998 771682390 797301610 558338422 19563348 382440670 284478372 479053256 578495882 191733660 358030956 579352006 125892934 346252814 805123622 966046582 699697744 170033326 115801334 593442652 422376922 850442756 118220082 29073462 680660764 275934998 729183516 368137714 173786920 688824038 529795396 516896180 864059504 388620530 538357112 926095652 175647822 75746266 715445348 461905514 664802728 992460976 302074144 989889172 777921236 429944264 190665962 6200118 133482642 638195572 739432724 894009134 383839708 727338008 241003698 154901222 838122446 392976434 738365660 690857848 488530660 513280550 549980922 119172208 317878672 227701958 57257456 545365404 655047992 136789270 859782212 4297552 362063006 386236164 891459202 598253416 132056456 429249596 901461850 812225094 356858154 338574554 489030034 361910736 989711532 8052334 572284312 127706474 1054694 842646332 213998258 886369036 305788758 997888020 611302640 703105764 871057628 394567600 704227924 291813896 343276656 488974716 661998552 889079856 889698138 583388816 545445766 398858644 403949184 377210094 639247954 507306238 953903132 991712764 802635328 618521530 109989656 357312462 938386338 108929110 122120626 824969116 468250122 414463964 345894812 510810564 184723570 629466040 252356432 669785076 292368322 71758626 883681448 210816634 142278594 2897338 761502780 982408724 823389350 34147544 718741424 134482916 964321678 999722228 368823148 594677600 160761928 134264266 128669428 133651300 449436974 485455478 348677778 648847956 243885222 711091572 499973146 122938830 324313678 98668930 120497158 358661628 525576682 875383500 88335814 325475042 401890474 543854758 460735154 662187406 658909024 893477342 475036918 77755766 504738484 856514752 113043514 382144132 874587282 360061524 101437252 708655966 569322302 67387228 176668576 12517944 219640802 227019272 48188372 915658350 830838868 602390116 836095726 34256644 198506150 538554938 699886476 276871376 747261874 496777902 44503258 520938432 612067500 565056000 5313072 75059468 478660008 870559320 623710482 37196508 798327756 939647546 44551196 492138920 394536370 919967640 157359070 472921136 160190340 133102506 722420082 700870162 438091834 197538264 654221826 571522486 128655372 61674150 273577288 379144892 173345518 323607102 92825712 661232434 906105694 312130298 712059808 66392186 999746642 978008650 152726224 95239186 240421148 402378858 485035478 3625936 960886072 802287170 130131520 592158810 482589158 109092942 216360018 76227254 958917150 260726968 231277534 359355926 264318042 237492314 498362182 865138822 46960290 390112194 449112858 445243466 238888334 566602416 776153762 751956250 106350242 206853724 798566622 521089390 555005770 625400112 256405658 70843834 528892830 582591792 720778760 799368024 924093230 930106318 329182816 233017052 552538208 768800566 427149684 251648936 219983880 421708636 914529748 134235752 607720628 588395210 226107162 474177274 668344428 979682700 839157390 383320700 869473582 303103508 822945522 323426674 20339918 144964462 618555936 328837744 26592374 810989442 133562290 311436340 139273904 257795322 201672668 423827966 416742568 261750458 75047744 399943850 675551814 426422664 37383080 182334016 17668704 114697210 346837252 139350980 586218232 895848408 788501320 265236294 360311662 751424776 206770268 546409422 423728328 984890466 917973426 837170790 429037700 241964896 331448562 808456558 18838796 145821366 143929982 35485082 267841174 710810820 880435362 853392302 227695076 244280110 417038882 663261246 857745138 574045098 662536710 697816598 585945828 664361742 773040702 820768552 563455946 881372016 613620112 484799552 944400302 386594432 946468188 353303834 297878056 363311870 144131190 760048184 635744432 324182890 224683852 370586832 638258262 356291332 464838768 345542082 778333842 858835138 599802010 577522086 705704374 495099228 778579892 981558136 131453244 646283652 391750336 950778482 258667756 778726758 202379134 63892612 159242090 567562506 991795048 353307936 450031598 515135122 674004750 105270812 121188686 248753454 55224380 200490882 533995078 839216066 247214436 900848674 216871634 157211980 398502902 627653306 218645290 684654234 808203616 711957860 703775432 545649710 954947112 574917896 723544166 168083932 114852372 828904952 83792418 363521142 626106874 506865126 67541130 785073602 458972582 741250918 494015620 971085974 692001350 79905842 350729554 573721274 82150736 193832864 889664044 203224260 298794520 358717284 833332272 733840056 654960620 163125094 949904564 460258236 17253662 216847638 187662130 600255668 514136260 385971324 644919848 342188984 967114718 290280172 743549096 967091174 374253930 246869598 718941858 435710888 734426682 533586102 360057382 817626788 329751404 221389136 905536746 237898492 387899186 162565252 120602400 317837162 92832680 881969220 616776716 335835846 103671794 707538246 780910476 955461378 204141730 549649464 421637340 993701546 370345840 123494700 778575152 472169704 468216360 761796898 270908224 343387772 617880656 800646782 976683556 1059470 524506302 262618424 931645644 316206578 280271398 129161090 751323638 965036818 26932260 189223150 259385666 509980980 775601178 581972398 509677796 380877536 404421446 777365066 624040230 114145700 237974142 42656440 285464668 668589998 868641560 909706622 113820066 610708838 180553284 925063304 227099558 906325096 846593704 18665424 926624160 968092616 848911554 890633182 63434324 731964682 928895408 868847200 242660412 467094358 775624762 161841840 84288762 326882792 505787796 145693744 187306640 761329520 573473284 365416534 297150524 364995638 807073556 80823436 131481904 97255680 515716032 416312380 330061098 696350834 121914334 743190030 599040694 264928658 245714008 928531916 122002656 391153014 514201432 662499962 164597194 31230654 352298768 599064002 270400362 221064586 378195174 956028626 884636360 247909234 53406376 166065676 354329700 370129552 683201922 81167150 5370658 982112732 503706162 861915360 619688968 535291632 964324332 722285252 455926054 947486466 588422506 486356310 253503102 665329786 798169486 579545898 119002296 175814552 503811260 311664768 494888628 831439622 823499090 357676510 580878700 500671826 820921834 232679008 555761552 600689480 108867836 943383026 794770398 729866780 554314032 833745312 581880482 827511020 192287308 723006702 827319774 832473864 231416212 578140542 191643820 636840494 382870712 411184038 765438238 495234794 387956136 200611688 997717806 357078482 43549836 91714288 402934892 226978610 75398920 441285166 240629650 814381162 237500494 920254570 823192140 328931572 866890884 226599868 500761916 39808532 681937582 795494022 116418574 333008014 919610088 701453552 758165262 628651432 480361772 176550470 844498504 327846436 745931640 809048328 865456366 374708094 266268192 552725636 811151996 124847722 308772062 862211272 238367098 518246732 144015854 451557278 262967260 727170176 946998632 56717824 671094436 881426964 471956084 241450190 626689548 678729914 92004004 427273590 179890258 907713064 578993238 860490590 776036904 155486140 656582870 649011922 384767176 102652958 862647238 719079306 835522214 211703014 697743296 156003784 493554878 322321642 945808660 602493862 811128946 771548662 973724162 600824934 779089414 400250320 377790844 657199634 161016558 477958074 158572758 481372816 907711440 872967632 113457326 120526884 529722088 722015764 646330158 507773850 247146170 33567476 784312274 633377738 719447502 1693500 715314950 65993118 757065614 203242816 393189534 820009674 958041530 262268214 452424004 458193702 748523296 338221628 653704412 288387186 344062786 885111352 704942030 338650526 782347268 140202756 970884890 956740320 422793970 733018644 575318524 87843496 101939584 369599812 983381478 299972298 149386278 340702870 595080828 452111366 846764804 504719766 47256558 399803066 696628946 783118322 332184620 437157244 196309578 400857490 102243752 248446756 793787834 974346846 59032062 170516814 208609238 405761564 845513024 26236642 405142292 647951746 563018200 462508832 201817118 960077060 139195542 413171954 457883528 77408306 835552384 546708134 601613852 10533002 583256610 981775544 926514994 636807172 344696936 382514272 383726232 64411676 677314104 329233968 345521104 527586452 541601888 189371794 814313312 110006456 215914918 731739722 824299974 256852284 534293482 709287668 914108794 238741834 865546038 596933054 730227864 135038782 309170126 749525506 660227140 61171424 422296718 459870590 334474456 282813326 703004664 209149086 62395232 200669444 396215802 377612256 716634280 570460076 859576424 179371258 719232382 630098536 101086264 948487930 348418540 71071082 664953054 547702148 984787882 966098276 621732934 549686020 536348758 638367564 645734084 376669308 267868912 334983152 17141480 701167360 357838842 586586248 192618780 196381524 142622164 289717882 561227890 101626848 776483016 193095278 141864450 64549440 818799318 53345806 414977464 880266640 926600618 814795192 125251968 445956820 852374664 517740524 134519198 557995628 306714712 466104642 604958410 591678942 447511862 85708610 284397354 372629498 698656462 364604518 299989078 580852458 245434180 637039528 221993108 477759970 127989406 884439462 716269880 459242538 338041218 143661142 167502436 174618166 273234816 705896838 7586094 787580278 484290062 234197210 456294454 521075952 437344900 871044644 529886646 174156502 631423442 752408692 741109996 333223458 920807132 398921512 538273478 829121932 493909270 478492250 65938256 730421426 333809312 322380410 327543678 589397292 595916594 367442398 733886836 644873354 663928938 982313064 818046126 587695672 333385682 886764442 875997110 354566226 391736822 615841268 943089868 275426026 738123172 238678246 226702180 671205646 666075222 131423738 532035240 495607870 701017122 640815262 284171936 721639940 206067248 203317834 791305482 463598220 622411060 337986616 730795470 931521796 18426030 661434838 579522616 115596038 750856084 119357658 106549526 754180506 531323500 983562728 379478250 503126732 476993572 610436118 920769386 809165016 319155198 321002766 531528056 271540646 961421332 139764428 753752518 241745956 411919984 664482846 929207670 46324178 153341428 591516106 494124882 419582568 485999270 112355016 546903516 922790990 328988450 640374066 209156094 461294690 542282528 716033108 129605338 170027678 83062908 482345148 284473384 817374668 280604244 759565366 756164600 998925252 411690984 307563230 600727024 241529504 914585496 825849848 262443432 727646544 142338826 862463980 668055014 743950966 940798114 295307618 340848326 539754774 949877764 631781446 223566886 381875958 248429392 390678846 949489972 538832360 900358516 296890270 561065904 330318660 281339888 282391280 827805552 179617486 80874194 810333984 220093740 986828128 195322374 655284434 543398046 965524698 658873614 105166326 564040076 492043012 130696586 623669440 42381926 852970844 919732112 627110458 423539020 845517192 119022586 630746632 992436360 860455056 351344374 52973044 71978046 382087370 585023878 488601980 787252774 954429076 185858688 893766602 91373030 577760502 113170724 388049588 23621638 391307112 957410038 648835984 930000160 51316740 841476132 54199226 76814706 656667742 980636870 466703696 819922728 178206134 809780376 440469536 446777236 70571202 965196824 255920436 643171256 752627548 269796736 619611504 328011278 208691104 194577626 869588708 510910266 971991318 122472944 501254064 667422406 713476052 574958196 328555210 486816630 969742144 975689142 341540772 391426416 163864598 659586248 13402670 747286010 97454682 72104738 395627040 561795222 928860826 555686540 194333582 50426834 895145022 551557326 591371390 139757772 763991408 136840122 203700944 229942108 343753532 930993586 50268558 876357008 752579936 31843686 197420990 331232676 426020160 558724368 352105676 883452612 408906876 709970724 667062352 204695366 918777008 978134012 586209666 627640548 423711344 155352942 124751390 324801212 151031712 407288030 289439514 777905532 321432674 906379798 647367286 94892114 762844752 506901812 493973978 441374560 134439706 56437146 61050470 643571364 546278250 181867530 465682582 586415082 973238158 848922162 457540494 459904336 367436858 507763352 238796210 419964384 58567134 482555864 322761792 755087006 519150920 609164602 469318062 267938234 392504566 477584018 844716242 909080566 691838306 116287534 2602474 642515376 831925762 568811726 378242078 702322594 674762332 243021582 948293452 536748826 289646664 604407998 668512640 554533530 355202428 648613762 266716850 989226790 48187956 250858346 482391592 30962968 923456012 302013058 760258710 880873530 632749342 301643728 291198500 746044722 81697646 194048978 517640526 466692130 579421978 839675742 617976424 813410744 466888822 16652908 128065300 688255936 874297660 201776452 641291742 912717814 774529784 976499920 666692862 447504620 622562424 210542956 747559876 984589736 311345028 186035690 635585396 781371218 638633092 477414398 243363026 109919594 476485898 361751010 833932456 904237744 513475780 528815758 144607492 642839700 47958164 794128406 134377504 629532468 600310898 272661876 753922964 440679608 126117640 327769962 398069070 663114228 817559678 100620870 756188074 229009178 956136368 754771296 990964180 653996718 259459536 105885488 900958308 719891058 720666690 230621836 464244384 70491296 633130450 824371400 592427430 58098596 51421264 845871240 323587570 735171104 511081042 916940536 560312032 977258656 293432918 230573182 94833702 370206822 403634496 47721924 450103774 389291572 581904632 508490320 886894546 812034782 339455650 566153932 411393680 74089436 53073162 294327732 521840658 50600134 482255604 439598062 731199898 430137742 310648070 340148316 395480756 775981512 872305504 981912732 484338254 373827486 935610716 149570550 947215526 271091870 231556548 778968968 650111868 595922752 10224804 71259382 966767878 580138376 919801052 391937400 137024528 955884160 965502848 920485532 153230650 292982348 309698522 820032546 619175260 189792586 837636530 869220904 851758906 342069552 489471576 1268922 169521196 298006992 702714366 665254434 499471668 729214434 989892864 345749350 602355184 158779770 712637342 104155446 797939946 105055376 704649154 747074824 628944522 71950072 377682780 594529224 288838194 664667208 606602426 107492706 124355418 412647464 609466424 817242492 658650350 669877838 10322204 237523036 576646482 561341952 69369892 584658208 230719806 130249922 340198760 744289934 49218940 962228812 53879634 284141520 664997752 961920990 872749004 137640374 319806136 330730612 645064456 981207228 850010878 432327550 308238204 112588260 266024796 989239924 375785648 864657582 709857374 824328264 147657880 950047964 302763366 558819534 225728620 936348084 716923078 186767812 880850706 731435942 984135744 827324696 223747330 984719950 715492864 793761846 240607554 499130396 56878374 515361138 150406946 139873844 863886586 52567010 44246944 758770616 295280670 572027616 863976024 334347738 559150942 328429438 190246812 121544760 540621686 502443502 584126256 802974300 578013358 757938006 64875586 956258472 360386938 40909696 945176800 463252500 191848806 459760740 710498362 417515930 406553698 297078932 943186862 562140772 78103460 608886094 26601514 982764938 451088200 688713046 139623222 936967102 212387480 338866598 324499946 730536758 382199508 312498496 544961896 991381548 760187882 307540120 216475210 394343082 451312102 375638480 761386276 958231640 893058494 963930416 145964186 115462534 639151524 954014802 33094456 202840684 950582844 246689646 240875580 404357478 301676046 390539510 488895088 494390754 263616364 139514184 664747010 243183984 528286072 642679870 257982974 843408354 926444938 78949594 212106780 86895828 697299250 590501808 698089974 65116414 914946224 702251490 618204648 282975254 143309588 380144440 125638832 912274212 950953062 902100506 522720966 656550878 794532954 367980552 90787772 279443492 333910902 865279962 79662184 868213374 210519200 839248818 263080654 634120960 631090038 730651524 828170698 344564920 506728848 635179320 839808958 811851944 267888570 996750752 430778950 138375112 289891730 190299650 317062858 723850880 800186360 24042726 34118460 202457660 240429632 518039830 162463292 348940644 558567668 550695196 485499352 680348170 959941764 832745218 681298028 309949988 738846746 895352444 551320090 177406022 363829262 977246636 959322194 694624692 908923962 888215418 602742322 377161846 197471132 546885794 132807272 808379870 445047314 296502594 438728326 490044952 255624876 680544298 613931766 905168654 867820078 129823222 448874240 495841870 294384268 590298184 800839892 211805758 264054126 863456406 75348718 983525954 524508244 389910148 420952760 275425744 326126592 922803346 669705168 406307028 425015466 644289306 524700496 362386094 394508984 290627080 242046230 792873740 241720760 227195864 390822096 387989190 443368610 875257178 76486884 570372300 246084608 399840414 283550862 580654066 164401980 343797786 850635210 858152294 922587350 81780994 739450182 235369934 537952900 923005486 186627370 646302614 717712270 358090608 861460486 213944526 893728372 50889976 129059086 509855796 676866660 826439726 699340956 421795670 589299718 547228700 624456376 812562210 853731514 263445212 950452210 192769622 33606096 890981472 458041344 464511006 181013576 322304542 413291844 92570902 173448802 729897824 570557808 54623756 715124042 97856628 526559708 120790934 328353416 128680558 166212154 240647742 540244910 14952162 8962888 196787080 637726400 722721196 763251708 578068588 757975160 288747362 227062746 733988802 800458248 86921602 932618746 507295324 818858688 117694628 450802244 661650890 359617806 647712398 48935034 919422760 93703030 899182186 948313388 933327750 598025500 4070460 71174034 712293576 546395244 868407554 862865232 560936698 784850080 631292374 634042880 477496522 866787186 593312654 51925278 132104232 349422698 257351432 350139466 645223762 679148872 829810408 56348268 481862150 797169572 383522344 278099278 468175878 242183240 254730716 349038564 844772534 42730234 858537038 614330830 190511426 98567576 511314756 808539480 140400612 987954604 538973120 694919790 332793858 306251102 301463292 374619150 911459686 35358310 502651962 710068170 536879740 988757906 922075414 562065170 92268876 400127978 796181798 256736100 424628476 673877854 164595260 755484488 860626704 857980338 402336982 956441992 875374982 634440884 347049628 278211004 924641862 222274044 452183050 972582482 967601164 307471914 685396196 689078368 637323052 152820982 679415010 153707710 810149144 703146784 894318494 463049760 207920630 424271322 941707456 223130778 812780970 432288628 649281136 636013306 215858718 490205338 484924340 186229344 255720690 919556592 883655474 975384080 187311910 176365670 958147036 292144236 139800648 407220538 760589602 66753100 399710296 988028742 321387408 469869000 818890256 33201862 916714478 408059912 411652286 703227624 815665856 278858296 958756426 150217472 565412112 461378644 201746542 519463352 349953412 471611098 112327668 974325486 891212906 415764986 181259192 285334198 647974426 726254912 289601782 677017978 201183852 330460116 832223104 535924218 884577260 451205416 864319298 349239954 490654620 383907848 338904026 340368242 459622414 110627192 803725020 36663906 870953012 98875612 830820898 137920812 153689442 630053952 291036862 16369220 541510418 767646740 129395378 665047512 327554526 276649820 531647682 325198558 314784258 47957880 501771568 287086530 521091992 656560042 355193122 918384836 102345104 109672436 387085168 537202464 528118152 151212492 828921032 109253232 916778154 434186896 810813882 477486664 853720444 29953102 723494864 547738622 997231416 81056028 735376072 930634664 585648014 678552842 572229452 934640674 628772576 968756212 607259792 622006318 328703272 328659522 250744368 646266998 710360868 905128362 34395084 533031194 656567966 264348570 649403644 227002298 861094078 758980134 871615558 143661652 589179076 217863888 807771546 534003984 312782078 786547328 319479250 689967084 883886746 487832030 402721582 902524696 628361086 570675020 763904062 780231556 953462396 805369448 922777140 748603252 943310444 155527182 18225938 444082078 935646070 786860354 623109830 739365670 982759774 252508 706459516 650379032 104603458 567933836 913925920 61750136 900488712 623584924 759009176 627209790 65891626 721003446 800178290 658405870 904263516 943670328 901445504 186751734 370226314 773280890 91757574 944642272 683585022 265210468 456550506 142095696 730930030 987818666 1786688 25845972 277943320 423892208 893272740 591750720 149816882 305823750 295000920 717193786 773600184 106573966 402625270 165431288 276049762 861390684 191991584 832095662 186742180 854248860 26716454 311259240 967417144 917808520 103433566 712126204 977947530 525903630 145126658 718252322 589687354 334314992 125520292 419010584 988168370 945019102 857612950 967607530 88116514 30962162 173877300 493532628 799852984 882965706 872557172 725565326 89236076 172153358 728858312 179887082 386072368 83133812 720434296 948665258 628313116 389409442 180889434 873237700 215675002 781159380 750963916 943046172 590896654 88805646 268715198 570785374 214534676 276468616 158215578 589900152 508785386 646365132 380297902 277353126 194327654 925318066 500977376 638874838 960551532 285828602 206317798 899542148 444355578 125482332 917331726 60797276 306869546 997747614 747033946 253074300 111226386 607937740 309055004 620327724 653453064 371171576 716405490 270358830 220027044 730777786 109850504 649176092 58924666 143849964 726891252 251229006 549370316 933175194 956805746 796321228 403007006 317832504 721100886 565163808 467991248 35395882 999437804 330885464 93539838 157962878 898204584 859988748 29491060 553420232 573959822 532000010 809381252 60431410 50968810 119574072 822186268 811497624 397938352 303214552 420162724 130342198 780196746 911090120 934947580 389033156 920924880 298069066 492047114 245463288 573009738 229551104 327542002 29358522 595866054 911158910 925097396 207825026 682881230 782906112 203111486 654576518 141328638 831647374 948587422 389856294 248095228 681996262 136152592 407680670 357138740 19859838 355213668 784311990 267357364 321714792 680808024 32882200 669210296 174934142 512856946 988639654 160109624 352518468 303331844 631512190 29281354 828131902 525373014 987711776 967791928 97693582 402000222 503755958 251231834 846313526 727875230 594641020 790184670 186879788 179968920 619848168 353405682 573356910 278979670 4778794 829580964 77219118 544727932 231458636 147070652 222216028 534870706 692124786 435686284 756144758 610554752 360184998 350342854 966948926 483461792 164315466 630858660 446419534 12473742 798923352 572280394 178866644 657872340 581191574 883211500 83842392 558650762 537859634 273114170 823731394 129698928 339172550 268621628 791204120 464003668 996853412 576323690 111553682 115957988 905137836 5058758 290133308 12109810 638511686 562621270 575544108 983922194 227239010 39573458 92923450 86165724 222828658 908176468 555645706 233595948 581348866 795859436 703058004 306238224 38304876 922679472 441248564 284316514 759765480 267477878 502167496 732343982 121109170 137234958 220299350 166686074 879047858 830296796 819824022 109054960 432999672 483725196 740047678 503492736 192098892 375267184 688496796 349176086 925351912 244793102 731392526 657182238 990804976 172581398 274781908 168447142 797028378 677895088 755778148 677392394 194302366 810190630 67455496 124476792 286836150 746616384 543847120 737596232 397987386 680219506 689932414 751821118 672504094 575622932 255236460 163988718 128082206 155260002 809597094 794466630 444353324 487977838 159393548 705492664 391711902 390882252 740837606 859245112 873889042 725434618 75646596 747141388 703851138 549355598 9409184 287767734 532972528 544525866 544664656 850702934 848714892 867875844 710197004 751471858 610729400 739971920 863191532 554102512 571295990 980613970 803014860 403934348 953363358 812907394 639734498 715802650 450071308 406849758 993597634 913779396 104680854 76386818 289241804 230043706 351419824 822408448 735999716 952010928 216200234 279864336 632804562 256101058 803468318 281831290 983315448 536583616 826492424 409305850 37980822 968227972 843879910 391498292 204785920 297978596 649377802 215469428 401872290 780383238 519631330 978436386 84159868 543534136 141826300 441466424 997443566 457392852 81136162 27783790 985555774 541087114 801586672 608559556 845807434 164591938 175011496 301152860 778613562 783509310 46345576 373033214 478942618 570435270 562040830 827574196 425146990 733638870 568730648 791632400 195718134 405214426 543734978 478811140 643562220 109861966 173272404 406854532 132792188 66816132 951061648 553922390 372280262 891109014 78042484 643562486 101381748 679993104 172602100 96478382 474053776 913047162 928019712 967497564 987375500 848021540 279462954 172167946 439908486 28424478 345368126 768877546 549619994 671803734 619630504 496359754 147838550 983599894 403918664 340078538 317656428 667207554 96045130 676889992 760408982 524092832 593683480 116936186 500004584 384658200 5292294 876164788 866450750 905032210 58457906 162841344 762388772 788861698 916440288 227833680 165727876 361019192 248271198 342740278 646719460 865230440 132880686 860668800 490527410 411102432 230446760 789496082 439627792 859346632 979610726 419399732 702520830 447683626 531791760 857773438 176182702 826572304 857554514 794855890 894024198 419796750 960901852 579749550 797542172 343605650 830916068 398715258 769992250 98623716 931083006 280612868 808671716 333105282 560515938 725253984 199765684 176424354 780212000 693033846 1041910 205784110 197184008 465994834 998024342 496717654 884728416 769957774 783287180 216850252 250407582 642459124 760192660 12086716 858270818 328553506 66811904 752229214 48088156 376647430 131859608 181042326 517493636 238336046 521202524 980197700 535458804 865420788 736242908 601354752 605438908 90957700 740241106 65038916 925413012 221598104 663938982 286335754 77946670 586145572 583657240 151486778 205558256 309884866 105778136 993750788 952124622 440498568 697586786 846019962 697739508 841081560 682518562 454577948 101013534 447675648 805849808 800420184 90411554 999835524 421125194 711766490 24679568 470706378 744347004 219309352 218549842 888999948 781041370 415356860 330326414 747237864 453384688 727566784 907292262 328823072 441940606 550877594 925177262 893269726 700700596 992637904 736999002 704452306 820361328 266657134 207660596 561197400 778575676 441440308 77560474 597324518 740562160 836231428 308654600 457909824 281061424 449898724 416091296 836506148 280318700 937247236 286833928 357983452 452467934 848397512 381793820 464660160 938798478 98130204 406681756 689073504 432597910 354326984 675331580 638786728 503483380 795266476 363624440 466921132 414009524 204193976 684340014 634991748 718533286 445978462 527972156 873563192 727111108 373370894 404303438 750182534 12758530 854757658 177235400 186762478 412978434 124992540 505399116 295842080 533481696 658842570 325743656 632403488 49301980 60807234 755326720 160859596 158011836 237970862 108301660 124548974 160939606 820129752 401391302 237983302 954207676 101922702 94248684 688588360 788362222 843659302 440480236 841291384 119184186 558129566 84559536 689664308 283477172 25180488 72229428 249619648 852753090 254211066 975287062 15620722 218434594 226549582 258976626 715974032 341173866 557967882 180469864 412882664 441502950 597244308 351904460 415853206 643698550 601670300 419312110 164097972 26846250 143502310 666416096 53321714 926727958 453733162 647877404 431077028 162103546 113075674 458176092 499469670 134639672 761931080 317405900 17322960 555620054 169536296 539264578 90092194 166896996 425346028 355912376 957405160 750915036 833713598 468021490 270510706 832149258 531952176 65915074 365222436 640139986 250457342 270651154 188429594 888943264 305494388 352516850 789707274 928651518 241961152 240975772 246506382 955714836 208609376 455030606 563335628 904687868 268324412 54566580 848311752 760433132 427990108 363809672 177225016 431214160 211688372 381538048 563457394 975366162 75548236 170189322 919883736 681344670 802598702 214576078 798504354 668699678 385576776 851352092 287162386 641271654 993286416 866560118 202378526 319764388 47112634 606116128 575880972 626970564 277585380 198618690 659718628 802760600 982170330 7251906 84082820 698328406 690975532 657185892 351363770 22775970 122986596 636133276 988556122 759563848 693601062 219266808 26627128 944294170 857488814 250559484 975912186 677485818 55972286 273589698 94324338 678426350 313468884 904377944 931348196 670968046 998746656 650298818 501208650 647221536 949054450 987623002 215223248 361034414 977590296 661582866 507438074 816753262 59809964 913346212 685637216 292645586 338618226 259028494 923672350 830332788 319267312 194158326 877755562 672861562 864935662 609859860 744555862 127647458 460803650 792192022 215723276 445027422 498752152 454032018 848339364 640280368 690309050 939345274 314183720 199116216 99379518 974019862 955584024 502553216 321103322 246301436 965534744 416104704 865853842 177751258 168870626 883368944 166926912 371316220 996573878 222802338 778773396 372596570 338565148 421770362 639231018 426735366 844664412 843233004 480522862 643542788 703741138 62750640 370741544 158068252 331557266 804729704 49984382 77906282 415413208 396678046 363088188 202226448 213166334 192090646 273139702 974009764 459072918 197903684 183511754 841826608 848804882 492736496 150104242 361611060 715046884 650040300 472910220 862347646 808191326 837249814 558596880 547997892 463671498 419884386 636599126 247099708 704362382 632076092 765882564 550007396 37821642 337836182 366850394 532062532 537746932 154112624 921781368 783710032 516389158 298535590 843571468 495451840 972029452 683158726 650358860 251412854 77033068 820969070 87404792 695514512 799407288 206220536 368724736 165904642 233501968 428467256 732372910 321456770 350253280 116924804 572917832 795664160 325412716 987125920 124166428 522934356 113434588 316480428 107660526 627946046 457794600 709187872 921870682 975981904 475103338 823562974 973830736 472285666 249052562 277976414 575546912 572110600 340678638 111045126 295255198 245516192 378308318 451920064 812221868 768369270 565399496 320680204 568948920 604321612 607862388 411555472 430038978 56542658 514798256 929567904 64019146 369165378 180070734 257688370 650758860 145036162 757282222 669885018 144902296 878595668 589886796 737593726 849386000 301421776 938838012 925202416 793362888 153979206 823471424 893000666 706269042 685985698 759924822 376879860 868758114 82181792 929579064 88233550 218377288 126033144 504479960 831428302 166270788 989986874 957243124 601222294 52815332 845910690 281997048 134238300 46685244 546777382 46014332 531788836 305580116 766900928 220010444 142286982 35438020 552132416 146655918 494904586 878839674 444349476 206586816 40576026 328874690 624350146 531621384 389016270 586147682 308913224 882330524 681014002 605715444 873663750 20861478 539558808 527942382 119619962 892466286 658218762 326827878 296535778 665041702 806381084 56740834 943994944 644082082 380147328 726469430 886935908 551435676 659794166 405295744 915660550 576688656 882885930 886584792 612833620 118754396 731803890 808742184 505470502 487797994 662977670 695317958 822035992 126768354 365093202 782497492 769217128 710554870 728408616 303457756 624927054 666711878 335736832 690925940 343371616 670195404 547194080 509497612 662172960 391673618 773744968 667314848 243696044 671194776 26795110 278202246 57523778 203178500 253703498 308759490 385208324 83920394 102382234 596114500 73034204 205364028 349390076 833004434 847712258 544393812 744930540 849237184 113488408 717492346 775970154 792737948 535591188 284796104 624988600 956408312 308181646 188921528 542838806 274355194 683664274 757115660 977510586 297082380 638463402 509774470 655278966 33476698 357825136 167010424 18207960 631637570 234958048 448325036 86672912 772980188 503228944 550490332 901148540 167492904 296521920 75756296 269100016 503289730 201831764 673972880 841103764 405202754 345350160 441781630 92372618 981068024 751021714 522267034 902330516 121485282 145208610 146515786 720368078 123449344 578915516 208021988 334549660 354403076 837035128 965421626 835355056 428232054 150958444 649994062 210339582 51479932 857685994 792197982 461596130 369788418 151716268 297080670 611923960 992471616 744909876 987574926 732674738 115023244 861799938 560854768 134022008 688713468 115582650 821197852 61459336 798337720 966817856 481892712 186363722 930320114 88288878 978442840 197421972 279124100 528854622 798305666 882737758 781406926 614403094 850555258 957242072 563910428 36635160 283015954 167251648 600549674 458721718 189005094 3528172 695742870 487975186 948837784 994757068 303811460 757182186 753079028 874163906 437936994 559407244 324380396 955254730 788560062 360206594 563781888 494819252 304390060 389537902 715213178 856956572 521304956 366037202 464220190 690960932 174213818 617427404 868037076 683717090 692556686 801821016 734467364 891732622 378188558 227518560 183352698 538333186 33361290 487841884 391682556 167414486 965930806 743575426 136816106 403999874 576243116 668958912 427649262 236202584 169036932 49145620 893051398 821753316 297632846 154366018 107661108 822412914 483486834 968764644 647027382 273582020 160678876 127216080 388165834 908290840 707305974 696806330 909370784 738306348 379978960 275852638 837376132 802919020 781721276 232627422 48547354 512808494 597769046 855792930 964038266 89812976 4412484 11345142 484955646 951166310 863090904 706151710 626611384 476112044 752805678 36585828 169432932 749764356 707370078 469298330 639128282 198764136 171396762 247484322 451421926 249869480 994168016 404069732 180777576 926980584 201062182 111433614 540200952 734742180 43474260 294989186 587109676 382989806 964493854 325574472 1828920 84396736 644557180 853824476 378791980 641576386 404197816 851127918 646459332 432407954 445873188 435461074 21600248 894429230 386678110 238274494 559909430 207577906 995630174 20669400 765216964 347937750 907838764 985049000 485522476 686962140 551952202 721068946 706067238 630123626 565220578 272122848 948063738 759032858 422573290 267222986 427774176 327968800 989027604 536106324 733431306 854933798 722155794 172297096 529405016 998990216 310282146 769403206 107233258 735279814 255395654 282653250 274194330 807773080 811318914 583130788 781191734 281065682 688564436 853661190 960763136 233790222 655307208 47346716 242444830 671768196 281645388 624423936 87214894 474987684 443322312 695062210 985041520 11344250 347046614 673835430 620373604 577430080 556722482 770079936 706927278 829025722 991104320 489986830 614445530 188330856 556906516 375502604 768058498 449774552 911273814 487669126 152799154 442426650 18535594 850169148 478662602 369451200 68180394 464378184 596863580 853465796 202679950 212098536 865541644 84026044 966425370 398741054 163759784 423267008 788398118 469966288 545877378 590934438 327878406 671932518 437311076 734963308 502194352 183124692 737968338 408594438 966065534 315570264 64514126 490105854 864517322 38428700 530543714 100210956 963484622 276160294 605730038 22129306 668133616 859776988 219461102 428095290 288900558 580916344 258248230 184244464 613348026 927389216 205079738 785127176 178585418 83291214 754654852 668355088 32378308 109622234 833538516 378044652 538910184 192993518 265001506 447006174 834498770 937220378 382841318 537269940 713868568 112761926 459777736 633803340 404733300 902420910 303549932 557971810 942872862 559625044 196933444 307745944 236620336 112496460 969815160 975398266 839567882 595396080 492996026 620801784 27371740 860407944 848341426 931085560 451657718 965477916 440129318 613227882 345017392 835033138 650697688 393320940 854647606 877774486 51382662 767379408 423082344 658143932 378393234 79032472 384103384 778317530 269857960 969051936 138571286 606692388 144146714 945054394 325329944 212012088 144284774 675663662 903249156 606319556 732085044 831472094 257120952 920471552 12135880 588718354 957903858 403777266 64114478 727721804 675193574 309661480 378903204 858812578 511336234 928836292 220404210 924039536 820667890 476857916 540475482 955687192 112454030 126527952 393857120 459376942 893698358 258708740 848901326 566895400 456662918 859913942 294601102 159631588 684823546 440773682 112276020 261481854 565820948 660064828 860237770 808632410 705894732 718092980 393774314 167089818 381228126 200090352 888849170 491144430 342074632 876771154 628531256 29588842 361429562 181456150 683644086 806356916 988007590 291261106 105405226 288776594 373231870 676507304 822419970 710282776 999334710 105441794 211157340 853117470 280121526 584764130 313696628 198659824 819302212 527483470 38617542 400274354 238910370 227210354 176773106 404453798 778421730 331497788 905237160 851040078 466170722 808260300 290988372 434073690 282210618 484549628 39956198 150429308 453448278 618331182 890549314 135877526 283711858 591577736 624441468 920404880 660161766 910963554 841812420 226587714 388020654 817987174 843897250 551952978 718347754 217574062 92458956 105873012 667209652 654559276 256494242 82066960 192119476 222256900 160551050 835698440 4554260 508198074 300391282 401018496 853919312 164017008 676190098 170903222 370206032 934862206 978781022 804355054 456146966 776289094 335410300 215939746 934108878 741858342 692060144 45136258 498027336 705812234 444354096 32290240 926076754 267448054 115762464 290714242 233447366 365302060 836461576 844698334 138129512 176338626 514161496 420364438 233787922 139697070 483439492 948641106 913166234 569529708 342312508 26391476 766365990 184476766 989474074 633921548 892375072 343188932 791493792 85977750 47929844 830855470 493752276 584722262 582862992 955422136 426810308 532398414 514052148 10834102 283660020 666946114 983973556 717845298 31114908 172920516 90659556 843507296 282744404 617970180 361425232 321755892 837699426 535779844 979564152 598132664 279261856 120457038 253224834 250333374 139901250 353834494 917754118 436851218 381602664 491920384 468003294 443024450 365392294 251818832 437778892 386636632 645358498 160454356 778238096 546994730 955897966 812909688 551743266 941539212 867219380 87754798 809654278 561026940 610319844 498310792 975952016 343425820 643854770 758026080 772972732 283013966 759708816 732288542 391297254 216209700 377679016 185122974 168234824 110291008 650412526 149876478 399954938 961823104 598948456 367463830 991748188 421721216 638790618 337829340 312547520 177818674 747379910 623990734 348051248 570829244 860021456 986558048 448974528 582244534 137391204 953594678 809935556 355283972 886886190 277365874 816359412 929322644 349069110 190236536 675216030 518214024 210816614 361649566 327364644 692297566 453542724 305210260 199702484 595767718 214368278 351705160 799041744 224389538 158260220 589734138 547404310 15982878 329258970 913573358 880582316 758569602 786224094 125070624 633617014 437912792 752514510 30137936 342797930 415702268 301191508 307249106 560783496 633304716 667977866 432612780 312190046 533768694 161614264 94499898 216832774 521007240 22352140 165612374 180524862 268302732 281121954 675956536 817426626 574196542 415845240 961987370 935079578 94768398 946213612 166615684 383206690 529239894 723644240 668976466 107419942 357766302 903164552 507161954 213140904 489151264 48457508 503749436 310103026 152061562 159860860 599182228 412026652 889709396 716547920 346203386 411475076 190769262 118664994 994659594 600556378 677371584 53590156 447719774 761370750 349160320 607192808 308417866 944947552 983851048 183152426 946946674 976495140 502515304 302793650 834754562 439745160 580110316 29642088 947690120 307261018 780400172 563077792 745335286 439974284 459851436 768786202 590491478 360542246 800963446 116061008 557490210 481947452 614873740 369118084 792562550 788227202 854283234 732696394 807741104 483005642 812501572 600615782 67997584 531121358 447069496 531628514 44651040 874718010 443378898 836831562 674136622 320674098 175385332 101217776 342972280 73646914 141159162 354217612 552536890 378629356 418688716 751182488 121095196 466943442 281389760 402295382 831302520 267470614 261082958 845220274 990931460 707245128 166232086 646822786 155024322 612304196 671830282 582909692 690506940 217535064 930280212 547850244 389282164 699201606 83869632 423148046 977597632 8022394 789748834 182228514 391839094 250380368 229076530 455817264 468303266 108632224 795377122 361629028 354289388 878629928 759413608 661985834 992429054 846926446 314088250 453162552 18559986 672613676 269137512 182916858 225926672 789637518 215964822 790607816 600470438 948508680 337124154 450328312 722029188 337283916 708692142 258746568 924320336 191984934 590697716 6370486 152512630 37267922 165924590 757124214 280557356 833484174 701331404 761195538 557931516 718954312 144800410 90333998 475637818 185168992 625339134 524646822 999549030 790685074 706499346 556648820 496219568 849828966 153314172 136501536 111628212 624182682 284540684 942893924 126943582 131735560 886094714 107676428 610328216 208721174 303703420 600897370 435631960 270181094 777820668 772874802 752736816 848681996 162067206 294679708 48498270 515244958 960932686 422746034 645134294 694956268 811818868 797746566 84882046 842092674 47337966 543213446 171501748 50261262 391695688 790872788 810739810 801933618 665493622 724143026 833286570 913951290 909377526 623123778 476307672 180275442 170954752 439723048 451036576 777002074 828117808 302174868 498177426 590122060 341704252 782135382 17676238 53761674 306655368 993786524 96420506 143054006 319724364 838346066 126679434 783303272 313914282 493816880 664720426 539396332 324019828 78087720 666914918 189761858 300226830 413677076 997524060 850809874 278292330 709082434 752995234 775543988 885970898 809415948 972865890 139077914 698920140 822927486 107238 547575714 46610546 740713660 522486480 374449862 562958790 827570918 179461836 149892494 135303236 583488168 233857388 807086008 602783792 261718304 822536654 626651868 458768770 440643768 676599044 719274490 154791964 419164480 688769608 379502300 310495376 943704530 896776990 996946252 781492332 108317012 485278572 301576322 734690996 748139056 947919400 275426568 128628990 10346062 947136758 265821780 611769018 429685800 585693274 181038862 513856754 470123614 836249814 351942052 83025230 185410108 991791454 401163670 853624196 316262152 755899818 660005786 329904452 677875716 307021440 515331042 621092564 427323388 277350772 235863772 242785574 25868430 676301308 654673970 885699052 12496142 549009814 699713624 416999362 414981740 689740252 722794136 767183782 117421064 420813152 703625090 53856014 231161410 322759948 435051200 508076942 953608770 474712670 557418648 217188916 13014236 988141650 451641416 861620100 177960920 389154074 949183132 231094412 63742670 206468052 842402918 67051430 497197238 668912366 189197010 790269742 986915324 873551810 319508758 348655540 964634758 915686068 974649204 437263506 698733846 903780398 635028522 420419612 437690 923347888 969381714 624897416 733363456 381357130 220094418 625734638 11138760 66568416 593280844 390704180 397562642 224063064 906022546 185878362 271165494 225614094 155327860 387829494 894380316 52921616 615651948 385661884 21116794 752987038 82309706 10699686 214218066 522785998 473676714 597648230 232848552 641575470 498637712 962045694 643827110 879310156 182168758 635879700 103946588 305339536 655660054 514762878 834798014 73589920 106576420 928092198 22325356 656880532 991136614 928343584 191273264 519118522 76471470 438087886 770714572 716923782 328002514 991400256 314141868 465938070 219778504 388603788 209158012 659561266 165864102 731261552 105422652 254677048 252887326 61157702 941743432 515449796 432518376 732408518 616999286 98964012 467021690 253044704 83823650 394546496 233874132 11515660 16946868 184555372 617413310 999670336 784022404 264739498 437094678 40647906 762071736 429298458 509806028 649238390 872452398 156018240 649143732 837803248 865082282 435547970 388704058 949545586 799887706 555790134 344558262 527252274 996598482 790683694 108353494 524780112 180344394 703651204 989654132 857631112 496839736 18932132 60089430 8449412 168192390 536289024 553332718 167516994 668229796 662927400 709276412 186488432 434382820 372899706 680833610 998783228 200698778 350656212 276876476 726355922 172640224 479526942 427488654 269394168 842149642 455451294 568030092 145809480 95927622 229590454 704280296 619919484 498500046 838970986 48773198 334749208 854304602 319705298 90197354 264097886 913885800 40673340 65527578 502734818 317798408 89222720 707841454 657591054 540388176 197913412 549382036 297383212 162886886 937159042 294649534 139804922 28707684 992865276 37224124 102887794 887229158 587397724 293947146 569019968 615889270 751112124 436382326 886022676 922678308 596124502 95790820 708476744 700697320 649193210 489879714 248322702 125725410 864830644 49651718 709081218 600982980 156221834 283774878 771008556 373798746 490067374 366648272 524152814 396254702 395912580 277828912 466787394 200247572 299303914 951508100 666209064 370328256 616367398 799555508 893211136 936110454 139061486 466294728 457131394 354498012 465240752 72514246 152443560 562248640 531780412 126784964 933361960 270254108 941085362 622708908 517571614 526386170 686596582 83838218 318675772 558790812 674766922 392764772 251945222 141993344 440898000 579451304 998304062 762983748 958451050 480366832 436395134 940305470 295883692 382936126 652369768 929423428 295778656 318475024 311255618 116508786 251683272 859760586 227827666 57180262 139119446 281347170 911133110 498265052 513793568 331294178 113469890 878230374 951674402 168520636 538933928 502530582 85531364 61018674 74242286 98512174 921788810 289918194 299336756 275653922 337332560 106733414 905335526 943808430 106268962 416881200 92284744 101801640 436815276 132211014 468576934 612066736 64426998 147227080 753043896 945669626 655722982 8664744 884581150 473019882 263856116 86397040 404093906 260355144 638702274 305452074 62551452 954164148 611465788 442847216 128839444 877843298 642510236 397898506 484734534 427141470 349098814 687466748 27949396 488775526 724367998 503714560 545011906 617549316 972212646 421378740 302877144 530734474 644440856 279737218 238361440 547313976 794488626 619179480 779045170 901215534 477799354 23279054 197813358 137429186 544974942 583123158 440584384 444916440 68058820 137266146 461651642 478457472 645056666 685394036 509423190 694676520 186728738 144042520 227808934 212517814 485435418 7651856 208842000 804372618 11103592 352828260 469851312 274509730 473985578 849879882 130465372 763279666 422580946 84845224 689064914 753429422 457015974 523215682 651312732 308159084 152804910 72671440 268756144 824324632 567691732 978956646 879686920 933817766 889113214 318160532 620135900 185394888 16867346 20125094 953239826 799848588 901792572 135955556 338097088 468597210 230636002 788067790 5731522 796690254 817747020 907870330 529774596 691431438 939759570 969709808 621904976 449958194 620939770 536574418 606275796 640196536 943299954 131403284 555020382 708737714 1556568 723988452 389820004 940031950 219591912 407087828 664076118 689918996 623218634 600610456 832686020 51075760 782495666 164022410 526276198 853945958 610917066 50635476 568548816 277715948 688380826 161507560 487942134 984281960 426452508 569739892 608700782 930894426 725239296 11695640 920621300 371207752 904216340 168011478 985910232 469532340 940023744 646965288 655201976 606143106 186467920 608152296 729607750 814311888 708426920 352562286 440073848 850875606 816692214 528970444 518635442 25048856 446276296 312555100 502966094 143869010 916229638 351786272 257018372 926424014 13079376 818012688 996163466 258110658 828230602 712430254 182037394 401049324 532312180 786824350 871634982 471433992 576057928 922489158 274699454 2527902 198309660 774695838 671876548 936123644 557682144 661972840 454165484 83929934 943550628 535026160 303535900 905720592 727966062 855242568 210108132 646785626 674968784 180064182 147087786 17793422 99209768 563404302 812926402 912729710 201768508 517694970 104819258 282126134 403567798 453090212 22395116 298803350 3185464 854214112 191372452 965994496 229896258 250806588 444448242 889045264 607578810 185853916 72597636 909815028 472630486 2126702 256563038 664082056 559488442 355911532 37236152 765603520 295366624 764362384 109311940 980132880 481574866 412603030 506421120 872635742 786286810 811732772 709780424 11468182 457929076 325240022 313567520 77450788 885945140 266303622 184213920 533665312 459812394 671112692 201230138 975299398 829809522 682199582 987967250 980614910 363685004 400078198 257052482 787544070 228048928 191452456 320378396 91553370 416000112 6350426 92758846 217186206 827528066 140990600 652513590 672790618 134815544 52726210 235780692 594774896 940310132 547712234 647566618 385428252 688152922 191874698 776896294 49873110 364174024 814858194 820993992 681691984 362780060 886602262 822376856 906348434 492370922 332619964 520392348 321123290 848592924 476376376 664205044 201021018 269539462 352922916 469680134 988621512 662476702 793844036 81348254 822022820 253873828 531979132 351935888 984875766 754296486 482794840 146315602 387992950 475810982 909362034 870210394 52566350 558455948 92616736 740995120 820938274 886386478 120752450 314232538 629610876 346626354 229382102 44563244 735707390 622725518 288725962 821888252 250660382 144813514 501209526 822838630 513139158 808520534 333988016 402437282 161215156 718347074 996608018 697657008 774811096 390006480 457889466 553557354 889069176 360602692 379227572 48675984 185422426 305989144 975717104 262532098 494694452 927931464 270415950 467415210 124742458 542493880 192076860 24145228 970135684 576439760 937166194 783784412 859750086 129653424 905564874 341299856 902279960 291375546 638255276 491302330 583484502 892851340 820061626 109874618 687211520 393429244 899231720 327758370 630496884 835015928 734284562 328437212 318967478 4999726 559572624 749700648 534136662 54672392 875337782 869720722 338617050 844976372 634836452 132173904 581882086 440845166 104976042 339332868 604293008 517364242 596195266 57509006 426742158 162906656 581141758 572765638 36907164 690336908 225755188 596082370 430013602 557057348 762151236 936458284 760031566 660070880 955543022 167032038 620979204 809949894 739060080 146243990 953702878 433570880 212223462 577522294 93259442 285882136 623372610 575730422 794720882 915721798 570269770 347325524 389605044 910322212 359750970 858399416 649269070 335631280 847338792 231183320 680497894 151821858 660219576 191397134 134042872 231861606 221221584 147224130 572204234 381372054 378922954 16738708 121715170 544087418 982170676 875103752 43768722 589313770 508128220 717197848 848981928 553635318 712315640 407264542 788743866 125412008 655035050 629490958 272376006 740391726 779012368 54561896 191360782 790619840 166082066 564083746 671048440 562078224 97069132 744189968 509512742 779647440 844080328 875800784 629839346 400301320 707198204 117415848 414771502 383609320 427270114 538693062 14065638 256476002 999042508 703332708 347735494 147203928 20671300 707984506 723027634 948874598 88049606 8118146 83128368 186567798 298942014 138878636 774104362 11868588 777853094 629557404 394137838 437357164 941824602 890260636 206352572 219795062 716306926 834898864 335539352 45117780 47804734 650312976 122875940 239416836 736098138 962197026 706566672 686569712 471300828 322618194 65470388 984367512 296597890 464159098 272047448 562151068 52653200 205308300 513454864 300634104 185537418 244361606 991032132 360063860 579023536 851486262 852029070 677364234 512708708 304964124 895678724 747254126 521698376 162393160 67502424 502166094 840990294 576210752 921771876 736657228 761647952 10574788 369182054 377142154 63456608 572763462 434605938 539800600 457550620 189603472 938342110 96946308 577929740 830247984 955866930 358281380 880362178 680604558 842340780 269414986 921299638 225084014 424322994 582386914 156050386 984181032 112144796 291456322 266156038 962435610 896450982 87081886 317090230 384996136 558528318 479639442 81956360 282619542 101730926 240778688 597787616 649847372 555715374 644726594 841229150 460269034 448127756 130692938 218587510 44055614 301893362 220198464 255655740 438438306 475873952 218739480 942848150 853132608 375030674 498142558 279518884 193405212 385157730 910061440 670895260 288581904 922787292 963753238 667635966 93996674 64043612 943194862 425406560 718546446 583067310 641238526 569806236 964974680 150222702 550906412 874138778 163766844 399872016 30536128 254967870 420582374 310814860 167289730 553437768 537390448 54062116 485982358 874723614 195935882 298833792 509262244 898957428 899090648 161145202 409986012 261526216 726397316 422283020 939954940 104651340 610862618 459906190 192336898 310788582 991784264 152454500 527028934 355145802 127754460 343189460 941225726 73532910 178410104 129212000 48263808 890614778 746278658 403982776 714471528 342957102 325010524 439914656 708500940 2249072 735832394 120552392 771969474 322195762 840859374 36335268 856696310 933244576 576122574 554431914 668708242 8037922 783970768 314303446 849781648 692862184 320901324 938222806 952899492 408298420 741280754 854386594 684719268 960105174 732105710 777696560 995253436 628397496 797244268 219693760 69629638 335004614 977802020 231126562 706848930 320680260 929157888 531882952 470150562 245965608 850972434 17182800 529212928 270581380 338905932 199350 938001958 805437970 452670598 625641906 48493418 312943270 70722428 50452274 926210282 275549996 389175228 81974960 444024058 233833780 837139058 862467298 579908548 390684524 205118622 452453144 541876636 242120724 185307472 128830692 423309674 726335250 626356956 272985342 144362606 665294574 676011978 26280408 232918554 747484574 810379076 182429034 785476164 921909502 143858216 59172804 623569080 197515236 669166978 928076178 550519462 266432726 527167320 52913574 891642972 54748872 162081310 283453218 124745952 639666188 67788620 946041516 284725348 509720842 147780364 100338518 418041276 325413446 619798380 541177350 928183736 876414312 536764844 410344756 577291868 183486914 895872738 540197232 582384160 267907700 790032072 863808916 428507870 939845676 190775310 569961014 257315992 169071692 696041688 329287616 618962070 511320428 715116472 119516066 410781338 909545058 129301924 555180740 185447424 60983438 934396598 31745848 789683760 84441460 635500556 848688140 250732036 686863516 42573028 434601024 739402752 288119622 181751110 287402710 600795344 352828356 582547396 888299246 341596166 971136374 127958148 111697776 601936214 272848548 529818922 602378334 638701738 515932288 829951006 13323182 468524034 186826974 391578628 416482934 326305662 813627716 62339270 366567392 143050456 368728912 641364798 49187512 545732256 872900174 35309964 940436984 385312746 258494786 301878516 279192062 983153632 533366418 392889344 820237714 152203966 180200032 429606072 197870896 348350380 698273896 283394812 54630290 518620950 999283694 747174320 812416670 916794382 257214156 941166046 583812444 242717096 320666938 180960518 603411024 917505186 681888098 436973716 536729634 232521094 14159756 761588856 999558400 101353048 70997796 132390076 736395254 52632038 664518474 300025330 585078172 519436194 745554988 343684298 610565688 966812322 832009406 739105142 211904570 842330768 179327538 635485944 37710282 100111190 487112448 68182950 808927712 254883528 438334216 136718092 757338786 6385952 126949186 592949738 919558492 593580606 885576398 729308262 193268372 603666072 597031150 225389090 446022940 878496608 340344510 340457224 561296952 127424248 100899118 684405206 692351716 983665456 142793454 742926018 365074798 961722512 106452912 890989824 561530868 963000438 768132558 667033464 785350094 135360970 260522158 890362764 29148946 801202484 282422860 222676288 784960168 872405726 15976302 626049664 114671230 37682916 306620504 558595244 299859502 972941654 6700170 277727978 919692590 706590720 646900706 451705098 282560270 496516594 393515274 3566620 476927412 451306764 679248426 734053970 565931704 757267378 350958042 583622636 969473632 538798828 803883622 608145126 698828150 907271280 740490626 704053210 839539756 520847956 704363940 231413570 579115400 974778910 560277440 389988324 275019158 925365414 28239078 877310342 582309398 294333086 164995428 923352112 884948130 314432148 181251404 928660818 330381004 776176250 416045434 768364230 953942836 849291888 484198466 92372344 773585132 919187890 656802056 442225828 424054260 318949524 316518684 193634674 378776114 516827248 243546088 62208352 186840054 148398194 447169646 386203940 737058412 19880256 936469114 716604124 473114642 491742922 315091608 893967848 814499226 871193108 625300982 428833334 358597662 785419960 374599182 117391748 66203350 206498556 750829206 122490186 612146584 230008172 607490444 815020488 243422780 922647190 909653136 325911278 297295090 19628690 659433490 169248454 437757454 908768646 966533364 849264806 890442074 46784404 75491580 650205206 429452364 919631226 578297228 928545092 586309600 770270036 453908570 994397668 971666784 650018500 155531422 664448268 388532412 100640470 999568410 315943416 335950774 274622730 566899880 357178632 767933248 684362738 261393340 8241986 448529716 526910120 913082900 914700918 472002098 548388370 120570514 992671818 831237636 229439822 162049168 86240582 867683286 773347232 945194760 46332404 500121638 451526326 316925184 84724476 359849698 723188368 377584478 117636520 731815654 879794292 337896996 325619276 437280618 587330926 97445176 957133984 295585880 248987622 509066552 467005246 340652878 587156134 332133010 763927414 996859176 762850276 822789462 313359416 554979288 905762258 592661254 509401590 212300782 650570178 908017194 613998768 417039538 673739664 457342216 71996618 68964958 10110810 848891476 559167146 913986094 423999776 834329216 796784226 148664446 640551898 19236618 5414244 6518502 281065670 431192016 909570446 44232454 173465188 173500988 251355784 890253790 166577608 456257466 524367600 806356452 674443112 797387676 171819700 982483680 11824274 5294306 450315288 526120026 806903220 96914412 373392430 626598852 561327958 63588692 260244934 763988112 491568858 863213618 408284588 835009980 873534694 990003352 897536256 222592020 352692050 144796360 549703366 268612286 226510826 695413356 456776866 550628042 824320154 44119524 95323968 836784682 186325526 20549688 881234354 595697474 863019130 536249046 405427988 783297068 713013026 819001244 299003968 883559950 27293632 574308380 513998052 819621278 269696930 683391562 565430630 280650184 578226728 342596454 513951892 306530210 601909972 808572400 471635268 377319364 625706602 425647096 17562216 109767542 434995472 857771798 731978404 658578232 634140906 360102618 94282630 862399900 443337636 214186726 536098426 774607016 11802734 519365998 289884848 119935112 899518352 217694404 848926242 665449114 847854862 793403216 789630762 22016622 431904274 868671984 665119680 767012220 128153250 809987692 563455522 617708406 95972918 429427496 987336738 403843182 511981778 275882174 444490774 449106560 219718604 874270656 857239234 275690698 222411306 506496040 831840466 777539408 337747442 11811938 512972380 309231476 497558200 553926146 486167880 115567124 248866808 462495404 33848816 83280382 60365546 946549588 695066164 578271730 101400016 666088004 75818320 177804692 384804046 869956422 395031274 261157280 271832922 527623728 769239512 586004330 853386250 125520236 447481100 477676674 44041774 772965204 663371174 628765488 322099764 627577738 305715696 205113146 352052384 346958186 367752028 549794420 106073068 128117152 506427256 759223210 795784894 508139500 766197596 208403112 717167796 400495446 668161072 207121996 902938120 843132006 945270870 371041036 959694354 105848670 728423178 245502598 820612934 144982238 988435886 266347242 57619254 157481988 391005564 181731528 161442222 272293786 879259560 659108402 697035538 101970626 458929074 217212686 499603044 888127826 741721490 945591724 757263290 862051580 515636342 537144926 923462980 772082408 947488866 659097846 415793008 882664984 843977118 433472938 280476568 639336512 621659016 906891854 526063966 891224044 653700844 178956654 238196004 763423534 872527794 371314328 447029722 302148010 154396924 192445142 873820210 200425320 507395746 715456488 123504262 668514706 984164134 6345814 953681324 69468818 769924600 300129360 60707378 139130448 709622110 834220134 682399594 171454586 374723994 711888998 591552514 761588364 999553590 702752526 28904106 951788882 159997210 862909414 773632786 870449280 118731674 943658874 669915612 430681654 429042906 194601898 81845094 520260022 657164888 815026164 697091342 991157328 267168616 892920990 803927272 826408880 967413678 979716386 70080942 934874982 341401980 160923762 201787146 139260030 189228740 905777722 587952642 361180018 150329586 324031722 362878320 997998732 862063368 370919932 175400906 248188364 160538496 956480258 125821512 670485330 449091186 870943662 572158714 396480416 964993600 662654574 494419846 420888956 391207244 942374060 308719788 330057338 647835466 619049146 811362406 704826538 158146036 837669220 273229498 154092158 63344952 979203980 451543036 913486138 360116834 815743246 290818770 168092754 522657604 849582310 839343716 310214676 662570414 463881250 847507102 912347124 363954680 484860824 749878046 628245016 347115882 820630614 342998020 652119444 23672000 590737020 835607560 359304588 219478790 647228594 808569960 95058676 809514426 649914396 69669254 1085536 622719888 394133446 10118892 994854276 500587844 10711448 479101770 520765484 138003318 624700734 872242454 97488674 372709786 291268114 409115322 171620464 653157554 325322764 728897848 870446292 649126978 967141072 611138210 372790274 940583378 251417810 104546366 632608116 992264856 475179512 55704440 997140750 693024812 305644524 681984434 170880290 142433778 468911870 642019578 320765562 453624878 628689244 961289470 994298292 94348044 25864086 50121822 517440376 357186970 30616564 630818982 669612950 41497540 782120480 444091974 597260794 633657700 517887582 619000746 434968040 9021272 822538970 641198234 145035178 465870564 979998816 290680962 689021336 409623722 637282962 637121952 84055182 353261298 216423974 92660880 183776340 967862548 610009950 766756576 334525568 151620416 416315276 368866176 737932134 687499104 606609018 484912190 119975284 47842792 797878280 761216458 237367204 51146822 583083062 320929822 742969162 42284038 636000690 712924234 998378452 979218920 41407120 756299174 5416048 93497032 606057194 106664040 115820550 576230548 3614650 847015078 266357452 541775154 520208268 38664078 196106738 888098868 569691928 478496576 815773158 697575954 654908568 813810302 250561844 211537842 190237950 657060578 891129092 754192688 178301502 847435092 908151874 328975190 752190598 273059648 998523564 314260232 937824554 65183566 425036420 485611286 115463538 889802038 753805244 692411444 923499304 580688542 778570890 217535772 490015786 632428322 60032430 499906766 367007190 940214714 992667936 447612818 405854678 94475842 896546550 222348798 786982394 792905134 477978414 177548946 504698888 873505834 962148742 776397320 332198398 698648010 11173460 252953248 48720434 362303296 314235424 767294596 25853130 134444354 832419242 743362328 671127846 410899098 517716834 374726750 146463056 950546428 445739506 366119980 273197518 400740470 217700502 796150084 974530648 841456712 989671002 332810054 176865868 286701904 391034724 993415702 878462362 261145792 27960202 615699936 840033642 927296894 552754714 192354984 677637938 11601268 581838054 329441142 153197672 984228168 154421150 814194550 572072256 506521772 512392512 462774696 791054588 893870696 196351812 758086182 6293780 213780168 214858396 941438134 272526262 467889614 249597184 389864254 966835214 788876078 277410590 161994416 453090048 123514642 496105160 964580990 652405062 609437236 850970008 191879422 379127410 443591332 293149434 311742968 8415196 188090242 227168776 203060116 757425726 430543914 839840106 335929976 396096422 46041194 910862444 297648972 421876600 92761080 860959288 371716564 185038116 450514106 53646808 333963248 587705924 133687694 187289102 794283340 147808416 710365886 797384220 877144080 922135682 408657454 66094842 150959766 698023002 629875016 296833842 684764428 682475856 269673434 817971488 822000084 204288744 438304282 384330846 7022888 445795710 313045376 579031072 248002664 459808704 711560754 719439568 744735228 837780306 61395334 232096538 903539474 825683044 516275426 975021636 581247468 518158938 312302196 103032854 766703862 713709720 743829990 653331496 41568982 945509050 870008530 138108876 707757918 67928368 873841216 149419754 479851012 847659110 11938564 171283752 66537428 91073262 108149228 738546746 725791622 936932418 488572226 733810702 446616312 36900118 353662854 96240202 696045274 622212674 297998198 390801788 40246802 875328150 982857854 933014162 125243366 316004336 341279112 411842310 553216148 246880824 951590414 74808524 296584668 914610478 245820160 782092766 219588196 501543220 860504970 872857382 319103494 440592754 822341990 883509764 700916132 435910146 879195518 708540636 996515306 612015440 791604536 93602988 783378570 927839550 91750318 514419456 314840264 618944352 426123624 889546994 654590796 189150464 42214214 471605558 411427998 176612986 8621702 909905350 437720610 983227658 969539796 208177706 791718876 616360718 756329210 504364850 452542310 694565472 894145812 318714720 718016476 760968068 420508716 74494696 794706338 644491318 467585376 181244508 422534112 93545834 558732230 369679866 610850838 515329486 937468182 220705210 792341810 727176398 919209310 504584502 149800132 234397512 863074868 974072814 158861186 952779122 417965940 32349294 29127786 9456976 852811594 718479216 583356190 220228078 267942016 529270418 273191542 535847776 943430596 88043770 700249030 951381738 267580636 623745178 587857518 667602832 589348446 60220680 299754798 666938490 224595008 53877028 340742992 663269604 924252024 499667900 167555298 815036982 748223702 80194510 433452812 477749918 28042744 435599516 487547836 827289608 133712082 1692148 984333032 38151826 758332862 394628190 304762998 215161916 43463500 638848318 391758540 301897882 268399528 947495752 497790016 9868098 599297658 970511150 312936536 203129300 497765938 101380776 479645372 739017774 923474456 734063328 808090628 608979312 12525030 717349018 700288744 289678842 295362866 920589530 64111720 853970734 525349508 262432128 900823000 40106450 854206664 772836324 406152012 427950816 370752512 291752098 962699354 422839582 574089600 156620794 296230122 157986882 828070076 444329818 329029514 917873544 945760930 619578608 803680036 284267756 470366568 235674698 761255988 320509312 966340322 18605880 641107400 213220488 41326692 840004376 630415880 557184984 529972472 852423464 82098640 716272338 197036612 155889606 26199166 590447482 804396506 132071856 639078682 590070920 56962316 963121552 915215916 138699416 765986620 579986800 179665946 248462956 745588210 126026036 86097138 914184646 295995090 595326818 171404494 310006808 994065254 548544804 185506364 843398208 210081148 40672062 9286594 852940272 474435546 274407458 945715892 807474810 635138890 846646548 219006580 825404068 602525384 881084040 426264634 534744856 609132938 659096524 808374852 898132928 477615112 376556492 638082490 431356198 665442848 813036638 349878568 351017242 199728368 819635304 437227300 491046656 142840166 477090426 247926288 467169008 396464400 46760094 693590022 641794736 963525238 606748660 243343612 654874596 908952420 192413912 439480278 850573560 617399020 693674236 881159936 997347068 52233652 903903430 783949842 80976194 990425870 69731386 2273602 358653224 329665222 742879568 528275534 992536240 522773192 732683602 235515954 56378870 318342592 585947370 776813762 575385070 42736260 27870680 793689774 949696604 843051316 324036018 181102592 953338012 104850124 408361168 50665370 970421986 684027962 662137198 316648588 11807980 471013118 388976494 299347398 33000320 731200674 862607574 239142912 559501080 505175690 735033078 39834304 753554182 623454142 271136056 107231072 338160618 309860980 246280848 336897654 533412234 630492086 306266254 60416104 273349938 386979288 459814762 948163630 729097010 963532102 380554408 922870894 803125740 286963294 365290594 832692762 177657984 943920620 410991306 764548038 77885792 468879172 114047044 283269992 39680352 208182310 427864964 520510426 581750746 211332800 404545326 201646332 819103680 708244910 211027656 758802008 538998410 926055240 323181254 220707286 509346332 201115806 821827128 236464924 740552628 750937710 470913144 912556890 553063218 511815056 453747144 204750912 488427764 168995656 804252654 40534506 495632006 725672162 82287462 319953430 540307098 243497884 86858798 249635152 405330938 564632256 302855374 447883724 236978164 88021360 97394356 103251892 510038722 419059078 958436720 450978176 506287536 34532464 531565362 266360234 80770744 558536972 425526516 359548554 614561898 4140560 366700542 942590096 913934938 294308800 402533874 365744344 555081048 331034830 221184642 253284488 180288770 481882494 354123130 885131386 290328126 991850530 871698018 844121360 100228648 956303226 239469592 230152504 64535664 830429838 169312736 292741524 714340530 761850758 411713172 57284308 308248050 46187514 753562400 688684518 829104638 967217424 485717046 958255340 142932114 904474046 676890878 113089770 834654418 573615114 956259560 818429238 970405484 922175602 2661944 72874432 306521916 967370046 300106066 81624702 343088746 990568602 271773350 58163670 637065358 867823618 806803476 716282604 43220936 855745486 112179646 84482080 519523826 357651538 215912768 203944466 279968712 449840072 401545166 667420 61939850 999111172 587214614 858036562 572559554 389182568 623038632 252251204 206788624 290072100 309412214 668840328 741453284 725538372 632413486 726369334 935425248 761469218 558668756 86288346 113509228 259965622 271502570 418003506 875767612 382463534 608336864 955540438 669583628 243996400 38208582 437920046 463840946 748266590 196646418 731954964 269132296 78483974 850888050 386120222 566728910 501603418 443079940 436702288 757645160 209986824 645493482 612450350 623498414 952363944 337968094 382272400 608175700 878264712 372822400 287218658 939723988 472968842 893063138 618675130 497227646 274766762 185220274 36569612 253246432 656335522 240624590 511075136 482273312 759718050 87896366 929452654 531672920 821106830 419734596 829383346 959074920 847810948 323665644 401181018 51362500 213473368 185923458 455594212 386192770 49332164 211198262 583484892 671951886 322875178 427383276 767770898 802047562 902107240 647200198 893286704 259970240 454520824 646213396 423809630 26694028 229869496 643024642 270531846 761073828 795285692 399210380 214061722 234134018 888304802 615617770 756165096 194558722 520608234 265020530 331320084 720019352 696934044 973979702 479351152 291274592 259358060 634512588 279064482 75636368 91513752 753807292 41564044 971747060 492869810 302108754 648838486 964626804 26529468 410223856 42346336 982118952 723014986 271097908 245839752 605546622 415286276 993947860 854133208 18718780 213294690 131575468 166753484 204679522 916839460 807971174 613617344 566275544 216727586 510343194 863404318 690550812 636553610 525558222 182738420 379753348 595525570 591404188 152077754 340878452 540345050 152003014 832630872 900579244 542574068 419018678 339733716 45366822 33229642 9556412 259143032 194564302 425291742 898865824 181254842 175601854 296464356 599634930 401341940 992586418 140267008 68994342 47980370 387667166 960455824 62570358 762655824 806970554 275268142 428388104 547315956 9214178 350976930 914184906 436285910 186237576 142185426 809645588 796165814 454823676 990393252 256823434 229045224 883339680 177570638 917398012 224364316 108759546 611682272 318611952 627185992 702892682 104911704 164945744 695745472 162726426 345195274 848569360 683035580 786469236 761498472 696624518 351894576 963898304 361300660 548316980 609192964 155906760 793407696 261728034 714272428 997174268 524871494 103411334 45617300 353522320 236461598 892169908 900960718 213920320 549980954 615690938 246482190 628751752 175021446 725955610 965393362 580373452 585976848 951116368 972528710 565474810 658192004 7591898 211541608 578508348 688441912 488530226 522255118 318123332 650190224 6245290 152253132 618937180 573198430 289150862 277255230 116763372 994000908 157331596 957150374 957776186 633010616 92156516 61668894 827216552 632943788 259813834 52329638 241990248 391542286 228836382 111862440 922000222 234841882 375512662 379695602 551256072 407570214 512792792 94406468 525204492 186724726 10217218 327754696 420280464 94647952 660302660 653173614 211383222 950869302 481671784 372662980 122044358 803645672 379902362 365825718 197731260 921876364 31890470 942299348 849881056 779882980 757966904 345430874 881544006 332172584 383692742 143960246 122049766 898867858 708284664 264418708 125440382 126223074 6480516 666825654 294472914 31785404 803300240 279645048 991949754 397211980 861134404 584435116 565439750 432206970 814292210 713208868 23481108 508139218 679679376 783972962 326107736 136372260 543753030 747668172 567069964 534865348 978152802 474557086 857603940 122284744 605765682 918303842 865296996 256071294 119774350 668407640 662469126 922427416 53565968 731604440 48576742 810393002 536937324 548337008 174569380 153377524 635168654 374270926 936048178 881500610 13044386 763469654 675053848 473383318 161722322 310995668 871346934 184478318 934148762 88676976 811622022 177139572 975821538 347542608 600873980 339043466 78750518 536671938 72774356 776519562 622409476 999063324 520639834 465246590 612678366 752217698 921897912 302147998 334832742 669649592 847168768 144988868 492668068 792323406 876522510 754058644 241248414 722441392 476057166 107249550 840412782 899405736 316458676 4503950 993900894 783985662 344535776 202426228 570182522 637810126 245127850 887623244 432527042 971215678 669712486 162994786 247864610 564707548 380095474 720063316 813184490 813501072 409222490 991372410 524037242 57708848 603288294 592662454 845960620 329181504 855299366 420666746 489407098 418062250 610247446 122214168 337326304 72808270 485307956 118855530 148116872 537977368 330871042 984347814 201125650 277739670 984837582 240823628 77585282 138962940 938120622 976441902 949346038 455933196 466355504 391844772 970748782 366138838 634144886 687650588 272687686 998249818 184812660 917001758 345803120 71217152 135407664 947859010 832475462 608830300 329247742 4741634 132148466 481834858 646948688 793493464 422528524 290175396 764109920 897288018 855692882 974101050 12709288 426570266 789565222 782474682 916388442 144291404 501186782 136518772 639347836 156315846 767760080 53504100 106636886 378818858 866750472 811475286 235756900 310147980 339159848 566642460 746885664 829681006 152374800 805701472 925536512 926430130 957559832 108238818 145775134 19653994 27864112 298994756 773396280 786108058 35748708 776255866 861758680 38420890 253122412 498178054 946848034 270132810 488259068 124595052 184496820 405337690 408996638 186734362 270689984 19659158 174162412 75769036 786258778 260387690 990791780 12583428 644529566 938073716 393452542 569846064 196072810 318693840 506687932 192972896 805750010 759559428 880179746 964292162 567623504 631863258 393023386 80209440 349486256 986836280 919648062 116695668 981748686 192792564 176041580 100167502 779820358 902251208 219259772 277477504 274484022 192510900 797178610 590932684 632449664 26259220 705895816 654045384 91629486 921373528 788208884 127732592 616938360 131949994 923774542 269328644 338831858 217868076 359847890 914161360 105881468 655096988 556769308 4684642 422663070 843523480 448044850 252012362 357732420 3520188 555298246 416851276 336106194 423141548 873614034 466978918 56759182 762231550 405726642 434161870 799601074 347530432 262164148 530867984 674171752 880026280 133789658 754300292 135852986 601673492 650091570 817770518 35285064 744033124 523096252 640570358 488881192 205308954 601058968 937088612 763837256 883076826 502325198 774515680 729618122 435161758 116098740 520629050 395059544 377588604 295662466 138554858 88843204 282700698 692723932 514204370 388225258 526891942 457125538 267826162 868366166 311235010 300424206 111232404 886270226 951398840 718675178 964292314 845751030 235242650 907213276 734347110 135111624 547126790 323649870 309058904 771415372 808302156 610555808 147683648 660153816 920307376 614628112 726460346 960199636 489000090 572502894 481101286 857982568 27469680 122302450 785156852 699997116 880439108 947291136 638830732 92089524 994163262 959327400 188447440 648668020 720848410 560499958 758227114 141821984 938087102 873473214 450569134 75829184 582685476 813587836 310885452 544561794 754319320 439208650 470792148 85301888 700357076 366551742 582910096 917661032 309559284 220000924 516425722 50060136 739679996 828915832 601915748 757874020 13275976 361339686 607672686 814131378 518873294 266419548 883354454 667208444 298983596 217858714 70030856 150011858 575782548 450752320 860615128 998768406 928168766 784201970 753439960 874754490 893402844 348512790 738707152 69871414 205167870 57729350 734512352 893835838 266512370 825243464 437615436 310294372 616194012 88164926 570739066 821626158 679915362 463106090 794277728 252962432 270565830 378557460 305625086 835882692 857350338 392949878 746151178 112195634 12574898 21635530 299072606 265932546 90697054 516126182 558696354 719264750 778935618 163264298 567329674 295274400 888860454 826234518 836141680 362354234 726569768 309577258 897432736 592178072 684852030 934818424 52049052 399514350 69282712 90073852 577993954 475290134 5320464 433803948 207136626 325743798 554274166 821107552 744698594 183668484 190299398 126620538 684094316 879854610 406572168 181290460 610961184 946116022 317904678 969241484 406869204 661138356 346525598 14169616 295571458 682737044 124545442 204287976 354498588 927837294 887256280 164094394 114266010 509491176 420525848 534434022 921093540 819024122 661634294 899967066 855905474 579997574 414299526 208706402 967210284 686822380 149150650 473328200 296412748 909132512 863922996 219934752 524419078 309979746 18028128 260356438 922897856 338048638 146809134 200995650 493514820 506056168 179557812 240000780 634251484 524001770 527803632 769964032 793470910 104390268 633907240 977031066 484733984 667013236 232489906 655138418 372690784 439732188 274372532 470307188 340444486 378797354 690929376 629337132 383051250 67299612 464267170 865881574 426793580 932797666 28322958 791708468 570960790 491301578 838444074 592127162 501353188 433552186 915311262 633269110 408018030 184245440 577512328 596937260 434825536 349114042 591440090 127210304 971177682 905891822 942637854 634597080 272533958 321508664 251316850 533259528 20252572 700097554 976857330 856254106 668477886 19020972 898248158 442203852 269824520 140354854 24699756 411234302 731549226 836035684 375418024 349868976 895734484 782970806 476023710 358415686 605718210 861465756 996287000 996022942 459062606 817407392 364112966 426361514 523604910 341371846 649796474 103277018 616795424 934377544 451812380 112575860 227572786 95226392 544797122 611711360 640412006 511059416 223071986 440544206 381052684 695391168 410312186 361814660 538631556 896734110 558693432 847941942 799020708 783536388 434856372 244614668 125663816 143875134 83381940 846876840 299894404 544066096 650411116 48237232 669525864 889634178 616535476 464697440 119749044 761012058 213021158 587953596 226485460 102689034 398494166 108014168 962995030 305144298 240129462 473453210 704479094 387521220 749835190 258416356 754917874 901201790 165553942 736204720 785410692 387815044 575154862 602319208 348894116 655158976 122054418 171789066 914119916 858056012 441001910 935532980 209283968 225320100 900931696 464969940 853820998 864565700 928530844 452125030 826439238 434047180 547402896 381182706 213818132 951656700 899158544 33647510 695385420 279254222 885059024 978134698 521377080 648918320 268053968 103016990 761138716 798204992 14231530 968778494 129486716 50788000 397512400 367271220 248910920 851463468 845511898 960593550 315612382 716116150 281645314 350350504 410757846 660098458 936937098 898703008 2831198 384766042 970287402 164243960 341037592 786105268 884600728 424969048 676439282 347110270 964911350 557253070 371950076 827786408 526513598 504980788 994727912 449213570 227155612 952765978 621446436 299088590 786074758 449060738 16016510 408383590 583353442 820153778 109468122 277340260 752920834 957903666 608572728 829038608 906897138 845473730 368573976 65327294 684596476 183462970 936889988 653088798 517557202 400240510 773763964 33439128 643564010 535540096 152312154 301363062 217125336 423106698 989232186 25427872 586369616 350858672 401515226 421386524 325160372 451171812 41882052 467572944 816959678 658704088 785971082 325265594 439742826 885134420 914543172 465963076 107838194 888033648 558251128 474346564 727751654 804542828 261940578 917615904 999640044 198279830 828285690 3864918 587786730 182319494 630155356 510352358 28317394 351756584 795070578 446234220 693965578 632039242 138491090 11812906 874709636 842312176 747392864 231325626 294970932 36531274 829074624 715980274 756013418 666593442 405113436 774315022 921005902 677232480 535315058 686979960 911546378 982942144 314158830 440236678 932298838 503584268 505802568 661428994 348933114 424268484 340570610 688092258 72555190 708018216 360216470 249375036 662979136 724446504 860640980 938622012 636950444 48973558 455706752 367759010 905386974 599403114 18831888 671874980 858254576 974972000 966889424 420775734 311027602 152621774 990629318 558467316 57520560 405164440 422069712 95852846 443855808 390952856 874519538 317628890 588462674 534797666 904105710 986763632 621415842 883118988 46636400 766430622 485028936 62404064 867554902 850942598 748667246 730773298 905125334 916524104 9495902 141906978 106949992 7044900 591299874 524489702 390756822 757270476 340543132 565787718 426385178 117875090 7581596 603700828 363638976 585464800 853303930 809439742 835013012 656281924 104620826 696517926 858906444 263813072 945825372 944971208 998231358 450980196 503320134 394500772 863221152 560258198 568482672 968813510 407599026 852969500 664527048 165197530 616187830 520546372 639580910 707420422 229184982 801208176 129495100 511494530 239315150 907328406 829696016 527399906 405368094 435461288 291268504 909984732 297884550 639113608 586211822 705222442 899765080 572515840 210606878 150813266 783903446 272527328 289815818 243623470 105268456 827640566 233887654 476553970 650184136 731556278 69215818 109229444 546350384 34344656 262879892 694975038 282800436 936825246 597073426 370936856 550761722 607291820 290524292 352055430 484791828 487407626 568827082 597115464 108176536 417166200 128879788 96335798 380076512 775368316 650741544 860425970 298437344 660625060 335289114 934703534 344124520 916976874 812998898 10014400 395599396 907915158 595212384 247778896 16540150 848026378 73594646 904683406 970871802 453914026 915653602 560994838 929776550 866812714 531902970 918431258 675659938 534569296 479928432 717945474 888617778 599095382 177212384 196022118 871825972 749223570 125196628 193366946 96824274 172761164 174759248 587020594 792110242 163520016 253921054 997527900 902660272 851066226 518999178 481912272 273957032 632319316 90620472 809936344 343984554 587296634 549367376 148548402 893531808 353056096 846734000 320955612 307201938 319999520 346913010 297828596 415995908 227967926 777627168 575259742 884811226 256898722 410863404 865215764 3232474 495319306 990550484 944045192 379598416 439873958 276171942 615517486 410968828 504046800 590933488 154222020 67910092 688407178 251607278 948477090 609394996 943331528 694077988 790963192 486561418 860105446 549030240 975450622 83653244 797630688 598369798 833158142 525027262 228200896 518565040 873607560 566313930 891657944 61639184 638462444 301528240 699326948 280552910 412563396 260779478 436711074 228694820 321031450 615735148 554763550 97347960 432634392 917324178 286186836 235335480 50608148 455172392 757634062 980726242 238439558 665272124 364999544 42875346 393557608 531787744 571824126 460765864 927050750 591958068 109972358 943552714 222111108 69091708 982705396 819265396 208809254 827545276 394564304 661336976 684059158 11672956 735960774 987571438 260885600 203153314 886980482 113295196 420001998 627639100 896482628 357054518 815495124 797999870 479385280 426963946 328277014 721657584 280883590 226241854 572610312 478992050 548792686 911086616 783877796 345471926 30330008 189725796 40209190 615396356 237659304 263385640 727608116 713703572 320832406 686595808 664653368 555918778 266994064 429258126 490105138 508776128 127779090 44181886 307241248 512997318 915516602 387543192 617775074 548366888 703818108 422789174 791882588 454472846 615442954 221338442 45909706 627859902 180071630 92480824 957284804 882679378 856477940 649630710 383370300 401663184 524794066 273688308 532406488 333096630 909076500 272563508 717810302 500573908 828139598 659420058 784330378 282038614 835493676 356566876 910122220 431622570 301122378 317792576 333578018 771383422 1556052 674746776 100366282 586225062 751042150 309475096 569287836 163753526 142024886 277648014 501072820 100506748 285655748 86188452 631108142 962453300 586694606 975424966 371982546 957372864 705550730 636848752 115629886 992480818 670353884 423171962 970738842 716815624 269068314 40963750 295238564 496398904 337849632 200382124 498637408 244374452 449443284 820823898 239771008 389232268 653511052 21026560 821061384 167924334 651438304 649077328 739666936 989426998 724101334 561460436 417712418 12486768 980324670 485172708 355788066 746103662 880606536 842494354 846973926 444567242 55500582 629368392 668452728 560476598 2696142 434549788 391607862 889000026 491392168 772250466 631021438 914623926 237355490 98865616 837447930 167749778 924439966 843838230 43701776 999874090 477626292 235183130 313155822 87216590 748152972 475750514 257748396 673867760 510823290 441872184 155537948 34371622 610443544 839757010 683824202 888796724 939204050 869534176 165035766 614934954 451598622 982266296 283215700 81307972 109392872 510813138 709626604 697365634 320929396 292449650 3939676 73057242 972854326 490450860 604617504 660594302 399904496 137784356 704089888 278820676 698224868 993566700 227423662 777493658 557628268 572988260 220092002 466822364 722559214 447671618 673918336 510265366 851041738 43609366 727036014 880978468 20035652 578249250 620670772 291780940 483597208 674862054 463320966 386333746 111945540 518960946 951222382 824265038 436424932 196202844 421162366 526919614 196602366 193336276 928394052 569157966 967143254 896898080 526401434 684966416 192778226 534684092 820990766 390102446 503574418 249136378 709639506 907027930 343034166 296234640 28929592 578011536 325576902 657057196 445412312 152965712 227431870 939303252 95207396 173126568 923775710 726770184 314231562 387370590 571033842 794314560 286047264 686428346 123448664 273289942 795823526 948717886 287394940 691256566 389673164 124612422 505018784 544060894 98830022 771230720 78333458 981900574 403727336 637185476 356474544 598932450 665024682 487673668 687916086 839164052 149552072 250327042 645436222 10878972 323948678 419284432 86002708 633546742 724828582 103778802 186048660 559052170 120186866 514370288 882658210 626712896 842025068 10685520 879951674 215096800 881195896 250466028 129349172 736281712 138973338 727106174 945101670 298032228 975534512 747959538 623947136 677695666 140641114 997169964 360109626 339567490 684687342 585986458 9998744 948101606 789874574 281713532 453338958 895161556 469203760 430311202 389469630 192142756 316091676 490373502 656567990 669379806 509110252 402636372 69075590 752625522 484200458 661921668 406662220 881760206 805328958 998241418 55762898 669894872 454012384 165348874 90019946 462705792 349195980 694566338 472383436 627345330 875180490 315844710 286238410 444841446 614632970 978155230 63620174 162854878 710934114 963293122 774331470 463691536 254148534 415303572 86198240 144516152 405483374 955493706 721419120 186913650 666194542 340436024 968163440 846506028 615862216 863047558 995133680 590446080 711785762 910006802 836465776 702370136 916775272 30465292 582574888 661961622 550140368 648890582 172004704 198740940 754544394 463383284 577550000 129249314 198809030 750182396 492430606 427500448 542958240 332973978 369933268 812106992 353013628 158637828 777750434 85797608 962436984 653888542 661186168 223899032 800422114 455598786 589130664 374624524 318322072 390586034 450862840 737348800 152502426 972325604 449964780 596059678 389056652 640437182 857027310 628559518 147101950 217514054 263020012 248338670 299572462 917947520 49365394 501764846 261543308 684356334 942949404 15347884 158579160 350793362 618623412 957057116 414436706 493361182 952757444 959181666 677056326 985915872 487256082 952954430 890636578 269591820 773763788 111705892 424138060 318057732 615514834 110222590 23970636 256654714 192992456 401779512 344764614 587985510 947355596 617257532 214997478 245653874 986326714 701646930 116972886 160799346 597865372 965296378 90881444 857219062 509795120 906817022 23256416 653437246 96139534 584098882 223845472 454015308 354970514 105402116 56200984 212230462 32555260 808614840 454717352 102456340 621986366 103877130 152866034 701667056 54812438 720421140 749062658 406847554 959599642 60820850 306151720 424134284 594408062 353460016 483177164 93634814 693785198 473306216 219206372 570978936 155395590 861137744 304294700 105823238 972199778 489051222 243051524 697723314 91745554 382075448 443166874 587898986 340643432 89762228 480299548 785295266 385006858 625981118 337804926 401974938 648187280 232269660 457111918 954372352 194071636 242941334 509701550 648626076 920781476 245669334 832375478 849122276 308420714 608746766 818085518 382899686 233386834 153909886 683807224 587727034 946999326 665482130 608917728 922158028 617717282 884594380 318505110 853728374 378368610 221821096 691520222 908204942 827776224 136497682 70847226 988047108 670865558 84910318 471572532 658542870 150357696 346617816 30214306 603022202 418853476 726954022 269020634 244692270 213134744 106363014 285552950 611085260 497118210 513188758 551635628 366058902 791084152 263436266 555466394 974690098 259769010 657501368 625267544 281870406 718725506 664423558 938540334 355678728 996856536 73787994 514522396 952757664 843710716 566203274 304134198 592275706 915282790 504033432 394141574 665242880 465134758 443351436 136705968 801527362 782723330 20639948 970086938 95912254 943759714 914707486 323231904 918670082 564213066 210396018 429381954 323232426 977579076 228658020 475781080 615714880 253319884 559346158 496827178 68086052 801316590 998081578 11117482 514292484 230506036 347390946 886135042 833248578 459986646 360968776 535031296 476971268 396427394 553730504 809611900 565098544 781985474 586188668 894096398 266716636 497996940 888735424 270478870 483937762 557077456 573417620 339537082 203806158 561705338 824378838 381195978 192503308 228240250 932318936 209675346 561073382 703408832 539286518 8397348 926451772 40447520 678143356 976476710 332763246 813969284 950762176 518762984 118049182 524461830 419989894 802384480 606497436 333077056 664034466 950280658 879543236 960629486 499119114 88763362 345197360 510258366 437244548 608960992 878800134 567332928 333538554 76374434 990739454 665037330 665445366 646510066 318253722 262764942 237736586 818990982 401322888 427083820 608682672 460321304 204724980 334928112 183738784 341307158 798209688 119319430 297778574 188403142 464210076 19233946 691951030 527402480 903238006 731800152 102200438 49138364 87172390 481451832 880832864 314165438 59518784 706769052 697171370 41522280 216009848 588966514 85956350 997388394 634350390 901117550 808032050 621774700 126504254 978834774 430138376 263939512 459810528 585129420 516972354 898454098 654914698 393711346 237929732 393569310 206589632 685628676 840721910 339855154 107321194 791770106 64419956 716015862 935450086 617185064 145987824 350364780 591578762 171021450 831775018 741952580 26870830 999454148 215799754 686253572 914768586 14986734 816017082 352156022 305589876 819031940 923915690 258187486 714587444 13638930 649904068 84041406 275038634 59888148 98514150 308543058 901223622 394199650 82637562 283484966 520485116 426597260 909002040 988724750 635289702 856708318 806684998 108973160 346547594 706475368 291367058 427628782 285235322 74913226 378010400 830532486 738607364 931458474 744123074 314671258 731603140 996784406 206200890 336891156 348032608 715775416 643943894 59323452 126199944 419250668 83611688 106320612 329335240 852859076 708527890 669416206 296084010 250133064 84036134 872666192 724671618 887587144 877225988 445554822 166035390 433907432 373654646 194052672 749400 793206852 302188560 727466228 853719726 67799162 734057560 214747490 604232550 326658198 565166554 991782286 313284998 336970274 29487524 704677786 695158024 490321034 511915088 638048144 981148670 928135086 785897416 639092804 596013140 997656514 260653270 937870044 658014468 564366860 205976796 389449362 842016698 655547872 984431346 955081930 697292050 624758142 397919274 901500368 385096374 133765684 480334162 318078376 269691718 132271984 203151276 95137270 266913594 402747594 116183922 937132510 620195514 46965520 738197292 295251178 581658542 144550488 606311810 117581764 464521620 625836890 459927366 660474900 389745026 906248982 324353186 776605858 870964130 280842724 629977730 319271430 65725164 120455768 953434450 663006312 686905748 982245024 859828792 753527880 412484304 294708802 253984404 902617634 588738320 89070458 589069580 282622616 137014500 418176686 678428000 840838242 643266058 636860910 592315436 950791836 581143948 463943376 226149244 289643562 55813632 667337402 968524656 786929654 822513014 620799518 4679778 806842278 946661740 466340870 111109704 700602990 483470240 893958840 290209374 419349614 827157624 336352256 768946604 912846556 44237280 489171214 843086028 929228560 53669678 576710296 961688894 863315798 183811626 376036248 903643296 438500488 754781644 455946796 374710118 146000550 225250918 509318324 572798440 215422178 262093014 436927732 379112962 818048578 67014824 511141250 790710696 531678092 66836686 469846614 920097354 647819242 170121314 29946640 900289602 199173416 488120102 997969032 985214434 578284100 344397410 13546836 814044964 20768648 546133766 617726028 40226924 837893774 938979698 177953370 529590288 673103006 783888808 610967328 903208652 131592868 51073240 711337172 459849070 356743098 418265224 253522194 402880888 253063412 401356956 438463470 680649520 277964344 380188496 227136854 339780442 128562714 889952954 379844982 401545760 362614614 390061412 642830814 120686950 288583654 858066282 105199064 111548920 576092210 68419326 50161836 376417450 789027730 244623070 215945138 343503112 508658984 384543092 910314150 744942322 663302908 23022772 72856298 706222756 191836092 635701646 466181352 849094396 374594442 98144422 454109336 366968990 816427632 708826300 216065876 576068614 339022630 507291710 271713066 927864686 725620424 613616212 936958516 243688058 490424472 616249310 730252764 117127086 801262932 59076460 259763490 535779840 168595452 20134348 826005170 357476798 469665502 630129464 964565972 814014824 402695538 298784558 390763430 457234112 969162676 342269894 151653228 860318852 410366130 592545398 724991054 411704730 485175956 910479592 87459758 588150680 663588348 8456304 689293080 681261498 483783108 80107966 999949294 296746596 398708988 306936482 713347566 180942894 750701740 647155568 294118736 406493278 980054066 308736166 60366994 320482592 328504340 207151964 557748090 571190848 794103214 459376686 964307636 602478466 762193312 792536720 937966014 153329990 734062964 304174004 717031218 995751100 300960904 334673546 709033204 520629914 811529366 164546870 416780646 817337668 497857630 165818430 779831534 561265742 341340120 702280894 117145058 326211364 175930098 572812048 790865032 586862388 350336506 972174458 970242120 629880698 863012762 906060970 360744730 863107544 436679672 728639820 521420846 666608908 731083790 411059852 133744260 995492928 199480478 516116582 968668478 319956892 405912802 805342586 121091348 91052256 783986966 48589608 81851628 335214712 53347166 595424408 118321140 619578340 49860796 323810574 495518136 248397046 851287240 974346518 373924862 479737676 795808326 252653664 770208864 196852200 925211866 136267832 557214430 442834954 193401854 329616732 17585870 291241456 735408776 399647510 463011832 148525076 123637982 778578404 45101698 580785208 791566308 238379698 137513170 828131274 896086526 305227028 164514198 963973306 128971390 208369860 707411776 77941592 329700172 510875600 181330978 5183736 467254482 666367018 515092740 784553566 621862650 504685364 507866924 758342696 499302500 449023404 554907488 54432556 835588078 18866202 129631198 916611826 760189908 703521316 839779536 601429376 717556374 200263352 989840838 553050972 45166426 645821134 69953338 119541278 419052174 384679378 821616272 898377360 916507366 570119370 761961964 79191976 539176984 549384628 798242738 984806960 378149458 343256232 299581488 805435612 953059084 618842138 621258278 551458682 194172798 777062404 810221822 675727700 93743432 906627638 167482298 2814756 917259746 809525712 991119244 719109232 429769904 282553202 980362592 188832374 604680240 561959832 531519080 115876486 225250218 730590860 128757666 697232784 336480456 907988748 675051052 367082610 969798436 642448602 964198310 138945712 978859306 716755878 885960026 525694564 16244764 747049958 858426848 587399640 532563274 680184472 20476308 117927214 601481690 586858402 437371992 594588394 351750540 521917248 776962462 528068372 788058976 833841762 322788998 699522360 930486234 417307208 266271398 510715144 14419028 982818544 565049800 784103974 173977224 744917566 603714132 987903458 242208878 585794724 209546006 275083370 329664426 850628690 212194034 188478736 365640638 857422048 601579318 67126100 302577456 344718746 810568618 659377906 439561902 307173896 197083678 900011664 696562774 440283358 805370868 266654298 248831214 652437486 575477082 462225666 9213152 161333778 430430088 597113826 795317904 335445234 291248310 170784552 750864366 645082528 922801072 864633466 834713924 366115034 718020184 189309370 756828004 416228302 550632012 861644114 396850632 244613402 410300178 919169296 919117514 553380166 931206362 907628648 663186382 557992216 242356532 45077250 6787654 430677686 346956246 111473756 32139322 211020928 333084780 252324468 201979372 778168550 482212666 36547274 150953928 271869546 848342118 955223760 715837420 970905714 900176486 911096966 423113740 834966322 739628236 570566348 201348584 629822302 80690336 75569084 772395970 823295864 196719888 134273520 211685458 71773348 159665414 585257578 647274812 947592224 64915486 751273742 819303124 456606332 188920170 410569858 388017610 716616594 58114716 904575466 846536134 342507650 649626598 745077694 79879588 244342218 152974292 606764074 560026370 337275600 61924384 157538318 922107542 789874106 644273022 58915580 656405126 790880394 910814680 479544526 875806878 865881996 715766202 205178272 653051646 301177216 592704914 204617732 206784440 219759134 800853548 257809572 188521568 262573096 480310668 665568694 519928246 277576772 372656958 614807806 68351522 681259466 158158538 517638278 785696730 511112902 184716424 327474668 391662216 325089732 686000792 226601718 904054438 547908054 256121834 627867544 789605368 224779356 55916596 218620196 274247676 203832822 111882936 156205524 817220180 209413616 3227000 713810700 730887756 129432390 443425786 946442500 174380068 404537150 705383506 984918002 481727534 937172560 225907506 631982756 646186122 812357032 81399548 258982804 291475064 999363802 636209752 438690922 708270662 742706070 711305706 475106696 667384326 731153692 972702016 704404106 121236044 46679396 212198742 634989948 271266498 574303984 122840122 867648586 479976292 203552766 204936546 734189150 103707326 36021076 478883632 707617058 767509852 795109804 822705366 117977274 545819886 46518370 970829716 306434540 98569092 473398572 738320154 936466980 853405888 292438158 539704544 574700002 202553636 747557858 99198746 617052444 380048518 866619680 96102046 451906526 471667954 147479418 831108890 313812300 192826938 364567828 610867176 876769026 936844456 419058248 640071402 667036966 601915398 404495962 181149990 185764110 980250154 600018368 963563958 546957278 762465008 931764268 868554132 641868072 993675040 478262142 85752630 943614944 116238690 757230004 717527104 534393502 696288574 785355742 212588360 780554394 105410330 198343492 214056852 353551286 651257214 57406036 7944790 452173368 364055286 54518152 800724906 952697446 621547650 410786430 373842646 522331174 123186026 171286604 973775362 433526422 293625664 955938644 682037978 96976314 205498792 540914728 41049372 778564610 160669384 483554010 566952374 540953208 669982544 506146510 8980954 857851418 348632682 860753032 304988532 101805930 948033442 857759562 213194286 779033904 7606374 23514832 214549226 424608868 324833288 822327382 509354700 857553956 863339614 846025656 80592744 738003876 993270826 105535128 570338748 685135142 27231414 74889042 997872454 414096028 526144226 46959932 192684972 966291144 289175744 813123274 963711414 51356470 100546162 14170158 4461268 631732034 508884476 206782240 982759766 622930690 447888868 443146402 497168306 145608858 34036152 962043484 293370660 955666984 580582818 23315172 842289646 630086616 22324022 588587802 48319212 531957650 222374084 813636808 655460806 217341558 393004944 672275236 554123216 743570438 386439530 235596426 961548972 618763852 678649492 505884380 745075024 964813584 8003100 397792200 182993520 12363332 168896118 268357604 627231870 512560498 463885912 516903758 481507180 851897274 379577034 572422954 284842578 408731684 739231276 827542104 352880134 302070928 744353218 210057680 161196096 425190062 20541710 723969546 626399364 466740708 219467690 796278428 641748508 872807528 401096320 884148760 901031548 281547978 209786964 895640930 877877898 919027804 918620238 392538484 891586310 919271342 191359706 702370708 127425216 782195014 992764612 487552852 708945446 511434502 396398164 584537110 872032578 661145754 462611030 322674770 720265218 682439678 328954344 486384084 864447522 9199404 743504678 220618156 24020254 119359250 636866446 292837070 474178994 978865264 31553530 817592082 688994310 123976256 601986882 979660754 503747540 715802174 930085662 125857316 157252122 471088606 265870306 970761186 644388410 764938206 242615648 786587176 899130010 905345824 260656346 717842134 370919564 519775568 826020416 429244830 358717904 844831686 982544590 477277410 722749264 565358214 130215264 631038520 477439944 529859956 306284096 605487324 299644848 499023336 302560556 517166536 412232494 926083140 9962128 104108812 22255946 768763486 161086192 233622038 811808836 117724780 893446030 993850850 226950444 946285776 392678204 746041800 130873008 386888942 38847444 206302224 892716550 978469628 357207646 938765522 876149190 565215192 428923602 172090448 151561184 458175030 81535104 840120214 940333114 791639788 657977100 559961676 495448462 321424030 302911186 842399840 553093362 529636114 83959418 478297710 149808056 94997402 847035388 45997520 181181002 88163404 634338268 556447084 565994062 319457300 95181094 18433932 430329294 464298306 915782946 977617572 719501942 455339316 235985250 256483066 465913678 280019056 850341842 856319858 669023294 190924844 654307718 569433796 166775170 355094766 58485520 156566882 806426142 675188828 999997236 691388718 340661622 81051150 556499526 176060026 169066630 82717330 766882730 485066992 453022672 81243144 865026774 892907364 900293656 192349912 843289370 273969512 247085118 323828944 993808938 928812508 311673890 296385414 110064252 364066772 192892006 28247692 120684362 448541086 12579570 424381042 765356648 989550332 209997600 198738092 497782762 447869960 160957012 139993762 468576248 46709612 213729384 557317356 157308144 231428894 282770518 830607058 572979634 784051624 353777058 944412632 185088938 511471866 18308370 603137412 853762488 289171578 638280024 86741828 639963510 360762516 618637984 731361116 635742852 10519240 758555582 728557252 716541350 480738558 442606436 238120782 982722690 231377104 653667410 244720730 486669358 740565104 753535662 737892118 194745198 558200802 182418670 911905942 396722290 502443472 403453774 415501892 842976430 655091842 172728168 98731026 842286126 197723906 458887084 936824346 847200034 459328226 919396964 292345802 619467232 916948872 654141382 884359186 560600420 353252772 661673076 674022458 727200118 347052350 190990460 665353972 110145818 70969466 100297156 567464752 869750260 579415020 542285010 995822526 546867974 581076788 746344586 184140892 893232718 810808642 496053616 638339684 664526282 153569138 925339558 29525562 939795574 548748870 553585014 839679942 759575332 101447818 627155980 611960388 45518338 693840170 819147796 899930344 277233068 162725984 580842334 643533824 780221002 845578950 668195804 495139670 997474812 532734888 112686396 174236586 374939062 544236664 345091300 664600454 684041050 404625380 384018616 791330176 504069388 693822858 305477394 328982058 412142668 991020966 389608004 241510598 686140262 934077032 741450004 509225056 861065668 262061220 21301736 285601294 548186494 934612734 313646666 769656690 562163072 82995716 259704256 488167448 301267118 275560200 12099112 465573760 752633060 525904188 171120032 47237216 728402234 588191446 278298874 376258708 291974570 561330840 286807614 855489520 949960380 114582094 864858916 592802492 631557544 848996418 704708572 275980272 11053196 498524066 246578582 557080134 218558770 890298078 811976432 465851400 20278268 993224652 64921384 720460162 687145762 654803632 871732420 868657008 82383974 24642240 467091228 21367750 330721954 982495088 492642446 808792070 111528490 864134422 442320350 838257082 373056452 304275334 661331176 831919768 572367622 766470860 589509192 793107298 702208808 751399486 545327352 134635142 470340928 819500478 677018906 2397534 366741842 989068314 923434342 315998878 563591674 508880996 808152960 273707592 341525584 892223568 624579130 183418612 263528690 437448114 628469170 51250166 301849878 2093144 499317952 489305710 214955612 706215028 966484810 228500882 358071078 467585904 663978050 35917922 817550590 351295252 683996696 907880558 689037472 73607404 77304214 518555222 82593258 275264644 906613266 890347162 910936524 445105944 932285752 758276950 552114510 703642486 364268320 382510124 675270724 859207620 976393172 879020050 360538210 514467708 273178688 425424558 533841546 711059370 288683532 677941584 551626064 777186852 623016442 469516628 989442184 183956460 905204616 848935460 259661912 462610286 559571710 154291234 205517248 574980178 236264960 358245230 664014158 749482686 399658838 504683430 9676150 52459686 25841080 544844918 555895566 511195854 571895060 56502030 374564800 619271220 736247912 162887288 92660396 880832844 324473270 651736382 670317756 481188508 831068992 215582416 551008404 379782228 952711094 584719528 945342082 644895276 425574714 514875630 94628716 63189024 106120138 721116992 465909696 865971574 839234174 17908734 917958762 844693734 431944192 159923924 682906082 689884836 654475960 339484580 531737328 881355242 607139672 256705024 819845132 733362516 482162492 13562688 973416748 21581576 703386968 449614916 230256176 71582906 302360090 10796404 964206718 942338446 150322124 401480528 676872582 722537540 49950798 768591278 15312876 186362454 50383926 249991058 69041628 407871956 196575678 912252260 402081528 596961262 69369348 350048064 141948234 450776606 117599552 141018566 390103954 917715256 74804374 406017728 342153288 367921646 88220616 634516874 958966978 697331714 335260620 919326260 803916502 438522718 656275986 495696064 668568568 802072502 673390798 146686026 21469022 493661242 851157008 210523264 807988626 239459794 538575024 353184468 118643250 538941758 964134838 736742178 88833480 295499810 681120698 918552646 626020368 889814326 514408160 865112274 459049354 651594170 949612016 684198514 820932548 257618514 46801632 313010216 298810114 917873956 969533510 66558614 458316352 973063036 189005148 284309546 866906108 470091694 529175046 113772618 641875422 462994126 280483730 677261536 751810884 345448390 15492596 864242060 147787106 113891044 286513884 13248364 409068824 700322706 306009834 816234170 489164010 535464706 412494844 365452222 708309156 734479454 968415938 314108548 999773594 609745832 673421404 561932540 952435718 663669106 433299896 789599084 794378120 395918110 825020208 632472732 608261974 520069450 813004260 255985772 298722076 46399848 231545714 348694732 930888298 586751000 967409718 29072160 40620152 731724454 666985538 304801506 398303604 7700642 223412294 923019102 319874704 738412220 426654360 708555312 357963934 518899404 998396604 539628324 720352358 981539842 569005488 553495458 163391746 420057470 550139198 658858564 34570350 954749510 460340354 405748716 376406632 825093572 103716036 672838922 457841834 739426624 928619594 835861388 597471464 859216178 244049480 349904540 822441770 539157944 33688116 47064228 212689002 432408926 763601374 504670626 939380898 72955632 988875342 989754456 50197620 956996738 799061932 716156810 1993396 129586028 240086306 714059272 99958848 163232864 593063248 81908902 227300096 230226606 572653414 18872056 345054902 172680312 985133674 365397744 563143872 669026842 723197486 281090164 35950938 65292578 831285554 412663898 475879124 276069782 110632026 828782994 664327090 544504938 3154246 572248656 871807986 585666266 266620310 948027434 136479730 279925766 75583646 973169784 35779780 823537274 557283608 410066766 536897946 606111886 645423752 65955696 958204322 542922498 552826498 526992656 519257646 210292984 601515262 350897242 556593318 308626768 819695460 222896770 456625466 495591738 710985134 633275450 421651772 891825316 105133162 802642378 451860292 525649134 502289048 734809474 284935364 592001184 890365606 589822364 771821784 337000840 711835432 227704164 520037674 500312198 787576682 79145430 473116422 748757644 523939524 722384586 525325288 357327240 177171732 449893070 587651360 450551162 649934058 691914916 478814622 211930736 624187560 969565276 474005212 394068798 664700798 547932916 167070870 840213972 523626162 465520810 57581864 363866904 972840948 688722148 522182624 794290976 885558508 257592670 804399208 857898678 994555232 614575512 750968990 173900924 266947234 356996602 751185512 563781866 98349736 374212456 790271918 349576130 903952820 600535272 209772318 806951382 162443430 171182374 661839836 500312134 34108198 802064378 36639454 183475260 786316764 358618050 572633694 651079040 678946576 462504256 844664348 987407814 318133616 365321320 936830600 888156334 273114402 769812876 683734088 258654864 809973282 676774394 382133902 470977356 253604704 489803750 256080212 54672248 722336324 336324788 550957750 751068998 717910364 559594238 839224914 274629164 533677744 493607600 221894566 919005240 826676006 153738988 755151106 123595710 854839206 613527796 430083974 340802460 601036392 877300508 812626938 306543336 377450444 731657346 410021120 632394194 805690010 967263536 576767172 447418344 501880074 296123250 772275754 316703306 453865826 595228278 377000088 53544028 780518336 394313848 31559124 761713434 79071608 900841170 451588646 875891362 335842134 724880966 164799658 607328776 527143528 94564332 272365490 726702550 283932286 183350090 757356518 112618994 270567162 15086300 981227662 413813580 664484008 956965122 743591354 515698404 408968206 829557054 397742580 504746186 401677430 876184230 687115424 186834202 763307328 575236124 182507162 400900840 808316076 138492896 109589176 133393828 350667090 109841060 61075600 691983076 551569222 188317750 609676426 8289180 973599244 612597516 576389838 81552944 336590100 998520302 852817010 29233708 728733770 481436656 312063202 344891356 533435164 897305766 726446152 655517252 718966100 58052218 870664856 315590078 937674590 183035002 239209220 995162052 769465250 868188102 418958578 246476770 977439572 568340122 750063770 974076596 370751864 833256034 96151942 654770228 53671428 831542716 382465986 658156280 990679422 504267230 482745078 447312992 73786144 537176732 442094250 192391170 728713682 119030182 121082306 332173910 634511000 177717756 821994542 631763542 691676280 188745994 96722430 330031736 189744286 959255958 282659164 730722084 144759698 222292108 616902990 203116540 412403248 993593046 973881218 510124256 966763612 603424190 95235428 637455732 116780398 912181530 769974744 326259110 48251770 400409618 709575580 820207014 65571070 687064534 106480364 866204164 629108350 397335328 854344624 399119120 182406450 854416870 689251388 877303562 843714010 426741992 584100314 111206764 499097582 523458242 253050216 649371910 789788606 674901426 392199056 674595290 499248828 632318598 248519956 675920810 420373832 495365364 237604798 691326950 703592778 847628842 470646434 800130662 798646390 577428148 889714716 780417378 519882180 874327302 637972452 561575940 801818650 436991118 332451090 615750106 498099948 96008960 584587566 555729626 963601446 574982450 743537202 465983874 776532586 87154242 863616982 439122516 880982690 103116652 973993062 645964944 189078888 142717976 731237120 148610926 662164096 194098318 126858780 502217424 428931668 470017850 597059618 103723418 630871392 173034332 281618572 469722810 212231280 501731634 114167846 397086646 536048844 229814296 946737918 476199340 751644640 714034754 641461858 228233004 690056336 523981480 748617754 963403694 472727982 783895854 198904172 474395730 139909162 239880332 238975290 476784236 484064194 368095790 404707718 289397074 674075000 745676918 658024642 240655950 171205888 253302738 13569584 203429256 295599964 168329862 191782338 665226146 343792616 479379402 269853474 498126022 181439846 413066956 605613692 715725096 838928440 99487056 491693486 580162520 152779988 158900660 765436928 731086862 475081684 228250094 930793432 550638708 953452250 301566172 477923758 645738820 202671076 108895190 415901636 437390552 566998990 627363170 420468584 382042624 18667226 313385780 298546228 34952376 136639660 86807868 600869162 319025292 482684570 251972324 134254202 479233974 74553658 201180932 512128770 740454108 189302914 592468658 662197538 508772436 141512844 924967164 95888888 424571414 937314528 579879466 706515470 96209870 528783622 293016080 561100646 280950104 73583110 249148248 576216086 384293094 91133128 28896978 989794130 988299094 6878870 926673564 546736010 487640810 640453710 280972404 251832090 896053316 862489052 450535966 746019414 304528640 602769730 243367658 990452358 626305562 588348298 311795722 232494004 896062908 539314762 800368990 719267534 963212232 192850870 425546108 996973484 864069252 238539930 650663328 759763092 703179096 34055218 329985696 124048442 227603412 596811194 205975534 361311334 869215164 465234562 24851040 336056552 171604682 119739916 691356990 97865562 324279980 822907234 631641314 880639632 812661714 336077226 529633194 971213708 364516972 917245788 427983042 619271348 330097832 936458684 571265004 787214156 27017184 45855678 752978028 538628320 930132986 245435362 248598700 298054368 804941936 265871120 524440876 655676900 157196400 938919452 640368714 775244294 343895924 754165268 579845024 655640060 195600014 225614558 382509978 300576304 556827290 727663044 115864740 741487310 836399654 922414550 809884648 426971462 41954518 624324712 10360614 492723676 212775664 264497372 662253522 873162354 933992382 904226224 333291188 607257624 127376008 477126400 333490174 215324552 267005874 854414220 861067362 942092220 804202548 261077936 700748676 336969948 513145482 589343088 715578272 29478304 446623556 303933930 239238818 226515808 893448616 455745296 692893396 578332746 827136062 851482154 171617522 283167590 364971160 625457796 628264968 173044084 606425328 1184752 416623948 491187872 36799528 508539552 764780346 293206442 246751844 223716610 983532266 349603564 400425316 864304206 474653118 684170116 27771286 691402048 525825524 344084424 383752718 834902356 829996118 204898440 377647882 368661566 135743610 376370760 893846804 95041462 833070350 188987874 264357844 535888432 410540388 45189832 212046518 508387188 817396848 817913962 601813482 460346222 5562464 389377954 432198234 125350504 759199190 38734850 312059636 293250234 872603292 677465646 356231474 414876964 635312874 551254680 356173196 58416968 873923452 745726258 596514112 687390750 328186528 837613158 148753430 98762804 527020844 751249284 67815712 228936962 336559336 61578458 745484488 152498926 567208394 892095054 602220010 167377604 896583658 388193832 852950688 184908366 325529760 598062778 194155086 926036022 316428180 2259422 332489862 886145480 765094048 320060860 390552038 243964824 325637532 981120194 907227200 243831556 698081748 164934106 648096902 936247608 114522260 312107472 314893166 429956160 963683560 544491058 618093012 650157994 314549358 577948490 448533128 759271928 930764768 763724680 633228222 715288124 160512116 725532610 273872608 492331362 166000398 744034774 94731058 791611910 109879228 814463044 872158104 302930842 990699008 594397018 964809334 981194082 147267418 320452568 208764074 900764078 408219134 176615360 503589832 613813422 123026316 46015582 389400086 306846710 806554138 861456192 779750018 122898692 633206088 941595968 961317948 416942494 361401960 888364256 418400332 318240898 351213642 474517574 98829894 920829584 217320144 523777916 17660314 655666790 668978224 409287664 401717778 43508684 407139638 978955536 600166400 975078010 261896744 815070818 526750672 396231056 883814766 168300758 122670052 348721188 8334298 472035798 443126192 413604882 672845092 620190204 503723150 26313784 923234602 814054856 198211740 63982754 756195402 561150058 87838966 956585664 451431816 208979108 427271920 934764346 840861684 30619222 984957728 676479622 918407266 898881198 502703940 217511782 673065556 697563620 32382470 258735506 63276712 992078858 700980376 730878730 194143252 856783136 974037630 972422378 641777382 69882692 383745780 814422990 448965640 366673018 292439916 367342748 820909450 95333338 593559798 377825772 757681616 240394598 235542246 445562214 668381314 739271056 544429908 85152132 502939800 167395146 713224506 42834798 8861502 811316076 458808056 410963006 86571258 549128032 940943160 505108648 498982332 424186728 372018572 538725254 504667408 444515406 448433810 926769090 411428340 201631422 474978014 509844766 395800726 767141798 275566814 709412356 867150128 783777030 259968424 466007536 124810776 366469652 287746562 23728566 424164708 110808478 261290316 139154318 910832724 844929780 945454570 707008298 757524320 653014140 372669072 243257924 224004218 138898672 772103180 389973620 547943106 452863948 507301318 551165916 33992452 952206858 95736724 959286150 600155424 302010396 303131128 308896976 815209246 708044686 653015454 577688734 690569364 357519838 907515212 983285986 209330074 280642390 817982428 609027558 969950118 106326702 151365424 258325380 359285338 893548718 788881264 16473706 414101656 301701096 661564186 469342928 971947228 606396114 42269170 18321556 91444284 454373488 377764696 927606540 55205710 448533718 198593458 812129714 742237278 675423558 509828940 23731294 309848770 839361876 457181888 652144616 965117358 128653004 664433150 742619216 781817464 920764338 208198436 818895902 457198434 47709304 714294252 250518084 396409612 731267880 748421574 300468790 640895832 591150128 382702984 835211418 97678906 722199532 963022526 990521172 800933070 882632974 559104254 889127560 192809116 70192784 801911346 469769210 183496040 896223288 579859596 247049084 267378852 495725858 67975856 730502808 279865830 919683804 44383530 15184342 780235068 133082234 776130896 773833792 817989906 176209854 541113880 144351372 100537786 816606490 413454756 780244846 849847548 546544148 713809046 202051518 492383598 306352440 857841366 35673924 65026290 572568466 208499116 606923530 751180892 937339754 539487098 174003354 152233958 37491566 738922552 671055034 678542330 72013918 181250896 493579132 453819330 715619368 139844712 296440162 805968408 676352852 64893644 877034388 261215218 93628868 521006266 290153970 887886410 690436180 496096724 558332148 224208494 380309782 292224668 411679568 720840732 573477972 771086898 972402284 2495212 463734706 16957204 636324470 234976700 935075664 944653102 345811814 155010588 23521336 715648666 902675530 283248370 505498396 910826646 476475738 916951834 921457002 622040490 250344908 185886866 933910024 642170648 427228380 846607642 997694524 275213600 673419952 491000706 285275960 237139090 282007552 163718870 569106214 237033636 483891052 537127888 931199400 723885936 558732398 131336818 619784746 787977594 528034230 879870228 685820776 549311032 611371208 687071808 528147358 802607166 282625858 99912500 287590286 861934608 999405698 611995472 481769542 774041188 173653082 754418360 511958406 358101788 110778282 230414734 500671370 825121780 265293010 627543968 89040956 532035720 670166372 369557894 90568938 567252186 416158168 317541778 747628176 629076366 127406568 842173354 975481882 255318766 493409714 907027174 665333338 787301326 39515430 134629158 850754834 371010200 649686156 865232462 137311822 906334894 323410924 518271996 709528792 266690354 157296234 597699968 394889752 204404002 32160640 342815622 788248900 178716242 532120772 987577974 355906490 49783056 592885838 599746740 487395448 610116166 681098858 245098076 44238460 131957790 164190072 640727358 334192438 717953374 599392712 25855934 718153850 532084000 484568634 335246922 677863198 552486216 204541964 362263050 950684884 553230868 607292256 892626216 966241774 144969332 947232538 562079172 33371914 925980706 230624034 543212040 496472048 819532494 534000452 942690404 761654202 790636850 279728260 51375174 460070638 991576346 458959204 559501328 646870312 736886744 39377974 66093348 790874954 277815894 742491050 257811728 363872776 665243562 377069670 87475612 652248760 570234628 6891000 397113510 190392474 640260522 73348070 317427500 122122830 156341444 574021978 436938100 805496820 744965816 800730174 284791814 852643148 449589852 762932330 248367826 810191684 638983396 700140664 844869194 489368148 237525058 734464934 542546578 883671462 499792198 52473516 879074420 561532010 879568958 116805090 963755178 968936316 991541528 290184950 128723356 578601480 309359434 591335326 842281278 4050116 258933294 296226876 857091424 273685028 394407246 786816606 46901224 692172686 183472026 864163028 836900060 343301170 698596640 611207896 565286250 554179458 738798060 848648924 840057554 49058660 154424686 941514234 135100536 331466758 206542586 92208674 949348724 598396652 196766066 596718892 478221380 537833452 780863064 359317812 614273990 771403700 542854878 880438304 849704150 232495818 988715130 480517914 472645190 208833428 641944492 794349864 565943070 409613570 382524630 537620868 520058210 391162720 891517596 765077400 461866828 527588240 962985010 549989878 675330900 13563962 428197324 54600660 16960716 10599886 820822888 350079344 994999500 910210694 340961472 862782966 954942050 870477410 28211630 272535000 593566190 78232378 425419050 774811426 980029984 800734366 53949550 303982522 84534334 487835092 597160130 297090662 158643410 904782972 344185028 418146678 903292948 183577052 725564528 793719908 381636570 645824018 771018354 574300532 701511400 37850442 318198582 848514746 5570002 593980924 391235570 363626018 50190096 52592366 8037104 577293094 592322004 772317910 537072132 148702486 409977336 789105684 607780672 75056642 829142282 857201022 500153242 779577696 118982114 212462512 466143602 461719898 449038342 811539858 406483316 370660174 547886692 423164666 443950344 364655518 752919658 626049260 330999162 133484004 804203734 220316810 220485974 663269758 396440710 823492374 265613220 755553676 306120538 402940154 804568544 11630760 132339758 963372320 745105332 297642192 83679878 549967546 24491918 71612484 890378136 444660140 172418700 219477798 380813396 104509246 872161488 622026620 941046520 684356374 365372090 830532550 32777446 754920646 982800642 840402378 577293058 482642872 984312322 886273970 284172530 197032604 620415134 404489158 946367536 787890612 97665834 9593192 709444162 382011490 230353580 219622014 508300792 975139058 752773764 217620346 717302338 95409422 102467950 612270122 410397460 795017174 816106000 454606264 351555136 67483030 813710690 108652866 186328020 19785822 103626568 71584538 117012248 332237616 888559784 336468800 501599338 832703626 926633044 212466552 975896530 299744322 100399876 35162730 726562604 452204574 866523478 630665566 220542178 809535302 703093070 370644010 475313400 440060744 841662976 108534726 710533622 270740828 989343898 536932694 343431016 867544278 148395550 811011340 820054618 563890026 726541300 806331088 463545916 856652876 107598628 456041180 197965894 624201292 791967882 186050354 804051708 974781788 50976010 990506388 383479496 216300872 491636056 83783962 431209624 145502720 792112150 347767900 285889408 732960142 892361800 10344642 39358132 116702090 875791490 397904386 399961432 104306284 99862042 571730432 495664910 900936546 822100536 615149910 76676638 948183876 122168618 234086250 35297110 219144066 291556844 64132308 616360238 927852842 431284786 367968478 28857650 970993072 691609988 80214336 922018286 539665104 561070848 269136736 585390600 187033238 204034280 393229738 901303866 851441512 593961042 529831874 973870864 777777984 780039494 694123930 574390816 971946908 372425544 736464250 819476864 161184010 620788420 212099042 689373100 554196726 48353054 793498658 77760790 358753772 334525582 161532670 828022988 885204054 637139134 574947924 650423850 831794544 646305722 36064724 857186348 144184370 344169174 836928064 97599298 297509602 654634828 497684854 193427760 472708794 149757278 823488354 19044536 518296662 53027070 879353708 826743572 948303114 734100110 44745526 707803738 811742354 967447996 457275160 432182866 666385314 726191768 867979810 620708618 264488706 461014192 875507362 212919426 214657654 801129630 12408486 801749824 5001418 134202240 222756846 265830312 28360278 237184390 422385276 831304266 644967088 84569486 510876000 557078034 378999828 114305658 985918230 698657616 540968568 413886710 637706248 457837810 924099572 288648034 992507828 893617348 757750252 170892858 830079712 989275914 421469388 13938930 602442732 321589960 529734620 948825012 738951148 403207082 256799712 253391086 639682988 394797300 123853670 5691996 213142070 836032946 188508274 552710388 814558758 258701470 753250398 354860142 897771542 220686408 42360188 495566140 398119290 886293452 941331232 926480556 609098960 454507776 379809930 285682968 49294912 690174198 137902236 420059056 776865438 977108436 219489800 880434342 884640104 836287612 922240978 126786524 896087164 442819204 767902512 178416452 202066780 273431256 423614310 23872866 69974432 494131528 722980618 58412886 641289010 415185634 282185444 412949682 121078676 782559672 238477392 642999852 666199154 38194610 738214160 671931976 226132230 788324386 847214716 906989778 156939190 50465030 733269068 622870944 210633994 953671242 979990780 564738546 526096472 485800150 712280342 941343864 601022448 938485438 883849822 876464048 645882882 351511318 503349806 143602258 789403406 552061188 94956532 408525940 925969922 382663572 804476822 890894484 306154346 172052218 687905350 521857656 356537972 957469196 755084008 251370462 515244786 96670998 382534604 300670690 877080446 790495842 55120412 975874798 844302342 641433978 138360312 307308550 209192144 478747212 57475976 759199328 491691002 536447366 961251930 330378064 632726690 71776572 346541174 390297272 254560872 7274980 461625482 697289368 898338022 506236258 295026430 999194852 541573104 356831996 401276318 379983678 170314828 936324610 368011102 651048978 821800212 553794298 202038138 397630832 472975272 40886208 988540180 507878868 445743986 329544552 391599180 981282978 934439768 196292602 863551456 979642884 721586186 490765822 60928954 903299352 258784752 131549884 400165894 870504632 222827072 326464674 803012186 62445498 415442414 923507208 374040770 235274788 957311078 740809324 852605090 109940686 221047900 621679740 422938726 329758928 271317582 395046188 336319678 651310796 183462752 797648178 928673572 176168752 837922198 672698184 984950140 708353256 864506596 314559478 610105596 707104924 341857302 650341052 835856858 319798350 629010690 460396866 237585564 261216950 28968756 721126312 161198126 33405824 188019358 155651746 953241590 654329654 573796158 185254086 879416226 137411980 145927502 720072252 914512376 812941802 641860438 474222266 780495640 429976940 956973084 291779192 901386878 548582334 135876568 878132782 96911952 475429460 84297170 893830202 808426494 34351916 262464612 301473306 383956770 564713400 876832408 548569678 607244166 156571046 795422928 828451078 307154096 438717670 520685988 827346786 788378370 612544636 689116650 834761610 943663634 20426414 253302534 3919722 637727038 441958290 166097322 192214146 894080104 279869138 640485390 551772888 685548700 694371476 281212742 27616066 829629400 191273312 104248586 898996802 815102846 957857764 472001026 110037398 295308420 576745802 3693084 13039086 666482346 380646090 514829920 275749874 689420956 94599166 472933486 544022030 829803990 669918964 547243018 120401236 925217770 945057052 371886540 504541878 145294412 502188550 293670016 687871252 200812472 959155456 478307320 112210608 312589888 274286422 38254910 859138414 308908544 694214210 173239442 835974338 142257136 85948042 901212708 153039954 180197830 556932778 619036130 189379172 502696022 902643160 565237648 629462074 203402692 969986280 313733466 581059642 253708428 828678108 140280446 592840696 691482222 660097784 259775378 948438478 5167930 148541466 297163722 552438704 460416102 330340 802094358 304730440 498377684 302099986 28357736 295397410 530119756 271942514 871474780 648048994 268952654 42448038 312323800 13266354 944531054 448940086 712006012 377836456 502843464 319277240 513558312 625084868 729652724 347405816 291351764 411038608 395382586 527945702 615730250 207634368 442524406 538441074 519095098 826396720 813533208 388029010 2753308 287578720 645288674 918951396 618365288 397822754 136768900 770212460 181762548 721242348 729333748 610060228 942541636 807695728 942763482 136768022 649752746 523315792 836064838 343362206 203385670 22567132 117867644 362617246 810932282 235027144 226125146 780230592 472381608 26509734 369786420 329179216 615588692 23056766 554990204 26824902 392811858 228730868 181929280 216706134 406756258 255173234 538079686 436869950 703981178 692722240 940838692 538307666 443818288 181924532 390690032 461227178 818943646 601272630 680607780 497098196 545018630 786910430 216751322 849887818 321565186 969688552 805213970 847856912 434722850 829565608 346076104 219108584 950332762 551342408 772600078 270170190 574806316 605152494 537383684 904567350 673336296 845458554 103210538 48226588 838220600 264243428 890744182 168087596 907781782 877243876 650945872 222351316 165592194 683920052 665468230 585249236 956332750 845569634 236283896 728708138 10547682 887825064 834252104 281525834 185939316 294550646 282953746 846227514 813450112 36495814 529433832 33365562 795714422 666311924 525148164 493086212 146351410 122677314 122798140 300596758 790939930 597389700 833392284 880312980 569944888 288515544 110298166 268226982 762586026 301420484 873253104 278061754 325330486 398765864 507106944 593537346 141576788 318985108 955858020 879499242 477935378 815450120 756363266 361534908 946438818 553820024 859619556 999066472 349326874 479856584 184042742 969052148 134300314 223166748 786795472 858718306 203258144 584718934 734419744 704099486 915510490 926453514 550245520 55013702 595564432 331323536 416949806 573141184 326716152 207590596 97134462 471109354 152629292 182527326 231259736 156860510 648402808 175082486 539072846 584195156 875336210 848789638 314318780 18509360 899544218 272308142 32820384 983021814 714493450 775531568 79469180 63334016 880369382 257464346 845400192 528203208 6292812 455662660 696210066 152206598 449146596 917881984 620189508 132249168 253508830 764343212 866834844 295291174 959927342 417998986 501832892 125066294 115895716 47522706 90698620 68954706 793442100 448368426 529344700 747971348 625523522 480890688 526729246 954324680 288954654 2280368 180642258 32634558 189162024 428957390 483037812 192698928 255517080 11163792 610751984 374510386 766026694 935264770 45276372 682935318 725170280 685546546 997264596 801963348 753451612 691371038 187437406 355815436 944839754 756714710 780064118 102030244 877722386 922656146 595906504 627318124 997552514 76068154 784297586 816860832 219705084 451313376 388741332 953366860 424434178 236894136 312238668 918592556 766605600 762304136 778170558 926265500 878601950 260447708 882446240 263010720 937553480 23542840 732276094 160539908 64194776 627518996 406761728 619977712 163109896 638328906 119273488 492073952 228447588 588033250 448689188 173122302 933089276 961140744 482361156 933596604 641658464 998653092 668739984 650927180 524701290 607702616 973495556 166544432 173370666 594989156 806729086 869769866 963548964 387712606 329935820 707987342 822475732 615131320 521872524 513068538 104650762 290829382 693833946 251805614 222281710 691305748 139566022 721278948 430338200 128770684 716427170 118549534 716845916 355124660 652560132 71227908 927517622 306385506 630400758 142531006 775531930 28875750 654932918 422750264 650378220 755786188 628959268 963299070 616103152 604162110 700077668 845407800 901269218 66251836 26687686 707916584 732743912 255769928 32441792 96120394 91220554 47661736 310857510 842674218 654285648 646276480 699412312 459652974 321204312 301601148 240201152 237538602 244361918 980175972 752147416 38620524 267028690 720423958 825255228 739826612 414887616 811714186 56969890 344583506 591238080 784407638 801719844 260232288 672376620 955282570 678611346 676220840 394342314 708066578 7493030 809106548 122827126 332036486 615152936 701657726 516860052 74323728 614865594 893232982 324019784 354077684 170832842 856061496 44330454 42463700 965980730 465333802 459079904 818054560 733731750 126979852 436328106 548527642 662862608 62828146 677250416 242777524 109964252 670573860 975903832 808842030 37378200 187836592 557287022 192937300 329034908 834553338 881584268 64166090 511654750 305598734 570675324 773420002 185475410 574990770 763424382 290257948 667811836 513568434 953921072 423834250 151211614 179340536 226877448 643173146 238901910 173169642 119061290 288283906 50869488 781650464 276475400 650119772 754691842 992482454 441954600 750080908 907648348 532278728 276589402 263181814 174533606 62380716 254055710 33317348 294706190 463180680 631754578 523191778 578943192 387082398 356356462 5641480 437722322 320830814 431286196 177385644 940317298 714492974 854133278 614534022 698107618 962964556 926729710 205981634 441722708 581969926 418551174 548873098 262305588 402105274 229248730 614734268 221768646 152920638 822267806 86025226 191134448 748376646 687208644 935478784 612536780 836171030 841754298 392879342 174178646 796579182 327769206 399215818 185709668 235483464 630111190 517125718 578059652 702734726 245017326 780381516 756378370 717154310 525961156 866647808 917315788 282986896 647565094 331234218 40234238 85648706 211045604 278744066 840930044 885780482 821216278 162376552 101717154 396973020 380081382 512488694 139954006 90539326 952229638 885033540 23230556 379500782 67524108 153970012 832899840 457152236 197563812 99478550 35088066 152455924 917783970 478545712 833493772 368948154 536285022 915706550 548510124 240094748 723096580 167262372 361065502 612766036 454766106 557691586 421333770 977354738 298816932 336394558 264368328 113425072 203530590 178354344 670880018 377674328 447968338 215891420 700482234 425104276 371907484 601267942 843330216 953347210 349825160 744534842 249097338 413333058 180406388 332421736 279411636 462336088 122622896 365446946 489305950 119583300 585350022 445209178 70293532 193389118 43748122 352912416 49757334 998008454 844060264 424655766 813054516 830106862 316274654 741521124 127508838 463586096 601787800 677114244 96301344 695486720 443808560 737392312 794599738 189595848 214478344 331321428 509378236 309802148 104331612 128960628 554042478 687456040 123483372 808628416 969025652 93428810 173701114 994244790 426765124 332922960 714888056 104305130 605695794 177218068 209717714 176210894 255968780 882666028 431644570 158815316 489131832 315261286 387499702 800857822 899715866 22525164 233738260 697552028 575658558 909681562 800385976 241703496 312083138 6392076 492048974 937587516 776469034 141399252 805372500 858033532 449290034 91962520 40698594 70888668 212265448 13419276 321250782 926060972 477040980 621762930 965149902 373713742 722667418 367893510 854149470 219587726 866494340 231470956 459898878 957380516 975029834 464592076 218746546 757648020 811279780 523527252 872903930 931177010 402263374 702029082 895720020 91082060 724241902 308619252 390905876 433339390 73947004 411934836 437159522 846557218 926179886 767962774 31620396 267563714 696936170 535809394 996559064 799060332 563419422 885212208 551812316 801044636 45180038 363519564 807002018 893832888 397447748 833598406 244864194 769500384 111104244 326418124 927730704 270827044 854539946 923804 159997906 35000734 548639096 896302280 326326206 430307956 54873992 153685964 538715786 606748592 925445752 547249182 436508458 322897694 658714488 841671068 433562554 396167206 367796186 384629054 678078080 394895826 304532206 494232330 803627958 764495614 449458256 103850824 581125180 806624544 158039738 273612360 804715282 702045466 229703750 185999622 734763078 58932316 221926824 390181870 362786660 337896580 965399202 335637068 901447612 356414466 257564384 520344454 977951864 240329534 735512200 222821772 108271354 443631322 333042458 52221616 392261770 252099530 152485044 991138580 102161716 510029448 117083680 776022036 20026948 755302408 426842132 530048644 178389342 774179094 15361458 842498472 721230940 950309650 3214848 857224934 95707150 686375804 12429238 898243850 382847536 250842186 445112814 45731966 418689728 751552918 512297032 133368078 811239472 277724180 836097588 848469092 446057354 730444458 948811826 415944296 306888122 43949094 780835876 882365428 893790172 946433096 657279668 610285254 121815134 484487362 868124058 119139050 12308154 911913940 755808154 764471054 453249482 634882270 402670242 810745628 313074948 333356070 757106198 12240984 319497062 823570192 739484906 444451204 703671514 484665044 203328536 703447990 25810350 672064734 832284744 24825338 304018348 102713554 514282224 581664928 445861108 65778444 266599318 424653070 613563100 327114538 395826794 245025104 221209104 950689056 844377368 862677712 461155916 196061614 755754566 44195008 231547370 127812090 15753572 550937784 901752576 292347448 134486204 600827674 596234416 12665048 447832140 929035348 77143728 538300906 467471026 357156784 711145512 496286578 379333966 473313488 112216542 273090526 507320680 798606690 945009070 789185474 639117534 849372024 711387678 475581754 365818322 586220342 582934210 749606308 814530976 180631458 695258628 230796984 164634952 30825926 431298662 811557528 61927402 910068158 458053954 87855652 749260818 722260370 45202140 450535374 446762126 367369908 276837676 16109800 27895708 501998396 632303000 56723328 197813496 878643932 632624352 134510120 144774080 487934168 306541154 807280460 679813394 421042178 711086416 371111192 415033804 342997466 245002370 247244582 638200328 148445904 346661778 870462104 796109406 189888602 957159874 995295390 28051826 424824732 857973220 735471956 572363054 164670858 991332968 209146930 626797112 256375750 165498648 565632696 192832502 415943542 7346136 113326146 935428104 720055230 771353170 350823986 675350988 343391320 32842368 846263010 926693394 82716986 123445122 938341540 41555048 444376288 124623240 831117396 360887390 935425488 373590170 211026252 826524754 947420228 500229466 804320930 334883388 268251078 339505362 386497078 561141448 336190310 211392940 599010030 740706898 235650698 195445188 597416512 109485684 371091322 499872116 488301522 23817452 909688014 437900752 543355784 156676302 465201284 873954700 779396340 831000904 901635778 901519716 322080838 589732054 402217694 443412894 870194866 311239816 874075848 507762892 691831538 609797536 963397580 557163810 787353320 666557952 833811772 297270152 446537638 924303400 639090508 790900348 148223630 250187662 948425476 580244622 661220676 696607218 644017650 181881468 54573706 726550078 138896088 218085832 21996458 519178906 7756912 961235672 481176728 430185488 94917202 120976302 80675158 144172750 363726404 522507158 289821578 87032014 418586390 498789934 409873088 27495484 705427096 375067792 701658086 690921370 835534830 493509104 509957646 323433308 261562618 995566422 735731568 685897890 709547962 57494160 431488946 753748370 397819312 448486874 154772690 542638624 369437886 278162932 829894770 48990462 178484728 368250118 92882360 298876648 629814572 915134808 751393564 858619824 792307078 626845704 287625512 465975542 781955678 498429148 530040868 958967368 174966522 482558922 260344552 85699410 584454278 616751622 758437316 730968802 181803326 11735020 974120932 877110916 500300644 553307112 631561470 313257604 698500882 244522540 778630582 347597512 666345474 382368304 807915562 489788818 890949146 385731178 33132758 687062626 801003922 772484472 982334876 935566706 750593458 319612668 863110796 74157408 94487302 821607948 35906488 689964554 296079330 154908460 4289218 418814748 322278792 392156276 54127232 556550232 486573468 366930412 857214438 445099608 990317330 433008982 857197072 871234128 602751054 401734752 742190962 515355716 252242670 684378178 668886462 589643458 132639256 499808040 54234014 362621932 535269382 259104552 37496704 135226346 50256400 88022008 879659712 742474738 797276756 467742796 325669704 277589246 693365480 929634662 390973548 186156108 284375444 422668438 137733482 864103806 904053948 579111612 548331166 559138920 115976640 139661964 11496406 168909680 941317290 924228856 330130996 46213646 690739770 976571084 828944430 484574158 689075572 896995412 115113996 998933434 226506978 261507972 621752244 196782036 556864544 400326322 307207026 141460174 585675348 7645814 41734698 966077244 811898176 213404830 956808176 45584846 822104846 829446808 226351110 233183954 815426982 136421992 414964880 401976014 403038292 256056920 420512540 348599730 215033056 905071652 327126836 407882278 674579770 262800408 995774850 341908906 709630472 759696748 232849976 284632110 685929258 642044754 218011060 706265418 131223728 432609666 992365562 720477710 355486318 801765706 396041722 6558904 40554818 844089342 736697844 538275988 859323362 262033628 375470770 764105398 134601360 941508562 998790926 148272040 709963406 361484204 133779160 487443930 406378938 548652734 598797178 999795226 399410166 70837850 273889022 945290538 421390942 401453740 772400610 539940636 641964314 50364946 253788220 107277126 892115770 46048966 890173960 541954114 463930600 517739444 662012968 81045092 363942514 147919542 233965714 243545288 504776508 38790768 230013762 773296416 205853460 842733526 529365190 506218298 405826738 180169422 112751884 495923806 58761126 1404084 325659986 205961662 824954702 79514226 275116368 388866200 348738320 816886274 352014636 958596508 645140652 813747040 448159386 571171536 113318066 633184808 796272622 188503646 890628284 514260908 733092634 843366840 207639584 961339298 249474906 407863780 485564344 922237142 694928986 256671798 233886362 833326280 483462734 465619530 337600028 74085980 762846712 808203456 133030938 782913088 309992516 547183480 705586004 473769662 537055914 365033462 975036192 301543924 962117058 672818866 344922538 993476208 291545250 852601914 200981836 845660954 427953390 407199964 998362864 784104598 664990112 202893212 301749796 278981770 112920014 615940600 879176918 781839596 445032196 246993146 82792556 95334618 957121014 328544306 317242632 52690556 999571048 473052894 814414316 718045362 616563200 293084072 96754106 986223772 418978938 524554448 572528572 132105686 400388564 14960572 315990826 54757456 794576608 281542498 620838054 111185466 885168428 809677240 737104182 944949972 156434358 436710776 575363252 171261708 151899518 567837314 891786610 424864600 771900460 641526292 495623090 85839144 764181424 306993932 591169092 534569754 700494288 254633666 760101754 959950004 876628124 257404292 448029348 337690362 17396476 665245838 113919844 355776004 30633534 821030020 820229770 46196862 353370930 554342766 491134018 169534510 308890142 7332564 718212042 648640982 101742120 226595704 211289548 732230138 506705338 854334460 663536100 989051746 17113008 132808044 357874916 860437436 400383022 138314328 149664872 657751736 607002304 193205064 113670982 487249328 701656438 474415762 450461736 376296324 876188112 541926242 258501168 827929960 87538094 252404682 357033416 83239976 755493320 835523646 844727942 923665344 621770026 176014186 53862676 228105750 140506902 198149698 664244212 301472312 808966324 681566664 874448476 890640654 27458478 63914160 133991332 935449134 413887172 995665676 707247432 93960220 218442066 116812746 211971574 691225402 984661404 447144006 464617340 667799662 71924310 621470184 75315400 132331568 740096138 611410384 802716132 555154238 261794628 978809118 565456806 221437660 350722142 81937374 127754712 453133628 591169304 93829282 634633772 443505810 119741586 570022498 381509810 738150076 510920776 698706520 1314170 531788062 334463552 167194020 316613968 395626462 149717458 723146792 271683838 404126306 726795050 5916062 193169278 788220130 257785300 830233542 151956692 799626538 511055534 730107000 853452046 675117966 981060834 160231246 513778756 337778084 55401450 923847966 699522898 520697456 168127880 352037372 6544746 235464114 52317242 562307440 2767688 174529886 269525894 502713868 143255882 57072638 233761298 980162714 245594386 760325444 456524008 685680008 943603672 935274310 689126944 672566154 294206304 597609046 405752316 65300062 997746880 607049582 704386944 590772378 101437530 180732374 907161558 206154390 317354224 757317152 817010940 281946728 82255522 781123234 368588426 480683968 317472702 915289176 885638598 217255580 152764342 174450420 758523252 683603414 100412484 226434340 925008944 531507328 457053212 647642528 124102722 577558628 931952444 28042260 522151044 907926120 791840220 103987052 795617178 775001112 527489740 472368270 463440818 905499856 440511170 868264532 620905592 282555656 769780318 279865454 246736342 817180368 331818156 559865870 341240974 861290034 514354768 56508762 890250810 446874626 907904950 416049838 96215514 971065846 716484302 507572174 778756308 409266774 630257282 786816798 213586612 704284620 964036916 664389564 300952130 170155758 552061908 542054886 240923906 426610596 585185306 660175206 13548214 831798578 455849322 195567094 609089324 339417098 12961644 840271346 855971974 906883692 508999268 852300200 643496104 183568088 913023520 506149932 494007602 416203926 953590250 115715144 550469018 404436896 460049160 115486946 367842340 151266062 74393390 158741082 749841760 88313490 982634382 326039800 964104804 843481730 165790744 458523780 264203776 688710932 918654594 985898602 661674796 176403506 171725642 983302600 795287746 763393006 888576642 185381272 789067434 715908048 475266570 515370610 338192818 486591682 147283340 792326772 734232576 303798716 375839740 445780270 2937242 4816940 291296350 186147666 551911058 251762668 812833394 819776620 734408104 888769042 43903652 814017262 470705724 684647836 598533052 846798586 7902506 661309952 957542336 155864964 926701238 340451102 90111136 313949774 414971412 682621582 62335832 839231422 914688164 70329010 504656720 816014472 769744170 736704712 556229712 41546760 440774826 242377360 12193828 771881292 355961876 883234038 149591178 168643526 30331726 429711282 246294464 497823904 289707560 324529936 786601912 41211402 415132652 124803662 133506156 575189944 567463722 849297720 794366012 40762366 420944104 60682016 712453174 804699356 191103148 897378022 380663712 966720684 949544208 411902824 993031318 129373954 819089324 543074362 462213822 391600104 482571004 839487572 425588356 308392368 115495320 790840964 286348018 734879046 824645236 990142212 6122746 829973274 727292970 243606636 573960394 845484854 553921874 703697962 442922030 802390706 199126216 267692636 231484974 968687872 940121946 348485346 349648488 667045534 23751468 625270998 151904150 481125748 156740528 707166670 930805950 133584916 775213268 57162466 229391388 455254482 729132436 944674736 704957326 338142676 268938704 430130732 179627438 221052502 373072926 442344598 193258370 481232678 711288660 790690338 939343978 876432310 64769648 313357970 29305310 477286792 828033846 540759064 253145366 584148132 93210998 93833468 906871872 89773656 645707844 857716522 32105118 546555154 327360138 40556574 353961942 980287294 704182850 857130092 653547278 840277302 646512898 718739802 406111260 946556216 519432604 85560886 999683062 285568450 94856674 339424570 561959896 564588266 368769650 905413812 930160656 172457288 443452874 825324340 854559746 117400348 195185758 620152208 852781592 531544742 974721986 71857142 368789600 127056930 267077492 399725842 4351574 589851748 625025968 824995448 842034312 388904844 641976204 104386842 667236158 634193764 688114200 368711034 951303320 246659676 961221522 327650078 838362422 942679164 500051996 28534798 352200664 618917652 402064014 197848526 599698226 750130562 957889970 296820984 160741180 769790252 972588004 953545834 238837322 539057162 496365748 497832454 114063770 957474638 362117370 758083910 291913806 103195374 30670288 576686844 746382978 308195368 281515838 711648214 516919186 994813772 746247676 402538516 221210152 389952616 206447628 97915298 353571858 414443622 697500404 500031564 191626378 550040600 980011228 177435080 393232092 630719728 36853930 111599206 836525516 690298450 99408826 987669824 494882920 905318832 714188358 988256438 360850630 803412536 621604302 485688044 215055816 920724524 736748212 824879772 237056114 634550250 277977532 121488766 344955374 593798514 490041444 578577446 403740086 87637296 320455340 17116634 865672750 259511278 664262368 134697772 194470188 942763464 989934174 675186448 291235568 86601610 974389504 770827734 933463488 847713532 641974988 925032642 903130204 386189156 614213944 504474716 743896138 966321810 921148036 519069786 552102666 697402734 89935360 599757430 11764094 235948954 771290500 965173940 835784282 162432378 376487458 294027160 671674260 723402154 295125930 829041008 711575078 821994482 649187026 909860960 742017498 808537674 104570168 720342876 982809664 813782342 538326996 644783344 931634286 355797526 7554032 907467846 551187696 871746660 96146262 957523494 910407732 813457590 61584976 709795338 541788972 424742400 168629318 996552524 387514294 949093240 291039854 705466536 955353958 162009406 939252504 940577724 469455156 667300332 800907904 908059688 802314284 179652854 154312076 72573052 430900554 940965146 653376948 841757260 638307178 480948182 327911956 603502542 900804660 223219016 329937776 565979028 733432232 931802054 737011332 179878274 96844578 338024168 403202476 11426978 889470340 600217464 12964522 94642716 240496472 218891300 855276658 317922938 384157200 314915944 528266850 181926936 228004526 805493978 852961040 661652448 440856886 126840354 981426242 258224954 383135300 590043668 439799194 821418726 810902938 761223096 926928444 858900874 855940684 927851330 924662786 45735468 697439204 905664666 324146272 959794024 276060382 273402506 815162224 242488404 833181444 18394598 523675426 413807244 58293830 155564476 878140904 311808126 800107672 645077916 387061012 409585460 563365770 39876422 149643762 676647180 735786926 309829452 647205044 774760962 669191308 91652188 565363800 882301608 254999190 619801162 247683394 992815892 385829390 204624300 289751046 823579134 340364688 658192886 956194352 783445672 917594998 367874880 85134354 209946390 60378256 197303714 429007780 385882858 514255330 174964068 829709612 224630748 457646992 220955922 890313970 421546318 326264462 303845538 100209458 276594924 746520742 636949048 622999104 659219220 899319406 572579076 933150648 267378788 391329008 23571934 452310252 418880332 27942666 230216192 951766820 534101870 517700084 466782274 690813364 657139754 53026006 142696768 165226474 434687278 894961192 500668774 640381788 408168242 879670618 548645154 181395428 686586778 459324886 56511388 501650402 772897710 267744858 702686676 258303524 112665186 364538920 957192384 676788522 400122232 546453516 339986734 182451232 494261582 423424406 551039156 820235836 144891066 719279990 388933982 61670818 437033508 611556856 721128928 757212922 517827606 677268066 682467280 223224796 185766468 545103560 627345120 600847360 886246336 166311174 837165132 341465172 268399124 494145038 18474582 875366866 766731168 614145508 259583144 546469298 523414830 167833938 484469906 551790528 183423172 531773584 216397354 426895976 585605046 677237134 261896152 981074112 280429542 975920914 449882748 337428516 104686854 283277316 567207018 972147232 149183358 885541572 764252286 528911478 327826242 702836926 12822420 275520608 170560374 968616580 309510400 94345826 235322926 906447602 637240046 385476120 735461116 508306956 636285856 251797836 339090996 374884130 528762154 132098720 615431508 647029090 431500434 788257870 452918988 824851756 206653670 40449688 321966456 209925992 275654 378165542 178436548 29537778 786306544 416523908 749915416 808535986 572478744 667060670 391925530 98911984 974934786 269240066 228324160 446343824 510050668 322460166 461942780 567346080 243017068 453057804 217836138 410790062 268363754 59127942 233622392 227943774 431185086 195840312 728899998 57007916 344701314 165177982 90328768 319922954 553267204 995137530 327875188 847057524 451858886 555835472 635372848 174892492 53946242 683311410 931918300 421149436 521906008 190935888 563234208 514424920 189149652 341819476 196580642 447627546 824560360 818742562 291034994 633455172 522577810 304302652 328030740 570759560 483009708 424134952 358932948 980506108 561768368 546761912 674764394 770704112 92396932 517606242 707379958 890730890 533071102 289903140 968208442 417210136 199708322 457669176 677066574 195989120 372206804 840642184 451883096 676227570 775815728 775105510 342155584 449799000 171305282 718273686 506737666 662379500 175453480 649977600 204859010 18155632 502196646 924833864 393188342 676365228 522051578 991981626 940322296 129337398 491685314 239094602 783312214 797796178 111110680 288436994 9873110 837113642 79363922 491623712 500053676 625832456 379601348 82379964 69899848 594370078 916452130 237007692 875363226 776692476 274457308 63947586 350822484 379656700 830540860 374481164 316016364 673099718 691218804 379674758 654094494 146963780 616460346 789958706 461924954 697538574 994326380 830188164 915419528 560262116 541451080 589245684 909814460 815244006 328781514 355111060 163429392 83878050 19945708 500715886 683406894 68749928 205223358 671386326 2489110 203860046 277958078 172130632 718391972 248564488 985048040 959280528 947386854 689059552 258672566 649207416 227988684 125700840 767861518 759237976 815425098 930084632 156828738 77502940 671176984 280848964 835591648 570334732 391649944 990836122 452630636 159374684 659024706 291125492 114454126 656801552 581424042 588873266 985537384 536857382 68902118 188875376 330557694 29612576 803280520 844543568 85770526 364487464 8971112 367402408 974564778 411541516 47385620 419178084 466784054 17174292 829195148 168254492 706834704 549329168 84274878 62469290 149990588 427076718 752198178 977068168 90092608 42341686 937955848 17526188 697901822 907889770 565884796 498019464 393571148 26007616 69039738 268866738 478764926 311933982 831422044 334650454 464968588 526227420 118451726 330186280 295732624 296530058 91685508 409513744 655690952 120588932 150537794 554213408 857940044 836315036 467389268 822432 650125746 471175984 420018380 313077982 23055774 397930994 627733024 852281006 990201198 412808408 824666274 689869654 988456756 839612212 67194336 834146308 643905806 77784208 134539908 858047508 693851730 412472968 855481690 345430456 370361768 866629620 128438862 782826538 142879970 886435426 510514038 728018326 325937738 475561378 706618496 707308778 823420000 656139994 179348446 287870 479125188 496809232 533914324 801775992 774507644 31427576 67843032 834643330 287267848 960036554 751351944 239926138 866743740 648190654 380243546 999271726 828244124 960570562 338968342 936042274 281263904 164211662 551320848 98035360 377434948 832593340 564901760 934415624 905402260 762187562 6350408 430069750 478022254 648808160 831556894 211784632 452075538 560813728 84454902 101044368 449124726 926122090 726475580 407665514 484360418 270914552 823358126 946832682 708842886 404000932 839157668 710865062 17705678 486037180 940348818 868493892 264420836 104149272 572225716 165103178 620970682 325986024 627005532 874217182 143870104 84289474 435557962 459146660 283125008 347436120 162912880 619877038 899086898 294219476 56825786 519209800 268491758 628576336 871776484 474025420 187995494 409722714 736514346 426082390 669271742 331786526 568085210 688972452 372461388 284486972 741318624 846437728 923515422 276632778 446909738 62707678 498974700 744895344 980207148 606477728 79942494 5273324 341884002 921615024 691438674 661787680 817821164 617609494 64941522 57813182 99702106 946922420 519912936 95550514 71504298 112305892 515203878 646926442 844883134 279702246 629272254 653474218 593444614 69849052 579014498 231922588 19231394 635765416 40336366 725922420 268372494 818100544 582868438 825711994 616558646 409958096 365751264 106543438 820775048 386086826 68912934 908545426 440216324 350835762 971687240 51382388 792490108 56300726 679661928 478582268 516344592 623502260 671318672 339003262 586129298 619428790 829393934 901071482 993042918 394572216 684189234 204245752 185631182 585066170 714904396 298290922 182506762 366095348 711355336 366135464 844573402 596502942 463273060 37457814 527496844 809560618 549760686 566054696 925289118 218002030 102734540 893772852 709035068 984846354 648718388 795012038 74346562 682106866 200180826 625451688 16190214 86992104 460551336 999232352 257475136 963415932 428484088 907374140 879467288 431373248 388759998 315186378 988113074 625580556 806243854 286416868 376887512 817407686 182777290 880542804 339667288 11593112 32774346 472558744 886149360 636363410 589274698 598553496 400841476 553775312 799666386 145512634 628838642 739278356 311241838 880061410 451463384 38629406 120291888 543010560 135023428 793792794 852242758 576784118 579776224 949239434 164915894 329137956 963865632 65493486 305133796 996103964 704171038 740085770 260367952 706911218 320855446 226902322 32156708 63911680 582762622 331900796 414218692 829739686 993025858 47202614 288597814 668610198 510784074 681158216 497691708 8437384 414944674 317491732 425108240 721365428 428901442 858346110 248897506 822627316 619129962 537677884 502588204 91877306 259173748 358834604 898330808 572762572 427168680 273377326 330864900 929786634 917746924 205030450 953967938 562470864 814782944 861149926 399359794 813921434 289461896 54648396 394964324 632560752 451843868 533902568 989717274 514010190 706683024 764533576 938423960 747588454 879444560 878826768 376647080 745456806 692805474 688567738 904846888 119484916 667206804 636039520 321768424 467149864 488318042 996204280 81174230 799538962 406944470 568601310 246800928 640101396 386101060 240151148 394070150 435284618 592500612 723272542 435860024 529942906 934682856 14824146 231584772 2692650 249017860 718581044 885221258 986294202 863359290 782211706 12663662 982966920 476457416 683930762 440648814 418377184 219716972 781530340 381942320 499862604 74026686 634014396 955608602 348416556 192016968 402170644 79527096 323373372 886235546 322439636 256099836 792234578 753751308 920800734 557706646 43072352 238862294 506564256 354119314 845341278 414355730 402975378 473781374 838997748 715099286 625142992 202721510 363875520 99318670 850215120 535977800 676921680 951394018 606097634 79066806 69852538 812054952 649623588 319092774 815046216 223789384 811013396 860729378 126438922 883963958 143506502 555452080 292941716 220180698 327796986 264719622 296474384 646149226 553480170 418371268 938095596 906556024 290781900 856422520 735972418 315458716 814200194 201226128 66805218 322246426 728259664 54898826 90854320 630577792 160206628 773268214 446378136 215158846 967856894 39113590 723537568 884895914 858710996 353439254 737637762 319297706 375801352 432498574 968442068 315320436 458594616 529480056 640471630 186744674 484884094 699030650 60459218 623956078 844841024 986195686 364306668 217359202 246064498 272660990 193544878 63155758 672970906 75012960 769864772 933880248 266206084 522405860 632765130 84889440 246922362 545773728 470241826 764201546 798684504 766127484 27316082 231728216 61217548 653896106 84275506 134928672 852054732 173282636 632493944 699572070 613414898 762226098 116709290 802639074 807142562 421794912 411842522 383419420 156755784 385117082 655710820 200472172 173926096 515459724 24373438 192128148 143475534 529547900 263962880 990013786 343465776 708960038 177608692 792848748 90880600 468207354 62733862 216121872 954924190 716050392 791491486 112125572 784477128 414261688 196630220 178391078 376144366 690928180 369314846 133159082 966870720 28433912 922009918 923206252 592404940 807215324 19859286 822485822 828725412 39638202 574692668 928651554 800741368 386442796 514054574 896791624 976149396 877035198 455647056 364181444 911860260 681639570 125309670 68359520 927793822 181694942 99318634 863069884 821073384 560849022 307756554 73677252 888737348 568617918 502032110 953920592 845617566 408307608 946082104 487902938 812135978 622299434 288799600 748006218 65629490 391871148 704962056 9110060 775037208 292872782 187523710 224684838 612613662 363783396 933655224 418725258 954818510 762325796 781790874 73180820 144203818 587189000 727318340 203386572 250797022 795449306 4418934 687561882 456422260 233823524 700640710 922614448 411935138 264063264 98798276 507896684 983853870 782505762 839536344 3738216 418569438 431549778 986052828 464052168 415003764 809056788 835782644 112173284 712566872 881036574 337430930 84041544 418921396 941449690 614611786 382770866 448203072 819229748 283983670 67198904 642469276 466355758 220717218 262136060 247356236 869791200 68909470 765247140 767968680 88972094 236022408 429328488 645655920 552484262 592186312 347731910 143743886 538689264 560875510 902172674 430833882 36377538 905110350 902184566 384838232 892920476 651021032 871348938 805874350 244528794 444734894 396196944 305129536 548442154 668855310 207186686 509194620 452932562 453558126 991197608 720452398 425449166 918549230 586937618 49222310 554328466 498953226 7642916 3947228 392648146 972363352 601974788 564412540 181220194 685963286 619566322 856350452 691879780 52494092 536017614 507794210 258027004 145623514 553769634 363097926 146294588 307410890 183016882 866573204 977774542 8891396 939532912 386973478 384996744 934211248 572720412 719234784 103826192 102568798 503088180 942055310 54018362 787734254 488357756 617029402 322236706 856965064 693468168 245090338 836786606 385353020 495806002 861482866 39011146 870713480 813705978 467351476 532645938 232584578 290699012 178233540 569358004 822017172 519726910 82051118 312049454 502937236 349063238 504141622 983406562 383785168 63767170 811291878 322808902 441130300 411877996 915672464 205011858 874782960 232814632 961931352 797270394 553191372 645598698 246954232 777232514 801017690 630198954 226962202 425395356 726828590 885167634 164646540 859894254 230020626 965844398 700146380 410376242 931058956 973699580 763198378 252804500 528623250 442537184 85777152 991424466 671253228 281610772 425880126 266708284 258031754 962110308 713702766 252747420 914959302 871166806 747479318 550347112 913446040 489335610 900209512 111683902 563155998 726036746 340853154 65263846 436570430 255745624 557287052 197808414 318351594 508538214 654390660 281274310 627287370 564032418 605175810 728064390 811589156 645024564 341741192 814333850 537938684 898165652 273579688 36960232 791810826 130062684 528266304 747380688 975630974 649057370 324400012 264788014 300668052 520783132 83170564 559264822 66738228 540853470 888288624 574612660 925442130 678501970 796845936 671877436 198117924 147207918 799259820 638324140 308329430 216495968 638224598 499450654 121595066 682418896 591375852 946870826 986607744 879283250 434460870 874090160 315806224 49623668 918172144 524128846 660942182 327511568 770477224 399763350 353881616 521583620 39471024 409542124 812958948 265177972 832726806 377370026 742077772 647900202 516230374 399032188 863489198 733248532 395542282 858545536 916229818 477117466 234864344 912937620 746700600 789873686 16640444 842427750 43369868 634860266 834959544 88522172 825924026 679426234 410184562 475312676 71765924 486704204 729130800 303840546 675885162 267729124 234655018 234083118 167831746 578512356 685921252 82810776 740195988 567541636 222249826 500079408 60554138 885209824 9008918 428612314 432632698 168038128 85040196 732128054 106422756 14862858 847077904 877475748 542438874 176111696 606205402 13739876 986500410 719435070 338547068 755945914 77101478 866821106 132657928 134689778 96379026 198626662 810134138 782974226 131545790 459619662 415210044 191018028 963559042 225923168 28899700 856711756 268288776 816849498 741599890 121852560 44802666 267295560 527763470 953216588 656832482 998411856 48830794 375578996 536712068 82967704 278150208 605342618 213848694 159998560 448567876 95140334 897819052 203074720 481413736 729937310 599892530 305311444 55718268 215103966 426267616 108292792 373841564 479518536 873504152 119373590 388029628 629227116 144401920 297819584 231455152 868410156 864202740 107209444 761440812 913749662 99059980 303574844 914330706 741331396 822201240 987423234 369782850 881269242 48675576 556978322 15717366 907466992 272387592 867227640 75364628 915321080 406562034 513494600 921447072 81217314 189623958 687746588 867741106 415303068 41001444 173862842 990851256 899671840 828516432 214238650 851246666 773542842 843819684 473040378 7686612 7003094 553122130 803345060 501229722 632901864 859564262 206155310 313364630 35089864 940188668 415254030 575802894 201366594 441116774 875219062 177135412 901800154 556178588 233666878 929847044 588499830 857024484 787907468 282465346 980762106 41725336 103854264 389710446 967025684 877407904 570611708 131477780 616744958 168784084 98327514 464208522 961594192 529657884 173025740 487248372 383870962 197119714 830250392 708190942 903599756 789621928 830840448 573076340 840106586 923518676 585857572 785616514 663197728 208883464 568561774 416838370 710360454 845009814 5263132 709447496 368366438 38993362 969888300 92309442 718039842 841773876 941649356 515300646 873410598 262667528 940042364 752359478 302887514 725301640 148348552 12617426 710237178 181597812 119556846 471005730 262716748 245454652 999198852 348830788 768341438 593587698 455039976 19112762 370444556 66345334 409542666 304304014 845118862 602287004 531050812 69844078 242883664 912772928 168875196 136566550 116517564 229300426 462506786 383067166 54665584 247390432 977937458 483964058 323868384 468972878 697756502 35634194 711742056 761876500 244269276 557583842 277255464 80710098 312241112 11543864 644894510 802903302 525546266 143823314 738369182 951257146 385908078 188779054 410611050 928896356 264337800 625878798 956855274 597473258 174697610 696745084 192453726 829771722 215183876 646279118 738731726 673663246 424525556 73063330 412953462 564709928 962930324 272463658 917374426 797284100 767039942 359127232 475566646 909417480 550761560 108472400 241780560 260167886 532782904 983439896 544455794 120537232 460846774 99549856 405419620 847955804 996133982 149240438 314663562 470601818 855612926 512943208 41950178 747357136 18896960 77510966 566954108 667903836 211707472 769575372 476909154 203152370 347301380 225426670 405689414 740998396 916677498 793075748 155710560 548690516 452430356 65953190 264694278 527567518 313072608 926641676 524310914 401071464 175398416 347075234 281932050 539097162 893956648 652396176 495468092 513981822 532725914 78373970 131862036 593044326 334646634 252502944 184359568 731887184 366133658 529685720 170883994 271020792 770180926 926571956 968168614 778559954 143658074 777261676 307570608 493746222 663254424 416213330 763900312 526734174 842560590 535416918 412296576 317707042 116076710 668252710 521614872 881233846 262070502 923702272 96335014 612658778 349161744 540671440 833892736 515249466 128793594 637804726 871337536 612388432 650740860 66147030 446628150 711253054 307427356 989298080 444469544 286075740 611814932 972888232 479416876 992900728 694882766 566505288 639283684 971780212 261772198 538999754 405645450 379533204 292145870 42077708 769097840 574672602 864759532 548545648 684805572 423434038 683522776 592476944 16663502 332854658 294592516 751353896 315471278 765802288 763963710 404908340 129618984 96054584 33416356 987816744 340192738 570000968 720466220 492735684 897693930 23846760 579953556 262511406 9427398 138898720 965876406 15257730 212178542 123961512 944749352 651204900 246822296 550685906 315528574 793425066 255246436 213035992 962923682 976696100 264418926 343419012 77592456 401705810 590485528 472611906 836745084 49612946 927830174 635615748 92401046 33013176 939516054 904572750 805028534 441412430 170642 929974952 25337152 899319740 34602354 83979816 536000460 63158518 186109740 255274782 460125658 201056156 568302424 710932772 816335516 249552056 5371800 53692166 750205690 816816548 159512880 318901574 573158894 569680102 254747252 185167784 929363566 376374084 478775118 49739790 78367176 666727858 665081678 228769478 714014906 597777770 731526642 199772530 541190180 302209852 461666680 697802996 817320728 635207912 56103438 533520950 297814516 773005092 671248078 583277846 622454358 101925744 526822744 559891514 768550340 376731636 717624674 505074392 516741502 332376080 224266904 290988286 161436560 302773586 543606064 878283486 488526424 353949430 177169960 616382850 292335516 292207256 290312670 657536492 681572042 755160066 151695612 145047050 851461834 471004658 120584426 823224846 135106050 64248676 427232996 788065920 935506750 101179880 579000454 244505816 953159052 654669512 427918818 62681434 554698882 578958356 116999024 604994854 706355476 979060402 418370642 356811070 423514266 50551680 853354130 643083448 383349504 584118156 205502588 895791510 127960742 90200290 101718848 272813246 70317642 194893740 702348848 155242106 848294060 559118722 994889468 169534046 869529322 776863454 676587584 40408538 873051546 629300230 335455370 421717418 175265700 171294804 504918558 806390726 456375010 849921166 627864246 906158366 138260074 914760228 210076296 155155290 108912648 538389002 513617378 980458100 630759214 93869310 866685316 767834750 613990330 208791122 439498552 665198302 338538660 844249440 501487642 380612060 8499576 49079586 388676200 7989158 40564724 209334608 831367944 263410214 780064734 590398306 957254168 238390576 982347200 960898194 632460344 971384270 897780542 3913158 881249166 375177314 992370884 463138032 294841996 392250926 910518592 497620754 568446774 623070848 442405012 342460992 534185916 714370726 499043074 390289256 636511564 863077458 314859176 178818734 333660196 967555232 407961488 456444094 928713184 259642762 421689188 201665070 233042098 502742896 833484484 353665318 110152522 330484982 157749202 877943686 956754212 716737356 81626126 858016446 998760308 105627804 500420322 341829638 120488888 16547608 660680558 801961508 324741566 76774848 951740650 490471898 716864356 169896288 494844950 63287864 191539974 492977898 262002108 859859726 575712558 635558180 329307284 925510746 393627192 81043240 927615950 494883704 306196860 576141316 342154230 747357050 628026390 394026328 450287044 976844332 860021552 149921412 601016622 222759318 711058178 528272552 215329332 203342914 353712916 102357606 979556744 81138084 9993338 477567220 592036884 717558982 682319156 781684394 942715656 586211666 434245368 674869198 363797002 397700710 970167242 784034666 133882794 600021516 572505618 720366282 246883196 670849640 476791850 993105892 116610430 183608666 249885250 637298392 708091652 229063392 378341366 223115180 852317010 30480428 485136244 953541576 790686738 186761660 781668374 768423644 23656172 631640220 638703648 613922322 135899470 200200016 411651386 695461384 852843836 658929410 519048974 887838128 776069970 983890158 510063706 761037582 507056336 366580876 470600276 350358052 966121454 815297412 168205996 63076068 1099674 285684846 960872366 827793256 580369066 300411226 97979452 774179382 602142474 493610876 12358666 393589312 622187426 328338236 833733150 764507132 630701386 173237086 632541012 163195970 940170580 699219868 742092986 694254650 299015772 896492406 754653706 67283530 914586910 537367954 813031816 833379548 891379110 232406764 940837312 159300274 168133800 903351614 812519298 235940868 185751340 56711388 349620404 902334764 800325386 230639276 269989800 192814736 559408360 175092572 105249982 953785022 528003552 397176040 226403236 59232634 619563354 397714460 272764242 747786168 651527472 57771024 234627220 991082556 802912982 343272920 825598440 567756656 741873742 893787826 755277016 765278838 930097734 113187218 516801414 967738682 556698376 254676218 32667426 502623660 93774098 464699482 94940132 478465052 227698856 381477208 174133228 798076858 986015654 559743292 80096194 279323550 818116818 409649680 456304832 179875630 761436858 304613448 437044570 122701490 396706694 692400164 834127706 537974124 971479852 280447648 611841024 777898934 664433362 482278940 848944820 77495034 600418726 676241590 668817296 447002542 617626892 272754928 230072748 108052266 396389496 790497036 79935986 861810942 465549826 39196000 60682824 969084924 475266082 57290674 786254934 168767202 797679024 666038756 169335444 727869166 809986474 328772638 75931902 188626012 393484240 185210088 111675804 821119040 372027080 217078434 116849562 700325020 10085952 684997728 839060344 472766060 983135820 711901224 190948264 430273814 664148254 650484552 930238634 268198966 297659508 561328084 773299440 734174472 761879306 206430250 939335096 288998132 659705886 607757472 304990032 355383826 326347920 658007984 787821604 739720330 80107826 263685104 722396242 334835652 420479378 667788802 4747196 144918330 94951438 677090730 216751098 678040090 861893120 868478086 874238958 13136536 667588052 648223324 729370098 823509428 541745588 366504614 508682694 856383404 994138574 253123926 75151436 229000252 334440370 294266334 486959282 633628486 280308838 207108490 46953406 948072084 198370752 549243212 868627128 899326292 689647596 55456962 210605198 264082474 988779762 244072380 776994184 734161428 530710028 342748700 982580372 255941788 905106308 485262108 87415406 855141062 565242858 771282330 960996942 474683666 246706550 26975620 567147218 32869250 207350880 412158278 102201660 706141492 851648866 213846292 150742464 640758508 896011908 973493352 248209926 522924502 743271454 769995772 49377802 437489520 657150030 726004706 187464322 990765108 269287474 481925526 828332788 304498162 676971028 614527756 440896912 62418734 435588906 527792460 194786946 524537894 889935420 413009184 318787574 21196606 41780000 658315108 877914122 967859388 566888326 915806668 516328038 500760232 115366428 72275866 283925428 732468994 862947216 527003138 360398798 149942830 452084228 461149324 902974786 793481254 620932992 857609408 451330878 604694894 16598398 333510872 845084124 666638656 204449650 729271526 766917684 250485728 978249648 799814002 12963258 983188380 283867502 342972842 249980986 92989562 920811546 893375964 815654698 965135384 887099696 676622328 419056984 543175566 661439798 798727500 577151174 164037974 4718022 64774404 283787884 966560006 260966370 858909780 802644866 501879944 693881244 888276840 872607980 536134132 279813898 950819986 18542084 734154824 430316582 707072304 897881808 793262174 690460390 314330906 127310286 165793340 617471460 543910472 121635348 96053884 803004658 161326760 755958466 528405924 915681828 459492584 167661310 634017944 20953114 234054602 616068408 532581244 123596100 171163672 928031558 291561772 722126970 403694730 635555594 847646564 816673300 567473130 237134964 938219394 583883196 222413568 403631162 118868720 26810298 329829506 115245702 570464744 384631484 752405770 377367420 217871426 893988554 333472656 752625140 905370256 146958390 145922092 197124620 158201662 13177370 630704524 250596574 484093130 307436952 598503168 82795324 300034142 834471830 724584140 725091044 605738228 489263268 741715062 377330124 135079820 161905934 259784074 609505034 948969940 975228384 184842190 586760976 536595206 473700158 637192910 323143786 976725970 255004526 142646892 330132294 84157978 970653586 712308038 158144890 461455544 240044846 400581164 32794150 134889430 811854276 651602138 193240686 673251388 954570812 321414980 841680686 138853346 443805048 777838354 778113388 639450646 997275486 143469918 150179610 651397622 526297352 393376028 649233366 841495638 597686698 789016524 907231530 379956914 802947844 214966394 202786682 135515888 733041034 746310348 434157726 983135806 553816164 95209990 876281836 657017800 296105922 920695476 294875572 39076802 305877550 978087776 414879792 629560406 372099992 534354536 10349504 700864140 917892858 267861956 374288126 161174886 15983888 40702730 60459694 48224566 462376264 727929592 624055320 896640780 858680728 912039212 619326276 954083398 153651628 424233816 200698908 868731858 472792834 114575408 845115116 757540964 652149000 314637738 376980542 829558532 511919812 100878324 88241484 610373896 528454862 2740548 139812238 114240778 24935402 548956556 453903380 319587444 584726456 225361816 166123972 45193338 686283720 681901718 405064434 852720380 875373436 892354448 690840378 605885782 672679144 320504780 361226410 312032578 578456922 337344198 366068732 733023742 906145112 106070732 77941946 865896436 928678100 967566602 107247138 306521788 706478320 835312654 113499444 599004236 931005362 200740788 359737830 159733098 7526212 136104254 746383302 553476312 199813030 425405170 970130246 648459464 566626350 222256964 25149816 529396664 931750334 369029336 658608272 661398338 968409760 889719882 176133036 782860014 890268784 35320976 538637018 602530276 69094520 857149650 751950028 565307710 636348012 359803336 894508296 408201020 417461004 143625658 32369458 274392998 329738210 765865364 162978950 378714094 594628092 283598876 142477506 801653866 263806930 952052448 854220358 459558862 241382616 648992246 589303892 950879008 330546792 269720482 250565318 439345236 730109790 90387082 67562520 722941000 925735876 952377856 872270064 409274844 432310842 350031242 608200024 621818508 573939812 917983716 808132918 604857376 942852286 716249492 161884960 987578538 640386614 44891474 742112364 591160192 162802926 769806628 974061124 358193968 732774738 676095398 826435214 447406448 14475580 173947906 573915198 867790562 884949404 599330798 117723872 550106688 421288490 909015554 588827552 529269302 696325948 171376164 12825456 240102648 244483410 168960612 391568196 326933516 513952634 631019214 939539882 148076324 173512420 151520158 733801728 327460480 51173750 601623638 934311236 398106166 704958940 937669814 380841334 917080892 169733760 887358372 671220266 560602660 873590172 628333816 821729590 152924126 85282420 232862896 771733022 975040026 620510014 416732986 654478164 795887930 179639290 700758626 955668726 414783376 797360838 9435136 941167710 83017690 495449632 124105112 434087178 201885598 277019158 526817928 568161156 494009218 894969138 165263916 364455562 912156544 974935888 131067920 518359630 249126702 120330852 436488152 700320194 197632238 893651018 916480104 801043026 582611428 858511372 456646270 198421986 241997480 808211556 535377724 547441064 399601424 80528854 132043888 149167460 634276992 732087720 320695634 164099050 391349162 45749510 325171444 787023924 975311394 639908016 380954148 991159188 670554758 301902680 30796728 620943104 786481454 611579336 134141198 579128780 304503170 135968028 86843214 762277540 426729904 851819468 989374484 993222206 549008974 998654630 992164922 761002746 182706054 376511260 910051122 183122846 179931190 989250606 230418002 311807590 824099950 312135170 477358124 866296776 673737916 850558158 439493926 377774404 445349170 603022708 164047938 732237488 966514116 806159424 38389324 180489258 849176150 454719192 75249276 937774772 667975916 813843132 254287866 203468986 154024266 635173678 649397188 517083072 598073564 247911804 106359658 565695642 130747002 783998542 943853732 59522722 673998054 255472302 579391188 120047850 761476236 81983408 183215012 88923562 877611124 406585872 707524154 943101908 918567968 691971238 214533718 67137160 22898934 301508466 794706054 741730906 861391894 891506572 180578030 225000224 653218214 70277630 926583488 470444170 807704456 775266150 913605632 344187926 522298080 430825434 982877202 548800446 483223168 364050450 257128652 619311588 817543610 5634936 925573524 420395006 273515864 854459628 454535182 535807628 770214140 984509480 54115364 324940666 40908604 650109266 811772442 827716790 379746684 609786376 218237616 623481644 590577534 807584778 873881854 186815888 705104710 64762078 243041094 268591812 556638388 350015574 679964868 557275696 887510750 860170180 526280740 435683336 385978526 263160258 404844574 255489982 67731892 940011698 766469148 772307876 358648466 806482466 21402780 385052230 471577096 230558428 42636444 404565968 377884908 353391006 11647696 490532030 393405772 400573136 151613470 338615210 473083322 272854558 714581110 652296530 499423644 130405618 338537778 956199916 368811860 241391330 610255312 751302712 181377574 879600426 446761114 207378264 625669552 191138542 483952326 389036188 914896490 155223772 655578518 146051520 358051202 462643082 155511422 402060562 394812930 408150256 804009012 409690662 843043596 176884556 757323920 916432244 222113848 504731362 773374340 477380750 448415396 200958292 879772610 960973242 651312020 988905750 725284788 509156888 798204374 58790808 902943574 628431178 644603542 494645856 814927134 221982324 113928364 7927212 923885058 274609448 81683284 690251624 248300018 795325810 360169952 55152952 457416888 997071172 226529216 475947524 283633998 501115490 660302942 353538978 52033988 903115222 786985894 400217156 396775860 945913866 662292322 809968330 514711836 99529678 708001982 978839132 831335730 672198822 458524512 59241460 96653326 893579234 126401904 916915576 642950652 540234226 48114060 344064624 682241238 814018398 649798314 7770278 856861946 928678756 970657128 213446544 508646404 6799906 947332448 99999366 324948398 591450564 107940610 484663878 250452846 300400056 296451686 545958412 419310870 605301180 510950154 302418638 730571350 805739072 172826054 133145202 925448326 7158182 95340378 227264066 502722862 94553766 893320098 331015542 349897552 751613108 209232784 159814508 957170658 468057268 796395210 99232032 995803884 774577438 616323630 924683212 860600076 75886782 829576038 64569830 961153874 72610074 600037856 832622168 741471946 959459590 25407456 546507782 121332016 532956872 564719018 5179016 49312430 168635860 160144928 129470926 747107272 843985206 83121016 51338070 799446348 918017972 844969974 160785604 148196934 348274094 718271768 392376658 532806052 335297706 324899658 725207094 620983036 479776570 463278134 230594428 798113722 259626430 733066602 446505810 15188336 94331290 94336678 276496884 361277534 806234950 579747648 882239686 271333638 598483176 995580258 626153814 601290046 364306494 535009846 22452694 487355676 260062806 669986538 789867954 113098844 329221470 833147626 166155242 691765284 618860336 630489298 685221928 139043180 984229562 712518142 250947738 71366264 62785604 475766476 609983308 60448910 916341716 341895822 567468516 490834124 996831204 687269882 969474878 335736672 876746954 671382806 130876544 411642750 226775314 736118842 870085136 458226246 336545672 638754530 103849624 817128858 367015250 206135336 87347538 896166058 716579144 106115718 973573240 545707732 556481890 639860678 142576590 742484900 224088814 751438024 548173884 197669246 822987020 778432830 47471580 67463912 239586566 179885326 783586324 730534338 999973524 641840550 249638982 319409582 752758478 350895178 614683118 564132482 843651226 196116200 555848458 201363094 189524110 835192524 417530110 783564662 726162598 267783608 514749424 310537100 963206980 96534926 414158644 556321820 90930236 592363144 567408086 507809754 248887872 622089966 316765340 246952902 512433120 682606146 804181742 944541880 772508142 62313250 326764578 48590832 640080906 526834464 540095004 773020574 599158262 424851134 388373632 443507926 562938966 452506892 819111262 144965222 546594006 765099000 12850576 131285170 687583048 631791720 991573238 591406472 998461134 703504968 23642766 18728592 610509208 158660430 262573654 827940778 74391840 767327390 4000962 718382026 353399862 801708854 350487236 706682020 915983826 434606370 374459498 325721542 609748808 221980496 864839370 375935240 304639124 14152484 168229350 836155320 829173750 97401008 301221964 410594422 604885856 435236034 13192528 511208752 641354448 270073920 316675932 804192082 711959552 638877656 893879248 538038596 325071832 658227540 820179242 735187314 703368166 831429342 534205664 152883166 642009826 185158042 913648900 164528718 83713218 632427332 299234962 222084488 853357526 66123760 670425494 538014088 410353134 815462528 624358352 595760092 271052626 573002346 77912374 714228708 206203602 624036120 230552508 431974384 729886508 572423916 289455500 14865724 860524528 284295468 904768436 135599040 868044890 369037986 373947184 892250910 811176630 113235956 474587388 157090680 901317478 320849966 826500022 35192612 768754674 396705980 317515728 208638822 986068832 701405454 631984800 380956460 197719786 673091058 718132734 230232762 553387510 244505054 451783028 313012334 508859598 732567632 297297002 248533868 50469858 982906728 940316572 277740804 372027784 770910922 127390274 344978098 534474874 215439406 500213346 321296094 213668122 162645438 566653166 242286304 867608732 354267590 359339764 727078732 569866028 753769526 551632782 517320268 134669904 478084130 682456266 903965490 13696616 447983344 496962942 749977454 24676908 803634012 77130410 962968638 615229434 205523272 68270196 219372990 565790260 563402108 187632350 208197320 698285790 860731136 450653204 837908148 229163602 256159226 176597790 399630424 328754984 47558478 509851658 367416496 89022570 80986842 579696402 710714940 361684380 416616066 601043216 822171678 54877190 690062020 548443418 801168602 144589374 524434802 524861766 35014764 490051894 943645404 418095732 369903204 81458058 578234956 387356252 151686254 715167054 199243172 363280738 804712624 279396318 251003074 199960004 811717498 609789020 970221342 249521896 529464652 548811426 32477364 791320414 728774000 962176606 255376520 496000936 61546116 539812930 403503590 481338326 391312880 948885802 674922330 904375074 754924838 255643718 206771038 727206286 134273892 651464364 282578476 141227672 376746744 506364446 728253462 106611050 172226846 449983288 132342138 596993810 882071260 183552548 795442322 507766440 727060984 243869678 541707334 800000614 151121660 665239518 819668786 288173806 257841094 323349534 419665660 817200188 689413880 986139192 564506506 471844772 158818922 560587176 421071578 485852302 841040660 464464860 564603036 880300438 752742600 655967934 833532574 501201902 823988880 826920702 897061246 192367598 874883888 848329500 455750694 532310014 27882450 177970886 934651626 907572128 784970078 600361056 550937832 777302756 848798098 789174872 369036708 885320238 22008484 325801000 628554568 977435406 810018240 900136372 760715590 803095192 126780076 898067850 577604036 615448496 699928356 450601358 113824214 829099348 422922368 57552828 706328964 130806480 175158178 321429708 550891792 3279258 923754928 11160798 493305748 799362356 582467368 97535748 914673494 796064204 471167552 98881436 855805648 967662052 61255400 863215332 329937924 995997460 979852858 546422818 257104924 237281764 445541438 141201490 493939874 176718888 77573756 498798810 246565596 477386366 981425658 165756734 236769076 420667424 322335722 481122534 519513912 807603868 100135458 31451234 628702464 34784146 716293670 468620316 521387462 229293000 207882326 53873194 426730110 746484648 552835112 749069384 409406838 847814288 338621372 540820034 342607358 650914442 489985966 983359736 306130092 974015702 872802010 116387600 863535816 568394784 79241992 981139700 753372608 185148046 814089908 211029980 154277984 716781566 748711134 144958380 266577524 721283100 494475416 290314408 25266140 314454352 377036062 595655322 455675458 784323258 432110092 235332802 505282288 515417482 367652704 535763672 957912640 523960228 280419200 941817678 531011494 391645052 376834036 674577408 699283878 169297174 236384124 902358050 130323982 458295388 592240444 954174798 404626538 41019612 537444280 811939664 935885814 23015704 110063798 967690016 603770900 963896908 584041186 471611330 914308146 650079674 180266574 855242852 705346642 206417236 367310484 18635722 650675434 142100746 817989410 889262464 420540254 549501794 779114892 430608878 651731292 277329774 793075132 544771662 232860376 408896226 653978720 701175478 224924064 542390524 121699672 848781136 359095146 419939822 291965910 666119552 501703320 314355812 210246808 95082332 582138392 159456398 320666376 559399696 570596498 873226600 348713920 556283000 923838548 745172266 90255032 380927054 634734404 458905636 997342636 115516340 999794240 695016072 582777900 462701898 645686874 693628942 66802848 80783732 872998764 420414844 794974900 464307212 500126366 500856728 957827464 407178390 837878814 363952086 49561982 991087418 316935174 497318552 678502072 890130894 750008686 961673128 16236234 364724104 959050750 13060032 550865554 566248386 929574972 627409302 538442866 837783608 257807674 934131556 569473906 604052098 986099436 72823168 452190502 23469000 193357722 74040594 878298954 228231764 834058178 85789706 995068832 536158214 571475146 647078198 860773526 143465486 906781712 877727108 304072762 176787938 908014110 46942234 493340520 848619588 759371972 595092530 614731596 502299372 801343700 253372388 877539406 526875086 350951164 409099232 261406486 295781532 454013760 182739342 664106596 278145790 60841108 587719246 128747118 237817710 128143604 763330890 131945514 153255088 284108058 933316450 592519462 232509298 393803918 998585626 561612238 235702594 913019614 461690966 489953630 606518668 614219388 178370858 833791238 370186600 802338160 742830744 836161558 935954132 860319552 366086910 977633482 431695588 833554228 514098114 694282740 690279622 616500878 79589856 858160324 47578442 593478166 909296466 561211824 926612234 13994478 143004708 767234350 771020176 273063000 789303762 810567260 583015562 414023428 857930536 528106470 455058982 793230254 671063570 143834728 200681612 547693062 948481776 468245828 502199960 403562486 133705770 197332988 632213348 119982154 985838746 185841944 802506750 381821946 542272226 847651284 649574632 379845340 152942342 59662876 275194616 181083762 426388638 297992988 269827348 860756314 725936568 361277994 162883432 684080716 922583194 30973026 970367380 447923606 599354928 820456006 777297886 549644226 849570160 680218616 619542242 149825048 607489044 790990442 3690764 512801746 354066116 408977574 503732414 881002906 856914736 412755626 391464196 797315738 942165556 770107588 44759824 691229298 399172576 255815926 408047364 146018592 535130182 430425798 102415966 928123766 875238548 418366008 101291384 140613280 972159502 345478480 858317898 704045828 498231922 319200270 690902476 292106240 18834480 291847874 964420292 570962366 238599244 733631734 263263254 640849164 414028408 559833728 786824558 648102974 645570918 419597268 584828638 197614614 517259818 31684628 277545560 946817838 595206110 347378232 507117254 553377440 937945056 198946622 511227378 725605108 503977424 536373472 423991100 900781150 438201280 961446098 626745096 504140008 947119278 407198732 472532146 611259712 61475750 656945796 698767984 568417932 540800930 754100434 697898368 259659566 183674964 481464996 708360322 585103258 207530508 773657172 410668324 590840330 503398832 368354068 867870174 637830262 210040252 200555176 491621866 248646588 873719898 40692932 18020574 625793814 98999014 108816812 609506854 140499094 423930028 843771686 301271724 358501650 59216852 881014142 958123280 246715816 827826242 753281298 402280930 347751254 531415190 321048566 512547784 277262206 814356256 36159570 480626754 824332926 425682640 769818344 378650804 898689212 28559426 79989616 129814468 591239932 420063292 969429626 342935902 151362646 856479494 813152882 155098520 36630848 995791232 300617920 9847718 242499394 302910990 613665652 861470300 485923902 518247768 559841556 29341418 793725698 323949406 996994138 571684292 863666502 826639306 894702978 933183164 670625576 442925690 702034724 879291474 162617836 389566878 651187804 625672860 899697730 183602162 797301646 352635892 163872066 752402018 400827122 353379390 345765416 446713386 430383456 378527226 366165602 429877724 57296426 205548330 998942164 510877810 259328510 278205698 307914612 1019780 711576830 903932996 830347480 646316292 926645524 417616744 32565460 642959654 431583676 27852526 413505442 91846634 220910100 784108392 290256794 897662816 284410154 846241902 810541186 298406310 554978232 911822648 506044412 825607538 732405832 737514436 141657824 775589888 473688604 910739200 965310858 944727178 363649758 688569612 413232922 261094038 350431792 593663536 882997728 508517370 537846114 602986754 440261558 599228206 347571308 416488950 109557582 712273276 905211048 658715544 15001260 859284146 166428152 756401662 385971974 431372128 143171334 296103702 538993564 167200326 602213834 884517212 260115316 302699720 675824676 623317094 437437218 538326162 296206598 863091870 559873556 763292668 599460272 484099892 833326612 559888076 709244790 824764336 721135294 180666548 360217694 564551470 862565816 997788472 517596000 671267756 936590616 203538114 129024298 174859136 657236104 492303786 991592798 793538056 85511056 39740040 245988676 761969882 681043684 593264730 705584384 938478012 153726164 788255600 2220264 613729734 104671372 199286302 616582734 229909818 288881910 95625156 990927386 363457470 913081082 782611576 436711156 274220346 848520566 809769664 27533692 112855008 538229828 594875922 579864524 256680838 55690176 278243916 803899876 788189962 799159506 61497606 757430682 341019376 742612892 758155798 522982820 873117986 267220600 386300166 698279926 617724514 412952188 885529174 651027810 895747664 803575530 493418652 71746826 302556004 936757394 252093272 606580644 821962138 963257960 335274088 383878222 74877206 468634750 986593498 2297586 391009670 951866304 203105832 775930092 405943794 516419874 388962290 501486056 601672904 870306622 4017836 277399044 781264722 181207980 729712630 461400134 113736418 383898954 282436710 869858240 464423610 198471250 402549202 943079582 58044128 809449610 425215920 877317170 638585674 779752456 838637810 422603322 912075680 607445874 639810666 13435312 829755772 517447134 879965626 262470832 153789018 730034710 287116 531324310 470348384 942368720 131669736 830039926 293821134 900729894 948427976 506087788 166470548 403141826 135194804 175554324 836446452 452503690 183136494 140171836 701379186 406540104 841018504 28044334 626466576 411851388 465683592 562993764 691115684 499660056 90940930 447710894 220876676 806619222 341891118 144735194 19464352 19469100 709529886 59954100 665047708 192188238 166461622 220176928 770804588 773055282 352817432 895985668 340887364 511409552 31180270 230211138 168909682 156350964 457703564 634789576 102861096 454690196 517348364 902353874 250033986 737165338 512825154 354460284 188654710 606263608 82660888 15136396 464513794 283482484 868137060 310108312 79220972 32054006 476613392 389991546 83797344 141622008 461112302 790409116 235726182 233607026 226712494 865510612 72022706 807414746 577393642 667348152 707999262 403748206 760755508 73638880 477688960 497242820 431504194 351157436 248641650 733615148 144334476 241724222 10508096 924242104 525779422 635141094 1573270 532824338 108130614 655701594 286070782 642520118 452274970 177868608 30787880 669430278 933775826 646723582 794362532 632800176 271764734 818221068 995425782 867751888 309436402 832757614 112298310 353572050 438368528 669712312 145855934 914248670 136909506 21526330 154862856 582746046 861025366 373940526 803572596 667436808 894894 909824440 531185098 28224602 690955388 672766026 373973540 662672392 577299418 553187470 376650062 729486996 192597734 523047308 580430150 21954122 407764976 373144644 6702976 957351146 666179072 406686464 731041620 885107932 363145802 835701192 122332734 872224402 32900522 720319448 325961900 510021048 800809768 585803796 765740816 657237816 457971980 316114266 665938946 371391700 916920234 123514598 16164488 257346766 78073132 961846188 110078072 313070730 894134232 64834926 873046486 117962488 268953724 898962150 629466506 888122204 220205998 977292836 597897896 501797698 701402332 339423616 393116802 352015354 876804754 444338094 27885692 950807476 802062568 849573130 922981810 118193560 383628258 787299200 329340806 912643108 557601278 209865966 616107800 91418962 982596924 855957950 362627688 745314206 482422650 779708030 76035646 104713970 828949796 735165620 155146242 793085390 987103750 609337578 384731484 131434092 732840988 934038174 914230976 720237754 719985314 853255022 948891906 73342024 765274216 620172914 458749996 713172784 842444940 87532128 215178974 333417906 476188050 163106496 573831300 371240394 676285556 312367874 991790172 346848612 464149742 66771144 405777856 183260574 765930290 319072844 908293832 722300900 198231896 692773880 948343132 151890438 527635510 756801598 39720878 534764850 545579476 462879504 533129622 605766850 444781650 319942576 258053962 63188632 737081326 435136084 897325818 254147934 805074518 848045082 119785728 368552456 104883364 854161790 460750312 410495194 775285940 164215700 225759128 431806952 87408878 151903874 760584356 643434566 239673572 455145676 377181962 155231488 32472248 358272290 13206744 733575878 710792782 943987458 461663902 695658332 197998704 762697398 940612076 163375938 901145764 744967364 555431004 657929578 86298550 734875064 777508198 181414042 391558298 909766358 663065938 28878854 743427806 421206430 654037382 578309286 471602922 111143536 485659754 114567616 387999178 554265042 261612964 817833612 392619756 934789300 858762984 414386130 878527100 108820992 737418236 1698436 496967342 62620032 325194654 957124212 923976202 366593694 921309370 900606282 793124052 765475048 731856998 247889526 131645868 910673148 214069254 486270934 863172328 918442956 42227938 684819760 410299102 201694694 765717678 828654946 852383788 569048510 333507266 753509958 418571686 765061654 996545824 32512282 326555276 266484422 897285970 788700408 500844616 865528452 396984580 405970292 527315784 631771174 626856982 271065846 767353718 833949502 893913956 864308126 642467136 947889876 388444646 577880416 34647510 425163078 942197950 939170312 770236968 430879774 117269216 350780726 954097852 51122048 155825204 932063064 140262748 728926020 679365738 13139386 64858736 257500118 926025604 912951426 998308858 236256650 402378972 149109494 563786240 137175328 194512966 806227778 696709736 469661918 428232082 771517926 622274872 659380436 11457796 623952940 148854956 639062694 214332114 972337664 802170540 871964186 507971948 727463324 822834254 217112682 430353770 986834168 676779808 922874892 400750588 100978722 796755502 208412440 118610396 572774286 882160398 879435726 436519712 839040108 835585886 277631260 628639378 824238542 709171180 647344474 551760102 838890752 593858780 177759596 790498082 208862930 215800506 46954104 79131762 177403844 366312204 994577870 714365400 35912980 175091586 874329750 670330720 654189888 249323120 608593382 691728054 416476690 49106660 34424002 790940012 716943946 903725548 533541964 69016286 902937328 869368932 539935074 325683664 650574714 13354712 608004258 497815358 712989230 865268676 899736396 300897126 394791706 858278068 517583278 946227984 673791344 671742234 324777532 330556280 161446184 967784002 954772472 774546918 321357358 68720210 292282410 406416328 95406410 156007612 904951000 292575914 501272990 29836548 874435506 996560424 666024736 203308884 148565710 617520236 553279874 132309340 749684230 498444662 464210374 224833556 543234666 788537824 298639032 34916374 647074214 928575274 126096322 459621144 641651274 141784156 321981652 981874958 163540022 431221618 62188972 582673002 670270852 142936148 495893938 239076104 950191618 961485136 657619370 926902 120289802 187331240 947469718 898438806 749533950 389235176 290295274 946965202 14360270 795757842 941309318 606326600 928568044 684768648 344531506 605039192 914712542 728825346 324288642 236684152 232699256 596477286 716741890 773596906 378754324 957856932 796922264 914125912 879795744 150842620 767084204 887592344 576727248 146755748 530677294 964222216 705904390 961558566 375405234 693641118 376071020 94162330 779061984 797473926 266699500 596521818 553846216 324449820 48393934 935408506 377011832 1362116 321731204 591332862 396861408 702013480 356955954 653541744 667139074 791392180 657699106 381267232 968116210 217003032 470316774 34660954 44871404 216998488 973811066 172760942 325823524 452699638 443075066 177228694 593738936 439138226 443862150 682143636 507534372 26907542 390125424 349010142 154086812 889964668 480118982 73813214 678890088 877957760 67951920 503850830 339705374 822559714 198019744 940443894 37811278 960443806 20053900 401727640 912036082 707972556 858473524 795026446 574643696 495109340 952986780 144847702 278934592 653703152 286748016 874099614 485545222 690025160 356269112 875212664 800536678 10197662 501538872 798238174 82330246 199881214 319714440 691547640 742954136 55438790 600588040 27345498 34758484 123438600 989068540 666138550 63877534 225547060 301385154 133262222 471352596 521327618 376761708 922156572 846425730 237409646 777755020 751898376 856311564 510030606 158682512 546274442 278784800 377381200 637839206 489974890 769863318 885034030 23656538 579157470 953711904 816951588 767948720 227733430 483099916 587802412 798251856 287189432 692493592 864059992 325894878 554916138 879632610 197931444 539896412 781095588 806164316 677693052 729712496 165542282 795250014 332774246 909958842 515986270 719290864 686193724 635087384 326043252 692697798 520023804 461979970 501150584 253254142 142233304 491266412 239376788 203810774 225434498 18560094 116226772 382939540 541746824 831067430 52422240 45395074 823341794 187197332 265883558 887725558 184344764 355900224 560713188 301212900 989915586 332426444 769368260 45022080 766316612 197694740 239591480 722405800 21866920 618590712 872495528 238452274 753903600 648615690 126003302 375769522 889570460 54918212 717364986 762930464 317530180 122449032 865025810 521557884 586295990 773109312 903090210 707376478 49023874 188346080 661196610 936156380 469065304 804415516 281925626 699391536 171944340 787714764 187869278 943377130 94737920 654891264 741999518 64150874 756220916 319461792 215835128 465911158 956204712 232916978 71609988 582715412 455142236 903360766 867912210 106063708 523419720 931799220 762914590 625618844 924178896 480810352 314017290 923172354 239231404 358427264 542923716 224861114 821756952 529702486 219954620 390060402 285122190 995030038 705522600 102568934 290056458 353429620 616405088 766159634 501764404 991071204 761481492 610445848 399833806 145744852 933166662 771116242 757457598 390474132 618909244 431821626 774858724 491280476 59884958 215225902 701213642 848296312 100863446 73969862 557761126 632710372 650041674 992513140 727735014 253439434 66816520 286601700 908990440 515453574 18991156 744387048 30953702 22886392 683783152 644158972 206693820 511181248 119376028 969583442 216002448 211633470 46501578 824461614 723181704 297385440 539689386 366865732 401655260 173097364 433118800 159361754 379655896 648333526 783576974 469666372 247126508 710492770 154251684 104573142 293259626 622729370 873352088 882110972 904281748 120119058 802407686 657000190 539110214 881653336 681496726 377811942 569544874 396704972 152994818 282177696 232707480 269500262 582801994 263464980 989698032 78016576 815709726 770510578 99868972 283113140 596807988 474401788 15738784 261794174 679089116 919692020 685411018 915601380 823776928 722594770 598961984 573614710 47528836 236835720 921678856 864238496 225599484 206488932 842412104 440073006 974176372 99089064 163444396 519869354 170158490 25694716 554023656 139415464 541937546 860204510 264636272 522580768 471565866 688437346 846120640 14731198 36737504 817698220 902336410 573910730 791813282 857745046 601291084 538611948 897183836 253518808 271719472 815029192 534409378 92656702 125080032 182568552 316297182 343127430 337711570 930788576 42510298 205709700 803152358 563337584 112309856 522630452 854906528 794753654 533223390 403951026 559815032 680593156 66443954 307809054 382612498 285315742 135668410 377630766 9722858 95499832 267818832 149302246 595013018 889983820 101446868 313795318 972479762 12311698 387334890 23262190 970354666 408389462 209667470 560298882 242272912 802187426 545183282 38921896 442075666 63509890 148145000 348683828 770635206 855159672 600311108 979755836 883155264 24599282 391346902 879132516 473115474 760134182 705463776 573341520 148932616 110528182 754946818 403772688 127050208 560668144 877815950 54385264 76490556 351555766 641840132 992445278 667411380 333579262 932979434 376995080 204855484 88278980 421856118 118363434 5792116 880441858 977321812 546904750 455991364 115728548 734326692 292763948 951922774 132164866 642568894 167356688 252253262 988871012 20776882 759428750 520355194 240494394 881832450 60339160 882065226 693075400 551049924 627335334 234470664 235335638 351408834 24464554 374177742 855403650 422522662 644433452 339970454 976070742 763578854 9554066 908163708 480201346 907118564 525029966 290150464 330595424 646059170 834428428 323199146 611169338 562028648 107325438 17887854 165737812 699121824 126169524 659227736 313771390 900237530 172630766 291385886 466408970 648247734 931307792 406086312 180004976 942079614 475225492 652550950 508739172 926249052 807939412 105478232 907550246 404877692 844513694 204378872 317812908 411211552 658076896 463515848 37106488 274788874 259530966 775967522 365384356 328454412 197640434 95207744 138439396 844885496 459328930 69861620 183108708 913921518 117043256 990094664 90891928 915049672 807099352 717620092 332034594 573460836 3094904 938670104 658968634 152525196 337812826 130273622 148725668 259563456 166599112 481047728 378598790 135431324 624144134 578843438 759938196 147307470 776607378 708977480 172676360 836519020 477737200 550290344 754969706 70754456 352529708 700034256 682864462 585278558 914815188 426335382 457299774 402802782 885792084 581282210 770577938 326746530 519270130 959076472 531541970 102120860 743793210 94413854 462332838 609674184 952432056 881721498 829209186 784065060 210648126 110244880 708702456 136407526 1423350 851214738 817436236 157131250 286510152 186739884 547491378 856862832 535859552 245320076 739828062 192877198 484376428 811111142 635301890 717148938 164212148 237301796 660289794 930714200 605636166 177134974 220248362 351255756 822873256 849780938 505702452 328653144 138581688 745184856 842239918 281168594 664870312 804492502 989643330 140390378 53238438 171072628 513435016 785182666 717435542 737115456 409441300 578774032 794310000 936922390 145922374 938667398 723340534 234390720 422409620 463148404 781284796 714549406 231179792 463885714 980594692 429776260 68143376 123743408 630899090 558945220 684887596 543777872 289339568 919223334 315414378 940120338 409763722 450183376 355971488 625554730 42671430 347644886 969317386 688636644 101680082 900440698 632233446 634604656 724153578 234414932 547238314 698304166 265164044 440441514 672698596 283010824 275254612 844987588 91746758 529881994 966445612 772047074 374739152 249972916 800314514 485780878 64132508 297932562 951055574 960520566 350893542 332911540 657750772 549363766 827535288 850660928 438479356 808469782 598490484 809932846 845256946 570967752 423194378 846269772 987227456 657862704 235869256 890298112 767918686 188866366 462637498 173210954 764204986 512221600 205083650 267838240 353836792 853025888 524924000 588125380 778249524 124174302 78132088 77399302 675625558 183801172 912972320 929480118 35927532 388068520 921429470 40886170 710286692 480227400 132189498 311071652 640164068 650022396 315934326 386462046 465227890 575717214 156897108 372610352 47057380 428505138 422391448 282528770 887658608 620200068 829281470 836657022 465428160 725462248 87637446 71032628 235909388 49632216 252063558 844648128 33793458 950487852 714893702 878247290 697166828 383608112 828173240 147037880 351571860 47269296 766859052 655601716 244040732 475572292 68562550 212009150 943840356 474370030 287123976 268291034 10830282 607092452 261009176 228950738 412486518 829644498 514485078 949291454 847523128 56703914 556123940 529722030 517098740 92013074 990610134 204046164 997085518 760481254 870417756 872941522 767842002 514046824 984809910 708596754 949798206 919658766 959895402 307607902 674204764 947355006 902388720 791761750 511078218 581082236 957950510 58882978 638596594 714295064 419875428 91515124 752956996 206609046 260864742 880468622 817739176 975958782 286067296 656598242 404094808 358747696 357502004 939104676 570308870 302296220 129644162 699392488 941769764 47905460 771524856 939163174 932617624 677802786 101432400 516752090 557678650 262162190 870841442 602879582 900417886 373492692 487819658 736862154 582692382 99897838 865955622 54027512 575034120 500456142 309821700 759371814 367534210 295390384 383586084 113912540 436728574 83424178 826898176 325275424 840326394 847465364 16129268 988432880 83756356 857952116 256638116 233575760 138850826 653292062 340538352 792255548 156492598 980153448 398902566 19722536 315951150 357386336 237500328 820630454 208570558 944644918 227201214 391894522 568998134 334937560 951791754 220700030 640518986 920417894 952730398 757974426 809227346 551022186 235101356 449856978 263623848 656210688 956480186 214633152 218762442 181516882 348135114 567945336 856678806 102561852 662479256 309321070 239486356 340000374 647417776 715658292 419486982 695726230 259743178 440664464 814548114 97805798 300461576 215167598 825816458 772837348 735234522 142225410 53039202 934578346 166492256 838041724 278907156 596595376 847284380 33201098 861052700 358899694 853348196 598710938 750814192 96718648 405546038 839522922 371672536 730295318 926717658 755557382 185361246 616412226 183530054 965103890 813301246 926333128 696227642 185227080 970912930 793811756 355054590 441688528 835879408 566561430 697510026 600151166 208113822 817725354 852155094 515504240 778339244 362864346 859408 833305296 502446684 288014928 853845244 223847522 96415004 271957882 958721252 969292808 138504778 283011334 308023822 407735800 598509528 417419558 518750106 891174544 557908110 639692704 42239504 702858042 932967064 498113686 972906230 786350634 368821396 623485000 880828628 949912342 793727848 10414428 785092406 444417884 772052610 64908956 10851698 179375416 236148284 982940864 547355238 954053450 565309086 344231366 619121852 510283616 569107564 409455866 948673338 393005696 553710468 578534814 293273940 457567116 978435770 839173842 47293476 674830516 899155908 160728966 798746344 249549988 833147822 347122626 581436874 758140432 58598846 16825920 656733384 88214406 344154798 226128240 965158118 14203670 909623600 596959428 510231252 606937818 689242292 48019172 58917072 557241698 981108242 639537498 531386272 55372452 359712864 159012978 449465678 398475420 501397856 978591638 371562780 604322338 777269250 922114578 372384472 358123908 54637512 376832696 831998784 481979712 873758536 170229962 189959054 252137388 636007280 906424486 778218572 700666990 354410122 305272840 917156600 443307884 511456842 870725738 521012572 267680104 567696986 378280420 416003654 418593874 273314670 452150314 806589518 536318324 655459404 447043020 129552904 867938074 637068220 205405888 470166494 112198664 119551904 84090606 661328644 376066492 713448616 759933506 319627144 942906282 185379938 769597566 505891280 744562696 182855988 839483700 107006664 304166026 321062746 814259838 38977376 72685394 611978076 617799104 510881478 648031660 936340532 461479182 623203870 61781092 588523836 854858378 37436002 801081896 441958924 319627938 126850226 966285468 458959416 106037950 891971946 727432342 841638570 737362016 200133092 615410900 845730976 652902780 129125342 373127544 109683458 235220484 931368730 539231630 448609358 952191888 422142462 859997932 228590868 533524 27910694 807050454 234946894 311224808 191297038 424066178 536947470 263967022 587086438 651344818 466217198 719754118 906152196 395789296 446928810 94561236 248834594 143001632 668377534 120912528 805958642 24879266 636993880 951541572 725865678 749660526 981174056 391944116 170324200 731386358 862766052 455586260 675196704 795656312 748263394 845109940 62826618 282629372 436948924 315826162 773465504 438018618 17341802 703743024 256221000 454153326 446469206 147722010 322562290 143672500 766870962 792098624 881975948 665652310 240423298 245271896 823375010 914496934 874370204 965469590 643186744 309323274 340152194 20358508 551412392 495238978 625841804 256794956 216063292 479334752 862150400 447243456 843393802 654917060 812010714 180506100 670479492 782925346 398783120 297096912 370132930 424109314 350601792 574861444 129716494 780678474 761387524 226599364 1700936 683086810 614920710 766813980 683046506 427732090 908034666 545090190 809437104 461770280 526221900 187589168 429741484 948471444 203266586 316057632 456723304 251784904 990922100 4103390 627014424 180570942 418394506 690065128 328592228 209405164 685983666 304195124 983709020 851602240 283780048 370617148 231948674 663195232 283932320 427280228 132386844 10496520 514811806 859621530 354418070 889352264 174109080 641000778 977359220 581244710 173596870 524775722 551860230 359529816 49237998 294231844 694051752 325452976 972115600 479802464 38824676 386656272 303056484 805674576 599833828 48603854 442604582 420245468 861667728 574177978 519686486 828396776 35356716 558816316 611585176 724350158 322125084 335248632 656224800 326851668 840729682 662023114 965113796 277120210 159273244 676798770 879705174 740242830 133718066 900375644 122215644 318470796 690479064 95326408 132510870 878852570 449655994 882758126 568072940 249389138 359176736 953001362 370994402 207251926 924317972 395396984 225491056 607152330 820712996 920685522 585656182 290238618 22811990 997987482 573544822 389136650 521870600 293549574 883531448 900565582 775449206 600869312 971616710 184070884 796551832 62850062 510670312 109298770 677874436 378207712 397750362 540121862 834109408 726125800 540824200 323301788 690180744 210779036 565951560 283248174 139293802 102335204 737203084 902462276 342550786 618337300 524737536 669092408 215512688 119307628 995942656 309291616 867511750 22985778 14852890 434991274 258916302 524066206 505031424 92933516 624576386 428528854 200995554 371873258 329993634 917890326 281336364 890680016 581874968 285775904 821941652 875666086 366709474 822476698 580112712 125791280 116092044 182682046 155967078 420229670 663984628 612052244 586520634 203227454 279480964 419051202 451359160 693740690 812528876 719126794 976125638 33340624 358097012 984374580 907724008 801833952 875758492 11857828 437983870 343586942 85332358 827264866 823025880 755288954 935996734 854944154 635268280 640486110 519805456 362189534 13232032 868626444 165407520 239820408 743531514 31991820 11587720 146820832 578110948 930072086 647545888 957358760 436114518 742457600 113599920 104887634 35414954 397263042 655323702 849809320 813586510 312373636 348493254 841627054 448311798 611987664 317332608 718538682 310198532 971374374 803971336 460609528 90881464 876487902 269022214 86603442 119478100 358384962 982672408 107757802 123154782 842642296 141189478 775675880 935240888 886796580 896505520 671575340 964980814 603260904 438502920 210450860 92119292 367179246 275014834 201297264 820541740 80696806 299539930 617369996 800332718 391231102 765687432 315371916 40395024 927178914 220312508 614131732 851231070 774092582 173240814 114607864 247256368 996921720 937892078 252294780 146161666 172462414 580990934 957578410 347824354 524930668 717830116 706043120 463652040 708741312 519554732 735024160 13133256 25180470 687491570 963860696 713471794 558386526 326752918 604740168 427573878 665198788 471789850 108143972 934448480 611539386 957484324 310020338 590355502 265827490 299672066 982912872 976428468 341519598 557192694 317116106 976101390 648336844 595396568 547530140 208057200 879270034 739596660 965350770 367260528 155461382 642589476 761916376 14817732 972506060 486625400 102095338 261472804 657570246 224311786 64963518 831930778 662159880 397629880 720544674 418226332 77517568 489137114 537342612 964012690 223009430 902369354 278892752 891690940 425233704 516164448 662718504 969441526 483927688 932324648 293559924 361200152 177585786 117209632 481021770 607670364 349238844 871729754 395519616 200950978 606838802 238631568 332814798 58578644 857582830 152476358 475724360 587352266 680613366 216055086 507768182 383525476 119724498 968546720 766504002 968798244 458874898 82725068 649921866 293401642 474073628 320741550 811327454 712102364 981329336 214838958 652043142 541415966 830331612 63623492 525664514 349241216 836397262 435690132 632400608 244171670 18571168 642515452 305213886 172220356 797600572 410764946 561866958 99770426 635582274 62619000 864867990 369828856 417811166 38466486 887493576 24445362 719543598 977619026 53850450 421331314 695860690 14927820 120720726 520145332 785906524 551818366 966199718 850908300 496932492 495533416 901933482 86127276 950730490 721719294 84264096 704166728 523760720 806842538 394870966 678422234 222610978 858583470 841104522 934746498 408121792 950424784 316248552 1364692 441094828 746473084 804947844 189522498 587693756 989906486 711361926 503143846 682400472 943144020 946301110 846045666 327814380 464156950 831088956 340200636 368859540 164864816 438629612 291986 923692444 782402318 58752804 603776492 911543978 928441530 84282832 27354682 378273766 850861068 106167428 603273312 583158300 344054220 293017128 687660548 337900892 735936354 616428668 936861178 803846848 173924860 913243754 497540896 973427030 525739786 600632406 534400842 347938472 234208818 901740600 944278972 563951996 887977530 175152372 1114734 198886254 448374922 762103682 530059104 423462398 797123086 855436456 697511480 83978504 210754228 336215528 911069186 245017982 73962302 439626862 414958808 152577930 227698282 115755226 438427816 621568088 219081530 179623530 443928936 723341604 43822686 730148522 977321566 899036182 141661670 543305192 692148888 141705880 411588712 304713444 738111522 157707414 945039426 83835048 214258680 425870216 929060436 992256450 869200964 328941020 916558792 100671700 951960092 789016386 340838952 128260010 742272430 697082238 240505386 733879898 963211488 344392602 312689282 462116708 462324428 220640876 548342090 778504440 257466948 753055090 148065700 888069580 488373084 511348986 459873006 206038136 574488702 510762806 718682740 865896002 139154282 937343970 399651352 133003004 305311174 293737152 47252404 78953048 414299364 649460636 436651636 306765632 151115410 380475914 209671796 550832210 332949196 431957540 122964912 174071190 907649528 347199738 842362224 768554616 663150634 454235694 379176924 239729986 159469736 973708214 633458234 392438386 766001462 917466194 192191122 285691656 361009412 727862634 261009652 448014662 381435620 306393822 793802514 769627302 354929490 501929264 110485346 260983002 915841908 354305492 492858646 524144328 203540984 272443032 145369900 470348580 926458544 764645392 387653080 540063806 422755348 529558144 240806118 893274426 206713322 564704856 520669808 428653436 122407054 689517848 867201064 626847366 874136558 51778698 461344790 366487738 233827410 872868896 300331552 575940344 136850724 786410196 103233024 349847894 280551794 186370204 240365650 595905238 477709046 397193402 9077358 564655122 313816284 633375984 272472058 727480026 456224750 737522776 597012042 47348924 30042796 732253290 247399442 898524722 168085654 352588036 326570606 431921052 249140338 954779746 336274654 451709730 398038948 958141686 584847796 561869610 321169624 578133922 919624450 776575756 720083202 451280436 1761956 154201666 179493108 440894356 648251612 97500676 138465432 696156426 152028870 665269252 623470074 707065776 848762084 876132454 648546348 969640542 606322868 938111138 145847586 426677988 639991672 750594442 922091602 381348486 5379858 875144012 450192390 909698040 762447746 300851010 825705462 135488000 785135398 571447252 463692474 76425556 526059452 409194262 253029158 375641200 497019046 296955638 30217328 445874528 90984114 595195672 779893296 668798234 467664372 245489782 866290564 407997102 151996130 863531500 236826944 358381620 11354524 835628086 636962540 680095352 49470852 271335660 230698034 253882196 615749232 893780058 293459624 380686792 434953248 882176458 491942054 259376430 885999898 438667934 381950174 737250960 400251532 197686106 636909174 798027534 639181052 388929862 709459928 266772052 799304588 650307848 179522428 545852826 469920214 686730152 661168868 961266814 767374758 180298820 5016282 487883222 775015290 286851322 467844344 981277528 974694994 107296628 593830386 415401872 132386196 578283722 180442034 143895688 239184198 70317616 379066550 70675434 768691854 113365250 713748448 851171926 544255854 79460168 105361762 123077958 27397730 176629868 341472212 120144750 481513168 941564518 503526562 691959428 799997988 30882566 243500530 60162576 161407176 314808646 605903178 385432654 194864558 951312056 884958950 410185492 342409912 627426574 803576492 517738932 14894142 863990954 496086148 650869934 381044630 190242872 143708846 605689198 965781176 198969600 253547226 898558370 599395624 36339132 347528038 441133958 872772624 342538536 21277212 788346510 488653270 609643310 676760568 782495206 177656534 222015184 466746008 295120270 452565826 683922220 887561284 817301466 347610064 78560392 915529504 903492432 263645022 660449180 976831592 674581832 110285164 654960032 950061484 928966576 366304180 80250842 325684524 602743280 172113358 841968920 85365880 317000334 306440948 910509844 109932052 56972580 545914040 721566436 360609240 348255006 437654738 321257046 670172348 472539882 773724846 778260672 329014582 457901916 288766034 619178982 124751018 302812642 141779406 271576064 878244332 891171632 970659130 690434706 136703556 120692616 962086592 559009162 787818792 617742626 737290372 829888506 544998420 254451724 876128426 467158598 883307160 749199316 83926070 936079696 18406520 812091522 323563036 417181400 719797244 757656400 987972166 236411724 298429740 156917404 280692358 812660310 593313372 960161118 544094332 791706836 79729902 591673116 476794008 575632742 483035432 467213592 263681772 354360784 646932920 941980198 939618948 202728690 603844658 267877326 169457826 584161590 515776592 291050856 886419218 975262700 922537166 517870574 738470386 645658688 75028630 318202560 2958608 956092538 169198716 778493728 67295858 27715762 803577254 929105556 434501258 882951886 142004056 870738204 242704928 704944152 872699148 842923808 804033700 834684330 871748926 994142768 517902854 22497184 195364522 74718560 548026144 64483842 311003552 408494208 851515738 460873198 691829808 460419150 910344334 910499908 458421730 691508950 135422510 367297582 646029878 640686548 560277860 979895504 909485826 858384462 894925560 866128206 99524720 105397854 500220078 490192420 665319596 576781238 642347568 191419450 498476758 832753566 434732026 714764474 91049978 7237790 581779504 793788122 701835454 13882946 630722582 38384460 570710120 340316574 304678972 857801896 668640006 108748038 223115550 736762518 132780406 136458016 764249208 20674104 680668856 353742768 616881130 284068780 49919876 803925192 976562728 170932214 119675834 623687052 118859478 694879504 933534502 88255456 814336002 421828168 366271980 924436410 786687916 919849744 424140326 493493590 645104024 249010834 298304440 826123144 960932862 857804918 982655480 837692112 441150468 315399480 646066790 959320076 40108726 469074168 688240034 295895920 569459866 948391344 213195760 158113406 765741698 601219208 475738894 739469924 883420982 375724168 483505442 992979408 170386166 978093012 458991378 854799956 95790282 329846964 611915948 69007168 229087938 10418226 815327128 177200894 465949282 57135156 725334284 692663176 999785658 746870232 702101332 967400760 866690242 27933160 461617158 253480980 584949712 88748254 206236684 284964384 421723776 315869730 220186276 691310734 562928962 102397334 311293010 434753888 370858214 751819400 807301158 508031774 215136732 816007748 813047182 647591746 534184322 241761248 193132246 204811614 87277266 185754656 930771520 235553032 231784666 599574414 635468496 90730440 5903694 920179392 499367462 176569898 431093652 371883506 321654926 841739398 740094796 692335742 675879614 649611270 983512618 602480504 158802646 387386656 385724800 731418980 47996592 232090142 404347934 462504214 236439758 260749902 819689372 432743958 814520574 401073176 909986378 973230162 490678566 688743374 844118426 539107040 142731188 102679126 713120006 845941208 793886480 487711784 833715926 309338526 186288768 33021554 520401648 209214134 799409042 440846552 796594892 9134740 552596018 27281274 673536280 945817540 867809534 203177922 613785570 175374954 874485794 299137142 597353118 462831964 909465742 536188996 200166232 3014672 935115884 515636642 330246272 468955884 607635666 713705724 600338648 870097472 277544448 712309488 417913204 706139732 933056972 663192202 953348872 876792582 387857850 412460536 540172104 681228380 53798216 475119440 266571206 695962098 784743334 288076042 525485702 287290678 381172484 705963570 336752712 720807688 257766302 745011314 825811766 943698542 454554184 941392970 328770492 547987168 890645000 383090260 135566884 590140530 452361870 708381514 935033478 940794346 371522248 334388546 661234874 261879108 805726328 152167278 846120620 28446132 25489904 893671908 473458550 882243976 406113816 246100424 161061680 162177254 238400462 698303222 897797912 951124432 861671840 600333170 909213424 345865530 723659948 945762594 684550304 585854642 808745350 207130796 467534526 284243554 876626564 44824422 61505762 801741662 772959588 127105204 202830270 677050710 380649602 740977776 909427838 309957672 548782554 133997994 750739036 882208912 513088064 752666430 866630116 121122942 918938726 154353728 810795852 179729010 267381230 716872684 924100694 337798144 373488666 733268724 53715288 901224064 138835466 738466612 89670932 846143900 673749458 122203286 879903788 547393524 985651106 231376528 700287090 38018176 589749830 983293926 70892532 711380546 857211994 113441362 267927934 470661042 582222140 978594202 863630074 859213828 573691926 791636786 800287592 487988456 900159382 616566944 691530918 672331778 357285274 989721296 946076278 626970574 318237680 148394236 339623338 899797780 857797562 581607482 301237588 546666944 635749872 708339496 419079570 222999452 285333364 83179892 375092564 61247028 798079672 830808600 883158458 984829352 822178594 132315492 83128922 205762090 365715028 606819130 666764142 651847136 98693294 305459212 482807276 894287580 442809612 359451344 796984050 648788312 75950732 931132418 649771840 885943328 87252656 417495534 365950538 186159544 484719918 582483054 134231556 182448068 703153574 899632398 662749232 739943522 84041322 332155140 217644056 375282456 531802916 335579704 586519814 692174950 249002042 212786138 284427312 508945626 88378538 144873780 149972328 193413414 150689514 427030474 988952946 877412292 461472944 159186842 640971110 961099680 524803528 872865864 962810784 520386442 793302128 54335244 324072148 156401250 715389462 600743486 591347034 787370970 816532900 600846620 584390718 672043390 42280212 393087784 899874738 675623304 717626828 131170668 60960350 596429198 225745894 271806680 588081452 509001924 851004406 542737644 18279958 794043444 104286764 277122086 649722126 551795434 614055476 344833756 19940630 948190226 138715580 260220024 211983008 559575732 502591392 782931788 57959066 344587364 311037852 351088294 482466716 7147574 297297206 934665790 47195732 892577672 16346274 598332482 215466790 70934262 534196356 245583250 233080180 975808678 251953810 242269650 136371544 306908830 758524338 400644330 817742472 698157204 745129716 853621280 58695440 852140356 962199924 354881380 952864402 162034734 457663824 173686780 653411240 634547178 485418696 298876552 404078634 83443214 609228590 651071262 428786968 631558894 547860214 998302588 78035330 948131484 584517580 103689764 39444442 2359554 88816930 169738678 163439264 360510538 769934634 44603940 496219356 138872556 897992234 100913140 72675834 902240092 571324010 422659382 547417718 328252702 316908464 518249350 925172442 555615056 583217574 860545908 591926322 138426750 823835472 343777856 685951910 891998990 382638992 167730168 2270532 988397034 152659634 922901170 479431336 866248412 8438262 578683976 121881862 517506230 715078996 811164564 779577930 765247532 469383550 40601942 643445940 691823956 110003908 507647704 672135316 978764586 870309354 505198462 915481180 251497424 452597874 12634592 862924180 599318512 855326682 212885002 899531122 160236262 229403362 527733386 760464160 145611206 584322396 667781822 798305158 925784436 35895400 914654278 848309276 699643460 847068134 33093750 60170664 969279892 833806438 627506444 466315454 881925252 663614416 548524972 519465918 295012878 514872548 636533030 314137072 258683430 18523202 668593320 265474598 716759336 509895448 687666258 318599456 211465946 147599306 308792786 368500098 955988170 798295370 978691048 868177412 354107162 413571476 262661826 356061458 798091478 212146680 658634600 33891004 740085636 193258232 794674494 697462184 95163412 69177728 759411090 266180712 576896366 797199374 213198150 373540096 348220980 984368574 95068958 659373956 716907670 235279738 166059486 579268714 783943592 816267454 708126216 395668340 20179440 944937390 460013992 586004570 211850772 229317072 671727882 600526402 339931034 964903558 166318438 549601722 901292256 573101750 980498952 414694904 492656308 439089504 779428392 502267662 91145346 227717212 756028952 227041264 696469332 41700238 655287446 287359236 604154530 253237402 870298036 400235806 134161354 968421522 629689568 763396120 272368094 84736972 328562988 475152826 98997412 411151408 844779654 972745078 232208124 971771410 112668194 952290380 359149262 248400728 823288566 539059648 573495024 592339368 928734638 59181016 875963098 4928696 161326256 174424256 580561502 627706460 506916394 438662602 673722580 23817786 857577464 908117386 723927136 883013138 297670348 727714556 45193338 982957180 526149980 462009174 402794312 437187042 919839632 393203646 32943742 418260174 853678442 825284950 377922460 304605270 813962524 284180684 431254150 759325552 810892940 677111256 667893856 47711220 251508644 839984568 831022822 510125410 532239000 502075404 548531534 777120618 99594750 869728616 447730126 283175796 629310154 767731236 993018960 476348690 770581846 686986136 39017546 718556024 330803810 665355172 456067650 216964610 949977470 34616070 740930426 168965744 271641152 359846238 753038544 378767246 920700608 392935894 582636756 644016538 161072570 87526420 27860656 728448020 81249642 152634868 930060750 623412766 679224938 109426458 716718702 661944624 845141868 534220530 679311082 795329628 371206672 704883896 233038232 500902440 306532672 376550282 61986418 962725788 57355634 686806824 879905034 379455762 423961736 375433596 818609126 850569572 569884668 606450200 972124746 525478738 110467630 923474236 982592192 385400786 352657694 299696882 932289284 328047436 253894698 853395734 829369136 367555114 268873706 841181672 731953528 197425414 339689294 317599486 749437860 493151272 232920124 721681254 33420344 992356938 183663440 708967776 471645208 269990990 701490664 341048048 926448980 837193848 381226090 813938324 913319014 452767224 865924156 495432022 724101530 160519744 880176912 732426094 171977804 607527562 395605588 213101698 643567632 677456806 860078926 450666142 478165788 351886104 634327840 687009204 684545962 65112532 680627158 698332468 880820712 806174144 38929388 274868900 908667142 631078188 178182466 973057994 634506226 515531126 796963464 348198952 382522832 837924680 812606324 66749032 627515210 102987790 566101998 499848396 948740708 503514988 252122540 247570482 532516046 455515358 579618046 953110468 833044224 720261274 405143798 848613196 273958080 870169876 857903632 434726156 416178614 952552734 800701616 416464350 468894614 523622508 904909116 943958702 285806062 834563894 80125114 480175132 80743856 856020286 647067294 728589180 889188922 164662906 241325806 388913624 778289310 746178516 762495114 117375604 534931342 433675252 999009002 377086348 150994230 334644008 349813780 822100564 259937310 248295452 195484152 291840390 850615678 160508058 73055688 587165306 987609558 65846694 808255020 46075820 432349004 10523178 968163806 165562344 635824056 383108974 596226142 463315760 548827828 973043422 138675662 47980220 747810662 996694614 851262806 566865742 29316090 358344016 716080880 210990722 858968346 431239398 194463912 197512880 306807524 114476498 259752820 82656746 131649096 673764146 585755478 355339592 628005948 61644484 757800916 720176032 906901538 688945180 544596186 815135142 44634718 324444752 475239096 318455396 283861032 166934660 867110522 11654850 691617416 899822046 115769708 215410838 710159896 98197064 627486492 656348378 305635944 363748504 952404426 151368992 868287208 343188924 17568208 448098014 562812252 219054986 291129090 616660506 962751496 845549712 556386884 122810572 791831428 100057478 41635606 643903488 370188270 687300118 362333332 925619022 849654308 318258006 534174332 538987026 919528622 187157782 360679674 673187856 150048436 454314688 289585338 538910350 54166940 980142866 720996402 866212036 1054534 787607142 628103906 644779090 283230 99443648 973147204 404697806 651369494 206940462 729313474 804536042 888889270 149424542 93074458 475415654 986495298 582229754 342127588 410840056 998986916 896825056 315030642 728692530 518790960 754376396 19207194 365478612 973753984 674911000 54059884 164192070 921375214 921015500 240020254 800811316 678677334 818325872 937489440 812138294 909102982 636370782 747185734 167657522 150035764 519529148 801251848 627850838 924081608 971503316 951954344 672876318 493803584 260240018 228108002 393658054 349421418 291449186 732613450 324348780 837057462 220097734 247769150 481050168 688487278 616295978 229720496 945964568 816165110 425549620 259257700 856845184 859464936 475649222 570034822 683281976 239528878 889883842 953080704 481638792 160726624 507352666 153137430 351765454 900266754 402305374 216705316 136438514 295652458 982373932 868613592 926677660 227201536 16861300 33513436 99766300 712211148 83862074 133539234 833576858 229590826 325233132 391445450 533041378 27446780 277144128 178045552 974299578 848962478 359945844 510223670 542687800 789768004 891098728 68451864 996085338 301791170 146171938 457567054 290446446 529368872 659520040 296576042 166936550 604698800 430664628 362904670 470886314 266003626 891164268 540836340 787186318 104215752 281658608 366348804 217870180 885691734 206191774 871208848 364856366 838203976 831595042 907156094 264304000 459764840 699774328 176344572 855798202 148392240 240093472 484394986 471169292 998443350 385980514 776396044 197439046 862228432 76906060 399362620 254132352 549507554 391759754 674392116 111318160 353230246 822923038 249440296 795898046 830808142 491136292 873051812 117626924 414255562 436432900 785365260 499981844 913753490 763303750 284632532 585686658 17876934 981377098 644930568 600548968 632266666 766756972 947195328 897578490 825034856 569171726 207289744 232700320 899582256 656319542 439663554 603060926 838357674 718626376 356358498 879677244 186028596 104285084 717412178 918127808 945782990 528450900 994561384 407804984 265408822 114501580 434080732 624356892 18015532 436685534 123990828 431788798 207061896 503381402 331356304 28405980 169319046 642560926 15532892 784593554 473456920 844818640 239834324 509013720 775234802 337654054 158527562 616190556 144176244 385265336 523099056 888346690 328398660 1445040 691073944 767141856 645506586 164631242 183876498 930437754 394344484 254503276 841285254 441826114 983231812 812307680 932814160 744988218 725204084 665189724 698113774 827589400 363565782 192328754 534009586 841523304 217558896 130323824 530815950 876744808 678316592 215134866 913722432 36198738 393583650 586637092 163652122 915809632 202020174 723388644 958035922 350843424 469581118 734144782 687083974 976742908 717779256 358929626 501956358 820970334 90757596 151923876 364666048 658957874 440328946 32210560 928330446 30678506 198924914 227104978 1424496 863888530 884048672 775833508 711065870 738194658 640261848 979479358 929496424 920247596 974414470 80359424 517300016 714346236 271084342 993500440 181191890 815753060 115232692 298670186 487100546 720199234 599064612 720804842 922161838 545148476 335664566 249435312 456010334 723275406 350973558 835581190 41225506 487727316 168315272 702542156 523752730 160321968 880470784 185238192 794713962 440018400 512252388 915118160 298988530 280835418 485739280 391230578 190760998 851178034 666749968 932841062 77844456 376363994 938802624 405161698 456904444 81458654 314344788 371667960 790855164 68520700 244755510 933271056 653731420 582433926 638146326 132303852 730372504 703762020 786607880 36206284 84350986 869406292 76464064 91609890 522605050 571930662 661882660 42925370 903134682 823656762 68280816 411745274 992144524 566894144 867272518 143092186 928161844 634614476 340597974 57445774 626172880 586981660 234616990 802779754 964614884 916272600 444908692 378426596 502058208 664614018 131494548 81352506 95349670 550916272 560228326 827020640 279836802 995651436 12893380 907990130 140147242 381517618 94527626 590063828 938377756 982353696 712171886 558613544 212172754 145267560 421181466 781654722 313828926 528952218 571732536 922052682 526695622 568320540 914278200 571403754 838304336 72113570 892793970 778652790 666077310 642317872 43427734 663663462 85082178 975117570 345147378 516343560 234188992 566134282 162120144 925297426 538515216 490455012 448823068 32431596 186187674 88431578 340820512 639672206 238697124 440544052 320069306 376537490 119998844 508768986 677857136 622486546 736650420 762880718 284630842 926712326 250470764 582676220 873741392 848387302 557749836 299248030 139766646 149404316 244216584 555333620 477546764 317683228 434904110 775729592 735001490 55462304 162882506 102662606 40138072 690668882 850216664 322525592 722451770 462361952 519499154 676973748 412738752 796713634 72475528 997588926 570161544 82833954 763630118 808101758 852714998 949183250 135091566 654974306 816466758 472687960 818442138 168409392 343651842 385938860 656269746 750648098 700504032 753440590 814188226 345091088 882054818 11605406 117839054 308391510 837783652 898968956 1279876 691569284 361438330 630615304 310654154 307381622 985987360 810312472 111896826 276754832 980960980 90165162 594290012 10702254 234017862 760567886 732547070 68141720 320942972 208306024 784055086 74395444 126989558 567417252 294512254 199504282 433231724 744541200 633153830 954524734 926770460 105319012 575127952 272787750 503274898 213395458 378798130 2750696 381408054 664685870 530092754 526769964 905677760 317737950 925502916 935893178 997866538 908268542 809834738 11184918 143680738 480076736 258865232 147372816 590733094 863551774 89811472 101001098 993429298 804268738 380715668 398900070 762749994 585841814 71981312 469844976 826542226 242824624 911383602 695655614 776544020 627451454 606847718 396599588 222437494 392749754 923935636 940751354 506757062 457099292 340642532 789221686 852610842 502396974 707018344 391130018 547781140 758621428 686973870 110073610 129190128 754399666 333909464 98262586 959951374 138747952 411380790 447456620 179738536 108988856 772485014 926619698 343764434 971421366 755839440 962042624 225564204 327882862 620056922 839579438 240695426 60287366 634109508 64826892 778944702 142359814 229426268 34423124 814692470 506170524 214447192 987115916 795497414 50148076 525958390 629457502 394209976 537973506 399747806 441347600 644704594 579703778 341582472 53140276 20595004 429385550 67804470 919185522 753987834 394532142 20871554 943359836 697686166 620190106 293160236 532077392 4066938 815256470 322538696 678128598 226064172 817268888 127090502 464230732 711340094 122861000 189855306 523387778 496369420 456509968 683966146 456906338 34667614 22452310 466018960 565592730 74528106 19880818 814541218 999387070 704289642 37498280 417146452 109823938 214751450 591822594 333871302 377207466 196409810 102494878 752699752 820435672 979177576 545332070 660380998 378711760 437597044 655564768 390730262 370712868 1481898 821373490 554118278 926607202 708113850 558837636 731337784 734120006 880329842 356094148 998645962 448414684 563270072 361916388 541301332 786833360 308180656 779989288 186484638 831720142 1175930 808607380 352008560 595077062 41670276 642682716 76625042 565454012 961046564 467968432 501090650 824935002 571279478 921262658 585874922 849399248 9952922 648624066 429209706 290827720 960712448 85996084 993026808 847619890 554703086 592015572 574453846 687240824 731298258 149656234 757894456 547858648 730106544 467190942 837890196 750361072 131984960 674148136 919637898 523491224 603121908 980525906 109837116 447232674 699397900 103702314 960503262 684877450 78837806 46756900 398047152 561495694 66500212 974922546 7549660 303320982 538195088 694142402 962135674 617545160 540742894 861925450 563983602 861964094 985859070 827638064 806389376 779903834 105289638 942750372 532831330 775351130 990140382 90792836 714323910 794730878 625111534 744512476 883612960 617755046 321092222 407061120 372421596 676056250 675329518 260524266 105854520 502633330 609778996 944820968 660180424 712017670 825165916 884880088 70852862 549343206 707055160 881026808 328097842 662818656 328521942 614990168 248096460 92858378 126458178 220870722 243696664 818318240 142361922 506311620 655310360 313845934 825529116 822643272 494608430 461463020 521466604 708867396 741986244 799833430 353958976 917973444 459378252 548432872 188128478 841043020 666945930 416695328 939764380 572589230 818458394 823225618 287858944 622893474 305310170 450883068 614553486 649697476 412966090 178748726 980437696 595061354 965954836 537722838 819814176 219051820 28201452 842778966 386355196 419034760 336476350 555077032 80107426 406165960 540462048 71002640 371687512 613763332 85274794 958107002 746457412 433005936 383838276 80979242 367274234 651106586 444730758 119142752 500349854 117663098 360418094 793658862 42726356 266913680 666132050 761593564 668666298 513188772 841082572 330438464 880382226 668688132 869853326 600159478 668902978 118075528 307700612 583117282 419140802 356980260 229022484 851283736 856594030 709586482 663258046 795505976 197236414 742949606 859267392 315769994 91880480 345322048 822089006 281444 871068150 196150112 954619822 342224660 551770698 605051236 967742242 809648916 42815734 957512226 325307474 355684224 727731418 865373056 566582496 95815004 925498562 169500520 678952448 865492530 402843634 416275900 867418176 621192718 319193844 173439226 346141272 149914274 631294956 297928340 779916222 126308504 980703102 782501884 703438960 507119978 483731194 326104718 447528942 871629374 325191588 923345728 16564066 902227716 592563202 711936060 2129420 410478830 755306092 648828552 343600746 182383100 847737710 364451918 515315360 655682948 286513068 627712924 313940692 551374008 262723694 57333732 833646534 556409768 908006898 243024592 255411606 625545652 511933122 472705044 520678552 798351294 967607842 339173032 179748292 722299546 187361316 208693916 71598322 379444174 453326720 973144542 89675054 249144788 210951812 491089912 696912672 559462342 324504910 236357088 840180908 259650704 193252140 487941632 879655878 204222470 512674830 412573816 360898454 894527676 613505964 276515438 626775230 453042652 587515996 152244918 103825332 352795366 556919884 714063220 410132066 521750812 587156106 483709822 462231666 127902938 415253926 345493834 109936842 739011948 459938056 845838526 362395108 14446262 145607260 913266160 221992390 921044364 672271870 151643864 528340726 644733912 730880934 661572000 93936180 67495610 976821248 845267396 136989334 313378878 87791230 199069820 780925032 279291794 263017752 940161494 78325724 730366048 263348502 75870532 202236662 86997512 534250970 731629108 154406230 846992038 179051162 389384540 498956204 768296482 735710670 830879284 241249786 478217446 741416308 194750980 823986346 584316388 886012920 21098714 133067580 995683530 745131412 973390896 539847328 121532916 141985868 521629794 147661142 184786026 378218082 602190546 22158436 722594184 381027734 936528102 87986684 558205866 402932854 605139706 381712426 906266322 270493302 438732662 607420046 68037950 540917252 476835158 1301026 786407496 176544494 374114562 25508346 150960018 488966442 135197228 653501214 902628734 144296680 266360596 681912962 678103836 445604472 405329338 623863624 966330686 10432604 244652092 253558410 389417370 664164896 278582362 887090556 323088246 255323952 969196922 95284476 370177746 103174544 461366144 269042004 272926554 264883426 189137194 513211746 836157528 543800892 268620102 71837998 176680382 381897328 669319988 609770556 807439828 671622274 281216110 102032170 16711100 225326398 414644764 232885108 583615008 971021520 754314718 84844038 626707472 272273092 49412938 678960812 449644370 842226766 67260356 742953006 597415082 240034164 514421638 283425720 636518050 964084210 461776400 967764038 19702574 595610028 551540020 582747196 207513146 248883638 741661446 339354688 221052066 152063532 544074368 169424108 420368504 741974734 549132652 802951188 574333408 98715048 344965728 807167928 420510084 320807158 183791166 819210830 412886028 546430714 985466214 982558676 32463544 188801118 471180474 526375666 483070258 265185468 638065428 675699210 961105560 502919538 733649108 508180758 669014564 665998642 830926686 808457714 169577372 988555732 96475590 387566402 230694700 857811758 272676034 802314000 688632436 244220812 149787916 990787676 2454052 33568804 502165446 498632940 613543668 769243254 288023432 193211748 49194586 463084984 190550604 4119764 130285650 426195366 702177034 772142816 485192914 161126374 38969602 367918046 964088020 57346424 28525490 125433252 914110564 884420880 66399884 733217602 729388440 317991620 648733640 455775232 88530372 90644228 192903364 195056634 322333316 649629070 704003862 606406830 859232022 776018176 668296340 84577418 646922812 844190052 662734964 436736 707628328 572075228 827428882 210133350 865420670 913807950 581160066 47610028 887800888 588503796 787907162 485126552 698780154 261397318 567360358 519222956 697251786 522868412 863874944 890218256 587384258 975871522 524421286 921210394 585378340 384462588 880796610 743857508 646478332 85506540 49419186 105248622 808813336 71668594 312547996 863946902 663723748 154054816 549076410 150261836 40320408 787978680 519858742 627980360 226638772 92745708 61969430 26051600 579361914 374914522 789862810 703528932 341385168 202881382 92326492 321334066 53173188 337387150 486469984 111015716 479415106 421921412 848477642 708073134 731738810 191207808 980645896 957328628 630214610 913475030 734518552 218043968 892832900 719234660 82743512 438466808 779970148 485084252 52829776 756338870 107403288 734570316 439623144 756274602 443282972 653480902 93914306 696656694 539329398 649335744 973983756 622714660 358274888 488641350 580425612 702877816 327808364 459059652 370572526 590585852 937737658 924956486 964052506 593148222 439756764 852129016 543819588 599155712 578564618 452895114 246723886 636683358 446744584 76134080 326219842 11105658 624364112 391052298 681255098 779363202 760328618 173731828 283975022 677874800 660935618 309828730 707561318 507897346 425648454 501281582 47834084 303831940 125545384 174975190 822275624 632395238 35143492 201266268 545737760 661290010 809726328 407039842 339498434 561025520 520663556 287711036 416446344 341274154 778468934 206080702 976922656 67315768 536541654 88275584 49146118 927992812 400184154 350473048 532991576 30216696 672535554 763299246 85427510 790277654 349217778 788505032 545601968 491750728 7585744 967678752 216901526 888931710 806842314 157418512 471011428 369450728 933614206 47372348 612774780 411803814 439034034 955747580 853041112 712432600 684044916 7091300 417606720 699231610 829248516 550563104 463135232 128103718 750312400 542640870 428373306 918485414 731371032 922438744 8503606 721606652 937003376 354272410 94483784 309322892 309980130 742176884 357114084 927781580 712666154 793571958 278944092 667731182 700921640 107645250 89008864 27441136 404770246 819310328 659260350 105234204 986127284 188442640 488036838 187278708 288893920 318113272 10352938 465318474 82709834 185062732 86334886 364583656 482183796 642002450 915985154 394726312 969338330 693324798 915820616 266592332 285557424 899684576 954470040 899311530 118267882 468174 999251442 637216052 577646224 856004090 813735896 438544606 338708262 873302130 450422694 539472654 650366290 183955070 11035106 276384030 312293524 97660834 69203008 415301300 240949980 700366306 202754018 926364580 868803350 50271204 958555616 595004324 807609768 538726016 103876908 6616456 953287528 865683706 931026034 709467984 968608042 649864918 893261340 932329840 350849668 362666128 942632548 282268934 618849310 623935112 90930958 244648500 791214662 60149426 169804490 606404314 790333124 686276982 169762604 630392478 770628650 596867390 886308640 198179762 326203286 722380236 609657882 727045108 179234832 732943624 734056928 983091898 717077956 744765314 282835230 285801752 107840964 85262194 325821616 57129266 616412642 671535176 427170766 17040886 657168674 316847874 974246726 833475804 524988874 278491540 833264786 269667586 64526914 929727644 490766004 931751286 688979778 476911924 743056368 658693130 251252036 359747512 197272542 751095748 576644256 733597234 651252806 263633686 299102050 697642958 865735012 937126238 204422396 942819716 262229260 238121272 888962718 224972498 941237886 576866424 333172852 409247516 550093202 477155714 646058150 625287672 334501274 334041992 164251064 842607108 615346008 356248892 525948218 180628644 976468528 689421788 528719302 524348976 474267128 50159656 427026092 945041696 563394002 953021304 240483850 355884066 660959946 248037606 374336552 869315156 627170944 679793380 851774918 568676192 546122948 632975294 413976118 367098780 302253050 342044594 114547502 795643818 190292340 321599350 62916918 24185084 870833422 640348170 665844754 445835298 506974648 381846058 783126092 292167088 41016404 735331198 864026134 209592488 774338656 846144004 297757578 129116200 220170610 980707952 842113726 799982220 216725976 311583166 372259976 310319412 2867262 783037726 810271492 549807620 307803566 989841864 976424128 81923410 216046688 487178552 248178052 726406584 616074618 342225344 496666352 617565542 637756036 542478650 993325546 473303132 385959532 916294850 932177262 44982998 203817914 560433412 129006874 73841674 506034670 584354286 528879536 101802796 325033600 353524366 306960980 805337634 702944820 432814328 315828052 171450080 232883120 878670168 709787316 990086536 989295432 731116526 43864078 125252302 429624062 655098768 877179082 819737798 484876852 495415920 215341966 159733402 555888394 46047160 9328538 366671692 128494140 205902232 570197634 439343692 216530134 832689686 456376048 300496098 47152828 171790368 774640816 773205988 696375360 522435412 747900890 564058678 325027766 366403432 737255340 109058554 752857694 590611568 293256806 857243382 706988466 186166184 43622072 841539934 326308754 557253730 877793430 92492052 206897126 949421980 241879528 960443016 825435696 854989062 31522492 569352922 552726112 297627468 588512112 111423932 585183220 926933770 949805956 696645610 519707138 499123502 304881492 701957192 872749670 105026854 262080712 209113874 721455774 536701180 692883318 644431092 840353704 185677496 525630010 830102948 309608412 823679524 115886550 553794530 759424696 408587730 875927234 405493372 428563706 274815630 812473728 270349194 744203572 855084800 452374856 103638278 644814772 582191008 18135920 147254528 614807440 414069362 954113434 364361568 522887064 964367324 423508158 392592794 4726078 559745430 939681034 388655512 812535268 735330022 813268084 774238686 540849628 766066188 430080734 372042564 19804370 250141264 240674988 566460688 783793678 125233588 768490754 833089392 410616606 758148554 400179530 440125578 901675666 420721160 960324714 74513176 955946322 523778858 905725746 163567360 554528000 664060412 594524168 745367912 19441880 199062822 613037802 316554658 896705006 917062984 347657352 824638642 765638006 479433528 907270830 682255416 955013394 415855566 670217526 971854074 522560418 513817948 325212352 362056994 965583442 877373264 81062314 518251174 843137280 848076050 747825154 225448810 773865050 849206408 271230376 837125376 532566360 98792762 214844030 197853318 645527068 3146810 723870732 309478908 271054062 434607208 372448316 185575756 823110966 485233972 21778040 479714168 188789182 961701284 106285296 291511034 672634526 850116818 627287588 277404002 351294808 388135024 601333330 936991820 84992002 655580424 509695896 335890950 415199518 259616370 202833798 821574606 904267672 114656364 204849620 108336754 80325060 160424262 23787638 481160018 482845826 377583466 221989528 130573710 265999862 499090480 186871058 262214254 743901112 286501454 433089966 141578222 613108310 270735926 799112754 305410752 634916034 996514296 48004368 284282052 531048804 857911286 139486496 615814212 273281020 93957466 564991120 268222784 367264760 82865742 559721720 499098404 341274878 432189248 618529914 368335038 747298930 210364050 441308176 780374096 880187006 267194172 111054230 305698320 560558094 939191574 547817334 919251662 860696738 218855438 730692490 820925032 700264462 642784552 270956092 441589436 192397662 913570956 607892148 540997222 267977196 754206926 349870774 729473598 506391896 99123150 660619546 20262802 936636316 817360292 734464976 102423210 989674024 593395558 535907850 91548854 785281498 684540268 362275072 922809344 266659076 242314280 277181468 208533232 122477456 477495046 466975300 463726748 904361614 9806954 993556716 7424296 987732832 552088778 234465984 856031116 640482544 735750442 620334304 523339024 296128612 70933542 290658394 843791682 740314426 376485296 437874922 421378710 56629110 768902516 779987746 839698862 752944584 73884748 962211204 350817152 39086248 157388984 47093480 1956124 672715534 915518618 80353840 865490572 973506236 972263340 516299052 758056820 751692610 841157908 962649016 692412722 469198958 262686800 347419226 355524508 92430148 313662190 710912932 967072534 72146464 449829260 865498366 452587352 881691844 263155806 879521116 528714934 509480558 447155696 929025174 680540950 96329692 635416796 594107416 773665482 591128996 25390280 586829284 801872716 554227618 868130568 257360324 551959510 913174014 20040776 98875634 898558722 342166694 14630454 773505822 481420696 817512848 327302168 85102232 451354988 367893020 920898616 756285246 360714932 463735690 391918528 311969802 577459394 517896900 539689070 448302334 77860200 444933530 738226654 889557976 621164876 983856578 775637800 759668412 413371960 88917094 642555952 342965776 529279416 647539758 294803604 354856984 486585166 181512078 861821204 651003010 756239198 253566986 900407574 262661374 58452040 99440006 961989104 173958068 354376458 202366618 649401022 829792342 400354260 344075724 637701398 754579880 2872496 463426374 744030882 800056118 399672424 891804096 122739136 631171730 74269818 194878758 317662880 759487068 394831164 576836564 984364176 760220894 507586238 1342508 809534842 383397668 944201830 969246286 460737440 360778406 366238906 493491882 799897880 606576088 175895194 385429946 539764768 151419256 893253322 988642276 690578120 376195130 338475506 141537632 208395014 529512492 241604812 422014590 855198070 916386234 282760950 245375874 441157700 576645544 814530712 61716812 286132686 323869036 649597308 316631722 892697772 934123288 85146448 601855888 498576512 836946336 293316784 694174152 691288270 953304560 827839046 205066540 127039150 160750912 960309480 712941980 875178480 557739568 909471166 360133734 871000432 49218688 338436896 548441462 730612096 215902302 600318910 847837032 95855938 912352862 356474622 147979340 316653080 962428654 720979144 537775354 263697628 85258666 61361936 769644170 953509586 657241446 777289340 439113308 548022488 152846378 308850668 789028424 757331206 400273758 24244822 771782008 328957740 460421716 563536532 688673236 507065906 749156944 420973126 357544402 657458342 705592434 298448700 469464848 191989110 577172618 24664872 958300616 317758480 476657028 372344712 541882886 345351312 450854342 634226802 228886934 78021516 870194682 537826024 934326702 650903062 739704244 729483678 205059014 243292170 874434876 470329626 304633166 702048650 654926864 777559946 282156606 544107794 579588472 212297288 480033760 161502112 502849608 601759948 271341660 537991480 526510370 336809916 965254578 27338812 950023328 925674048 567809182 239168296 932088128 211947052 442635572 758066864 809899922 860492116 701898642 42332934 987144204 549178402 298408360 715393050 86428992 237713442 238104424 423206738 618342336 497362030 178767198 560058230 889625524 895315074 423694674 130079060 988787792 407608698 927887976 829449048 478358016 385072622 376484024 411847728 346216178 250334592 19946724 543525628 242884462 171602988 793289992 973833926 800464818 533697426 412640794 764329272 829651620 381612400 257204330 323052566 945584278 434371644 673982846 109539338 922213990 629268964 552838368 328798266 345414568 234013784 507887882 20302186 362005954 307346340 393139006 159622918 508272368 912072570 561918570 165249138 606477712 576700206 472611094 999123526 794482808 747358136 384521798 822649166 204411294 557212474 687131848 399341422 773728016 862698850 900485188 68077188 779709068 56367480 602227872 935640742 519136360 371271040 411061414 494929812 11693404 796622750 13875066 746728878 714509850 184555222 626261832 620050894 270828600 372042084 171191962 694255542 62510786 912715044 760154532 243771042 875902410 975423520 624814586 772105368 650123026 133546404 490025918 620046436 698301236 767848324 78203614 464379754 353644736 564437928 595514648 322416966 491504278 26611236 814722888 690829388 332570946 185658834 611632144 716297046 334370134 459220038 122055880 341592108 53506540 543878554 350823392 838092714 454989198 85945462 606367250 502754518 117695532 552549194 839062080 452928060 666056920 572975160 59880682 747164932 618288980 618146454 446419614 91787756 734921810 236376492 758183762 359996744 526674962 313246228 405426206 381788674 77922208 236818646 776216960 91819936 125840548 685756368 268906076 127671294 557515388 678998240 880273316 283908046 542488838 673040880 34586052 44283772 544607982 497238098 76953394 560139510 637401716 877874706 301737776 479305234 661861734 613414322 748049026 33823210 641080054 691112844 196383338 309495346 366508874 180748090 471374252 397707746 513358188 157326210 662885374 982841724 54088260 460684744 706912488 322335032 190922324 756219872 546675314 317521550 373523708 26084904 663067032 637235736 821199942 581853976 931939860 407935190 115971584 306988998 649519076 467637708 916624464 866745446 512789174 412543552 983149400 497061462 723125688 825030662 434224832 913574898 79652662 113645352 71924794 532023094 763649328 506741708 629702492 917309804 467608630 306172376 419921546 366080720 102299396 682011752 23234102 29054084 697344338 443423376 937889520 844264086 760932790 306803088 47504974 711107946 4408114 719804278 91743030 781189324 349595882 52416498 477793982 782510436 151557416 763328040 775596820 407138002 82257598 246937956 460907416 144991034 82010114 820396292 337826902 208589110 408067844 569962806 643659834 985876104 73705540 881680542 459715192 601667462 300831504 350167904 329635352 480597186 548577850 390146940 432671194 813133766 848418004 717127166 742027514 166597730 110004784 55340488 182455334 472635236 725885416 878373332 857992674 824863422 678336116 703558442 29268082 894152568 308453594 752859618 835392992 272849672 778883016 201739232 187860998 607241768 515491334 890190978 245999956 929461066 170330660 816471322 279421636 809002268 523726274 754985568 753418856 119851268 375725914 226130794 156007914 935808182 608261830 266648750 526613298 32848344 673512952 71105858 555876032 720239874 450846286 103685874 37104632 934576908 686743270 341654610 163522022 430721394 56686674 796253214 726990554 762161876 359026256 32463022 859928142 78012922 540350390 903982458 689597212 580231942 384151686 99322340 587634110 200338336 973228860 997326252 449074094 207851588 523296936 240168134 210517624 831656100 109109854 281390154 291354384 664124396 899043492 502553116 393579338 942108588 799468876 626950690 421889798 342281626 620088070 235337348 152983280 633495988 53172714 208602614 624132154 558134150 594395020 875677908 841708628 178698960 751148570 256505168 608402796 17536080 594964122 896355458 279695276 71772328 589848096 361097182 422305686 519127376 972619474 518634596 757230210 616274490 948053204 757180810 885035320 370622916 556981288 197053428 930181852 852263828 590392022 935861780 345625068 500689578 768464332 942586282 858414604 830160910 347575856 336595974 410012940 70571210 612235410 211875082 650329232 995925302 827592182 488029458 989662060 188064296 186608522 992384232 546191876 506261488 638871256 705161636 138566872 802558634 841661082 778411534 59178234 52849386 421723450 934620678 915799934 499912152 90130264 379044598 703979360 275763196 311441686 367696346 932550180 396185926 19611686 106430636 629036774 676778860 721081422 194432308 999437376 118791110 627303052 655928108 351673898 960314336 767715542 187439304 365435006 72293090 272704892 710746148 361301932 433034528 110790916 813071158 960311600 845517608 156479454 324410430 182426218 389010444 294364606 805801150 152122064 123654988 280192768 295353808 886901112 660260074 533111618 711320962 309637910 523950534 599801764 370150250 905346862 180658470 658631268 669550896 925987942 224937960 780617682 138598448 853163508 192154870 751420102 420455906 459397432 94879612 178361278 562286248 19519206 445992472 216761252 168637138 37120896 3532440 400223936 954016444 697462570 611293230 832220378 296146136 325562668 978545262 92259516 21197196 62509994 705876290 930647324 287030944 70638096 796504914 492516848 432078484 255856182 269101034 860111492 237186908 277528322 134787858 607744542 270761762 108223818 941819268 23442874 927385708 772724230 622286870 66703494 555423884 758497838 146746338 309153480 700564566 153537488 583464642 885263562 754249872 855692126 395220804 620507804 532169184 244108620 889101994 665358712 472860296 640074504 701372260 809766438 104909138 563652796 858902692 35305328 163469896 431786440 911671230 526938394 816982298 800932150 763323510 614757754 194546468 730776044 706902626 304026126 763157800 802476006 161639072 125383926 69555222 381624072 776990972 970500878 550225408 536650708 662612640 15676624 889985454 630363156 78095908 202210388 611576430 171547546 928748314 94432110 463472692 736824388 624828442 270881404 949388746 283910494 832157812 196501674 969979190 901720606 112342570 436367474 408163806 63643236 645210234 20025568 12423726 115704878 502468228 399896256 321436612 558566910 4285344 271317226 942345392 765253834 41415320 784647036 889989952 965376294 164091632 790630798 921327650 258972222 350643334 404002332 742402436 339367266 375554972 923240438 97734878 485322552 735596358 123635330 270958836 510595516 467024640 578013504 953296950 24711708 994472784 277304136 273195928 806244454 448041946 639367394 355160088 771498844 415211880 482100968 408480808 88746270 692249068 434105004 644545374 812589788 493304462 782358182 8541428 282346286 389995736 793393404 759848788 741736064 347779572 386671234 306381490 413801128 945439158 293162966 926945174 837491766 293801654 291437514 284555256 187680642 251767984 375454388 641100938 455169070 728244676 958592018 275709142 266392346 180348008 962608466 595706090 880605640 735111484 27652578 267979270 711403482 740432750 742688352 354266682 500835358 757190596 208003784 405568002 514842724 42105620 514385538 173692180 572196220 32666378 258328182 899079338 250327344 845488110 655185552 263744820 212636354 985498816 570675814 498875662 478256314 28407920 268620788 476702912 916857360 756714896 778665606 295457792 730742694 718610388 692397168 771078692 979535294 61553046 510620308 769621476 140565000 992442436 931826228 537586420 19604410 967260890 12038838 346912274 406435424 147499194 380197268 377408918 136397708 763695816 343142180 167625050 572947216 82235954 294368380 915666128 249513146 371744438 986322648 556211558 584646198 448445120 937516744 444974282 763375908 881006428 724714584 390352302 393895128 238829772 760547774 398033348 200372978 523569992 292875138 966075964 989676596 878544802 428990934 71600848 464990214 221484656 580381116 280440270 514191326 924797268 610948172 394980792 389964744 858735234 581742232 204626424 331356284 685823530 396625670 227963356 244446748 744349506 198275694 200303824 669409252 913975010 976813682 484584596 968671836 295080174 197363332 761779586 548378680 983644826 202116628 606686804 785010494 302742634 173244510 770428590 678328388 951213754 647349492 856922980 506525812 150541814 966643998 504694080 85004274 774330872 17629018 406974178 774194040 383098438 913035834 97559066 622603328 484938232 497313900 341625338 592422938 33510508 700171246 279463814 628176936 571061596 322660900 316167136 772877194 430802336 842027078 671796476 620711416 655675718 543548264 864238254 125826356 699319286 257955208 230089416 252945506 835456638 404917362 446761474 917017160 376501454 77293114 384936108 115182832 256155526 700429620 980858144 337278398 332945314 420050014 979782402 865722278 776957950 268708378 4649824 271766858 529518566 862040066 393395656 855347078 342243496 557033426 293639798 457310982 418177316 986663064 924413690 806263512 998293620 273073816 549476720 353221790 314273996 530083166 338861114 535425480 109659704 153713186 790912760 732989134 596719282 439842080 52672904 187950606 849375562 721227684 266744052 846954572 592995640 863763712 240477812 702875502 747651834 661859194 386502452 664910108 304640642 923709268 205076650 278262266 495642184 589794944 619125832 601655284 112544058 494213322 644105066 800350508 885697918 293270326 911671522 458147904 398762696 453913160 851311766 964764534 32550844 433281824 952924536 950611726 418994652 586996100 729921016 769445744 813178984 628196108 253845070 366948770 457059712 828898558 711763508 903063374 757614460 717821626 627894266 721038828 580100106 921460706 427507772 441426546 782871784 401094050 229063134 49386392 727134958 926146882 456331034 110013536 672645068 468029674 973247142 402390004 992238918 667629676 120631002 788142984 903938288 553492462 846028486 949498220 472333690 277063994 581539720 761204498 104225834 922057060 957907040 155592456 525892048 714645322 394627602 201134178 337336170 293093476 267243924 421921156 628257652 101281872 728283212 652887616 271188970 984846350 984762804 944626680 314600450 793218894 274927864 630919042 532785042 12010144 720697110 895062084 183578710 725033554 581645822 295538858 626366848 454618050 590049302 905406110 123658134 873301088 547501402 971567662 814292740 467650358 806089306 927748638 77333656 930345520 125899906 318947650 408578948 304008104 98453950 810790516 680614928 121371740 820562322 847160696 998320030 167274106 402884446 168590664 812184786 216899734 402368306 360054446 233674482 401449672 814111368 775577448 602807910 658869350 288531152 321012698 987661702 4186258 216203510 308008284 706254158 891381320 72426806 16335074 994954758 688354016 268561410 951617716 242614978 779585882 634800102 978479066 768715794 441558016 773558398 445199972 236445164 620114828 408344216 14515922 425619626 618760396 92727884 693689046 288167728 196303612 903589056 463217256 540221918 310300244 427502886 926588118 816352088 923529210 405497328 850713364 185049162 785273220 784794604 285499772 562309610 928360416 756584182 141052286 806433980 739728170 348730740 338068618 597452946 315290602 464487058 832055138 664259762 447729780 287284742 989615316 756298636 424536800 926769488 22812082 413559408 243979620 296988714 518772898 617341610 857345356 366165290 997697376 433726460 66192050 143802596 385324962 515998090 230362906 686291304 153993032 239127332 493937496 148052602 725030010 997453676 910249800 362409994 511579132 191194750 896609704 734490556 758868018 153400308 706732570 630046688 511426128 59007362 584673166 340581726 652681152 437504664 684775180 623243210 559677398 621370480 636946260 510715146 362575150 995349494 137184678 378890274 720272392 717120124 804379446 555211964 825175162 651902246 629644852 444730734 137398384 985795450 59439008 915112032 818105692 805468676 109821890 318041910 160997888 526729358 238591876 734603860 278386274 416470196 668779646 865645582 381368914 306856212 631399890 542651530 865359530 970150048 569046204 563940274 546440830 141773664 5441840 361939730 904841174 401393636 267852130 321248370 620412162 547302492 352930322 703862032 379671428 874186496 106761678 17208192 842719274 747328492 523360372 657205240 772735566 250549682 192502366 258544352 694004374 616188998 490856390 115314796 612003486 272756648 543726942 117561494 260592794 542332576 697160264 865155988 579951566 98374658 223310864 255915534 977394632 719053970 722552436 645633456 217640614 131480262 658638298 287869408 192194578 679904118 472190800 436952064 58748096 144287706 219987750 160795806 643223288 747424160 539911398 100632268 266092700 272530604 707070614 913394514 860573064 797737716 993313864 891318246 526463402 706644592 151236436 556623810 967519340 606679084 298129084 7954192 671428032 657091160 809719666 587013612 967024874 482266530 173319852 350187288 117378690 937287706 592364498 874995144 231934928 837554372 57419510 292876872 364657468 458670158 571507500 174913118 522640896 33422262 717278042 66884304 532853616 385792030 287129000 223041186 652481652 472310646 567158238 13446668 215348406 273051398 900881768 332280066 654111126 117021360 517011110 519764490 872260966 816919812 504033666 314305668 832738500 859930804 424717768 449266884 796527390 954432844 193665852 758200842 106555928 246345412 823436844 886434810 271633626 952214680 899959702 320927528 407647658 964554886 870199528 984290126 71815912 109932122 458602322 872251076 487741952 515231646 287232028 151049102 679719544 708105838 371222888 730761560 827926994 124859444 852323922 567179120 894914980 865313168 72813612 265421056 764715258 39775144 57886662 581717352 942040996 320929962 762785460 402140558 245427822 290862406 747510126 72607462 657915096 326301536 268104498 925647380 947012282 621142776 90890188 31327422 55395638 545292604 58320428 436882680 229697808 503997596 306610324 880974344 549479298 784618410 194760868 564342304 969283134 835891802 132088568 360991622 758666240 842095136 202422404 565081196 307060018 633919800 221799892 448701830 729561472 323880962 654852090 577559710 626805008 887007830 701458248 939124428 515351130 870681314 647556236 71220298 379130110 16134202 984554206 235405700 932618514 814670924 873421998 101335436 254745000 62316644 197150184 501717074 521481774 288394232 808903392 563507298 707443014 648902020 973644600 292308760 940050812 537571682 926078254 681693180 332280786 745441802 343489986 159082744 975718814 704782060 443786428 194888284 906476084 3624070 941740636 819484892 914392412 362137590 156237336 234477116 927563078 524926794 997820162 522007272 416244902 377980016 116766464 715684932 185036916 579099102 604583250 886731484 578029068 336740868 321117388 709492708 365893738 123904792 255700888 270676706 523821670 754235644 430888124 294149606 923293700 906683998 867877696 943403388 266771182 435296590 920361162 862511056 51761074 782899572 186558700 20785608 825463486 36415356 630476420 458124532 337104206 516419720 251171840 616645662 5729910 192550750 167952078 108613064 358922044 498344254 611287098 325104708 644506488 273721506 997801552 988633916 320724574 496706564 166545208 599082000 63087984 417615042 282542046 645973152 187154912 192458154 677059060 318862520 313126792 261205820 948541766 414943552 508452932 690334532 361207118 926139822 594377748 188836982 888330600 941505956 679379314 828484116 796024220 537808020 396869888 473306618 414582754 895735220 496775762 591582716 971646624 989332012 450470564 564542852 175361022 618588804 535148812 249152796 298398686 509629544 185817144 335778774 370224324 905734326 583849284 158102970 219918502 706927640 412279302 388964888 919659048 311780932 758794552 359519056 407488390 353384734 412760472 976840632 850293264 321557554 608145376 720832766 694686656 963321174 93068166 581751194 366704372 787794362 273453268 730479660 179229846 979240832 610857756 446255924 681669518 891937074 859196894 315266176 461138614 984511832 695375606 914890630 173958552 151992544 813993678 585978768 81409290 506493610 338558034 55988162 480667814 427587564 175098662 422217012 981665684 91895096 352183814 521251232 93465322 171669756 747749398 388669976 675901244 398333680 647047250 787641948 883511700 828976258 515891370 506971684 569107952 361182036 807210128 386096198 119968766 233383268 474060454 936714472 508455104 54004940 750585708 864980378 575988810 706913954 789227308 915513302 216583050 508649962 52288698 945108546 819567592 346768272 363578474 830349594 217354224 18566492 805635930 902438620 816793060 242154638 641199694 222502276 863413762 732847818 266652336 505495178 5356338 791365334 432133206 590147012 124490674 492783964 243703332 641884226 360993982 865918282 71511348 234728372 371124952 180593084 336273040 32100188 40889750 129769426 975439370 987778572 722211866 710207592 302609918 383320658 296175674 21618076 274985472 261678220 316758792 254080324 321646158 761326978 238999346 918847826 695063434 407013414 792053692 338002012 583468390 26444036 440737492 433911376 654048974 836078514 933119106 759956138 413896590 980271842 166278386 989213844 633665910 834111432 873398440 506433272 422234320 90854148 867767376 882125762 256771750 734046994 434203650 677642966 352141928 620561090 532199694 203000536 612514864 74100380 376540534 668549188 878403350 178260716 578917574 136469534 287318558 760870038 945322378 74311368 393193744 427465040 892165318 365636952 682260654 427007450 864297814 893448496 124617132 3278550 897975536 554953964 917186466 475139556 597708744 821605806 268434286 557766682 285426222 105205084 554251314 261218342 668619154 944188250 34431534 357592612 884894916 322837020 789145390 41858930 185823408 756835206 269860732 715685472 873626378 791456254 386970504 452668296 690936796 461991464 1551736 403556014 160694226 423076796 85236650 524200204 750037482 751342760 758070652 550791788 979381102 398291718 156055960 810803248 875230930 671862998 354773708 613811464 278734078 431269608 246064986 479911650 118968366 308795220 892661666 131490234 807150994 232856824 37579158 631551446 893684888 37242966 596421104 604069772 994048820 491520368 893826206 471968088 989152232 728790122 791979596 822557156 504863388 768040038 113726982 758795746 548556178 448589664 40836216 925468764 81150718 899165164 473322334 462794916 532281212 372439988 252996696 506248840 379859428 751650932 863642392 720435464 301183398 30149956 35742836 462742774 137437194 51118724 339429806 289498932 603209390 999848316 682863520 775375986 369507532 414815086 948362694 504585124 752134578 478565196 721538830 596904114 101834640 446173264 871966692 660840418 971627550 984095782 740061690 476188292 784673478 638719172 491476364 832949442 511179906 174833406 364543288 563669770 180121918 219144748 236810768 42237596 890692836 304999870 75565134 381655918 312628720 286683056 491258922 994193826 722683546 776270020 765687078 293199018 119512588 74239164 244130620 569086182 161314682 79617336 90335800 922442726 759447102 529709820 160657788 114662904 643103958 965095866 482271490 700472886 93318618 651028362 914789822 764708094 572711354 747707228 369657228 756699562 365439188 648284314 714990992 87654502 443919346 255947062 129358168 478465618 566758524 63637674 103964494 889655098 757313516 52437336 96580874 983338424 136994150 902677030 738183780 276247542 64567632 319750564 739622510 844301412 82300964 829039458 659930514 946754682 825764358 182625022 637730392 921936962 320881354 734755038 608718670 362798232 135058846 568413438 95902572 676538012 530006226 380717814 436035976 503619520 323946220 317990724 807766978 946189234 213288300 406412520 710744554 992502652 102260822 231761240 764566944 877041386 822495966 600689488 719354730 842143032 147879040 978301376 723101390 167187806 683959718 566266332 583732844 350724628 802888846 401077820 564064464 455421260 782773540 908591534 653078716 140455530 219015098 525401722 169597032 985611060 326065952 557610800 640201692 58214542 145754162 464240368 247690072 504529778 978331732 243770844 428464008 316904438 282075628 370533150 561613646 682570834 236259238 711830284 572404000 794013730 135874572 514279198 516106752 909532286 246380524 642246070 347839194 253712270 658352112 428954910 588629414 307265266 38698298 446503182 574572800 431902188 619259578 552774828 913233534 838470012 51019162 254612460 768832650 947398670 117361548 845670968 437463028 784671202 773644930 754841176 615962834 553126770 448730482 984424648 167742674 75966092 66948024 528825106 193945860 82967746 361521086 336531046 757130480 708668640 867994308 670771810 560389358 374112764 69963280 740266844 3669584 691136380 469770426 983395956 504575610 517566326 333454328 287624044 135869670 425460238 784268644 33035786 382160692 166893004 591998718 91128016 442813442 370868354 130901452 208901418 984831716 369286760 366513200 998642024 596593446 52006130 739949356 227605484 661179868 653472628 297903740 124271868 117325776 98316048 44985218 196673732 580030214 325436044 911952142 683952658 753981320 129293082 702030564 752942730 954671192 998337160 725397258 222361026 68434234 422319644 251853776 709651872 672792294 434740598 436606460 37208856 141564426 859797822 686879108 620930300 388831636 136728628 681053470 497154270 403205588 324259816 285206734 326465468 173034038 419511562 890357190 803250132 127515680 126620108 744797358 892148100 109813974 632860948 120191832 189805200 453184608 743456810 361227878 817745074 614258652 110497264 909918220 817032732 884580136 443443176 864527586 196293944 752743024 361090128 118775170 601215690 802125884 546929468 782417080 662297258 533341126 900820298 506955206 451583484 792957810 488417648 75272398 906044120 958850154 298041000 846776156 89644682 27920602 74295744 239205870 268349678 40672534 323185740 459450468 521387200 142722034 597761158 891827326 456540696 171235430 709746282 302117882 578443184 967567016 777764548 197829986 196785338 81768164 635162670 244592466 511978538 201570194 60372368 396183252 857926244 630312826 29249514 136309360 561038570 121600444 776110388 132980720 804151874 299300720 860680890 238635400 617882484 152116046 773308806 464494670 664426818 29644080 52098900 701047498 835230014 513362912 222048302 642727542 379034658 191731130 309494560 442500256 411398918 519284802 603864592 82576754 55757026 430158374 425344888 252624080 625161968 475413250 653889626 329588146 947745732 662096824 839665990 358492888 265220932 375513188 430840778 486345536 353050782 609293888 42269342 440147438 524886882 592376614 845488626 607373356 15008240 279744900 341609762 743584670 592048330 207004198 953796242 965522276 131623056 6241094 680291434 706757732 221836726 300838664 14823632 74923160 218768088 660616938 796299038 434594876 640872514 925858622 492370276 277283988 461523672 35997806 803105760 643222896 414727404 547703154 59465424 12779960 130810164 455052940 337941258 521923186 162677454 482506986 913908070 144254794 512048044 679687180 564587524 394497776 722181068 804516076 532441116 433647702 195458570 33070252 134117434 917116686 571473828 621340356 594661498 928261564 135153068 61926520 233336558 159801418 46375842 605417422 66061948 457680012 570196050 127982746 603918796 27779548 788598172 622590468 377656598 897055722 975406002 181740066 564675768 786483254 993523532 930340172 579650146 140316338 626681948 39576870 82797340 580921856 588627040 481621002 498610176 504807188 161294426 573372310 426524408 697104850 3687450 784548370 227348064 386417560 9150122 523480682 823319772 961622544 474897426 203426504 563028014 932036526 576074028 285315358 140435642 179822414 447201588 169895872 820414898 733254416 136114416 310345280 84990872 140595228 793953710 622675088 989550192 546998686 429454342 583157082 870429272 682644804 722548284 197325376 763597424 423781112 375891158 260892258 919718678 345170376 155686544 547132410 221276994 267350448 57417254 393230038 434870424 276507836 879832004 727453750 869771828 166841020 380134220 27513178 993928200 214338556 754682368 577610274 10569668 921900828 630685136 549880418 603003168 876244786 765348176 353747910 501966986 766538450 860990906 242705322 810010690 613265298 409424238 661945858 93290196 501633944 306318776 474126276 924101328 248612220 589000324 383096648 708001916 326877344 81077282 281679552 82952426 17905708 465481532 173940766 569370178 766365322 570581966 100545022 815265964 239188288 516708182 56225168 629499820 393186108 76514748 126539884 796822194 839613816 629453996 851101100 532849120 290705660 143466918 65224666 771774666 915284692 580822280 24006132 171518148 662527512 636873604 411862920 530781358 348156110 570438704 849949870 173857764 50299140 335622360 31746720 26957996 66190708 600330322 276516454 797084396 979621906 772198552 874394654 723453208 587724632 616337416 887658696 730432746 8415406 707900368 305027248 602045626 825510486 448884476 503130438 656791394 908037362 715662334 138389852 961419538 439295290 241803366 918183056 640712958 973304248 279771912 433718720 103939888 102307512 384115284 92051208 275970178 510313254 520821032 934883222 451471876 44641504 730827698 719577000 777214894 854958102 115388480 813081082 336129582 825514784 820648546 995060388 137427128 122375944 679006346 358786902 681659954 937781746 781362252 929772756 949693740 690251280 914175406 241869796 177167828 696657962 197485092 352331044 322592178 621598948 666941468 788021940 292305306 735786304 19258050 318150456 301296938 287255882 25210318 911197076 316377734 944089298 302188730 593832048 648635646 176299488 409068174 206496414 778167608 177279450 836585048 87131538 455718348 380943880 825871674 595483380 504611398 92649866 27110564 393700190 10789098 644674678 979508992 632216730 605145820 700372276 177999368 185647978 468002258 960778756 677931240 724763148 932290088 903116564 396312830 532707744 824258608 382198244 462041996 116009572 207875084 350997816 612176052 200576208 157692270 107599348 532627680 536361888 438191094 174002620 927479162 144388070 510859962 468844632 637551306 654496516 735386376 513293872 7334028 106972058 848669824 848734482 97984868 757148866 619507498 314088732 879116984 404676424 626905366 285529350 976325636 471787556 309590152 10287774 811665408 776139582 125317316 62017504 550269546 643590288 143361884 765712488 764584728 578414438 518269468 398085164 51912638 825290488 246235758 949507498 396155362 148942548 273842488 152636190 122803074 602705048 766660960 133846264 395860674 873880066 343007128 981377456 984069964 412529312 646631292 386181840 853419438 746457070 285774462 515068666 857693042 289351966 873055030 564403524 992786350 70486010 17526680 505357876 868506348 394399056 672826130 155121478 87033672 497139744 763712004 733268410 357637900 729612756 25555896 185978132 979898210 816627984 830809156 923451486 676724634 361290960 294791740 688463120 909011068 54411754 367804826 20088184 672347004 666193798 899893960 893132568 773706478 496715750 467275762 215202750 416938508 742650682 900934382 114343674 656457056 615399542 330667166 771400702 261571124 609500898 955062206 931940676 653012426 728454354 114006120 902658624 12580544 369631974 546786158 113335254 241635864 313452242 609490408 320684020 733009906 277496844 954535368 973914738 388892708 660088242 638931336 423396412 38641876 768572348 54506646 632055670 209912634 409631898 484203500 104068440 722939892 495836580 940891014 178879632 946710850 718026374 300664954 167877252 903413452 875566054 31086008 276492330 777537492 150301042 704699770 786692164 207180240 333126428 136133272 700092298 584453390 860217910 51623228 965472924 616495556 978889144 484556044 987182240 649203104 546943412 321131094 828406866 628074368 520779620 896364280 136314698 66012818 960070090 707821294 116871262 429524954 269256912 728142400 791065604 639762912 439737104 363762624 753801404 815735672 257466720 175269578 119398486 501575292 182719490 45486648 260519788 835068148 379361412 983078634 590384098 503622852 330286082 727625422 39350714 776220028 684111248 664919620 94802488 888701868 400108852 264640458 92765522 721433254 969027202 505839472 516365538 548365190 88038690 384999110 939850890 900534800 39202520 931988036 563700118 860947818 345614670 738650716 847589556 177182358 855037970 971478212 475705980 238954888 756714622 671056184 209824682 170116876 188931360 32072176 540084600 109455014 253257436 922579584 346836748 238659516 285141306 194690758 628983924 349700026 634056964 680245404 957771524 244123488 440682874 279328530 208869570 939148968 481857986 168419480 189707224 320253016 28330198 449429058 297766058 842980850 885190620 174206662 11533088 722477360 781679062 279213492 79510624 362084796 700313936 900431196 457686638 706204274 259065486 231083028 376286564 997916608 640157364 519699588 918305344 828238326 646373824 425950464 149741768 731317762 556020224 809619882 602783344 764466688 954645410 808092368 240022020 985277856 79167730 385552958 397063344 820536110 940723810 197938088 821239412 240678888 779055396 572441590 213036686 630082552 86516158 240827278 706780886 281687248 902885638 142923210 203812202 285127972 314104606 139747646 981737964 232493028 910065524 924227168 474145468 250871498 704396476 796542898 45307496 991042076 587028110 33533536 870327412 129307052 352480816 626278442 744074494 211303836 102081488 452489092 109897384 804077040 601440280 814309508 746960206 57646204 633370888 431316434 862544776 85779844 844124110 68106992 827860492 720597564 739008312 97276736 200097836 933623038 679238900 981799570 890751120 948193936 495497938 604618928 206562150 842262988 924591608 522005094 475406260 216526650 544395168 821337168 589548848 807709338 709804144 482543238 977831618 690043564 288595326 126618098 141518554 973677560 974413398 619348842 183275764 452300994 38109222 573113554 998846066 471098838 200633070 608045588 181564182 146052704 408373048 229398468 628669462 655815376 704867930 273124118 928778470 784551650 546722326 789714802 531157424 326571292 233582938 319003672 885076862 582271108 335179312 847649360 82407846 964511866 917835200 862179742 551901480 992456156 199427722 370498116 637518536 897963294 604531734 690367992 983131220 969809388 764131524 902330362 386933872 401484140 236646838 98152584 665212454 642388626 594648058 357386778 736610316 270899964 559275790 922232814 754089976 546531370 870112780 157519704 907309630 161428298 679288002 766600472 374663602 828381940 239270422 675735422 264748904 424434544 255477560 507686728 207299180 900560796 902972956 313042840 946103184 831861646 712389416 439706056 223726820 662684348 355443056 380038810 573332288 78345088 720738074 410175176 304668232 920839454 992038772 600028424 540466868 526906626 45749398 761184260 18685436 126928978 193122682 82864526 668658568 242552524 20686900 538376788 511412968 848422964 805236932 686687930 328357282 92571172 719443444 167340956 48209018 957524860 937744248 481241688 257499300 823897450 767444068 775897266 529824132 238873080 647722382 685874564 234969016 783192522 925181966 143113502 429480134 892828766 67032448 824482198 845896012 943955594 511978814 841802834 425631084 571277176 162900956 825780936 315858710 618115262 941896334 539324868 191049474 372937280 201697800 808798068 364948228 134342782 715412296 317928410 117844064 44699462 573611042 792963526 368445884 320271868 889560260 826067728 484336880 477999316 521711560 261786486 755452582 512570440 509802630 232784084 56622036 334858778 688275710 112859568 802368038 72873140 614490188 800074368 16369588 931689980 277411070 769202100 849337302 892583382 307969696 371188614 850365784 981337318 953787696 387271830 717166262 85561888 138568318 193088788 102541026 230955730 944815276 802114170 868043974 558060810 253129216 746218960 293782068 991422582 578004484 622308190 991335802 97748958 577660566 363474928 1945060 246798348 410244600 358450896 969673844 965670182 315674858 151853422 28895732 83439988 541129560 190884834 323810522 745927394 577775638 577321644 423349714 361395624 426307248 331520820 424092710 736146702 830715472 676039046 791673954 813148300 902754492 64043442 352922396 89447798 253495318 197686450 381366430 251400686 562354126 685965830 485979206 290614620 345044464 499022310 534899872 155611062 736608682 124119118 622369146 121438242 282313476 162841820 26096454 390082654 539475376 790727646 658812156 475792462 527875180 714952310 248323482 202420934 771035336 478720474 394460732 880743122 588794966 416163876 904282012 17870710 788943624 923913774 216337554 604785380 156040406 901817460 839703012 126155000 157467094 480112814 439916244 391159896 353501210 99105154 754980898 465177704 373176350 39518740 770435358 765233062 956878194 48182690 363812484 485649778 394008924 446471776 431054306 728197136 664740490 243750758 572659722 658916116 603058548 440720852 72349430 347392410 27967746 609437172 979395666 15598114 596205614 349676090 950285438 507253046 505512290 908619810 958831280 503024140 336697284 362119184 112535988 324668574 574943946 796072174 960457900 242058582 778175046 183532226 375697704 65090930 124775750 638368966 100849052 320007656 680324248 976131178 548289692 179345324 252372424 533171016 239851946 505165412 691777612 900994026 849159988 806370926 812116186 864355296 925486638 804659954 655341222 987907726 504431724 879163986 540086188 487216668 294590644 924187948 439089436 643771388 323452822 6416754 428995486 445628060 158103530 525400136 919370330 485550922 546022752 672105132 182975110 518758582 342174764 681658040 248045506 789007182 928352394 7140904 646530150 568637110 49480478 378836950 144035724 826720336 81330664 304862482 913726324 248536168 773221874 118794658 946943192 722525112 67598882 709306668 775183174 807882710 142512846 339690176 988451664 154895676 905840890 667331268 478714888 397604744 121161120 803363226 137535390 979180796 858393006 633046014 252750606 981557846 518370996 683616484 417936592 621177850 817366980 676147730 332210304 544047750 502570656 16059986 478559456 353669144 931568680 582031760 592625698 913235330 210893020 542614572 969254720 893842634 865088450 522904854 340104958 351145746 447788054 461549722 152948578 213764896 554365272 31658362 220553914 565960710 305014174 58689134 475426700 649226462 702722698 505958472 689472120 983445528 969873206 295280688 910643112 628266752 124887250 69966098 184408832 29385136 394309134 977029878 703991532 339937464 306112326 264131360 155789082 920384072 749560508 159955914 149758978 32996616 362007114 764757572 547889218 57079280 786003152 11036752 121352026 321387796 939687990 58587946 302290066 735992230 38926922 318012842 771102322 193917280 507217262 780911986 192656768 270194654 262258392 717158156 61903708 669904506 460552252 715691528 181725750 144517036 180757346 831565046 759535800 19810702 798754528 634116812 291289768 137898166 187781066 408409384 317459586 438376974 330321284 903284664 649829804 872154188 379951656 467602548 600029340 303418954 356727770 920556016 192865340 546448774 505137810 50275512 34408414 662727184 584920568 137666084 154981566 794115190 697856788 49708336 30468198 994358442 761594788 488239244 183343346 110503578 363197834 850171320 439140232 193959426 762263196 758012942 764638132 575871900 903774300 581172534 21333786 461877510 594261234 860622758 641285696 428616504 221124964 164907646 689826212 960610038 985044522 197275270 979468018 531502724 205395204 974563410 388448036 927554884 94793422 829432080 918906502 338883094 107809986 213963822 621407940 899513900 115762510 86828000 93081766 290855878 141092362 960667458 875891976 203492436 67464148 256272768 785221614 450795830 272908156 202503200 209553526 423906702 540351976 900896616 129196536 712118686 234703112 842999800 654896854 286891822 150933230 41348968 154065224 435454190 272330136 17904602 410238046 647392648 100581974 917155284 366391256 217838992 935429858 927246236 676764422 626687222 601637458 906103876 856079276 554763522 956057392 145156366 375845502 297396716 785193260 618538604 722328850 937398876 953669094 289701802 272901836 750457952 336889486 961207006 35921292 866169348 278453872 565831732 891726344 170995354 735395006 27370946 226444970 713404232 993623564 595578552 371866172 561303156 947974518 518457332 810535900 645867970 11486060 437556992 138365622 69964136 724974496 478615450 961383042 913016654 818994618 703596982 239858782 19696842 990249092 767248546 942781632 91176284 430836280 364288744 788349750 269286566 265687568 2923890 48850752 870327080 960269132 601553774 733387422 779432098 938014062 571689828 28340134 570134024 842076110 905382306 71299458 528895956 163145548 629169576 400529082 532725900 318810774 798833070 366371156 413115314 204028156 59896740 237588250 959384720 516008868 802917528 544351044 609990082 152093388 586221586 463033378 574228710 38192132 124337552 804499782 335342944 95985468 93314136 353661654 775268390 132638232 719421578 266879648 336672898 732059566 976914906 791401616 348288238 286946458 196943966 48681688 145986374 126532502 431159288 233845070 342282036 632211942 781981758 233483746 816119732 442135588 377472350 934379538 952595342 580750024 315993702 34734950 485050740 363538496 268323162 161276582 375626360 99300122 394963908 246339386 729988054 419488038 488045742 681558794 517221114 62163128 105617094 264612164 956820680 886458418 146459136 927296076 456421282 156696534 653625090 446963766 284643684 955995002 307560788 49670454 911481636 155131672 880128400 125474348 190642446 113507384 477101892 529824034 828687132 269678014 674926820 656004284 550377406 781714224 475534306 350208424 816791336 986750856 790975002 584837784 762277818 746230966 229800110 532128936 878727068 656552846 165358672 400741334 205124390 232716486 641165016 735029752 806079646 296964648 800183038 25045010 965089388 126588556 276324400 213306304 892230078 339763456 7200282 748522638 15901160 671669224 739728232 351881196 778184986 524082706 264989288 581257036 230946126 106006830 844832706 249604110 949979648 450405446 600846402 430951144 591015190 538472712 364448126 940680964 89400588 652516838 56267230 704224430 436130498 905869618 630110956 358411720 822853830 399017248 180015244 532797024 51955238 649458534 513473556 278840230 529278308 952549916 69538360 373415050 699119248 871738870 288012396 624660000 720136002 876615460 843704198 916856402 967136974 385141210 207833232 663556256 848842868 270546724 499973880 545931900 85388248 339636940 116662558 59396826 719372178 739293972 972604254 200428946 429243670 563391942 265309516 107321198 343331664 798496440 805703956 71730510 953020346 5339246 483695280 452730902 562352260 436263782 819050158 114285622 142203450 597541692 478617362 614490026 496554256 926738892 922304070 6661026 569221230 792261078 128748932 338368488 192466044 64466004 268526240 497200032 305128400 480459918 328627434 721099128 448997358 229973172 781734034 207752698 885807312 535370234 657186846 772155052 164173080 359440292 899478392 944575734 106836134 566959870 213559520 640152506 389673856 665408338 641406376 734294508 839330350 938227020 301892660 246326330 842080288 751093800 254581344 746003912 752009242 887967220 930603050 108528426 780634616 250829724 663234982 611883512 913505928 104842648 77597690 823684240 303859406 630009274 708128360 604365344 977312278 544122328 482627438 398889932 967710658 698400656 256631610 619944220 969872022 872677440 315532322 834798282 753759084 834406376 345619904 7789086 64018854 450692682 738265376 833418010 215946672 205863100 528835180 376105604 456604530 155223260 184731986 516702630 613746368 637082612 406440922 104683818 954647348 910284204 291731626 381239328 655673356 782397042 60861578 599801874 962684222 967194744 477230078 315856540 969490108 277618150 148802482 944279410 572478422 4078446 200715206 106987740 113663466 937958484 318756214 709952586 891136156 489703150 57972714 866692588 389334116 956754550 696754738 14161502 27406228 608392904 893024740 779013852 304307746 47829702 509582044 395786864 583046256 572643638 16990236 783899080 183566978 743183166 853259824 165338814 700644682 543950616 959683056 776599404 752799748 613389934 561407108 423186996 907283562 851800592 573839234 312253422 604593690 435392080 982884744 55582350 169628446 699157562 909185238 939728746 474716778 654345274 457800932 769142716 28809918 614087878 785539162 586203978 77338562 460693144 382868700 633664128 340525048 138712444 866866268 638649846 41560428 817309734 949133104 288031140 221618628 122338350 37177842 830363676 622768640 572044832 730092302 704081926 372708724 991739822 36218252 406909318 994721812 944601648 275935450 116072736 950487154 378816828 537903324 257343200 675574760 592524952 112887216 443967000 565450072 171012934 438261272 225680944 783282060 859683216 464134752 43888832 880921756 18942256 419715420 358512448 860589036 692232790 399926148 222340596 281962738 683497266 742203910 356953000 344449762 759650796 58155144 831220870 848504664 883430738 971185850 690209846 395650102 353686624 884541810 529941644 13441208 22108562 595436226 511774222 994930654 907729108 193059430 222333278 914863824 992253596 140450090 864093386 312651258 709168528 853966882 576839572 287481180 856673260 20695930 246935838 230258230 768146146 510437556 148973466 584353006 41263580 223454766 436723022 586143432 895320696 975704526 691790756 349929240 795676024 525470024 936409640 769530400 739412208 628331006 689071774 107354470 265508298 258336572 354105914 579829090 396418056 900354336 157090002 656528846 611295810 216647494 679103816 397951948 773078850 11805126 504575432 155143528 614944266 580356268 332694786 749338116 904600414 390034434 333862382 286924962 98953154 477010532 217650660 164938208 16166528 292131614 87443352 863950292 108051608 951911924 372178500 838575938 936490784 393163178 16770446 76144480 823316636 40675124 72525120 178132740 277733936 254620788 741723044 970102648 642590826 508568014 524564522 64351800 240473008 884534474 976413920 436145150 400260618 385558770 897462858 879850624 643886450 213141860 257393820 88315710 139970496 679217838 398677430 617387948 840314546 517481034 654023428 191146572 338577508 605522890 826252384 957241412 544666524 540479700 743462706 258837734 374901696 137258830 984381468 855302714 538014550 304561198 958391976 705485560 856011122 226698698 865729306 199457950 76319000 609496132 935693254 953435896 583856538 741100334 751242866 412920394 52997094 421839160 656105700 576456456 553444792 168449738 471025166 216647080 988341378 595915412 394117656 84872132 835350816 3882312 310801556 737137114 43700300 719172058 278265690 402000930 789126822 301300788 499962438 360258892 261530948 716614686 275835680 955582178 139715084 615958678 171319442 244901210 112143864 481538754 585381300 959723952 553990192 860646898 838984806 305963980 622422700 872750246 565466510 67197252 42260698 579410870 546928824 375643182 649482790 69421346 557671862 213853910 572928078 812395376 877543252 769685210 732668790 656580764 789193260 790637516 848414542 78122668 757455384 224285110 630921802 979043866 518275298 98965216 113243290 723566780 377682220 809116162 461060266 780419466 578648726 900652178 733396812 955155818 719863026 315220408 311444166 224805378 298866298 254321548 901106486 80391446 36328876 811650876 957938634 103667362 705288552 351182338 804290216 423301056 288873878 423547278 859889910 128465000 744845034 48962722 657055678 929401842 120265718 784599266 781851340 201047908 109347104 520304222 965342990 545505928 790448004 155511508 818821076 787581894 819793774 304609512 469992644 948727316 820600706 754984464 258049570 958375196 829274724 736820944 768739586 891327736 432742700 760801590 382695346 990606822 812484492 59144910 458786620 168505340 414012830 688716750 913346444 441521762 300695322 424395422 458699522 816427892 969175742 517360628 133170958 885672066 307824412 85690042 434950992 387403034 714042714 433894712 728564274 390261798 560033258 375767014 505523804 89043264 230050910 65433444 42101068 881035970 80483342 973403142 778483774 264465670 706190258 804357450 252345180 436789028 657719914 354484982 447312570 211848454 148078878 454100098 276198656 284026662 739353712 415932182 676029572 738419672 100213628 743972828 341670282 477122444 180055302 346946182 194835930 378183996 283220654 611126112 898641174 660337132 191360586 173839642 79320652 65693788 844956422 604966322 531452166 864236620 693302850 152960860 146461928 595079116 734490616 807916186 304725628 574758972 437705612 912662982 723393804 687696732 937407798 504891958 708319184 321991968 379800016 339276206 968129484 488873388 502849118 714548618 99768992 955759004 798740208 845073510 721854926 271619850 676705626 148464972 788410628 336250304 534963828 770157548 198577648 707669388 499555250 39847814 564807606 310262770 230065254 579520960 773122216 295785212 947048662 182147018 186550526 479693408 166085690 216800214 109554400 552231338 216418254 965523222 831959788 727534856 198896204 976962204 46464978 472896776 930352596 274187662 824268078 972619442 910903448 293090314 812358476 52149920 47790974 757374948 259003108 612057198 682594588 935646554 167717802 2548052 924352498 769411994 573646212 615812158 717611368 608071844 224494514 488127964 184819308 308441384 452818110 574202446 720641582 466602220 664095418 740848108 463584782 152825302 444586438 700887388 327062272 243836640 190924608 460186230 42902722 783260072 763652546 654996606 731133462 497923056 510192962 26258234 534220366 1925184 694504588 367155774 144147860 247060994 195337422 829348586 682487394 980583640 998258072 344792892 758292216 476330330 275734390 645919774 101278596 130175640 617426778 310900398 287818830 317006804 203991148 764783528 694908874 34228446 558249874 523875474 401137256 567992492 497766696 48127210 398258336 543215368 63125734 441462626 706256456 571185520 775547298 909820440 906427538 731724416 299140770 461714460 874480110 130117554 366671874 881984978 645002932 31421150 146376622 876053694 124050764 493797448 664726804 116492454 933262446 199402010 740154790 719390060 703431174 782387388 194066948 59003304 526472318 446247122 436128508 802743114 633453476 707521166 179143688 296276146 841623002 549819614 352359698 309297890 532352336 902239494 545342858 431902112 217696046 274661808 907436782 325112304 321623308 42421398 859009126 328638534 152749112 458768284 324443354 508482682 111117234 963292056 575168114 383396816 178550774 360388772 535303344 202805510 30642776 348991680 172701606 829374278 933020566 154581926 764453512 576338018 753461882 927450694 501128834 42619532 36420288 866094722 223961676 144293450 983159378 163122320 480692582 921651374 160870876 348036102 438468184 500288162 95319370 773786902 258311036 118477722 289006940 715909268 939115922 616451180 610512372 845691302 565957174 961261548 306218636 642172368 346335032 72268376 281783776 916428114 375964024 564050076 454764052 800622638 930229532 565503180 779225736 841498384 281175544 110920376 934484630 854406826 746792676 796951044 784324326 535846650 335016234 833803300 514883362 987825746 899361252 483830744 608613534 296385088 874084488 634388022 790544386 22549928 600678322 578641358 594791764 127958864 583948048 855993046 88198398 688648552 763946610 596904166 800510614 39677200 410275100 642679542 738408480 261772248 268448880 422465890 97907976 253969664 939592528 735761398 936958596 711855634 706478128 9544414 380246458 350077742 994723092 638727160 260053630 831400024 263956040 695971934 45722634 689990420 101956092 668981066 955352142 14349934 15293360 847539166 695431720 580308588 353453728 389361708 322794796 741735162 433486710 980339086 437145292 115118112 152819014 512310230 445438382 83572944 596116590 582502658 27879678 301972594 889912674 663907636 959466820 739562922 176954 611543856 600098422 922910214 131134146 200110192 822824130 893796362 347057886 11738546 708735702 934226730 357878090 742654878 24172648 63296342 448486054 858785576 952737604 433445182 282793988 723159168 399481954 134571768 109993724 474351422 399454562 46334508 423331934 99261832 864826760 875792482 168660788 992705596 230522678 307410040 223109880 776453676 587395032 287355454 182816868 329546668 66866202 341191744 194235132 886068996 559308092 870004974 767630016 214782096 885824662 564759290 132814034 458086714 131111006 892982024 140649950 485070302 44874056 214129234 482967766 834009690 259288626 697049858 910277250 605476464 155275384 367031120 463531660 965969668 974025424 972536728 594959836 663428712 384948322 514461794 679570086 521791016 529759386 47471082 692871874 131301646 632596906 458749792 891815386 644031252 293543778 855626002 178232492 777492638 69294976 261981200 223960870 872979332 802514012 861610444 689483372 433580046 202440098 76763028 604832036 486652486 740563084 300463866 98476824 533161746 56615346 206457090 945363210 754938076 989999746 268247052 254802962 305373682 466597780 18373606 152399012 569408110 792733278 839435822 274255604 193834370 717043832 320059216 737435212 132332256 976647964 945969540 387115138 711574374 993713286 945115812 547853768 541083864 553245574 236609400 802525842 185988934 244375200 773049212 916593444 59255312 587775478 170824270 701425182 119550656 33059224 990067566 51125982 631934812 52027414 497384332 924186938 265624684 942021300 993958526 552114942 724120664 364157384 723556040 682213446 579034378 606618458 532603348 176526296 515045910 632142044 125913546 964793832 662179710 495174684 417021586 367182862 909421062 741821178 638877518 74066076 527401306 203110958 932727502 716265772 959727336 952937728 814622774 456743092 905443242 217355556 782863292 504774884 247845994 624769140 800642020 537317258 734285752 905421654 871218146 846044392 62218340 990852918 420232710 138605500 665656946 735224590 41528520 585482166 573428080 966545742 81228708 529116598 658032250 89575802 936697930 105816746 231204122 577755752 350441184 93980492 234616916 568563792 387689276 542622366 671503448 244441368 423339620 96051454 759518100 161665202 311984028 298540692 50551480 680532872 576875286 964616978 381797058 278065446 467615952 295714220 764546572 595907848 869208692 30653966 107188006 971747690 978970776 360569184 673484642 836451610 793379572 524918820 123662930 328419942 506548640 523178968 179728136 696629442 201372516 88933916 257246886 889249872 334838490 837978142 41558968 277350568 150247254 308694156 198857050 376564168 289503716 481576952 569800288 794231802 122881652 500956780 789532626 969012446 639810366 583152248 90737788 692018450 554280188 356039454 515818924 560523752 215555340 369848174 691226452 735323584 520477324 465910204 644465484 585864354 799698154 714861468 278371150 56526842 839588088 946399826 122261876 83873648 504536370 469992228 375900086 438200456 666262760 907723350 43327916 809602338 824243202 800689478 79400644 241210796 531937036 344828282 629499472 822815068 101692614 233900260 351642422 205222978 169395892 745281064 319776258 743477958 159853916 333892672 261806960 321677030 997234368 889387794 851311246 798876812 719557326 54889722 789073436 713147006 247453716 862144666 388613746 199847962 941439998 377554690 778368446 931242388 370255460 10485526 334517780 29783458 457196540 290030766 98951362 174561996 673374588 805864530 615660016 903056278 168970064 128233946 990375294 607424294 130195400 764937202 40078968 721539462 61112078 267669600 74124452 834836528 136486670 219249178 331121368 290073930 843025646 679940460 165209426 37213970 750674830 428828018 249429638 992338930 897245570 273553742 468102384 853074784 90285284 703452338 926020682 169804548 601324026 457480952 387146794 337811286 134446326 649191224 783914404 972819012 704609762 777050846 947085820 624005984 648318620 743866612 879517044 798184658 467896214 247093388 637226066 495226930 250003252 728926682 764569304 828275798 622234934 306629342 842541926 768595826 210123722 87763672 711146386 686595236 809605392 293409950 59705022 638505914 70474262 685534130 25354004 694737552 203238368 830756606 661093016 609635980 582557938 331576478 333845406 83058556 902934608 515440050 992289806 939076580 867495100 37208914 363037022 800230406 629859430 444103638 61423162 143052170 550657552 34371498 620795482 938673092 670893162 817770098 783897808 896339858 943731668 308237540 648121254 341513240 870020134 854889570 321080016 31120060 801244358 363479630 193180650 463472940 828300512 215559768 53676638 785313784 82212782 546466780 613065778 53120348 179008840 416646178 958789190 152737962 103084982 867263034 711789938 113010406 61364744 807265672 423999822 247216874 473629876 891506592 161196642 957137874 84974966 825340540 335944530 961194304 984539600 251444252 639117062 98253048 905121424 997437416 106835484 825015802 566526092 334875812 300493032 664734494 802323680 667651278 259952168 166117844 549232404 611369836 152389380 479862644 499414336 209596570 872397592 192530870 147962972 109221070 286556962 560609586 6245162 810284260 838356308 442107540 879438042 711881356 340401624 897496258 88875620 503138730 877409626 354716228 811656800 189337086 609643268 799790210 954418480 451655350 381541776 666114840 860106898 517041228 409215374 793804114 166522208 666629362 285716180 477481768 257538462 629849882 338292448 671854412 320087274 398467544 299227706 641314014 410737122 749631294 925683988 229404504 545950320 432797606 792594530 724401482 108325166 400650266 646207276 560996326 252269006 107986974 194467368 161522334 638177472 464028192 405465204 539188714 300519046 965354198 77195848 99995076 134345094 517872564 731443976 821458642 829007210 208942030 109827304 20406670 293945100 929374582 296503690 162671770 229983906 277210818 301333816 75939258 135343518 31778110 686015540 522506630 279458992 137432438 639638566 988396262 731397484 749500002 63115930 263294752 362977454 159637030 163559262 653888760 423516252 220541356 595775022 697194126 272320818 121919212 595575352 469058012 292773666 326755328 14856150 265323836 614096204 866553406 181545372 127823792 334858254 886336100 426040956 804626394 284595030 793943856 611239164 19846080 647564642 936950520 489713314 238403706 106084876 975308210 924625102 412549470 150275124 37193544 714332104 698108898 830615004 409106920 672330104 35312860 58367164 854577662 34891832 20422394 184140670 197074688 489838380 62804404 698376524 807526076 816554222 574502810 132659442 522823908 884223902 822706718 662082784 122171058 143273578 569207534 529496752 322322290 901921030 753095468 739366184 318645822 453180826 203458194 69298004 137880952 404249558 511274970 671776980 569208956 890955200 747894430 8629354 166235480 419087608 369510364 172677334 640073250 827304520 769739638 238079986 471437886 778136712 834274528 482175884 251779528 771312248 720886508 681572312 155780290 885474858 487812922 461980590 302797696 612104444 760504016 653598808 553569518 447445506 952861454 96971140 797249192 819691426 105420334 290958602 548604204 842543680 261040496 417263068 448163764 135246642 963284736 489601544 280584258 319262348 883176322 181333234 674175104 376218872 196793284 701995656 378497036 448028230 775234834 985564798 138615276 867466372 632188532 721840664 155139500 230542966 234820312 868320872 871657408 583888244 409588126 266309384 632120980 188971284 551445070 815675138 994653624 973811700 80492104 3757354 419796150 318968658 938476034 420694992 841651554 978875294 213636894 373157526 237172460 630408978 888123914 432432366 680054282 46350106 436679412 376796962 427988818 32043172 11219320 21566448 431737674 958779746 864905020 144280558 470642128 429587882 732140868 638552250 733268744 851303378 901906260 277572160 74907170 314308618 431016720 802209320 212443770 796662648 221049390 333415090 520951958 313439466 3655826 857493824 154764090 784147966 368067852 76528600 95043250 656716314 226689250 678285136 996960204 384665608 954936460 680907776 566072548 295376472 943078300 844407696 991820824 474925280 537293650 38812642 788305710 832784446 714867520 901502146 864979212 566345156 54726078 137412262 926928592 436363980 276354878 734497750 567603162 996134134 511616450 891085048 345382110 633276292 940817878 875889930 212161724 815318008 892867264 856243552 780829656 858417578 86107460 78288354 104647728 418537022 169363710 722988042 92458834 350513508 470245672 577259962 487786330 728629712 899404552 809420082 539539784 607599820 66917826 468617658 299358300 901344446 555518686 948127332 561197340 445851034 988593290 288192386 248049972 765196322 484357482 887110678 164987940 382910942 260996242 202769372 479705520 746500632 869974822 858749580 721953376 973610436 301058352 242942326 423469236 22926246 731174626 778573428 195756302 338634626 611636776 670060798 170179496 526912494 691622754 645854754 171210838 678965582 579060396 691204240 882004780 841889940 95375456 479146960 33142176 312114262 179561312 785580656 581808744 718387618 420663546 99968670 293472062 185814718 156898588 397714266 726506954 976860130 337336950 850923350 39235610 176821228 233659106 6735640 647891612 374575680 448086732 723419496 717714118 740073892 821763300 264988310 615694760 517268498 918566458 806795572 282613460 110718306 274710850 549605520 247482524 209110384 870079230 759752490 546409758 894069896 385010776 828173982 893941926 904545328 226241826 280768666 107060462 215339444 429028380 740819898 71640636 618006998 324465264 833862544 328495430 305306818 511823654 848921766 606678254 65531422 654010006 269516486 14378734 210105270 59789916 687190538 359104544 382960188 784236490 296945890 123232768 222019454 748773810 597312900 995257980 490198086 129291978 747166948 302604214 76790830 325704312 791966370 454598606 631132258 521346136 855464984 230895782 368395328 636725190 276310102 57896590 325711586 446519178 388686788 833712916 98483948 99434358 364929812 622514202 569672260 387331806 678924296 902686352 728902630 499324446 428477290 817592900 115479400 698149084 98290772 745520628 467518758 675502404 190780922 139427054 626196362 807997828 265156850 752603178 965160870 549705650 993847500 813966298 314843470 344848322 355367742 516986742 849530082 544326724 152047174 83037174 122791628 996323876 935986460 198865994 413588628 604578760 86829820 554881896 230476440 39499608 668019266 990275280 29296206 959928076 661394190 605440608 677913838 258558688 31156480 675497282 457093424 886335986 635073554 770330206 701297088 26360090 968885486 277451866 642244776 839090956 553755596 616018820 47978166 424709468 443151314 497937694 529959646 432541924 962838238 536452154 290637450 726131466 206716212 915472282 807877898 991708756 967733068 503466698 457730384 78004120 190094330 642050380 108735704 777498708 412002156 407898230 257734788 900953358 767980092 54736366 245820494 748109740 895573086 870478032 302106936 937053566 134470104 700983572 827693888 186680074 881366220 394122552 991658304 592565158 640650058 865535080 317904348 422046828 526761510 445445274 58446334 443448314 932897514 257224072 518367350 915167176 83173672 851690532 941943664 576958950 4243296 403327540 326867186 34844044 170552236 625639714 658322028 505659088 350912102 240118454 299757754 716407650 860572582 505816418 919341664 577001738 584060040 176420026 927780012 710536734 219603004 874889226 388981534 621959036 420756374 759923432 408021454 760925316 171967240 644321080 319123258 585671264 482003882 82832322 4263090 55833280 186555356 432313696 525086706 988740586 876630746 648310816 655749702 610284726 682159396 2449868 34337544 8599340 477972494 799441310 312890932 652075770 708788336 685261454 581796892 406252618 996092612 129352366 843630392 677543780 719926696 449361008 291626096 467847714 13909582 454814668 715646346 472777922 189840472 28400756 626909368 279887446 749898366 591825428 656962376 870409458 156531860 816949098 124569364 786823844 148135260 500009180 811907738 156171422 510243358 380188924 510648886 339715274 257297196 660272504 437472442 674742612 886563110 397192906 436061400 504792984 484456006 446170386 353553850 456132116 376533548 206009042 698310092 591350146 547132372 394175990 43566184 427005276 623061592 879654528 228907042 370638400 332147588 716693640 489595738 964461924 494864608 570944050 935051862 880221536 699421722 987778572 206214492 159277188 336389652 959596830 636256456 940953342 402347736 713403646 153664650 134227040 985253396 729616760 890576088 381953860 156337512 588517588 821709162 172238572 748301568 379970364 174777030 951301476 785648772 882368372 879337552 640561930 763073982 779285014 932264642 412523280 514945814 590478512 692362582 60097148 229131678 547552558 183611514 385931574 430972214 239710760 631411742 467794206 19122246 518568758 461269582 982559266 458362978 552993776 151114154 869401356 966691926 336977108 971166278 125592278 660247956 868750392 313090358 35635082 499580180 842929810 576901800 403421592 613864758 821821464 65876762 431326188 203248832 353062536 739130486 392361064 526236792 850348562 268604468 707735386 615039038 896402490 235768872 830980472 569383568 462453880 160461838 270402920 414869794 676753256 107389546 11729236 807145858 489777892 760687736 376528898 955139894 545079952 173393220 319470550 555779916 49080816 76492932 761748874 552566958 350466900 334902708 888589850 61435892 254640600 37610200 379530338 65870992 567535672 687183766 584361836 250280240 215647692 484479978 119053766 133532348 2514862 555685796 698951864 957631476 110549178 416474260 852243046 194112738 844483960 505872140 468862904 462779862 818683080 87446874 507805638 600207744 734753658 112490068 568038926 842098380 807011620 732696964 385726948 402359176 916648452 536085486 987804820 125275524 494149284 353296990 867138460 266799826 702606340 574152204 23358666 381983600 385355346 397783084 285446214 326076448 320633206 587906612 719606794 548017988 692332096 78393788 284277844 535140044 519360934 870569028 25893228 893452068 829830086 233349848 856348038 382546996 516332154 464131040 670780742 985617552 645777370 355268688 809606542 218210318 227484626 347821370 804856674 712593772 910393568 196059586 212099792 860880304 333840584 11260718 630581130 302564172 357552290 281901406 616738436 536255510 248457656 437026724 86808500 328164920 429228266 853177494 580450840 657067776 327598300 972564450 292406024 539176576 519875564 300594328 679749664 867646640 690865392 488736430 142949200 8474542 700934476 31070458 662859180 293446158 323330216 664956896 891553872 160077262 608825052 754552348 987808764 231617594 654303264 440246530 51486736 830950670 488875436 853082538 40861662 137969514 898429064 427004422 611825452 538718414 225649124 170565212 356763226 121926594 335222992 477501236 982170744 753792976 440522670 222541288 518761942 541911872 969680828 610226394 502199676 499328856 554327270 401750832 545250940 175722994 888894282 444455374 223910082 800864518 586765078 682961568 299575100 462089480 796847174 102367396 411937842 939201672 502594216 143486048 632146170 544159934 916116480 310461604 526676468 937848848 374762096 371632990 617510504 427319784 273459806 490473320 166249876 324345734 542282090 802866948 523433024 363536272 929376050 356812212 214795852 50634970 19657188 422212870 194794046 498067806 497690176 499531770 166266508 967077672 279307596 842010562 526855070 901973920 525063286 13334242 597232758 408887936 795171410 173313890 321792608 405659246 301048564 822843080 284088292 646329892 769116264 229490760 269479438 293227260 408270472 913847210 808911020 619890204 121284296 966650782 642946900 776959018 283209242 142500902 375115022 347572452 63573716 328393766 728634594 402274840 390483244 25428764 100592286 447235608 95274676 898017124 927838942 187837880 122993806 693168232 6820622 582512956 69716036 806469256 333572872 486758282 266647800 531378676 928446648 634701312 909491456 407945944 879501916 619849336 186723006 478449318 434058704 751289018 711712730 64751804 420204092 991713482 625815612 947931440 355815466 443991542 633852996 866610036 85127420 695367676 917206640 313174060 724703558 525443922 227497472 168057326 633293536 723844206 707344046 797504850 649532488 500204928 156682212 305723648 857763606 445478564 325033554 937844958 965641722 464317822 632245786 219506468 488756588 830289408 462864242 515697144 546081640 278824166 448860672 618181426 274925612 671689674 466579340 208579836 406195974 439276664 231607318 881913936 434036638 354095300 508052172 469627004 154870862 189869700 924980190 253425910 956632052 202810218 794118008 558430936 650917594 510541534 871207112 583870718 116812644 631402866 648822718 720741428 663520286 233320206 293993442 209600386 481942996 43466798 955137658 410013354 671863984 254795202 734099474 993858684 491599834 226024454 147856082 397164442 607333050 223392676 555679024 718592632 758795582 490137624 240387268 692161924 429239326 222872360 988833938 630533128 641211424 863582488 734405146 827806832 982774010 118925104 911870124 673057200 960533074 755552092 27017054 700669652 39330832 312807350 157935738 113881338 747618932 650776072 332954126 538235452 852739154 183797254 158535634 413384538 637594392 610351722 122668634 661949008 878054146 589200392 392638660 344375476 571593832 520260446 593860950 521700728 574012568 468451006 346665338 1752040 446912 678441836 731815114 491261452 369712426 636180342 778953918 377516372 349165690 666442032 114546516 272779858 563237074 829330482 927611566 176544700 648170 503625334 877857814 975440658 40120716 729529616 273656202 377936396 905327266 942103872 399235504 232543824 965011626 383764790 553183814 600883236 48315038 87963994 239299268 560833300 983338160 88252694 520582394 281998518 118445998 330859898 11046042 603567842 453208828 884531530 996857360 672990812 935693236 616259138 239781130 628581754 583848218 325016294 649762564 515837918 665938572 336935992 454255084 342081556 507060666 161207196 540364438 650638306 863808536 724025378 613536564 158033458 700579708 506680988 561997438 268241018 978004408 391535618 748663170 646827020 221028524 520513992 506099834 729616452 923249088 752369862 146076182 992419184 854157132 433091604 863281628 428830286 492009310 634830624 21481350 708459648 13195970 759884576 780827500 359749130 505026062 555281908 10329462 401847452 474843766 651313408 836844730 166583618 273316184 389925950 366052890 695062420 681294706 712123198 474190346 54541184 754916042 600561718 482589376 174124390 55252 951357056 817548888 129571946 568110206 459779084 557615096 45852104 878442416 355009286 961877218 938075412 403658872 177966352 775643084 490076492 481947040 305273458 891250700 991403102 700648486 940953602 957264492 111196346 406407356 22587428 437362822 926097642 756490326 15337820 779718264 796008500 468326908 40205624 533491798 412804212 924526730 651569894 501064340 672880320 788031292 312452062 364379896 262589960 201177730 935838366 228516968 736457864 678352336 667755910 207133468 558083960 449512460 817631822 747813264 53985648 453193504 417192826 21617088 686344132 441208522 282906328 555390244 580188426 675175314 731729338 103305656 947518104 887559420 726423204 533729252 113790698 778668534 880271246 401134136 170114148 997314540 849389392 648097864 285403994 618666992 409242226 977124162 490261186 619491938 829160720 881404622 761985200 26236036 538996092 123049260 681999680 583662566 586919754 64096558 812221854 135714698 452723608 657370094 438386658 346486384 275880844 967151416 590196366 799646398 935433704 670867602 857666060 808946944 587176512 334709922 333450708 814351910 695911502 910022022 382951214 75619774 127101456 897424606 579730092 465364586 373299288 193159328 582546062 987116518 407698076 933812544 280469168 576347130 151450662 197029282 715567040 686591704 52816312 819970908 457855514 140402766 118172504 834593874 101023252 785816872 890276730 87948956 6301638 632216054 459582134 948836136 748143310 873853106 859828998 298208384 825081084 621908600 341712530 786982624 290493758 456454452 626448858 803053262 14282898 560087992 401931890 506722784 821960162 35886170 247335196 182323742 498886056 792105736 10525018 97238476 1433334 136360096 780369614 724270244 790814816 135853562 582334126 91710462 59712704 362115820 511469392 631935274 453303668 273817508 163477990 517818062 382473614 304631944 183261678 552187002 832962092 693044086 629000516 938803516 585156946 919977246 65940564 69655384 329968788 508921896 760242048 658460406 105303606 685599340 835575408 333533214 251835696 260202724 556858326 785084166 269288740 730857398 716563892 989912460 720698550 920625744 660362870 24071552 523669492 152307352 457392726 900904486 794188142 602924926 719438520 399841328 814582346 660083874 448751836 843997778 749347692 101710062 166734660 20961578 705989214 985301714 305946402 770065562 47565742 43390638 931944008 613293624 201675942 390159850 425689620 635046334 471378394 972835414 960157956 827205066 312422714 30780536 410081284 218726470 839758330 178283930 698775078 354896582 583687978 71680774 336893996 666364050 871062566 157114996 912481776 213476870 728827954 301595054 814840356 192138238 806606828 779540386 571409284 924293640 347370582 112595890 277295240 209956514 105851128 386669928 226813952 369148794 433799410 148861064 416580084 218668176 239562998 77990774 109862612 708711176 960151190 906287578 420385560 205685190 348959674 927748388 912520226 504690296 118112416 948768894 775176780 518172540 187104182 673515578 196367890 858756072 60548632 548524676 666542418 551869022 564937806 579486150 399089008 326183876 523852816 258766176 990259832 109921458 86025038 66667856 514264676 303137554 676381272 480128366 322437786 658803638 467150040 263914848 486294848 275133198 454977620 476417894 987207820 60316382 519135926 967787804 135221048 987115546 228592682 618804030 395883882 523427974 686669532 158629346 710146744 420617056 277322328 545978634 677801014 449636660 952803308 673362748 298461276 956447128 63433506 122473388 788077134 354297412 548347978 830768246 856348644 69087042 712758178 306101674 607758144 324919906 920735612 414947258 668491152 610544634 797055262 21439592 388625086 639072982 172641416 176925914 18503090 190597110 649298482 462089650 119191084 970723362 536338278 878076522 877149742 956300632 583326546 861178160 83170720 763827102 706342742 866721118 339830748 293165018 201267354 639745852 524352278 275632784 291373632 411122810 131999456 82035460 879920274 222878202 999421674 904497402 734371164 227829378 171600826 179091802 458755336 608104124 513193040 385669986 522999796 70617176 389565642 552896296 910062608 816239612 957311264 574998926 774286868 711793242 391252864 673821570 173538054 859553122 357217574 888213730 11361714 266871614 125604878 965040596 666056528 956010518 633739864 590131890 836009506 220279000 904939250 648918712 739415544 521415270 584751354 812925714 844413112 886328050 293191178 781009500 637355418 900805076 457366588 259883260 892768542 807541668 631691916 103040138 701627114 791684054 46043814 854362306 597347732 722089416 919240548 435550744 316846902 437201902 922259022 114376986 895484364 375556560 646383220 427453692 463594494 170796268 386353202 446719192 163116424 774533740 630352880 597861180 54697572 837426122 284960036 731259696 319298194 89314444 312352410 393929694 5197862 163047738 663470396 140987086 151866182 414333258 165819324 638168712 337492876 614441002 296557712 209588182 46869134 986675042 566586874 439427754 51182808 377083828 618620226 102242174 711268872 582320506 808351840 97658994 725859416 804281948 614478616 378080522 486003734 29954970 129042820 47510392 682604172 803915104 497679258 639251846 47408124 630480574 35393758 274608938 781690472 237264518 374054594 605781448 43439840 277046578 541420096 82596628 869846900 106548838 709828198 317285404 745638984 206072216 295784634 412716922 536832976 287033914 224815910 820588932 416615642 988281374 885265020 422834142 223216980 985907836 192273486 613959330 770567142 154448180 739545818 558352658 302782782 326455368 397599598 10196460 677868872 589594358 938849062 611337540 741646808 466044600 320826648 917080120 226101296 723504998 75698184 805006800 717159290 169971346 762302638 616713192 529536316 823067668 45825400 163689660 2343484 400968144 397053040 666467556 779425888 176968784 720332502 614631628 86559348 112644442 734487170 157293180 139121874 960438808 320497414 920019450 638575878 950509188 391795458 440815344 698254062 253647542 553032954 484187896 842004036 504776052 879002180 457919340 81348840 708468050 312062392 248411298 736090136 4098270 445136326 201637468 159186250 818428558 521037994 209345778 562328096 819294964 342528632 781762466 121459218 67072790 913146638 455466980 873214484 582541934 293978670 238950472 467749206 312519316 373484930 731921500 15790206 246388354 974181306 336310906 474053004 307263560 302635160 920750778 313976534 691565376 453387742 464921964 922384350 32091058 567418586 199103142 316056880 235013184 700882614 534521744 58343268 810110400 866884860 326722052 509287968 824597030 424695320 178474938 590116538 41495874 504265412 969754520 266775228 223392606 518443596 689841458 303978608 182773626 131115834 518136430 532540766 764244780 21291036 924129560 210680988 208514780 428862404 199070042 191852956 606417178 15262140 473581460 5702328 845428124 891006498 483144966 506452034 119978860 170557430 562716292 795239694 977511118 134543004 414395168 680043502 431054776 87047758 282338576 960869088 193652300 722581094 174713430 574767484 755024924 287602518 694827016 421760040 433472918 928119698 50574896 452864580 394775406 611522100 870156334 704615254 643869854 859065014 484095458 676427016 541492396 366385978 741914626 858670602 866898564 957240476 551203274 252789064 852507846 19933738 140272024 196160688 697355440 553509752 70408978 965242850 232231220 620577854 625525988 391461050 456568042 229729908 946986038 562650956 87295504 910399424 414550034 394590622 494520910 95774658 295543518 523414404 174905064 359396006 849286716 398927844 887339378 293704274 410069692 595490918 784552484 219802268 294588896 266132388 949395606 573778856 932351510 238098398 734237538 156769420 624796458 950400866 429785956 800551842 408160128 668287310 447502198 231436686 846855856 547182000 415796912 528223480 261371482 825022734 245553372 150054522 556028692 373894726 777667724 623261414 82680976 933717916 937584798 305880316 109983288 940919584 83165678 391483696 841107418 115809540 963297600 996003704 956991714 86448396 11621320 594386010 691301746 155997338 960235054 932121554 822760818 878794176 305239998 218441200 253170670 889302122 894306272 796346210 598935812 704801044 311766788 396112822 906391426 74941240 660429900 609433758 173837596 965722090 541956816 328934838 446534544 927285412 628149134 171995882 77716386 481688382 689013502 701312550 710626184 693523778 279459486 255584764 219948868 218299364 359546234 139403826 632896900 63591404 887553792 793474082 858192588 586199328 277080064 247510084 611008810 491335326 22705780 156310172 798808790 532574828 819939344 48212624 842493654 793220002 960048770 84075988 164790184 926844150 796288230 163928550 237680732 640748662 298056136 704394378 942253542 977871064 35846048 431537062 511967614 293827592 423839508 688663506 715863870 873197808 817184340 36386286 370759448 49841586 997976484 487040938 457346042 982492550 773285018 578589048 225530426 101061550 448169684 792684884 448965310 209333252 742408198 839318282 79778774 596814524 369894384 541933750 349050838 395808646 528611208 621549404 593605634 216775012 403114670 594863780 164354074 448316230 697376742 524383770 278049286 704561770 585702426 968453376 199093012 360914502 444821870 393828038 646597250 813353330 607584452 139324294 545363154 174504356 959929910 811777726 865797034 942067660 960909754 332646584 57047166 847159816 48993314 690419736 65645246 20099672 266133740 877630928 542200590 578049710 895007770 142608424 195901938 437360012 55461030 67612566 581238790 7870748 241155554 36094556 549423480 229778808 320067236 7195704 187704454 942762254 535767090 42152528 963744396 89186294 125219356 952353432 986088020 428719768 165635886 673720670 282664572 27753810 844996572 636066188 265230704 630816420 569075282 894300992 700758670 522626934 523320714 862960540 63584458 891877238 415149642 61931842 234577550 21531886 586606720 772313688 708946116 448760974 600882004 813325584 334449982 233568198 915262586 751194446 772632366 491203242 856181386 337104642 408937646 952551772 233213052 984092082 106421304 722691140 652922242 919970350 439667072 472340328 241929858 285495052 640806998 421651748 929760778 27689732 479417218 780729784 883678204 645140892 394021142 13808544 327339932 756857330 622448568 880523342 853457920 197654808 205968836 26810570 858823852 936838620 361432066 282027508 583553614 952196824 165898540 172393692 330091340 48972948 708883936 550683290 117333296 469697368 641038646 725223320 771390282 404832776 675176334 778134878 475022058 933185552 8437684 479453390 749817684 449767392 196090508 488454996 978146522 125181450 404941324 824097432 715169328 772300552 976898794 294261642 609728892 950944302 194571884 409981738 302725270 873584616 278008904 664319288 210183554 950936714 426021632 865160982 467356824 688358204 889743542 738889026 609798380 560141004 914270204 235822790 291525194 134128068 874230050 267928910 714573882 908679598 734215398 26763528 681053996 724964478 187430698 204896236 991738718 679271100 467938534 155774754 708155854 125169476 900696502 675389276 723690230 867197964 698626070 415770212 166687172 393100116 101528238 709535894 42809830 666469834 998083394 682184626 874883726 272165624 740597742 796279276 637945616 292417526 718044630 91089238 492756206 521727274 630380784 934617874 66067564 609748288 769636878 541679108 60328968 241407138 296907196 348666332 969682232 305686172 413543048 560103842 355021968 721412942 319118832 311711514 381856394 595488358 144297056 875889570 223803920 29104980 684066932 233295930 822365332 882487176 145052800 351276904 745343496 968940930 935899142 749911764 634546318 28785404 861738118 539966044 261078876 19110020 577851520 789636372 69481414 112052772 347761746 120998272 928853846 925766688 437846398 772055882 48692718 899557496 910578112 641840970 698299526 499201672 386342748 528129588 44624928 814497554 854822664 801476946 305698820 842624912 18793126 984676526 452926714 197010818 654721568 62844968 398634938 661500756 932248066 641506816 516452024 116104408 197684356 74702376 302934742 467491848 313574642 552621888 18884394 677259120 201316498 791713796 502080212 736840776 498031528 235654212 655186222 316020152 586000798 582227018 328764404 601038594 337489108 176227684 820287456 586908844 901409840 989822606 928024648 387255154 503013392 295455818 587120720 831728664 897655234 332059696 320114694 938640140 406631248 426655230 559121706 445586012 256303364 764385614 289333824 394998956 185595298 907700114 159273590 264981844 548160104 251445620 405514790 395205364 344010124 149015564 289158256 166189744 336275032 800331346 103289262 675212712 273047068 146614460 564229364 522391516 354972694 282806464 536253678 983980650 699574390 910060208 624901390 407133410 957915912 147430460 690377240 944859174 757073000 543125266 363920052 41280020 517664712 446281830 647091538 496503294 429067470 185485828 899646168 909397334 770792720 155582018 951536430 522327716 282002176 133385312 2842834 740851664 963757280 778374808 943638594 817253826 983750352 99846922 527855576 583154250 328734146 517076872 422605336 347035818 590525226 345339458 733322394 219176398 396156534 917360122 370019208 142789938 508133212 846838138 786541026 473780524 278616456 815092 91375476 629406228 196106268 793897554 622238538 721633380 131519212 77609608 824077886 48482366 849722720 303030154 355185336 425019232 919721772 245267490 399523818 249437604 922060770 382913938 145479714 258700786 282574394 234404442 222020458 180719250 560925072 521188992 95383738 844901828 236146150 515538490 906497064 935121654 266160536 272270514 273927226 389779748 424641640 222073186 888936548 707069824 852934314 344699440 691775254 370713414 417727376 54051362 758608160 77204662 226027132 355752152 600734350 783520844 461363812 583734232 53653854 85182994 877398322 186866892 762888290 735860488 931143918 599320498 142558896 321701538 719856246 302990012 263265732 115428632 231042954 179195284 539931436 830268746 918660434 525403334 162616620 491153294 706689948 596906026 886662490 184703152 152237180 80288798 984963062 261605314 649906710 684426846 354626 27162974 286038450 658300236 209366522 114683204 769795726 258616634 519405918 947322122 112275424 74253678 115856762 141277900 350582488 607985302 217610632 31855604 80041516 905373706 597750448 401963212 58522066 149224704 969722286 952014960 579184290 595741184 885324470 728016198 390243968 850866770 858239162 250546182 147321126 90541188 165018406 630028442 157203780 97021210 579903980 655218146 136919236 561345210 357189288 102506548 708320498 833053566 76672824 367247324 876483748 823269476 951993002 526208218 610933412 500830610 623817786 46232792 696281204 451875174 16047534 614772106 941225330 810618822 302240656 977671692 716005788 161408164 546684702 8764176 697895560 820311994 385834026 591643124 364522278 255978762 987774676 302945870 10763218 586477838 834467890 739870912 83045176 160743068 886496826 773609602 488329174 142297462 91690886 178453214 41605228 705372112 474913512 79044966 396261482 786635226 615099406 790604470 246574004 894067748 674544796 192502478 151072878 623683174 564158844 465779036 613346454 622662854 503723794 588186402 178286506 567300516 959400274 364861164 797060128 352245594 502054422 90353520 963669462 613397484 614787206 998780702 24871596 291268748 239029224 468826262 827421906 580182006 602639598 315132666 679820502 665860610 337385126 7053822 964335668 109220102 151533424 371411596 565005612 38583088 799512398 463631662 970711792 472564846 310985206 576849082 828028668 621018160 878978900 423872224 741673026 474695666 70707500 103174696 572677174 319505126 303091222 852744784 188460716 578873342 241763548 415619580 934713382 818251100 616795528 617019740 625620480 898869768 505060766 626034010 873894136 346161314 140595992 958958540 952784768 419207238 629016968 506291902 262197254 263451506 249048212 962970482 883927914 653633076 540538856 90758978 403713766 185499220 894322724 192375250 441350630 91545952 444434410 26107120 717974794 825864548 996211996 458206350 712686170 955428336 769499936 818259762 414626572 683637862 320217144 472200520 623918008 626095562 704002278 242541282 286359324 248690456 311742238 670789624 980116792 648681982 329890312 395258168 88535848 847036986 722716166 163319696 312202660 132649872 497226056 825217946 859715480 811751638 924247748 516806464 893960518 406049938 665032202 204097914 593087246 673433628 934879216 394781372 149014842 739142270 967295662 10152088 485288820 882389842 414833582 698250546 992131538 206592448 538588752 92453092 385841366 2737842 831773044 373384406 165852114 941450718 614767444 676851384 346659018 631241712 338260030 408919258 383632664 578252424 51248290 416379252 958066972 66310458 440186578 798064912 416133212 362632572 712130522 395695976 481212890 516203378 489134442 372951454 98323204 197478136 500426472 176539688 214961546 531250040 454150992 866187194 527123440 5263234 971591806 991799362 423121532 599839432 492734378 411972316 328719346 518473344 554703150 416109174 542981794 513115226 649961872 295137476 889715268 458510272 260313158 195000860 46917528 435183132 994432560 347557670 441421338 29103652 333199256 576028752 641049802 88428116 423763094 747035024 498898624 352915992 867267436 455518076 268956164 982684822 746394618 653541798 478883596 420577192 345535496 811486278 885210376 393268116 855831628 795248514 558950738 101349496 571567416 503869604 363730044 34213370 847685484 673883358 246754484 594049112 985952412 989370340 22982128 101605846 99315794 997723526 943885358 365352684 788915980 806361930 223522422 735825908 712790628 121022676 542831864 484491982 179546624 613916116 126876050 851559878 804299764 130938246 630795134 612587336 710409692 61152806 695984170 264675524 436847356 857180038 565710838 829009676 990639884 330576746 51237648 397442802 936619570 995208094 126329008 130164304 328583166 879319284 509498958 225604174 31938412 383503930 515958150 388490844 938071154 699948002 477012662 170706428 77198472 983700880 945278094 760417996 300054062 716769812 26304846 175079120 674146776 585949790 157209944 657501444 103763550 940055266 202845790 617003240 563420938 190308530 156740022 563966608 237110526 261256772 511638530 270692118 643897508 237241712 170742056 334250424 281742272 729010164 128018744 391528102 948449962 892602534 331118902 681393134 656030026 320357836 1949862 633791230 656727784 178735286 489934704 799015022 678636042 260156610 858168954 25836558 57771548 799696738 168754898 812800608 374269200 915943058 575337414 918358288 62483808 662189362 599119168 525685090 615897772 831668018 634733340 345423658 437542010 81071290 540400684 869777694 917300206 514174374 170769810 415827656 288110520 682318000 161046018 448762172 239129224 35267140 968481972 718517854 544903950 236841326 599464298 815244522 205460118 413757854 993542792 951355832 363865166 425790184 564690264 452848084 880440192 569039694 692701344 651851858 199052744 970265720 953183832 116714130 467537774 707514242 445405568 109910262 561529884 783359234 698887728 950734488 972248750 570739268 464602374 220284032 688233012 718227358 179852190 415738538 640453354 997450178 182624478 379205748 479932056 43966124 950990410 53291616 370230662 693133060 527989850 696019846 286956496 222685188 327852354 916196226 110018476 283552110 165931646 249032498 575991666 283900666 637432762 36715564 782516678 967840726 450659054 321095368 110821094 201145548 355406742 613826614 220406098 956859552 445572 940626770 252690084 981397766 775711526 311348164 143458788 845395970 39650580 913440482 87922950 911269834 78097992 143368062 317675416 622305726 827012916 829203146 795765446 741128800 123648920 312917812 457570662 514591936 147871570 865787418 855710360 406530024 99054952 208442336 138835924 525545584 3230272 634405062 867913410 439196420 38296342 222057470 798262186 922457828 14125682 719658458 274138764 82960694 849949974 324402938 335912342 722002506 504745054 970972920 932439806 806780648 474673108 481430766 525113448 5899246 250624122 364489036 634071364 969379800 208783906 656743166 974799026 80098594 974172856 410339888 271640418 561736708 896466292 678107520 234282172 577246726 636095162 588457224 394432168 192852890 597138136 78053550 708722888 496013264 515920430 315188562 316393612 522639676 133591102 48407504 296106378 305614948 565292030 43639542 675942884 275174718 182226806 621617106 386888130 221097076 470059128 322810968 892996826 551304028 355698076 336982352 779791214 3442968 347602900 420225644 540018850 235938558 949678276 571952760 554820454 712276852 386256944 846824776 39716498 918755252 735550298 128894914 315528202 815870638 528621046 388515914 767842198 627860786 235541878 223602392 249923490 932831902 266201430 9091886 209891468 150991628 423999732 477233918 207874512 631935354 330328928 153219960 762309950 187812654 703759328 648199672 664034238 562110462 558210146 641830200 512008032 26008328 877117672 382851630 903495852 712161856 210750922 415799570 96952304 761968674 353408952 399294420 445730008 306890042 256245920 156787570 447993636 162860816 384769190 666102828 916249084 680619890 163094430 37245222 12628460 721891824 966685164 775493708 600122498 928703570 466408574 570063634 778708774 456766992 842311924 605252036 327864828 967759016 46227018 441841062 549597460 567186646 18738682 675309228 300009196 901405820 671370066 527724018 426681258 847748034 190413106 197078260 566143040 497670236 720752014 530482964 864970030 847553330 245342952 615455196 36011328 795716878 622768194 675848960 763029280 939495926 455635392 822315568 518082632 380347688 266747092 745634394 64368976 567715968 163795964 31441042 368657638 23910144 859194228 366412278 802084556 320435416 99402498 408520788 617394444 475533498 404061460 428160454 664163760 324495040 810600584 200496962 962304430 340365690 635048174 951480124 832625172 401484688 724432250 545718058 115383452 666424324 33591742 909452472 206665200 103361488 884439228 617162230 392494808 557526718 586653124 125851142 84256848 148984904 499614816 448197668 228195862 979676652 492419704 790047478 88421626 347326592 399555422 467381838 686629214 673182126 978095190 366684182 587102470 437660272 32001004 228830196 208393382 18897616 405520182 666149278 653724284 235932374 538350024 763980984 806933116 597007092 338273274 660680936 349257146 668912752 152888070 644597302 79946878 779854244 893686396 988129522 716211218 646059250 569191186 259683706 660656326 406960786 918297902 339267404 571798802 831955956 966374526 746666396 620073910 181826380 374421492 950041672 262319592 978878890 731148840 897280400 166328590 459254750 957031110 409503868 236663108 314792550 746486340 65114130 638517832 205176252 156833314 136177292 733817378 550093350 139855366 398587952 25606020 727684240 3994928 618056124 21514402 186335236 184363234 222602238 968208542 683139518 541946740 226939674 257799392 181941338 155853378 903955936 326675552 981373520 718986862 837891804 604774064 816211922 615610146 867705234 643793598 116764220 35348058 32307312 113901336 321269024 232952026 200530472 871084878 391097966 461646132 437578756 451303670 669992134 762378872 521699282 664686598 683636372 382991708 564686092 521237922 87178244 956296694 704173922 926836870 665192586 419065080 243404316 394123056 766124342 876149988 694675954 184515484 174797496 839964074 55496422 570822400 395358158 308812472 54842708 563771984 631330502 168384764 615732874 330221378 856819514 297226504 494040526 495939652 203154072 542932734 20066376 451499716 119514022 700002452 816442090 834781822 418143360 834002116 308480874 863967890 450514786 120715514 368604990 281926316 409750540 227801880 895510082 232936466 55195722 86170276 116801216 16996162 334972908 74669930 853479422 935073454 827795218 669358374 42519902 602567494 912688328 285437308 240309330 980514110 883501664 415211632 321869612 288735742 485152202 31770206 227662388 679446742 783042582 797055162 533890070 484562138 412588552 379688500 431852990 516337682 634636796 353710470 439766340 436040150 272486374 420453322 262233034 375255078 464384056 490028356 396846836 708682704 70807138 4426164 345246340 257835052 513135890 750179612 203500102 220428242 566819608 187710770 413871452 56061878 948285248 643220054 949160296 855410082 761576536 771734812 108417596 571419446 192001104 600374884 894553240 552860838 179690398 942521528 428901408 661227696 748357058 123317164 929387792 720046366 234775512 47092240 610392098 830314894 109350342 323489096 126243788 661880004 825485658 698619354 948421314 351001932 483487488 96652744 85047462 575346642 284553682 536982878 746637834 290617002 615156884 359966374 141359196 200170770 377483976 814598270 829203294 360972106 384262788 729773998 244842944 525783382 828584160 425389832 383960846 381449816 263147342 223427768 576683452 149647064 288974918 244545024 602676280 198979066 838131052 582244946 677463668 357924804 413663666 642590004 972829318 224007340 939685638 976965092 862420818 526500540 770243776 30097280 210765922 598480690 564097584 38587764 899308516 565849060 439550198 454725674 671073954 121591950 319778490 494396106 263610316 984501446 349817294 834984472 27195402 612489784 964622284 224285178 691663710 623089102 966994910 874173746 603713770 710041446 182089460 109250150 637746110 949676590 140663908 796064270 988879092 385329080 21594080 437097004 126340328 624097864 995938256 906182594 724384748 64537758 307481142 357542668 843305944 489153260 370613972 554717318 582783128 599796242 856110182 575250980 75049758 315475526 663522270 219346412 69300564 909362000 868494102 399814578 710826718 55919502 536467684 435879634 155781852 981271524 470500006 133368668 650117412 890999378 489096516 932870288 60103266 227130410 92358532 616175834 68130150 144941674 58758594 757106354 540373530 883696822 823303806 590715800 714681100 316969308 565250624 582277444 456236612 830423060 284474318 86693514 230077102 880297150 753763184 274261856 341107834 607302794 393229576 212944980 801913112 541980806 252044930 116452456 307392416 758742010 91806068 279911872 213131946 921635754 847575692 781357700 72292322 833377582 205606938 261945962 424733688 975835138 828321406 634172888 257663276 584857356 188084798 861101000 890047112 391298962 498017504 884238722 137789932 643948218 821316844 270461112 291578322 837677856 211988390 422072734 746436510 906221154 300162388 630006088 356544418 482600246 766875198 20737444 724017642 220133814 784030374 200399996 465369316 999325152 551346892 554318984 219133136 485174728 68332084 626558280 27848986 225128798 334357274 987620678 690788844 747838360 308394960 780262202 32164972 63796444 134047936 508425024 370469706 121623348 800514634 554331192 209908456 599780368 828549520 199097276 337551240 818058208 356231710 546390090 931613978 772270794 800487220 779636964 158451710 793868780 261718288 374594468 847751906 764672464 177612228 311564474 483703274 802239000 142466712 811111054 177046430 841901904 781766572 973943072 925917258 855935916 103635710 81747360 422413368 532184220 530836994 610313792 762021994 434316876 756926114 494607890 331200592 999836794 334795040 401458150 548634982 492046000 35302440 614805528 688831638 242175628 709560692 61417240 532903018 884425702 477001212 761002236 38642270 784298914 241836554 528681962 459246024 313622608 912321464 673306264 784135030 46272096 395213044 43722270 959291022 597115450 584220184 426429500 491303198 517174512 243562886 548787696 164434502 203942966 648458590 544496510 334749096 208618856 592908680 25040202 281345690 209661192 216229068 607018784 439408810 219344748 310342706 927221502 324342634 751099124 324233080 221472138 563139574 408219260 729424950 609031898 710096544 13604378 441572320 406866134 785287824 237128708 443252404 756504532 31585984 162988566 646475496 711301374 158994244 691181140 138389388 374722084 893676918 425545272 282333938 771469328 728853100 442816414 745410962 136089066 66766686 638978422 449128098 900591296 64001308 536212236 940739442 471149826 149382218 148544540 696889658 319233822 609723452 977454784 646005010 710728238 143319190 144967786 582234134 638758942 377201164 454170586 950559480 826288426 577676342 667386658 95140988 880683332 281629606 309223012 903305712 963804090 580329034 462618966 539624052 289102860 8680740 716063162 873442170 837401726 656769876 138146244 281659970 614052026 858892930 272430694 834819314 61941412 747593166 642528300 20637672 421041872 56881028 676437722 880464328 449661558 703947244 791485404 308347340 635606880 312933164 244330112 359463326 592498038 704269234 597294286 643286536 750385412 99501174 418197336 558631870 714107634 350207490 616494888 649575660 195953290 386334028 375484714 929202916 560764088 638070820 984766090 935407580 17369320 632696396 317418774 420996324 977170020 109798678 399835616 15240032 26531596 1387324 985672208 766139114 769318334 294065924 516441936 97589918 895048312 742201268 322365858 317065004 935482902 441292904 177644186 979178452 185957822 394166358 794742904 707950146 79520474 162611770 904233538 680750546 537637646 551997100 919632576 144382156 76865596 201371194 362577582 320527166 313574856 848503606 447970974 876953634 943452862 555654996 283248846 405648960 751240032 49646140 283833288 760897912 644149560 145539792 976304314 985377226 781901954 821969730 582732624 180852298 322478066 981775826 73143052 596598942 242891520 117069910 31603404 922130574 978890772 261977638 796832194 747676894 938549852 704790640 481211582 180896076 93336816 151097032 971532570 584073404 77739358 367446828 737486554 438503796 354894302 507324268 860865816 486289804 641316450 297470540 854366088 353357954 264032378 548448734 47677482 350756708 8459136 391539700 964489602 623384956 408715182 394017498 532273512 190144846 25395606 188770910 896272326 551662218 473269634 690912888 152867988 135478772 837122594 488209712 900771410 61952386 261863246 226476872 728421642 530724880 410691666 633210578 247866544 657840696 477455822 857699064 643982372 791899880 662409956 562568928 607507920 637729926 231066950 397594470 991090008 154313804 951966426 241373056 448738492 857812056 574622792 63394680 644443908 453220514 425180802 927301978 978274276 145274314 87593666 682756224 236985138 291415232 185206478 717675956 451398400 413306598 325322388 483575492 889028988 859905282 108609350 585809582 868598036 851702348 352500018 694866920 153578396 655935544 242963456 299282532 601572706 4609260 712245344 575849512 116501536 800457440 457957144 362838542 165131632 865649732 732383312 727584008 219485616 170747852 669608442 713878902 104727898 252203268 334124812 28198796 480280530 846551752 890913832 412091716 588720052 750792038 115471490 46360114 142069340 136095136 646474740 801371656 2084230 206192162 812355116 560558872 564126592 120492598 211702448 773258684 206891640 863978022 2426454 704059958 174436726 62382170 962240184 16283564 716260792 742432694 759907622 845272924 679091654 707267638 435027444 831902446 230279072 571363314 64814058 830596456 721670280 684628140 186534208 447234236 621901630 788570480 968275138 430254436 140425306 967874430 302122082 785305638 73854224 700459666 467627548 208027720 669191520 797060768 330283864 589670604 446485244 72931606 958425660 521940066 928492108 111293706 636542750 846502762 964739294 626299256 207812446 392022726 868721238 986754036 325429668 644642104 984088064 225047518 2587316 457394060 608658692 147515030 593954394 22141552 257973444 685835074 661454130 20227974 799941698 305354470 905925678 123496110 397539940 234949808 176514634 80247958 691800638 16389876 784739166 791148876 240152918 643345106 199971730 160428930 335240544 785336162 226800116 160581250 710814642 572925822 476708590 209033880 977985424 882540074 331963352 109152524 455844138 104405598 890204274 981436616 860025868 662054220 663221362 50604164 523834562 856830668 924614334 364903644 717222796 184433072 837337756 302696252 362513570 533580980 107166508 906868190 741518368 139291306 588874418 9442844 200127510 914536138 814404078 705500570 407341916 999567348 276254490 17604910 523429754 100057948 364968632 82735324 561086060 983862974 428130820 240922670 669669946 492495958 112407708 71424190 317199362 882717586 763011526 291526904 131176060 861672224 303749552 95636492 631623920 984138874 635692048 520677394 169162578 824612168 532912830 692958110 940058318 87910112 236780334 564189716 115274652 211061398 414410686 846910356 295769240 879394326 587652516 217609042 791050770 603332488 66064288 524297992 549914120 158616220 730372298 895777452 391634652 636093936 822854810 609231470 61832294 923465520 941695206 338964146 453902242 331269342 976053402 639774710 286842920 743829132 960896296 491135724 209508698 536344594 222133320 962789430 610831800 405837906 588868082 250070876 491233002 33098786 707653600 174174400 880132512 521222802 113078296 236446218 471415756 222209782 524288672 210216588 737127720 407984070 876789290 954622266 238519978 429247874 885430228 123161920 382893630 96027130 466245080 332044932 406978972 68671734 181835820 263127774 208975798 289032596 867532346 210102462 646049356 818589088 864236214 483815494 733239894 443844820 310436030 597358786 377576430 496693604 196488960 94957274 568961312 316459828 428570312 547756804 833385260 56361452 203523990 47091144 271849472 642200100 807416868 189730746 15519864 970803788 568841102 586776442 400201634 239599604 607983224 426062716 647609142 642788218 131313034 662034498 551259574 433959518 234652020 791961526 537549880 931830888 900410706 574940736 228372316 553481456 213474220 216394932 680764602 591270384 844425026 662641712 526807208 991351960 544928626 134524530 956583268 197844402 187100326 296446782 4771138 47932084 222079928 734350840 139508148 35943120 548207392 751268576 649166006 722128356 37333380 845943812 296824944 438164192 573557878 25107584 478008342 854030848 897585494 647315304 347552714 630403218 207754036 371393348 958862260 884673758 873987412 513074880 470112412 187925148 49366674 46193516 931737824 828249454 98372330 370535238 848098398 286745378 259893350 776041278 490358478 325400510 818289146 488531214 227974400 764758704 35882502 751593454 93631624 513160964 240549548 837339728 893076676 439861586 648630556 789548564 189419392 977444734 193852852 561380420 632858444 184370446 846695452 191972674 702513690 751483878 909816532 615222430 973429526 764298464 433314472 245059402 861032350 615331622 167702996 6330364 970508998 331107150 692689542 122294558 507331490 45553518 301655070 654862028 547956976 611446136 162816312 621893880 554072786 182157508 175532968 152229612 377124406 818592386 856449358 795873468 7647672 920949580 139300672 23172618 577690070 270034750 257198766 797602702 215637540 682152222 879393212 50586238 443126578 532710106 183162308 701756462 452966152 884527696 431054768 786877234 448202716 481798312 7977766 436168582 913759468 709190454 530673710 684881974 76972672 976321936 159850592 861265664 647010452 24233256 18975466 950366862 206074284 609536752 735387816 29918214 215446852 139535260 514737216 778102772 203515912 81919452 874822938 500541376 760669236 673212842 398997112 344284788 24902948 577887944 686916474 174922796 334995824 234522340 87901360 970112782 818916876 14212714 762618412 512442020 507378834 48652008 641255978 748265622 672454322 429276216 581539152 481690570 516842930 98356972 826761838 445867854 654053208 342093844 108545036 963010784 890313192 329848226 91054018 765143390 873832834 53718918 75676232 588295638 725620458 657516874 564076758 506113920 891934110 248769878 36164818 876579822 864723684 194009046 277548460 80337596 651671912 687468234 271226712 868043050 470097966 785042596 611143572 946569398 289627572 856957954 504498364 418313740 539594002 178744338 411615072 220447156 638884328 298122104 439536478 647000142 664230818 937474056 495625516 39241120 64709460 269733096 818574250 577253478 199488968 901921770 929986596 931990378 87908216 50075830 392576890 671412436 684017078 72498770 112734984 535127304 618355734 86176756 446004228 390956966 83393286 741612162 687267624 727918776 361722520 415235358 977737458 152605924 285780078 434796726 646179094 385491124 735567606 150263066 57420306 445173402 218085834 970198470 1250220 714467040 982314628 730049088 40543568 165105688 397742662 710145644 650827432 293640796 839130738 956466570 482259368 983318350 442728284 552560374 493482854 219799046 139478812 619664166 12790246 554036886 707500972 539097530 902464052 509104800 791005404 104592990 323175512 474455644 613343572 215875374 881158582 99366204 209083362 960137890 889385720 625778514 780344580 486464290 854454840 954699562 740584868 371431840 882176120 706166876 686419326 749897544 251241050 124168930 393411184 508517282 949725928 150153196 72620098 795639240 881470172 350596904 920022780 689568526 230478450 493774362 355828758 221208326 993791398 683898068 498417368 421794910 516373722 543413892 337481520 645450638 35708444 182003240 617481086 396385112 657710056 416253690 366984754 772911540 292560430 322854658 469133870 75077116 90197274 107870004 11138790 952153678 269752122 168318442 913389802 672837598 778226930 679802978 870914216 558069298 414751228 459113456 235037038 222738968 252717344 211102956 818489688 211468216 738326744 858523540 803384900 533528990 869940064 837149808 282519758 109111266 270700578 151461768 806988406 540100878 341873916 671292028 470915122 898860192 770094222 476370856 340080718 433917396 339027904 680112430 650207712 705160716 119905520 286644042 294043986 790709044 459309794 364746742 579269826 280618480 352530934 477008164 850598994 885024324 476985438 76031270 779828248 885893484 541655364 476081918 357945440 808319440 21803474 364160162 413099616 719743244 844324902 647033666 280452170 852042032 227122138 701077016 20962688 485044256 951646918 325251002 947218210 322160506 410418810 768378424 520045022 457571934 384872446 129471970 762070186 320381686 826507792 894662818 766155702 251493506 657446410 548314750 988630600 867921270 486320692 617698012 770394808 386904792 960746368 818009554 417201290 689665664 475201822 685558242 323011860 858365520 93372830 691893138 784065858 553613396 679315096 75414670 660880006 997738364 860436100 966175662 201993164 339348592 89104102 877185162 586785708 587255746 339915312 895552874 241494820 898053398 171741294 964411936 824432904 801101342 602002250 117549672 891533560 649438836 803754066 317720658 298781686 687858192 673642576 357314436 186299190 653177132 977605152 754058456 263766842 469835460 921756994 702388898 861718366 294086598 204648342 293397960 63254014 24679280 331390844 167357148 705488 813317532 511346858 841348144 901076100 788371258 951147832 563052156 847960632 226750516 406525086 222467498 305666918 681768838 177495526 774349110 51451256 636619022 95937282 777327778 160384160 825980296 108033976 612517944 885081966 43614148 100958286 648037300 533250410 751789694 386045064 139814002 24485300 978769528 622892844 864888796 166506202 469641138 792311166 268623564 757413150 725024050 696220132 51252572 609265884 302289296 315661452 188033220 273908458 780932722 815997110 798312500 790508890 737282598 500206814 466592032 802496560 757271692 947183936 342437690 910584578 846148742 317993624 460943616 185468100 381301098 899202052 730788308 763259452 404459272 654790952 964281100 10584774 279481864 927662344 572215448 446554940 829074 367987822 608178224 435762168 919511060 756528384 382175396 418381060 609150608 236918464 745940620 462541796 998887784 106837176 423336590 523466950 600884044 641560012 687820314 445866176 307688284 370791240 933891864 332345634 65714588 996605476 826211728 732106452 337292396 695732628 983824806 5837534 130906404 81225316 558123140 936749424 408698130 375241840 165939078 833128874 919249044 857025328 895643826 62834252 896535248 330112704 919654988 784067002 811538458 536285832 527814050 652903700 792037646 954290024 900732588 82792 544729554 603216370 746120388 827730180 435668714 190143500 467770660 342812532 637260370 301624800 286150842 420051340 240728180 624268720 145272658 341489966 690832618 168745350 237350846 715327014 886616672 296581566 260722600 187005510 43126264 555085886 470104064 969917698 381696622 705767020 860544124 123859892 379164956 621877428 948856818 847049470 508698848 305065364 447822106 213417130 133141250 72833860 854320808 217613964 389673996 17866542 996583998 615342628 797940920 61207196 359919202 485826140 377359938 605891080 97296536 638832226 721643390 343592360 739260694 845108102 470627368 463744208 804541208 173858986 350120136 4132716 564038706 931809954 834573072 681268078 548326274 97685632 988747498 645212152 571435038 52595098 106619714 588053558 791435656 445000372 596849364 340835264 817506920 746657932 369914062 338022238 147415788 618823486 238818260 350674602 266839626 615955326 444713400 257962590 333086480 597035658 603979320 112536116 750523078 364759724 160180352 769878936 48405236 258329890 7097288 733939312 656335468 526365538 350793170 53281650 531269420 212118738 831939200 86965202 219446882 810578672 193923486 65741432 294068310 282722366 793768004 43032674 200041284 907693546 587504166 961627074 640910780 641961618 131453808 566662206 259382900 332122030 871979162 345657098 822891056 591281472 122057930 447334236 161931344 434736262 231844874 377381364 357655566 723985916 782326420 9688724 652274510 509179412 953797292 368989558 551357242 127702960 734498096 855143826 151463510 845226772 269296016 822577836 956579268 422332212 446599832 10037192 233497040 904262820 677765480 945959938 96703670 328992324 115897794 62234900 518184892 667389762 245840 948975330 613206620 293928066 687681588 321231028 905697008 809231820 542441922 467937476 938524440 350736426 368889456 506874658 253921220 37078080 999982926 516954020 725144818 375517968 883626842 10935376 930738248 762722478 194161618 967399474 484659098 362693754 802137786 867133668 920989696 697423826 724221406 991223196 819265752 536013498 596771726 295416642 850262768 996497512 578591846 335956284 402342366 605562592 580168580 543091440 605538236 355488490 471031334 753027800 238223882 846021912 87399574 802828908 67629456 444426534 45002198 920480838 928081230 15681892 644230114 755323200 282857062 875378342 722977524 81315640 679940966 88084256 602086462 555664834 742816656 480589692 493204986 543211100 311741328 972742424 170949712 449651280 600631402 595484800 178607608 868350448 433065698 870422546 880523080 33890196 75002812 423997172 225179446 493495638 409728638 409351006 548002204 124911304 358835134 370524864 201954186 540561458 908499412 746540896 313755488 856005068 64291020 768244140 510567718 760038906 219989996 247590694 794669054 186459826 89820644 992019210 75145346 582786508 110198070 37479576 365531230 398141160 742420918 309417774 12607334 70119664 666762792 778451328 590219900 566652098 19398786 357686868 866191670 819880656 470244352 493742960 947068560 327392030 174158890 526952186 149214348 760753690 866167232 787238804 108433242 463673794 906252222 703626602 403011182 394038836 750060436 917797096 397376280 663114082 44112638 626257394 325514250 773648416 923238768 849956856 481962060 847050890 837074284 488906476 785509422 690364496 301702930 521399310 864283808 456154180 591053448 106485934 803707248 216193992 430498024 537702186 972184672 743797610 942034824 735170888 699257886 96027948 504912162 781011108 898249632 728630134 484723362 978478282 217789136 324675412 546193892 147582630 62528906 821932852 824180176 396228816 383080648 365809320 224433810 494717380 364060708 16438644 668973016 6043990 633869926 267804816 542377920 887495720 965747062 88162688 736114258 377727956 85223886 821231238 24112166 155265692 275285828 187515268 454117954 341014956 102273248 951326766 578611378 30571964 576394810 466000128 872345800 167827380 960530590 908002848 67727742 237806888 471028448 336319448 983597046 566999356 293673308 20004208 222422764 751580712 311342364 740312112 193335788 995237152 852574382 795811122 272710596 142981700 20365064 825113238 836090252 751542802 790172596 841332794 903863590 290061312 221902250 378115884 562914870 922867154 451856314 825120292 167891132 888528600 319612184 480096428 720831420 755425308 763005296 438562636 177568888 556887276 680389962 200311402 257502814 251751918 915206214 658602658 720925574 399044916 851752728 355412068 872104564 815689454 247404744 598422850 77346624 869809442 106011074 896629344 121641952 384409174 670366544 985949174 701484948 857868562 327185586 549260492 751932194 528451846 149219760 812300440 352715278 979357350 760743814 799486598 499116200 856410898 695469950 707303140 759222084 269070208 157878464 911910494 403714112 366040308 804649962 547290768 76399514 74248722 681014086 23371804 573364548 702033694 377981606 430917736 138740000 980328196 619577478 957383796 717098084 59620056 920324892 43968748 206165938 445228992 894362956 755077210 444164428 192107398 43603640 842251370 137642722 186301658 141340380 35692406 817298590 844360252 808585458 426738510 818068690 423215192 716850202 337360630 905143950 250482270 512515418 547185048 45834748 260666248 989498138 879701184 107146822 940839256 379556848 256959088 423577386 771300192 969430052 393882430 38873284 117340064 619204282 727433268 940152084 919761136 205804558 927450538 602446722 905813582 976948718 765210332 27828922 916879436 634801412 745478684 444580882 432623094 404081590 219750010 82376894 403685168 451317464 613768288 215784608 341944484 60873436 581433690 31095684 648649288 114901472 750980374 632176002 373332730 598029296 756012940 618360800 784726592 351957248 455218762 882169760 985513594 349952712 284182792 432466348 640622648 813020720 801785066 983369924 638304434 394876912 846330076 825433008 385562494 699470042 851538432 545579946 282638438 618051792 291996186 153078276 993729076 792152886 402966778 545575510 326911582 777403518 893280222 395593138 614232230 978928406 568701114 793779518 766647622 833865014 269240258 995090480 678875616 815116554 182130050 976016688 106293518 765833814 47735768 192545420 222479974 222498806 305073956 753680488 730981468 176407746 819559416 210998928 951453096 265885804 533619170 625891356 447609790 212451920 162131588 256836690 849235036 249574784 706328936 490234754 666030574 926685502 94360618 408782154 97297120 305273148 869464906 288183870 284548774 657168776 97273436 838132566 844813812 553015742 51285802 987802052 693099622 278773050 726710806 534063444 522938166 112391168 287085396 591478380 70202526 830445164 266562028 613675278 950849462 486296724 105987366 255966000 986265866 845107476 702291258 734534352 617770170 789918940 439941062 941568686 611162646 964365664 690093286 738811240 330614810 384110242 712138464 493958850 956394842 399520080 9333806 292477446 892888112 861678526 430035014 435773538 556431434 262371468 539903004 649518418 883015466 928822768 111689304 247356662 153538904 256747958 199403514 759389222 108935014 778555530 243761262 866707606 547658492 175050176 660251860 464713308 582365494 827956368 883063576 327660858 534532794 498037580 964182796 270951364 386405654 731477166 568752924 758044654 964948368 93085046 947710620 782913202 298995664 982920306 286868808 513882606 464171274 413661434 673471352 809789474 371069786 784197404 597177426 167219648 978443138 795934258 26124502 131099012 540802414 549785112 321811408 944080158 402006494 947279376 918133826 909174742 995903178 302128334 600752460 928094492 408379022 712535836 645596016 854656340 672951518 535351706 755912074 931838458 315861626 570700012 722728922 795845248 1831882 372222494 875479938 879747642 189318174 389217624 920100124 35964752 87410806 175691754 60900350 352076784 162767690 264744664 396524414 377596168 956424388 358376840 67963880 818428330 217005998 509038376 539285074 135172362 876848040 386912846 960077112 723404450 796122440 970411002 212581772 989828476 255311318 18477632 303576680 961553160 249368626 392033670 559820992 80695290 585222230 279501964 550600132 888692916 168374690 69601872 488207178 445164898 654045322 840327754 49081956 863261526 830397510 341105230 875211888 351414280 112502904 205286118 674727248 512778428 915885598 897199984 887754414 283072062 717162358 829059774 171971970 456064486 478441750 387505812 881300466 986865616 706552600 128565822 293425076 956560740 31141766 796105054 689008260 855291758 448956044 114961248 387670874 859161872 106102654 171450384 230301714 84649336 637691266 359497772 67525722 975055718 529102444 771528858 944673670 126769558 84754770 8013914 658014712 434603244 941014086 713655086 1808194 431911380 63755660 753713918 697363658 370767364 472504374 837139610 346266986 790078004 322996404 598603892 597930240 96135918 974531300 73971672 813394722 766690560 739875264 660138626 334178958 892090378 33294310 515855098 597747946 819543456 449803936 748336940 469506610 769430872 356498708 497707696 523918534 581310896 39325698 857356726 87674094 12588700 86022582 863043192 778358758 393382362 720301584 536798106 660398854 984954706 806622902 898423272 935079142 557732700 293180140 742075644 445438934 60146398 74426332 414174980 621081442 426493088 18964652 155609248 457505936 840820422 827767110 321882178 392991208 994330142 523857554 837572400 696208782 654894558 751835138 425273030 319909870 90037698 624561108 416235138 941096682 127172632 816778418 503135662 725733024 53414078 83215606 514919006 661950750 479759860 591726484 740922072 188723968 333910042 201706024 237871754 843317748 840480172 30198824 841078936 346231920 103513138 643130732 343020308 563325456 611423880 653704832 983963188 18420510 907297038 779060666 683557006 798755292 966298926 695582314 755580788 704230528 195415588 765470782 37379082 90645242 864065300 603555464 624969116 333295114 839840700 229938168 101134048 629676644 755273838 288617276 764631524 72447920 190411704 125590436 919726534 481343344 285541414 70774878 158406076 267049480 351221788 154348662 253484750 683515862 454303734 350721132 646290280 150380 11285632 7901664 642852088 953920464 894454738 859724218 261908520 921745000 239178802 473718574 754923548 233343700 650986342 854201282 4373310 718572148 393942984 805788118 110063716 457813762 122371812 311524252 737045806 917855218 929748760 172736706 944732540 698291304 716165574 123087472 232541062 839392122 466065596 646759142 590133514 356572630 264053024 112185874 157450514 581507360 370453620 977788780 647874236 915947070 162304670 639246350 20585832 581889894 337121314 680086344 132299602 314707770 765054802 625835838 344577714 737075996 292037642 583666850 975301446 54838012 689896216 49158408 346666834 823264152 55008618 449780190 538001682 598751930 334795706 78545496 309034522 862682106 451068524 255236978 736235058 999960938 923689790 114679902 902174660 403930654 152979592 504784572 179103966 353307780 820457458 889097730 482610832 684864182 317626870 909761682 689657196 893889316 38848204 169690734 982572130 819706708 21496126 612096502 309419564 706144690 663048512 283028792 593655588 501591124 299207748 780260330 357445300 470768740 475975512 542749842 383548416 723198130 655367478 62362348 472305520 330697540 10970716 895761634 319757056 399141594 393969932 456192478 804169926 673336390 554990934 954404716 151149964 979420644 557255102 988464574 844658514 903140572 740359190 373177702 609979080 477848266 671731618 777368926 127420342 457695324 39414962 376612512 470954884 126797770 566493792 498155862 622466316 528166516 163865182 302215488 596198746 813320404 840630 203745678 921659668 466317940 860679858 939164740 939820508 708086510 656077524 955465402 263587102 638264088 999127172 622832444 447657348 896424908 211528870 744817222 833784866 573110938 668039488 666337864 505228344 169255618 152575696 183672306 175284060 120201370 740389998 440291668 179123056 510345492 771049158 855683494 182442824 487589938 814297258 89595550 708029338 794471690 434933324 608877536 934961136 985263064 739777250 470376724 70832854 667417626 934611978 248266640 105327152 242169318 847294588 853092876 996570064 749229454 201527080 774524056 887492526 67479800 408510640 718167276 767762476 958925104 816076048 50962422 180296468 600059684 468157336 804553956 756378574 823383986 33558124 119032190 591404154 455907856 487521098 901408022 774168618 973589698 105390722 979365998 919012640 822456028 595707152 140289700 823390500 122428954 53203224 672324220 615438460 468298122 617876052 603001018 464299098 348207336 190301032 57908002 225191234 104114798 413079500 110616400 515572486 399974014 595485598 632193240 212275608 909434412 197689380 699323120 228364726 516227646 205911656 196228318 67817210 876846996 297176220 114452464 908972366 787265356 169388480 25741250 595440626 624881716 525742304 249664974 914910256 959521728 913778094 373652968 877765386 345124374 330686726 665821390 656283164 607047066 468400128 678603996 263734958 819767180 527309296 819341816 54990502 466920824 392419720 439836676 648082908 23331788 782982386 368313410 38822604 604978154 453210628 837114692 722774252 258717734 806594540 667709340 997380564 931070960 353374338 621526998 543220982 770456614 616137274 385974258 837361608 238012084 421917948 657249194 892802114 691222790 726566548 748976878 933068494 643433176 87295388 266368610 753088736 501813684 376710844 266691874 506666342 383009838 301856654 189247342 44662392 353221980 753481190 341447638 418081256 995963494 638046532 964073020 880714338 753800202 847333022 369487488 629281566 821792378 266651758 48562610 253189446 884998466 673634092 594398076 11601336 849796418 378736698 981165874 773984552 6369094 750523268 731895760 528286090 850120380 776786996 486021900 85128638 505166500 105199818 420767220 384112290 325807366 289833990 351528832 954423732 762066334 414203792 574283160 882954344 95201296 640174680 326818336 383398114 217109632 913240262 960851938 520906326 701089910 209183642 684345022 819391336 778236848 811963450 886610876 317238924 834155264 59964102 84799862 612542960 65433476 937092988 306357428 213657656 240167684 1238254 4828194 37535332 15310822 42701300 790595552 394401322 238391270 237771284 280628866 256485622 641960084 390732606 286785852 55329306 970086476 266061642 665270516 314422110 729925210 154622446 25724226 55867224 603451006 619608014 3983136 494851560 231671486 700866414 294359848 365501228 852727320 110192508 837399060 625122060 381175618 202533882 403641496 339365644 57475846 857172870 47742072 949425810 596237672 8501862 910689646 353707934 596360142 729471438 303153122 159416926 737728228 899075896 805373626 821815748 934718766 697094040 676308618 629428018 408505036 323829190 492759750 323352576 335821994 678206186 280339232 337002680 270049682 188331974 458430308 317381008 717905994 921156086 174674002 454033656 114301656 804968226 604746758 601743384 158015556 875856826 889152294 129436706 846828808 961315278 63476940 337492780 527112572 593604038 509303680 934398056 464590126 770755710 327847500 603611016 816454956 313748344 798315870 844852732 318972196 584262422 777713944 358754090 940468124 978211912 2597726 568166832 115198822 92293356 801887184 964703580 575842910 316756000 891171658 78866544 265728072 961576060 596351586 56798572 561174372 832142662 632028112 986643076 752743174 443306874 210755986 510462364 636373442 325148910 78938246 680962328 51554642 711485002 237335250 795316716 361545982 867770526 40262328 640269690 803032620 242865128 392397890 597947292 400719482 828206808 374542580 270924748 843224968 806639082 803833224 188557002 900269986 411425598 247085240 533074726 139165112 722234162 282764780 555489136 842476606 576745136 699951320 196016202 832250556 713370448 530992288 848696334 347628414 321837404 49700790 594575750 168705534 837750172 328278092 445264510 50819602 313433624 78303856 637051742 865412534 605211330 395910472 724270498 212987564 781473962 353518116 907088850 611140218 130052056 88390176 92455548 839393480 937775910 577379814 387509330 743097828 358236764 941419916 750922202 695651882 211214248 65963152 627689414 614515708 815281782 593166262 935530396 259227562 50964570 870742312 487909360 234570498 912240678 300802812 75332060 611120124 860753750 517532600 440966896 514704590 265743606 55636150 515368110 257193250 136747442 12118076 236923288 965617710 589418238 199255408 880950072 675339696 333556928 669246230 345182896 36603422 856261214 659589264 759293878 442470610 646577850 163659140 200399012 792350758 175257756 595238884 539420724 754500126 684794884 218091230 400185726 157886326 9113258 625018082 766083068 673947976 383060228 339695160 362731286 469041332 321449158 221456942 863516598 962105386 25887458 627324466 157996968 21918436 120115514 29166124 341788028 490306412 765657078 977502924 242531114 22807730 445635636 305327876 481779904 677497804 364357114 801964164 445875234 668977702 464138980 161630920 310817402 619537776 212728180 593280512 326905418 135531350 512176588 364764704 801859262 648722834 790346590 748967670 50652886 426499778 3213222 262227892 281532006 259339648 616098704 412515566 765758026 213278472 550961192 33978926 209313544 536482004 115539314 195614118 725151610 966066424 106445516 972778446 375879698 495646636 822929850 920888166 281369100 255704744 425889030 769523916 857204906 147560536 272996860 302728318 843652212 714777396 780336968 533491346 547277000 272853642 417708086 836854954 583975190 163965654 874185630 332049296 397530550 407743348 502927168 327192260 737087752 852056578 551245960 919276548 834225314 48606512 924280166 265946316 500241808 971328590 915967556 992542206 976739040 55145578 525378072 903122358 817260492 816594298 628636324 529771876 971393762 942550398 393461520 4555068 952275878 625466106 293434974 718265284 743091360 605231850 989652276 590663090 60943384 771567592 926552522 413424638 13557986 13328672 965497234 598079684 464932082 10269538 848225832 203806488 54382408 865882110 757572846 153060076 528400714 345612520 490649978 499396560 841414008 904185146 228161794 877357596 782701138 589057870 937314834 247803482 167108810 932319816 588240536 849088376 393358104 671300370 838551206 793560118 477772406 26882296 314743398 345919030 701335080 591946616 993153696 196642658 794855170 742514034 389223758 446936874 724190628 820532350 808504964 410782324 950589504 254776290 827139328 841545188 146930066 272482976 786734260 975040164 252968442 802106346 884439548 161711270 884080020 414761696 86987122 777963522 786509662 447836384 872605638 103745802 715725484 813282824 482020266 516541632 764569056 516919212 243333388 492168436 638886400 54720958 64735326 394350530 231113840 13323564 163221340 404689480 781199436 888774662 566305388 849107912 931773538 827166872 8219028 947451622 181805354 22026640 301469848 576453712 577364704 903547308 336526658 191479198 864718120 264988230 640143978 359340668 172601522 493335222 989782980 526805564 440474960 295851596 788357890 727788524 995291264 838068182 195644346 804985824 402572164 190721724 977782280 16433618 852274582 961609468 662056854 514557004 943223678 424543560 420109950 361856914 373404038 872751932 311712544 595975652 28201616 294521898 295889554 103562182 967456180 714790714 486238632 310692204 354301054 854958924 242797096 811019272 161057778 851408076 854628220 510568240 876454222 347486180 23277776 556083732 875704534 735544606 556790494 217545396 883316192 415142880 295155242 657666388 233556018 46433324 437375018 550673738 676732132 387720180 980229092 140704214 275862434 639153598 445313512 862446136 537288876 954230618 262832070 976052348 911861916 953645270 90101718 590001390 48041078 534935920 782768620 107183692 647329332 789642960 376200126 811445644 330269238 922791884 85859368 498319212 182826204 364253608 271901596 803869022 475992236 230137616 856342752 837302496 175238428 490746386 450592640 264195186 736718114 325393562 995213098 97756466 299488172 667558960 148124108 665435258 725506710 588618824 307589100 615003680 509995108 245700058 226236016 3335638 846049354 175235800 333740924 845431124 843029822 448082388 864020242 511645166 589423404 867125620 925732462 380690840 560119944 587980402 332531452 929518992 438416090 61964130 604285702 180066918 500424996 241614550 601462888 447496418 610323216 535121876 533447108 846399678 858858496 486860176 632364736 975711428 737542458 388276632 811385736 664399330 676585290 964821014 967038856 385837014 894371302 422998834 503982864 506408372 436083210 194949912 794073024 210752110 865614400 419255388 518867738 587361828 54491128 461773678 525632250 50545852 988602234 610752394 448472224 243689704 653515030 552026738 523945524 139646436 144073844 141046524 819255578 928791194 228933076 413116820 226425744 257892394 659342718 11259794 917936486 826104068 455594434 590294994 244574298 699688860 773955244 19813208 322201350 753659240 86346572 642724866 321026412 853961640 591429734 644280976 642034692 1454292 577390306 61098426 696427504 537264874 925849692 418472440 376665004 262451970 951523304 234239432 108483358 838521602 346210720 872477250 683367684 263680336 209567908 951558740 351250580 622254128 224610542 155496188 775186518 317214170 155805336 937620810 932732422 686073754 461618022 687309142 80291992 91051460 563244346 52208016 418423732 531739516 130873350 440389238 588574856 540380698 42815816 298030082 492025504 632651066 396772084 521259626 886193702 365633654 293592708 246545612 111944512 349746564 749767218 514955540 699780388 770742174 73739676 579163058 808758382 740232370 342323704 466997080 661560434 201906250 527027444 900405880 556505716 543022366 929255134 83400632 584621136 2554764 650664030 970003588 526482348 525756232 50422380 772738886 724345712 267575310 871951278 641816362 66489982 392090546 397622892 455045900 214863114 784532196 361985272 627979828 240157998 804610946 412476672 558403636 783417360 147515912 706962696 508084664 710560648 255114320 584879244 61084134 89623480 179103264 421467412 154469208 434115940 872131826 858836822 821069224 834194272 500405350 333510002 89093576 440049832 93407254 259974290 26392220 73476910 720575248 102008564 312583856 3878634 44857564 719172406 512332650 694357756 104826480 618951454 74462654 935073144 740109448 729210204 34075838 196120776 574408322 161166930 804461066 502126140 331078762 393760966 375795356 529561488 950280692 614217142 652760514 196362346 798583252 95865530 790960852 175340320 89678178 285511426 680971012 507546734 788391644 546809920 727491980 455491914 759372658 919793578 704720426 385514980 571363350 238858498 948392772 906304498 572620626 42222962 778437184 292566842 538556388 845365502 409187916 505448798 925654380 270195362 743080836 503282470 438957134 78632180 240127956 601228394 894369710 783410270 857488120 116351784 815993832 358422588 992863888 502740390 755192728 454600224 146721164 118528934 32721422 307765988 318834296 707121220 694131452 130609842 714407004 277078170 92569514 837243476 228908832 623209396 880494890 486369522 820999772 231534662 604786800 641099140 219749056 748184632 307563818 459691926 367456216 21767246 345629774 910190232 265178828 25149656 26390274 692384830 150293270 935751632 620000800 769693958 793041962 524636022 957021900 49311388 895276982 441398144 485685936 198081698 442708406 223868476 283892292 362191490 254061516 260042730 393895360 389117962 738635010 679865260 947574910 278581574 144184340 831393770 981865442 267526606 525155956 290338280 893863254 343752662 876975314 311174964 807390178 317514704 875635420 680625250 532859788 996376906 563712626 462067248 697921952 901741558 465001844 790306002 952870008 67374096 387501438 634602088 653267088 938118146 862660494 854050484 409675064 920471370 51025912 163709624 629706132 516078688 919174026 630311070 583287574 814055688 866797164 109885296 199933832 893590384 795131148 660518104 656403094 493600714 537630060 383018840 651303666 957148244 628672474 984512480 297199342 15637542 224752942 200184974 5197856 894535302 799888354 970332098 159618982 819103568 370536662 845412380 106025132 716162750 277525270 812773550 8559952 612637756 7290412 943054180 662034566 47253474 899009022 486607380 173606400 628805630 110534024 954589060 65711744 291491974 963524834 906258954 711184748 95200032 748393676 7372748 579952538 238522720 695804966 662767702 843651610 773040490 139584 613375888 7534432 456230184 286755384 176146208 63460032 619567632 482705604 347383118 92635440 969905822 336303192 850188164 107639766 657416348 938885994 709432104 917901362 186277486 12094848 805471366 557613084 732639752 638187314 736216728 934708914 70724696 303920532 880623360 316034030 256818168 189042912 603839546 736737438 673302634 951037850 799257956 541188132 740550268 181663254 449192532 970340702 424869824 421999516 300440704 524369280 952895340 104747520 79980520 880728982 844561176 919295132 75847358 153932156 114738918 565506120 852816508 226949604 461933070 132096298 819870556 852271866 938315010 985853054 457878054 584625930 427987422 757961318 452032512 956988446 57536020 51977782 163524386 264692398 942698874 655519134 970962344 488783484 876047328 369439380 583660962 560622684 13422428 535884876 524402156 609093804 41807440 689823120 704111442 742998390 985134300 941922208 384924922 735906690 827600118 571979806 648285358 750080166 273166926 530311464 591865242 359896322 768613688 91690514 20536490 435131032 62220762 209615568 380336840 255355334 576255070 652802932 381672952 748293140 893375288 786273562 513701558 200140008 118857850 615731976 77971736 284044458 163747182 105582466 10842712 232901682 864286748 225011152 1662390 797774184 506970218 277988236 305662972 892402202 334161090 120511652 101645872 756796234 650931732 891978700 573190320 925797670 711583736 571841066 560399868 96938472 238796040 366384110 111096060 959191958 255743146 636907240 216993882 903123094 576040644 482535488 903509930 478613986 332017764 868938702 777540974 712432956 844321314 788922428 420293180 838947724 383975018 496882738 935907880 47610858 510236986 559959200 861787068 567346420 565980792 788656512 940041716 730328952 221466568 28366590 415281694 916035234 55764826 443270220 819326248 186027348 101750460 425287606 212346732 513831818 539920392 335619514 221140676 720934768 112739282 843096064 562841590 986062582 701116478 391491362 82973740 654001046 11224886 438962278 464428840 274028858 569853306 211106164 350057462 719390850 695401228 17012118 606661042 821203758 655891312 718135052 98332810 299480982 506547220 7164904 738025440 893004446 217433844 60013688 815809300 596422400 978672086 272497890 238298296 447217060 113570740 872718634 330234550 796490104 382433342 425777666 328630632 703658756 693332306 777285980 676056594 527985784 768542628 460163090 387976392 224165688 174339532 735490142 917419648 497787642 366449536 203497452 754083094 880490670 371174628 71863620 46318086 52776226 948249534 953594146 642055294 428565644 443235526 329354000 514621600 884487892 996626124 400420780 236464962 3009776 357257644 167217802 254043198 26737540 587538280 789657152 679390960 14173438 570451170 683173728 483407652 844612388 141259522 790321840 925177796 990897962 760760222 155782594 313315554 763128 341377176 446478152 358196342 275349150 239463650 20893704 932382656 74516976 445926942 575330984 890696884 992208734 912210266 490555058 439351282 210687972 455596678 802668102 872700238 68726352 814115820 496904110 900070968 607652480 708568436 902867734 841625512 303548742 19217602 296773752 164151614 823707880 926198190 33209368 831913886 603929384 359666208 877557934 957167284 269037922 89461054 993634584 66580518 596169636 294871210 323151006 647703030 143139022 980877090 12665068 252442686 976654636 381450156 584874030 199496334 964948980 343090878 111764920 275059116 331888846 828041974 336152016 327643162 624995482 404219804 879006750 383763016 983994178 608753904 35119372 37373068 194625270 843507558 112997928 408240398 471815410 812006696 800371152 992034976 142347546 484099276 589857708 486859870 543663808 470089364 389904344 941489832 393004936 333760446 777814874 849060066 947546242 658209038 473942620 107203510 10587122 737728374 331453114 289576888 651880098 571688228 819248174 296667026 177149272 334545544 632959718 369929696 496975440 33575922 480344900 450733814 690510296 690999594 280338214 309872448 276575872 859063424 655426814 455474560 772421832 544351978 163054866 827872498 37107232 44106880 519196294 983790802 447916952 170064814 99252348 684836258 368188020 498588876 567416302 801114444 711013310 186749710 894456236 799779280 123052848 197319870 33765190 493722034 387897882 672411810 46345540 944149450 279281316 477274360 266380160 999162874 593783864 216999046 945740876 508292530 59884090 379333818 569892320 864025254 807471358 392828306 303673728 767574562 418181598 850209184 326166750 80798188 409746206 857562390 566870876 451332682 432104844 814793344 521664194 910613156 519665194 286869200 750168616 173491838 769743370 320252082 942822108 827137450 622559882 554567980 579171764 940491506 494152944 850549728 278723648 214098654 294056456 776690042 253796372 275118160 333891904 231005816 486596024 644707570 864993272 368017662 803987206 229308548 11553776 836527128 620361964 368906520 795259126 664751662 889095838 616701660 160277876 218158698 534665194 968033300 953693598 296343902 791202276 879170810 364252314 742212428 949617942 980916220 21140416 635376152 322542974 958867972 979699856 553123934 514386472 497899020 548562434 366144824 126377660 808926052 155695718 664250666 763147234 325232534 107932708 516886908 706947546 988481402 366113162 938966194 623281464 420296398 672046890 91960378 278959862 633614166 934581034 184007158 5143730 103308450 562724696 385912690 550701612 646515694 344425686 706507676 155565506 406530944 423655220 256617358 774789696 374822770 30165176 245485496 779750118 498363496 441187540 408159234 757802860 121355192 697154124 563959246 101220056 828398576 220860126 144976282 486516134 887519432 179817234 512462540 21963956 775347502 663781246 369780094 479185150 287102186 261204236 590978352 991127372 507031718 954703338 387146086 193209630 849972540 61959456 667055962 138990034 826327140 266184808 57464142 537481986 272436410 159989506 367269320 947128512 790574546 375481672 132965722 304062330 390933490 151940882 343261470 860255492 821464180 590502718 379449250 729207286 403641228 102795232 751487880 410231520 865076102 290386466 276417322 641020130 295106688 209015934 782737696 283295562 535904670 248660660 170582616 540428454 202228496 551276968 415021058 351630636 374825414 197304182 434476896 970664388 435815512 406678432 379873450 911794998 374288374 772264886 113244884 307768788 186140184 304025496 802698504 989413790 369735036 896750436 741512500 16144622 900299152 267146410 532213878 647708814 900217248 73966476 426265600 832217902 334870346 174274436 620276944 358246874 481441298 538455174 658714476 635249570 866029922 118577408 733625540 747234260 414165306 198329100 875198222 525820170 137468936 24336136 250658064 891320110 671848312 856348868 939424510 822484580 698257852 341235386 446317990 411023302 97685710 268056604 864185850 729138004 137118066 513513204 589943734 607781930 624642004 807217536 350454690 458888588 4655430 629856738 594729794 458287356 15178804 704524928 485844094 115232146 534765554 279817206 215466714 360083978 444465426 474880154 321160706 100270460 946317370 195948766 9764440 650883178 360024590 676166152 599145868 787315240 504327914 755990134 249993896 924459556 18451222 752972486 824680522 351192802 839388542 881445444 665842604 430089614 917430620 632911848 730125604 797960400 57741350 406227842 533788524 994976540 965938480 137500622 206314288 937565282 91678274 678969870 379023592 919510546 81055852 934800816 945486562 809270200 863373570 448276878 277847988 439706428 518548584 543396256 68929912 844764866 776536014 119950398 620459856 729253058 636968810 408215534 432590526 164173296 331082608 991503868 330224140 57268302 516457898 187338092 434308448 203182480 938673566 288528350 751605004 867843614 688638448 433142760 467187852 109108832 602403416 658244372 115909700 423953050 61329674 207228510 672032242 315834032 984535770 271231492 681488462 82575798 147951482 306790024 598249198 594602460 72705454 553504164 703204374 61937248 636263924 509928478 257025794 51636864 175367464 265472910 858194946 957358890 31640480 480087618 446545860 126576226 950114252 605690878 861975868 829129574 265677496 684987818 428369530 413784374 991925882 345094482 537669154 6326136 591156354 191171432 676286706 2575620 76892104 64817590 535205614 358501066 320561324 286645732 979311978 83691732 597701404 834408804 340586208 62457528 177696040 824915876 861610804 995106732 425166416 637644638 274124954 885811894 69455590 43908612 718358684 801739906 7019750 179345108 299450350 47911192 394785054 608109428 402833770 175079156 974232112 575723738 172090792 485976486 374510078 693210782 767931152 592538526 779011060 766903438 235169044 434235494 65230570 21762966 515367542 72203798 888774102 440279944 1207640 661187386 916755444 416678272 700282604 938694690 704390858 524329938 586633588 290369400 412695910 439447000 746620860 238726460 758824958 449246216 354220494 144119052 320480388 525943922 175945752 599260330 127137626 434108058 166533106 704288744 487639544 805278464 289237936 871687152 871130838 9761154 210432992 408440934 578717498 692278816 873006366 583349160 384336592 769426600 749300584 411805196 413593244 158269344 949182198 658645938 591995622 297983548 415159796 644577702 733385544 869604630 362008090 476313834 764483148 131120624 54601950 780592548 480260624 383017436 98944784 103011192 540909776 894827854 670752924 604770874 540305606 364768156 530767556 6547412 713494690 202995192 718709900 128814030 364272374 232023554 674224854 855743430 925984394 841860122 756855684 542637902 474912294 118239420 302963968 737326746 561276066 383649418 635210334 344462068 389736324 624677790 257898616 324769814 397980214 354060724 128500366 254906718 647811430 820608988 643950506 498988236 134161066 127182090 976276012 110904872 964677194 834601232 12975700 286586288 904149680 42390204 583492894 327218968 535114336 452411912 302897896 906245856 449537688 827453512 853368590 867327384 228223088 376243430 731148636 569490734 762273762 988874246 987260958 694470258 695155978 635050388 533332276 963058696 355052258 972859180 116806300 250608618 1129968 650876982 817878396 1692258 94250256 352930386 893943240 350704200 363421908 868697264 262616276 72479612 770217858 868192194 914800996 357548098 339241186 677796766 650063582 311010468 431643840 909429126 321408096 384554758 49642192 655157782 605844704 646866610 949139034 763425586 144455486 119872946 386139546 711780658 372047672 466642234 855885004 115902848 974684750 205652022 177180228 650359630 605310636 60227150 501393526 683271126 277791332 383740960 515135008 406731182 533519588 773304550 91829734 358978452 328143126 864286164 42917336 612158622 368900976 367105176 769652202 47512956 222384450 33820306 485149960 895977008 302160374 71822952 874248110 714758592 98351906 305628196 889146296 543952720 934354392 41084388 537513568 13598760 401862388 944584118 384180586 335352176 434196042 253142294 632141530 296398098 321372570 89468606 818275186 787854372 413917730 85551982 787342882 176365372 999383788 162874274 476458190 159533380 449530770 640253536 612752786 850305010 788239354 45096764 12514584 749363144 700194762 725124860 319016176 342937000 654437538 176180666 565580808 574562768 451027112 242495184 380013626 809994574 51841358 275261178 101014708 865808920 158765076 368682424 155396458 804727454 765139362 565848420 996020810 336270310 686806354 356040162 941471688 828764008 368235996 568768056 158690574 399269848 904017824 321919766 940351028 937417676 17839864 313276 558645676 48082650 895739378 575781070 197234014 283417420 655141734 230364790 425138512 319602124 309244932 584772432 932620512 597947494 794419734 104639566 310949934 64570376 562721688 96792036 429549278 484913730 119538220 196542826 718672904 551552142 444488420 971045492 566964396 579970802 105254200 603976278 314405528 879254008 320481322 714577888 243364912 853241378 322938380 730660040 548431750 770278884 798974142 563038942 648380018 307330236 35396764 71709916 981883726 561247582 831718460 715261876 776209128 667579804 582823932 92477092 277152956 139882012 869961410 748971960 525757432 223621390 23749736 710327978 212653170 718154542 309152582 311485874 374246986 737184138 362371744 283117288 867676378 139947858 338724696 400335084 54360420 915880564 486596108 868031526 187776428 125456328 2504084 454851936 96613680 336093668 500239564 978895972 182502536 76016582 810405556 336318938 726529918 190768724 554641338 862883580 185956780 722796552 371616476 295314210 705892908 683041940 795204406 159353930 811978236 770387774 294655414 638146498 900041140 501024002 543043272 356013994 44000358 947417824 450469796 341138890 984486532 887666378 586613002 366717992 418901116 871321084 104823144 182861802 425463210 936367604 34076048 698832212 576390292 252530990 276417668 224404910 699705390 136695932 397566580 256323670 856562494 366107836 424074010 204797468 872974486 314553502 279112812 18083034 729702818 414895968 63028462 667364650 539200874 372648698 607535470 438697582 325523638 116363660 99172942 580394590 282950820 459839902 339354 393441224 678258268 471944248 734456356 389383362 848776444 879563562 371181224 186753376 576020140 207055314 199175138 855990418 801888402 737357286 237502844 491842092 134977444 477001330 139400386 546172642 279201668 716208382 615425476 364933388 918319554 854678258 883674246 834288370 876643394 903856506 776354676 584375298 651705844 664865922 201328804 354997986 74881606 174853156 734201400 196711896 790010392 431756550 724452414 838269680 156230878 315591312 330594016 664364076 468271278 959313602 261688624 774494894 366527182 705758788 896287666 89915520 400756254 774699764 211333568 790194026 570763536 773003694 735499416 987323402 646731632 408542366 54156930 41118992 282872224 27712964 398042140 727763748 421168040 991253232 825781648 647619038 663796758 517973992 793823300 453602984 278764490 598616268 227427870 260204706 465445574 168861838 363310238 922004346 634798228 470038498 987196638 104473784 487762348 727904228 789419194 298566104 852892562 100276742 667899366 553747728 735917882 105748228 549571216 16479882 261409572 664512278 472583494 480293204 845129176 789522546 731763198 830022950 215071520 263917746 269657670 806007664 418722182 598553476 639718690 855626780 743657820 861340766 318782068 799479136 653698724 516807984 891176628 294840614 899381240 318024406 228567894 939624008 759098812 816936328 363743908 459158250 437339014 481984988 721894480 905647452 173118712 278178618 821641500 931267120 128616850 34960402 588052500 814252748 296865862 550702284 998533496 35671444 490767056 908309154 77412106 222206212 252783736 493064630 643377324 62883470 488112790 748451796 712759298 76209008 403817988 232508536 752084848 783705308 211411086 30186618 991329560 786591948 833142334 496043112 61041526 853861246 762351362 646885260 641073722 584491288 74667024 8469652 153576258 421859496 540353846 985694766 58530708 297298760 220360228 283755016 733427812 294634736 747933914 966243754 321475538 685063892 79314804 967432048 272755876 223746846 732902772 239452622 560324684 421460290 685229478 668699496 344244310 646986890 899996414 717941118 385836016 682395380 704289722 18511136 695060682 257598484 46952140 195992654 624030378 312386900 170471838 725875818 212592222 744612152 746814044 765675202 762514464 910640486 54771832 508898490 718826500 894224442 707169498 81019746 582234060 637780452 258855802 416106476 144131954 652439236 265298512 623872480 206062236 230764238 502639994 265974958 130452770 383261282 27956510 350838594 448046190 179736712 863758988 526324356 861265416 119508592 543779478 304115562 153328902 598713114 884478070 664988758 188553148 969964966 227612780 808621982 679674024 539547866 55189856 402686204 55766764 937040834 781157814 331033220 388698628 846625412 112479568 919147746 556810568 431069434 34128378 494242856 690243696 636113008 207690610 974439668 884647662 375354848 810404990 262377772 704836190 901650436 861973472 105793804 693307450 848644744 888348800 329180256 939056414 455984154 936482308 728463324 366316202 755589076 370009664 459290296 788910450 350953116 93509180 945681702 208488938 395049472 517691940 458451660 234768374 98822194 180393802 44815806 540977030 306936118 621882716 5786608 27790048 874905372 732287914 638762872 401172110 901729772 918450984 207065644 63103980 594708938 97149340 921327730 339860704 259334400 991403468 86562266 161684994 506242374 809309574 783923722 802503948 428685346 290208098 852031932 435904264 619908944 26224718 910315838 909866736 735070364 453722106 470557176 145659430 742206334 900419622 320101064 687697644 937620878 886917888 541633630 409158096 223059436 23438620 141751772 828999018 952375146 192530242 439150076 572785282 144939308 884423894 713928198 680630910 559886930 471958430 122577362 105075438 619209414 177233528 795031126 456792178 666301566 658948668 8899138 281050582 86440398 336819350 942749848 947681052 229242320 183278236 155815234 494880000 395434974 231951842 986537220 528986902 367372708 419771984 987539232 585340886 666078590 264615286 833738956 882892214 736402520 754479976 399780962 519463882 571400754 876364558 520058420 314554720 63560084 576782312 641686252 465073122 904306230 783504080 345217732 654569144 238052240 979236174 341744276 878441082 602145492 847820468 857931784 558673352 361735004 269048250 968185840 230067134 799516638 897592848 702278606 241109158 321331694 586697986 560505826 981381684 175059424 706419778 773077112 865332616 77934654 40505204 872891496 661748728 996724314 652988610 675917226 189801080 880474018 921908608 977269754 872668492 180791966 566871810 13042164 383476022 712335552 893560798 722890920 424416792 73993914 124432530 324277062 485736810 537862652 172407520 850308086 408176964 42075418 95041126 31428670 651665846 490847374 310729540 201027934 436350748 196806472 905329922 592111070 858437366 372802410 3463120 122383022 958290480 421048588 190030436 301335560 176861810 299718580 655558960 152111668 311184280 6903420 667307384 530201642 194403636 23758634 728484938 968165508 950579578 13816712 974997010 415075882 138105490 438981118 975766912 920207850 639078386 828156930 249917622 993872076 740254198 339517480 333257396 953496224 980226142 649651768 451483336 836750430 708465236 876134690 415866510 512947344 263133314 168840238 928901138 364698368 591699582 962809042 462711664 679353888 139778594 744846996 885651886 52510746 793421224 262061252 34096194 568422200 538247314 889067508 296488846 676869074 551984428 636438942 220109452 864620116 102803112 560919844 290122092 494261296 122187056 835221930 922103842 78800978 723673840 355806146 604930096 718470036 971526478 492209714 351935492 676532080 473004920 727826462 732125890 530200948 100010762 385900466 261677852 596692776 793717490 96294642 99093240 366507732 226535346 105854274 54321476 868587458 630838948 393749398 68115576 436977284 422893804 23815800 230121802 48759674 488138094 647206522 841179936 346238558 551671734 121089794 856351150 34500976 259843876 550254160 787891256 765342330 837728346 588892454 68684328 619918538 302424102 689858276 107580804 189066520 615018282 127796492 293170858 768215626 585462546 773167478 142533102 990009276 116327564 402329824 306950118 907075342 386340112 415749646 153074410 983445060 659409940 581304388 601466374 266627676 113716528 55463670 204077954 22904230 32226720 288569524 847156502 639011428 728976908 891342942 215733564 425001204 853334104 57114224 93080018 606076206 852170892 518942914 349554260 316768558 588599014 3087788 443584654 926938296 390535194 766933830 255736768 26225608 285311668 353167984 278804294 941909810 609676460 619023298 983494944 54019100 902892940 582358760 875696330 905523052 88231950 897212456 978390550 168596602 649678758 757185596 685514988 916653668 236700662 300716696 286338430 400040472 587979762 676472228 647397512 599942752 276227606 744285866 345661600 494723270 786700926 691657654 51221094 171122944 62966860 351412150 182889030 722620298 149176984 553797478 595044560 354318828 628492772 894282514 729564272 434456900 295848994 712690834 401656748 616849474 773296350 597907348 146326482 455323836 876271944 900056550 510857976 725336386 749787892 751284274 119292052 403965554 193703902 325463082 897020800 24357818 647522826 729700076 422115114 18748098 595668688 346052450 172692764 729069950 842295350 723966072 600038634 694167758 948195290 922751386 528349986 574104836 982202886 409626940 560375784 830908538 410419602 544411380 134903696 153355988 850489250 995440494 317650894 220331914 33018160 741961086 291337426 600549764 303757532 602790658 288016066 823376310 13575356 1190410 361843054 278470724 833847412 858159526 795696782 706722152 967996906 998232602 30499512 349798682 616574314 784863204 118191766 782734136 822655622 22317262 631370574 378643688 950947270 116572554 479864550 644861246 164922470 397298160 977879018 835423506 6264626 851676316 36838170 373464070 884600440 998548268 83584002 363874688 191624534 280849764 237816712 63829060 838217712 537610946 246807648 133661462 849981604 538948170 393790796 306576614 415691290 892265668 55010534 662978888 347672106 144012704 290361066 773726356 422718144 492426448 836731630 463232094 410739108 581103110 32968012 138760840 423458220 39218022 40184256 826442596 209287246 424413930 282133600 88230128 209939680 546480170 43987830 552969992 455138534 586307192 603026632 62107088 864412830 5307032 283223722 944658602 397603086 613848596 404472884 116196288 625149414 562582548 408343338 871153940 419766760 918014698 444795320 983999322 565979980 781850058 121857894 400023362 36435564 81895590 688204746 116049126 253613814 528436756 260554012 694823156 215053048 253414782 251750976 437639442 783441680 303890870 965640152 695592224 573511904 712552760 504371156 825095574 242325962 977259046 149641778 370130050 799075892 128460480 10425224 589766788 803112896 517253650 651673030 270963276 978428214 398090090 792311646 572613136 185543824 165451380 700822912 831662766 310197512 602897082 848125526 316071614 990190492 181346108 796353430 517395678 389998878 582739556 990667600 56941130 32934946 406693652 54213424 33791128 916643384 718898414 676077570 599228048 356958080 220164356 906389518 232215616 708788570 665696910 880337690 947755216 827581430 391190448 958099688 384575744 867848920 586276316 276812028 904978390 149231548 57077664 215742330 660499564 235252588 45988732 816799218 781595572 629167452 753657916 673766304 938625688 148408100 984920362 33313814 334989834 394749666 410266336 685665010 162153816 226849336 382201894 843398332 599759034 528205496 435584676 207059156 809026362 368916986 109301942 414505128 454590446 17788880 727400180 814027536 418622270 522783660 726368462 709497270 576315274 842767248 881395612 486361296 645533434 518503770 281683604 389253512 237671378 630428178 65770938 133657574 869540320 295895990 271767106 105212434 338160022 522690274 148004632 24566776 691575402 866121054 404150734 370705444 401173338 13298544 25918602 730818310 579987288 692313082 176771694 728617534 439862330 861643650 871802866 321387620 385207746 780674958 258766012 874731894 216477742 86289908 468969070 316878330 547952518 354943190 875168122 80299320 631202796 179065954 831290974 416714700 287198432 912861976 936640522 739055338 786919528 570836650 834865244 196858052 108872066 999402862 210883544 481056676 373920324 676815944 555933434 593793218 188597202 62968586 231564708 791164784 313507906 572154568 880967044 497539842 252366586 592681110 602352988 943816654 210394112 289812118 519061712 30050308 683895790 969914816 938641662 364301202 23931104 633871486 251741032 696238236 564062256 303712052 25058986 121900954 192747648 963062176 290034696 698391140 627365652 277635274 674922554 431046460 212445520 477683780 610882514 272768202 64413730 43579716 585338756 567713724 87350520 247833504 458650574 893630460 958520642 617188540 501712586 464400164 164911686 645400502 618216434 613840502 558850966 825864326 282530202 912027142 122157132 43106528 738000898 812272718 810352810 66585798 945618666 762801232 755760846 850129918 929423056 468555140 38002938 861362172 430589474 13920894 79449230 713361820 636174320 325297226 507882216 495567722 153285622 366813268 419389096 810870954 143290338 790052072 221173384 380626438 110200660 15536284 567489006 410894364 985395792 731942426 80259992 395620292 812945900 873978982 819692562 974022300 669043198 641073256 564104290 640846630 885490880 889798802 909765780 234853914 485792574 283324576 195927266 564540534 110513928 759841248 801709604 319242322 887832710 407050600 622936922 726075106 549143512 193449472 368322010 112397618 21140958 248101778 565188284 150886800 43012522 252593956 17871528 299715928 363260508 20684340 691580072 413261206 877804154 91181836 338129442 102315440 587507794 638985154 533549264 368921868 275169270 975077970 90089026 812257370 534849612 291571616 16512284 345029682 134777666 252143698 355908014 356751716 255051216 384202988 359562396 312304554 576717818 800597068 427102486 558226670 721729014 4608018 140876214 450229912 884053586 648888768 936763426 753472768 970818368 881382810 966052658 162480396 119103942 146738868 698250540 563824188 519038054 656181168 307837942 888320348 970063862 686991430 952151652 822304306 839895526 613115480 849931300 738538318 32473762 378173946 824042880 117409294 408036116 848982112 519740838 72665812 23765934 967599560 984007544 841822904 448905454 819742596 517813046 398305248 982007412 445568190 588607502 569890954 88314658 18459104 145805066 873130754 696088304 382744428 792841826 274304812 350653800 240691724 80219962 373184750 237366440 361283552 443747608 526515870 238127578 376257544 453039548 154575966 985029642 909114790 566933800 853343728 480967596 573225080 419822046 335161168 66168738 565142802 935456870 914249828 172505238 442292916 645799952 544978176 198967678 35623720 293868254 123485058 442470456 438105858 470031490 225085866 348387476 422704988 40937290 212454396 602824654 377505032 357739464 219030344 192906910 421639982 238320246 165897340 497761014 565063938 774005306 251206778 497484406 129096042 259711630 338461900 855209594 307860924 766164692 27801922 703422420 253028272 81207792 960074858 948623202 17921056 379425926 122769642 19398378 444855922 619967862 234885536 701690074 581259226 105779544 488127036 263860028 258847962 404248374 23314034 680844202 736023832 814476324 607521268 55167560 6198868 111752060 498360584 856271454 28788404 103818356 694882044 742641002 547995702 763491410 384259220 161174290 918173902 267956894 942523540 827314778 548599444 511568774 477730618 675791506 77577218 294304004 662997052 963625118 973360276 275018524 673697756 500750486 378326632 900923786 422034040 561241218 711031106 574543158 965793780 394050820 745322594 328181166 838293618 449286292 703964148 754492008 755504088 602547840 730681714 239792552 152296776 888722606 602549706 278223148 281862672 655145714 560853176 103871780 866563036 577964518 232296762 947794438 119866534 386348216 316346204 847756212 478919692 693921466 964728696 152836336 719782088 661341292 596566436 866911266 505260378 71520102 335321828 438192904 492052482 270740148 972494628 595253744 469497070 141050128 578854158 400498412 847152732 821497242 93957460 522821652 469412350 506927350 34400534 940900674 549505502 975937576 733982036 323096046 516105836 23924858 29858056 670882298 744748184 718311524 316874370 296054562 228676498 577295748 390357740 815865082 539413918 356111400 646965986 128174900 744973512 468122656 184904890 173779904 794592170 514736074 767669248 371974954 868156490 549833986 611063500 785405704 50166388 997149110 991156932 684768876 222035794 27378660 481701654 821552148 863849600 948764722 258232046 82661040 545402168 843991180 641242492 653571796 514421016 850793058 304666092 357290172 818246426 430986428 340016554 260600580 603779948 863859138 61302884 184732190 642467464 492984012 661015240 100807732 800577786 561814868 214441842 844148520 932114946 317467406 586906726 364815176 199019262 310453824 776113822 532106150 198502190 102490166 472544732 122693218 614453428 438796198 622016488 25215356 534907204 187112880 967349090 710364264 664012452 103926298 508693118 505746246 811393436 133775406 398454668 94610454 79586188 195067040 938142990 790370086 155850584 707399348 645047612 323674134 999839604 61123590 271520302 282947090 276145278 964510072 623159938 364049028 445530348 613773474 826400800 441812402 600067410 609536122 965835030 698097198 104272256 26881898 409913316 12539666 306359196 298135724 282988270 857464532 731436788 790128510 868243330 860365714 47560734 497422572 952750410 228511338 853729102 787276194 362109574 207791920 110983784 57292814 584419302 479514936 210276816 698940476 669394476 871192958 944172586 416595552 583390238 239218452 225808186 825283918 621760368 279028856 310571824 908415628 765486860 257338812 611261090 938176400 148281302 572175922 468663008 721535366 162819218 216828684 174735792 483399142 345040688 720224008 721911864 424047028 706215616 834696050 2961182 335316660 535911546 829214592 122611632 314919066 138987216 643309694 948539900 229255390 158078454 175299792 466967972 325701488 61798156 24123456 602799856 799458654 730790752 583209176 899117938 316284556 48833710 360683766 753804382 71792300 973509426 572068610 130063214 937089428 204704610 57679948 15025292 415878776 512119578 479130894 854847196 283095198 584381634 55569014 432153736 141769162 153560566 519737782 35385604 658645592 174667980 516623606 42138916 569252462 18388102 532783736 300190758 768894692 269882126 733666830 714514760 413904980 81897108 443205124 217187238 358206394 82009000 65061626 146086052 798029304 542548708 549691420 340351110 98240518 127312474 735170106 737233534 920611518 612688432 524671472 515035318 136447878 99854000 728260416 406362784 726283168 642912928 103405848 854672092 178275920 731646072 154954902 633625854 1385636 947782310 555089734 72315896 756253954 153577666 271234910 125791652 410482540 116516362 83977626 35067494 726878282 504058874 721799714 420416776 226299242 34037388 275186014 12210434 742567542 172344386 446566204 873385360 978732876 676791900 913367792 757560992 203918070 329381698 624673738 442028520 269693846 596937678 564936568 192314426 295642844 128101084 520316120 245718816 487776806 357345432 416476334 63543440 547136966 830471738 425209058 412345608 154843102 176780184 707822092 435129028 648772258 469904640 914616976 633301222 429569338 300200998 696827808 206139632 146556374 957912634 70316658 229325330 15179516 919675530 218826756 653137624 888593314 218252496 992576588 860625300 449329054 215049654 295030070 822075534 533278488 672909564 221766468 810256078 234865036 781187104 569439302 238946338 596901822 707550502 766884036 467874154 171462694 124407810 602014892 392277356 760970686 583680508 200818456 327017354 94914492 572331892 741722886 702882088 810303580 687548300 259355996 997357510 410011564 47197184 37509014 884579878 392128814 701836950 809353988 207674948 376033774 664199110 913771018 909766510 839177994 682775142 315458136 834056978 445561738 902708098 377861320 891830254 665720516 500403970 489723022 292682444 314904620 277939990 972722240 143580808 344652016 443525336 849414284 18408316 570239028 907791218 849100458 497948150 842291426 743102584 102007034 153794134 881651932 380954424 518315418 806434192 360340728 115236472 440032776 221930484 214658878 821005032 316927670 25330212 535340522 39026066 562312300 175395926 48925324 144332274 529333716 766138002 561670932 501511248 65002244 426163810 790248180 663282576 459030984 93322164 156184668 848155750 514826184 395305640 160342852 633647870 808519628 506357432 914153256 762914996 442311190 297196780 330612956 844548656 630551140 280147538 843290332 521098356 183232550 289370538 615701140 817707774 716993534 221675158 173787118 285954180 583070470 318016780 784845748 632542186 959899662 266271976 895188880 608283562 637067232 752394012 786599954 106374066 345239492 824803808 328628348 422012514 674540398 851417530 331157768 605002344 115706100 443348558 720935264 282014470 715702066 805768574 20730952 127709486 344344280 146783620 767135336 668657820 262693368 184060822 846888164 51287622 229673988 24527264 212841026 282290986 238310636 663430136 576670668 600016242 895445918 575247374 920419654 231625766 876646282 683642032 420903058 892194458 203177030 84925732 334205074 927253096 999836970 594816590 535088548 197217380 970737226 833249634 587814070 608097718 882372984 634080374 890735468 815116664 663232620 553429174 596534428 413012986 602054888 924868810 256604282 744099804 274964418 799203104 961769354 715325490 592135368 225764026 367016190 229408626 821852184 798445692 771149852 206411438 98934664 778031112 928309302 40973560 596427776 489401816 218121440 667706540 414407980 142553188 954181422 536233160 487154798 922273298 383345678 959453220 963703166 424458334 121517862 919048840 923932100 868748408 136579892 452121148 20407828 556056742 175270314 102176158 6162040 317988324 390023614 484174442 392525852 355023174 898574586 989245400 640295190 786846522 121874246 587299530 384895138 100521764 209144332 523229342 778338820 586218344 83022422 665536124 745283562 679517062 148566530 130345028 896059404 773237134 465973202 920606868 303430216 248173284 404437994 154170034 433397564 254044170 110352962 167331876 211263578 210147684 46243164 409440366 274758244 51830544 559486634 650065710 679059410 694012800 353712740 204102752 322857762 110192976 889351604 389678698 463058568 372709900 658574070 950441978 353091028 419254186 398071402 970399106 281269278 662840080 540064458 615524400 331913594 881968130 815806288 607564754 217050988 940928982 679243966 662240240 381743156 77029672 769092040 468719580 164214682 502068902 335760518 151906860 834105022 153532584 818819394 966698014 225204568 896877456 157126660 458721038 315224916 500711528 636776822 506071220 320737040 264386186 611136144 479070702 459181610 897534718 141095770 909952650 855696428 175902462 486426532 174307798 65103766 82985952 140977126 256297070 604978234 765575570 942425656 847848582 894740070 84001710 851500436 814031422 233814586 281220102 822886868 861202112 109120956 167187810 339343162 489552208 233229946 776341850 890829330 961420246 698216920 650314162 549965142 79332268 471988036 65637410 4967136 977803056 290625370 477204606 332322900 730525034 382426756 954623808 839105502 989826728 451482402 929667734 14932192 223367284 98249888 512483556 17524110 502578216 539709818 755835526 927591634 452838642 223685698 543836112 363978556 659542500 492149078 925708862 738507500 763007852 999097604 477588988 962555942 162486212 903195520 731917320 432992088 908754934 992692812 708267786 216399074 757644694 248118732 398530046 316559806 267046140 497354128 697891728 901206198 703287992 7038376 429051538 767626272 160312812 907295546 606105350 579119324 439476930 699420380 99427398 237290822 837844292 839000348 686648138 665901040 268127734 928821232 57995184 997180222 220776698 512078922 564192768 282942020 981266128 278616580 836946330 713538108 160260198 113408662 585859374 547934344 911833054 544077624 298885740 740113362 433230828 890076130 705705048 155542956 744205358 304420764 119048030 255410244 749464746 16729776 754321430 501033004 534990298 548025430 70079678 292293038 360631968 134698956 889826222 572268334 425685462 213578852 34535502 962086468 816362620 699953418 297107742 606903010 598730076 45546482 503352120 852105914 26767024 794228330 944400352 67156468 269731518 924272342 967590988 313282714 489751270 620062944 21847866 45160510 48478818 428533274 341693892 80743550 730591260 832931378 826731984 343638000 481227344 522194136 384225016 598031314 636696294 636345952 507390592 387165786 169985378 321189630 469026266 339794208 908341788 216011424 812035668 428279808 801236588 650787314 732943870 838939212 942595090 537157338 675800562 89018680 421439566 100087426 974178266 864370790 308437124 513570408 6995122 134564784 926373406 383513328 910797344 623855652 458404630 322557670 84508548 690217896 906915320 756418506 621065378 15277042 485757828 768665838 809662152 305788918 527639558 487267706 281972246 382107436 663964116 928999182 655727606 316907508 708884782 67678736 629758020 335073610 315084862 228627428 953549786 168196494 164221968 121686126 641475638 684580736 682246952 586626732 132846278 324385306 386465488 959982422 650264430 312432720 100254248 844948150 127315440 241953714 960842798 401001614 834111742 538989394 438191536 535223132 831440136 258471456 767504328 984740484 492980412 937287456 669435604 759111432 485371850 261122570 452259750 238133350 349488404 908203616 485462520 943359414 867135638 354025238 118172200 176849480 847867806 911848738 669166858 48367434 28300394 485293118 280961514 191880138 80985018 414688108 999069806 372298110 505046472 811204410 714456624 182997076 16706426 939221910 454376008 60485272 823865184 287633894 647760128 495691574 183426488 711099824 353098682 447289362 564985522 622561846 767048586 606808376 287441504 802162688 760270302 951261598 110350836 673624424 762413914 88959932 290370976 172776832 274363082 265084506 965542506 67145674 444997714 865316122 387714712 666268138 172104268 624896482 778598658 475843976 696326180 135113314 853636236 480343518 639872800 468650862 688405042 556764314 490365148 593705764 652840168 207850812 28087942 530492406 338822418 132809160 779070076 879945418 559822670 795812760 650967498 690032204 179361642 471187808 332208898 565572338 869180502 70163688 615736556 446583354 781613676 830268388 964858836 889226860 397671346 92034422 561622020 526680256 840792048 670124684 651597280 863051984 415620640 119607818 99718184 971390092 301299750 158383626 456079620 849925900 903072634 564921476 813816868 109304684 414949960 386907370 595425704 411484426 352047474 387935268 900989476 92258170 744091838 677799962 528478924 578248818 989383692 58468968 671981202 648971212 103182556 851374066 113431492 853592714 538509336 239699330 219588756 996241864 385801458 577847952 591930552 967737342 200791908 585655798 251979686 627555212 898459136 90473450 581253554 757795570 418764290 386182142 379466878 458068878 908428562 235300404 343283932 732026364 912819572 42008586 947934002 391197972 535305578 23883926 778396320 862907374 803525902 672553082 518867220 554164196 903480336 792869956 389179054 394976240 769723456 552562028 266693484 371919246 383536020 500877686 204659424 672753890 274052746 307678582 641767154 164863766 209651376 624614420 235183040 474519480 303419680 342331434 44941184 229233682 156552762 995541732 287475302 975467994 853437242 878757926 111961024 366411516 451156308 938061412 926856500 25547230 971266654 797082568 76043036 116027550 69974754 24642724 571578122 488202894 304477628 18878062 205032554 578112362 414569278 396386996 561621398 959621386 448306778 120547064 900347556 366241358 867839148 775977720 321895124 877074326 524339826 357008462 39536586 134104360 977136986 186725094 921868366 128093948 390203154 709947618 443598436 397039354 188976302 47209460 626354378 974285764 394850540 888624880 7117928 7830956 55561758 731499332 595010606 415852154 69458036 983227318 328006958 901148664 577585004 253123922 306197256 883879842 858538560 207696496 296544562 127312410 189618938 415891686 999780230 328959024 631797142 170568026 379580520 439836446 652017980 159135754 695446996 301965904 922294860 337077182 991121426 448251134 177226644 6566532 318453918 987785866 700843290 419153306 911442812 499643996 527089346 995262950 964068042 247888292 70838048 231473676 944367636 219466028 74254024 314633738 427641522 144730528 285794980 318424882 931804274 809205336 688804620 138545130 538383724 726669740 719463750 964272580 36099850 849824042 61724752 593954702 863962332 822424612 574324046 475353632 565710054 71589790 655354526 594329836 962436800 140111396 989050728 486290340 470009052 649755904 17568874 784049358 619426350 767768862 320012682 310947774 145615590 351595212 68508830 57013726 126120244 212820666 737441820 658316678 203612696 917862448 337530876 177424628 946076664 72930988 722821210 500898144 248512 496804230 327972536 928082384 894935182 543635328 143277802 945223638 209432650 246060396 521964332 705495584 607991972 335793960 476152740 935276928 620179842 261824162 566499512 935043636 327797938 529911916 726075312 537526864 331034820 428903288 184828618 159647378 563626820 748253296 208388638 814289612 160433068 157462374 26830988 828284422 728562174 83390386 278496110 711341838 970294582 562553510 219250508 325102148 69885500 208473644 667850260 256257050 461866032 636523542 174841602 275579140 209052702 26240610 311397820 435923150 229554288 726490858 979410370 870057494 961637040 234129976 435919214 105082910 451584314 528366896 587354026 106127380 550394680 276591196 998916642 631758098 859676 595787678 875399866 998159078 852671898 952029024 510490706 260962534 40062422 73899244 527344188 215313352 161601162 336667052 513655136 481174880 979398014 853211488 530835232 863068138 521600982 998286534 872279840 930054040 675768084 599464820 625249076 919648618 674171918 792229628 276112772 942218014 900392832 264476286 910342912 608487510 698975808 876688168 561138622 24547160 791360570 678921816 399229962 768450808 385877364 235250868 590076136 970499106 132288290 976491938 112548616 542542276 447322480 12566834 72941794 174376800 416017470 90909890 536998958 970375668 547217380 98745914 931073410 80680456 57114310 79708150 716591434 679118330 565365158 578463020 302195106 196651884 749633464 682745590 443959520 894924108 834197170 237897750 160396132 928949464 499823818 985485074 311726556 146137682 532200984 245497738 12802108 102285442 374551188 389247226 623749762 789748480 260536006 879003520 944898152 707113456 126773924 104780236 402677736 37329084 888365332 485249630 721407120 145502732 67331706 792167316 916544350 200090170 932237676 676545190 661314152 787881446 608468160 287347224 837845750 80608434 597312266 441794132 961519860 941240972 535445992 428677002 815738502 876206192 846143694 925720336 923286552 911670538 442031182 171572400 977776952 449460348 973327594 32314056 32565730 902346244 251620106 655657246 857387544 367143968 439111596 757742920 474381000 590055452 235398866 803448720 975838424 502637132 469232176 233433336 143406912 311990124 956694758 605487282 806921522 848192418 245192128 365833800 153191326 675221092 392156332 717390458 564769166 763908872 986472738 789680606 388932390 834414490 874189660 581202800 778645776 479512484 379385004 182998902 145801706 596023298 153249550 965178322 251744138 110070092 821630140 155908910 92814348 292781812 465933962 266816194 805883340 434135858 121060168 299254710 937494620 658814740 286834168 71909674 113144886 949456724 402733038 389857690 959216964 611112314 761525840 407946374 407335510 676911986 576176344 404792880 930941578 537193546 492642424 321840152 800680668 306131546 990787572 112490886 230933198 560256414 700261800 980364552 885191298 296386254 476386820 488083354 654025934 854821470 862458704 789267188 737150766 720992528 820291362 315145472 965885422 126836356 724378406 456589874 660864692 804717354 960476516 547103336 878033808 816611260 736784384 538822826 859179226 378972440 161459888 782981084 47864296 920607198 823717470 900168380 46174552 900883258 268729540 322338698 46464028 994905748 709931866 939464166 639233440 917337242 893245198 228874482 447267712 765833260 947556768 576443090 114074476 102782432 639396868 696862012 471558638 126220438 654276310 772935522 782063466 854400422 366722786 554918310 545418048 242025218 84955162 836784472 445289066 182974980 389700318 197398322 945368204 552258538 138331920 203709456 81894172 478057278 279562730 525964506 662156516 13242516 543989238 861173406 20639214 284532564 850209494 328647560 334460740 309657118 660000206 916243202 76757046 901166146 765841604 487411242 746159684 323847380 771472104 283566254 107804746 842622152 764862088 212580450 473896262 826783946 223315868 942178146 870398178 968396426 707747768 694832298 665493294 522521558 516889100 544560106 168421778 13152692 638187698 10664090 546646990 345802872 971572058 940733572 840968564 275992584 374335008 189651974 934588000 488920746 212204988 444585030 788463314 836900080 607419276 366349976 621729606 695383272 111522388 346234822 175429196 14116614 894126742 210125012 127491078 242250508 873079378 928876364 857099210 165007748 240369508 763637954 97349816 586786280 193872532 150798878 595378114 108257588 320092528 82835922 420222524 75448286 517031760 609903756 792371968 572184216 35386118 81583892 637213030 484509376 231279570 731929628 318657662 471150056 484430012 359478932 23392850 375766806 280206072 429843668 647821538 112585558 884293838 821581908 798018242 787404710 264961494 929321672 124834986 96971190 53488452 438886742 515823040 330118072 292292312 562894554 304700184 499670688 871437472 725658716 620937692 586449788 191401106 350630912 101655916 150193654 135478140 734834080 364732468 633053566 943314130 303392790 253559476 578122602 770345194 113681542 730222586 917590478 843175618 959487514 319690780 609328304 943579950 21772518 136077452 200130016 693576462 1380784 284236046 46696610 832447872 27925452 946456026 647845194 410605998 831137452 968768712 17030256 627985860 822444156 626133798 626920792 593223986 378842024 115446640 131273148 990801560 965501962 331862100 589063532 974884480 255852520 394299460 752602410 483762322 759939614 786561830 787684518 496524434 642679636 617672514 218813220 989261736 363048244 533755180 856903212 610708016 354508194 649898562 169071022 377971592 318780590 873261052 378935660 672205802 869332126 507853508 49287636 220915474 434352032 143156674 288603536 590888628 500228374 142874490 687424506 942752718 727709472 960807272 758425006 511717970 177215306 83148542 11156378 99150656 341795932 769950702 689088404 645562462 412138580 471992402 823044412 3401128 73728290 60346404 16368652 61490714 569855552 709122886 202995398 982230410 672504414 261239504 170993602 759651636 680248406 756570070 13546924 923431208 133092620 61369098 934115416 534585110 880406164 807394198 263051612 549821708 315930308 585326858 422167550 807833796 896916312 469355838 464855148 88129056 875528628 39922534 308792946 249381200 279377808 86986030 708538672 249987892 100254464 553677678 344984024 328710378 876998364 881905186 933922180 998354596 764620396 698020558 966135934 89360642 20117662 722427216 994627964 803853122 16959928 345455180 461093724 818153774 173073868 931888604 420655186 303036100 760266240 958639456 616978522 896456992 145972834 929217514 203762872 475507176 275984870 79717846 216584198 993579194 888112546 30144144 853099086 935340224 665288836 771127380 338496620 637762194 448891662 796960598 809677276 959118402 554767726 122573916 438527522 550601040 445502688 561267104 460542418 512145094 619307474 436125756 357412800 817263616 722653304 448055300 773921104 189133702 755354406 249021184 959354230 572869116 969536304 427276232 920697874 63197206 563920462 83711594 359391180 51074148 572758796 15142928 622675568 842130124 137360892 390273488 995654836 63539650 156581058 563246182 121871598 233838912 239004602 340201680 187943530 271547772 115072912 411328526 721803810 5054898 724613790 425142984 361863546 33417694 92331112 465076660 851355900 166146942 898106076 582359564 453380312 862598054 395213582 715172496 118521894 730769396 461999988 889269202 27720262 281324312 973998060 270786614 330516912 457222796 590076216 191477904 301076786 836061466 464985940 662055540 144445370 191485552 493503368 90820240 587736126 782972104 500109184 895354728 823482556 562478616 365878310 853161988 311062892 193576288 106630484 291973152 793429864 631957522 185094820 959983566 293622230 636825330 851688790 938269882 167011370 827277824 860758830 945121238 563751554 62088452 413913646 210277248 358985226 999781100 852504518 218890350 31755696 561318062 547126602 925734976 932913928 470102590 999293556 3154222 790851748 475265314 49336926 401807506 896810652 421003482 600409292 579541656 38748740 319222698 101332252 443527770 610799026 467775860 255125814 770661750 983954338 698340196 450508952 52836084 962102582 140521692 407619920 529586064 774958140 792520394 841193878 188167840 96126354 892502176 602033194 566050928 448041160 905236484 541684192 18138598 413190984 382234822 424921368 878681294 60506168 771518838 172450252 246456420 734003652 598250188 133445512 419234424 150674716 997390486 343553714 627312524 749032944 698101424 378359438 585389692 923464774 980218632 702372792 216201032 681395608 510518736 649668916 142749704 237055552 882373580 296960158 640701758 23753976 624993554 507697044 226710686 234959762 124754544 837977642 338805990 682429732 322053458 369765678 62359812 413444182 572280338 546202992 563913212 525242758 635387578 682666402 70079860 942679064 873445758 323450850 288406604 668687826 417009380 444376122 339828804 494356718 302962206 769503968 346907624 724060044 128433738 442433708 483365392 49307406 879849578 5030330 336795638 237716154 289196610 880585190 624328668 328844352 836953504 776088452 851747774 40915870 548098472 958547042 43797098 974368094 370862336 175946470 43841158 177800084 39301184 54785674 791540996 6983588 193120452 411313436 213546282 110469160 499691920 401417712 129634264 558243334 337359970 714053668 235564030 390636508 234552798 811215840 796393158 100911076 51377194 401998768 799161336 234445370 921702632 414341930 520177598 936204472 550480384 236380312 110746648 299182000 1026454 106500192 547963098 350739214 757128228 601541700 216896232 683991602 626183222 467231412 513063796 629356176 500868216 339998028 580686428 297848242 840223382 417639858 616911550 562791628 60064586 295859566 465648470 96935252 686269594 905141034 436437036 509778464 580450122 309190452 767878910 626534962 880177640 62026416 632138842 421487584 307944938 937961674 727091210 465779540 106796398 168623728 972031456 763397774 79111288 163837914 527578034 912072528 751698086 886580656 237779368 248763830 653159642 743551556 705275734 187568796 466816454 136240982 30977254 569209218 498929822 917111026 555644570 493240474 947952974 441014726 50926086 744765458 464738912 309380930 543740100 125567240 963747402 998639006 100707884 730088788 205042972 834612814 683941742 684801494 732068582 427898698 561453652 575420294 888341618 737624988 243315852 831367490 374907464 531115738 291426308 416916964 1882906 639557322 338848386 434974584 938135830 722889180 766663716 616671634 629565352 68304396 934360066 822900138 384966690 454654280 634487446 346707132 863497190 77041210 316277636 786141952 952159146 884123894 371581204 896123662 752090848 710613258 434688456 84211224 278658416 513775982 203016102 578525292 552017126 343085036 527422624 675990238 557524954 905073676 484375320 814897592 9485224 417219400 790892148 686666934 214403170 449301594 146767668 962599494 581675192 173219242 611042710 259268400 318056880 202247760 952458960 866518722 591477666 557964766 588354330 323098698 471930538 909794828 941996560 457345300 953949376 361657932 492360208 429426384 801474102 835345224 463224692 529078444 794572210 997876364 33841518 498211246 698870162 650686250 901616696 246416380 668293066 121980516 501764076 14529242 151649890 637649068 250331358 812273848 589006368 441341318 721297494 13734538 259715032 610157426 630857836 747787650 982510736 681238804 25286848 532790428 470874880 33019350 42854232 475336348 862557520 577754816 457600820 138100610 305324738 606233378 221483404 613744038 233138276 605416804 526685920 762350178 384156590 898910644 488392044 526994242 637232598 377638836 54142094 651881562 427799892 424032470 323300124 649112208 219360508 997067492 193034726 344754562 57973140 324162226 496520836 642303578 195679586 286742202 123849910 927063604 359923192 677299448 837792130 466085278 355648430 88680382 623119632 627944174 923377700 860683574 525514342 720959444 357673616 616750448 629039602 962765078 975260616 929043624 57542870 695458100 933239238 828267042 547360624 784150990 666864604 476354256 794183066 153717978 797961134 401889108 72878268 594802616 448682380 862253940 927489506 973771194 19283820 293349318 581577978 116977884 531261442 377340694 462606398 696046930 650544268 311583262 316318224 127406944 206824696 306477144 310917446 386211360 539280440 570663060 746958734 463517056 932074340 708818598 966669566 483484932 669230456 575441510 74358478 870784978 420732292 854080494 99442106 167835814 286658828 494662912 116189720 645097650 763526254 134029646 794991226 639030098 819363770 584629208 90195536 438547486 829559402 413102912 726200994 406442540 468523072 128661792 808859158 92287556 715408804 875438966 294301530 118745784 176238194 961770534 145964940 23332502 795530000 690141986 696620390 87124928 88902262 259940186 209533292 588779928 44659102 94035322 277533188 605600138 372639654 932344678 79202220 368862148 501169992 407937680 403903772 432684916 637963790 602362374 364149676 29051812 669255554 764349826 923009086 884824200 33231214 743491724 494757086 864936656 785770076 544728472 900714184 644433218 495473994 276776398 702417292 795199418 870497434 380502026 403993392 386034762 181237610 965329950 515503302 294774248 933240088 8393982 740581368 381947250 837925298 375368592 82690852 244011514 442373832 886358732 851332770 461188458 182007952 151188284 272546888 966466700 917230820 80151310 847894768 488047360 597626604 545301276 952584310 587211206 556836070 462930636 63711810 868616334 414066354 244526008 690636630 737988226 356439872 520556144 381041448 213033340 912354946 334372238 681077742 757165436 903113674 603313884 851492714 787393876 840383126 72620356 96476152 682726650 569540538 423618978 231357626 515281278 161806200 175706418 584702784 308075922 128139010 685714936 908984298 139955440 905985814 716441134 858965826 405266506 513882038 948223066 815719286 798252466 731669032 578152528 404234570 109705820 375875622 859646888 756571096 254747622 439122638 655830270 957772044 947367490 549571534 808084846 241673984 582725176 667043568 766925342 117817770 315701342 903840982 35926822 954865144 626859420 560436950 801879660 610036766 767365430 273436130 363264820 779900876 433475286 261656966 246751906 807638920 16929344 987319462 404841608 129633364 539880434 565295728 414185142 220280622 11368414 680752582 862409186 70460406 337254906 212396934 57054762 323425240 395460594 448710708 836251926 529926078 227325036 241487650 144454746 995674076 568434980 256887412 598047408 419281270 14213154 70890632 197128462 655534410 725561160 959703518 430875632 572662460 651399230 723799316 818157636 290379602 14305466 227262812 642614482 541632042 779758798 738670962 254072368 769248896 428042336 470344654 797756602 75585876 367223036 588892666 859528510 628367128 885004902 22527962 902865130 669529850 537027446 930589632 685809520 288630846 752433802 349594902 235423632 400138736 921576248 721444650 692216164 804027692 599843142 720092962 481312946 53712782 740867240 482019814 681799434 992986576 89344698 30395600 39798926 576919572 628634140 749928128 456041410 698482094 641937046 264592320 737238480 493927428 1638386 148714048 627926054 335895058 927941072 295340492 85036346 507239654 480630928 180721606 556751646 147477262 44174576 938410818 23420492 820680946 655217848 495847104 785737224 947797868 910826960 863456252 357521910 892949142 990861496 766822194 554491290 410634576 178256064 105149056 484226076 396932426 173199634 944092154 29428322 687655596 678783262 29747706 769043446 523469882 978636462 789884402 298938212 370353136 264014620 961359976 97336034 386650158 830834624 45435422 77700524 210907544 534481090 669283874 680405056 145772326 167502998 492917442 107433716 178406198 486453344 785181818 897454056 65330756 453738002 8344674 895612350 347676354 463922544 868784156 620266012 404796546 971939786 948622866 907161460 930008840 348552836 708690766 755114132 294344330 72099058 77154656 378402834 676853212 652287722 911734086 91997530 938874924 794188136 615904434 189539780 589000398 298267530 197417602 72147840 528616186 843955114 51235130 498936288 498268598 355415210 649793740 386977448 979780808 355898444 423754892 595718916 468510528 587104406 288552088 880685046 569109404 223683752 139280724 27143116 373587278 169180356 183648196 909073408 316536412 244190514 760405938 84095506 835291764 343646274 965721386 780183134 756365868 472492564 943882126 962665472 308590262 163174824 318777458 233958110 199538590 145896028 477041836 572595282 285116642 582351158 805853418 725276742 442173958 521063020 743997382 616036380 462771360 809244096 73677836 490826538 593828628 655953300 79393296 898233040 561680090 864156054 214673202 881852202 222133494 296868288 184623674 653772398 955983630 818371340 963002788 412835206 499544260 787089400 177196416 503659546 332717506 80559384 560856552 673752372 382915174 138905168 540162932 681844574 505530058 429973918 577040584 951734736 857993736 371399428 812704338 350759112 568016258 611078638 28359032 555802312 726562324 626189106 700638838 165906638 298179752 217357958 380720624 745281578 172581002 900567112 665302998 708069526 698961556 310558372 363798250 339297778 815566820 191075170 898955578 793392990 725704632 288392816 252098258 503809674 436339796 711509086 643804924 852237204 265632690 788544118 753002920 6795042 759657336 479912552 741441354 552083438 684097792 486852424 376733870 609319686 145068574 551416232 230076718 451830256 791210714 355930582 983919930 978667116 206270842 284576 975245704 245765860 966508478 550649196 264821464 469642064 439299094 512919118 56685838 762438892 365215370 312492678 152899026 425862148 459993130 454827920 561699528 509274666 823482556 836510460 257941686 16913658 216012734 14538612 488099768 559232598 26110996 748032108 84694046 986195204 339050834 516806154 790584558 441080366 210458176 31945826 25418102 105285664 351313372 794200032 519307718 529399538 462647296 633495870 513516644 149810642 279261000 702327856 38665394 924967522 170074568 490849846 935662888 720585026 377399316 110608552 171420852 327599298 994890040 44533272 977222648 690533392 218535760 735229950 516126126 831026242 776965662 670696236 342682314 301526274 645970906 117044842 182672522 385510160 466015206 898939184 922515882 382535900 895608548 402887900 782623880 975987588 988680674 309262948 309201816 313340528 434633900 888799048 838752550 208708388 18926810 740497132 661160288 842109294 107090678 310611028 882591194 365530630 939048490 222585380 297371788 602104906 725889644 890442942 351344178 804631194 112978270 949159936 208453390 751216178 985977208 729962104 723652866 271544752 591238008 97337096 462856968 661679250 625022884 548215406 518058580 385552606 810882414 160206280 597770414 43571608 677394470 586911934 895006404 882314040 226034554 37584902 376898868 247161324 136435472 339367444 919560812 459049652 490366080 23696148 410313812 527604484 737439116 157969336 458821122 24718940 191252280 626191976 674278506 790794188 295676680 36947516 948712248 908186470 497214780 476031810 796716558 603540898 56123198 616663220 810851126 84422344 139145492 490470612 370459642 864481832 757553312 559095034 15072020 297196594 560193916 22477624 762083836 809598666 49841794 794573896 461646044 85621640 85076130 978657032 681461688 58808078 427305542 682239816 881909154 827073298 717950028 262273482 699003176 780632586 316608410 191770606 350045890 999767524 550396682 907037870 326220550 401548404 583574250 501457186 544551550 612582664 365390608 819573336 741477712 263993128 88825402 861988426 537082074 759695804 920871492 959016400 195855000 482709436 114689650 747863196 730526346 41856544 544084564 262080722 127671948 27615280 594599252 474861910 344613872 70638060 591497244 729565846 584636298 544325950 474312126 460977226 535159660 369275632 240433628 862369146 385674586 321424876 343455246 906264880 127173678 334616724 987094442 202437532 612182048 943257524 426367638 787636530 567260084 388838504 636329988 384121232 791346334 858131430 710733796 1519058 211628574 78090668 377631438 309031988 152254472 243704726 213029090 594176570 712718880 303598992 703206826 520172198 230159598 428063772 326345172 221717862 722269416 981681954 709872988 244635532 760392428 263158316 112938140 130719830 688717082 818237054 164879884 658017794 193247502 891328628 119266406 504870196 277993894 240107252 981542644 309419024 956583048 807896174 799504550 291639466 645843252 999755488 56043078 907032206 12774796 711691472 648853946 847583308 761068200 59068646 651738270 791513148 300103484 993257506 460195698 13586188 6053772 420596872 193892240 990080176 319066748 867780344 162154046 373755398 78565188 269987584 163867390 618731184 677922668 715951066 746843468 234562178 135598300 228274506 979494992 967386610 570879872 632716530 692633506 437364246 50479938 353304044 833591804 962141738 605968132 178940304 460189366 326180200 335097030 538249276 917220350 10951472 370570868 147956964 342665084 25573000 430491390 735371524 492231512 761947748 842512746 525827476 955833344 157225274 328961172 28188200 84831378 188997438 766952666 582362486 546636508 53868456 106406270 79663968 600019696 435411588 324421964 241009664 756408402 673905130 611572892 872719530 303760504 327173306 93465408 322539794 293899862 548773176 290601562 895082108 56114252 868918846 596900228 644134574 584123242 188524608 538203838 936178414 27757750 195441044 153189026 627954 237930068 801805440 67340600 875883252 89876042 228161874 996091834 785860422 904754260 206871348 266411250 407670888 390062454 857799698 434733346 259146322 329047900 783856684 969664 858620698 897136670 43544674 601558650 468855444 183540016 507237068 988062176 397238204 802141470 684782486 783030978 801158088 238980074 438496226 927358354 203973028 634652186 870406154 643212064 764515974 465832432 432029462 316474902 860580402 974223316 610099986 701369670 819850746 824432532 413468756 565013066 826522856 371323854 336129930 263868486 755578086 113333638 358670160 501702194 818408166 787892936 116166574 421926858 778958316 154398622 203903416 671266610 120287628 385083596 190014936 641887048 351277170 469639394 395604612 967695728 417167186 809624880 636776400 81625184 978477976 697105404 547564528 90490428 243300882 896867438 505064560 787175712 113404066 734373002 907360856 370294826 628930054 570922376 284879076 701034036 129367108 15596044 477209294 222612574 506119206 603822600 49300614 254721850 354706966 380676914 615541336 633141044 395700512 739562010 686583394 91400754 814188632 261701884 421001424 85258044 415101988 728817908 456123146 732841496 623127478 125250126 758475808 644386688 210993466 728061806 539314906 422080336 224154694 730779540 727741584 416527876 85524708 222060462 351249648 314569020 933973994 841381352 362811008 567402824 974875452 195932784 440287586 130348150 659442148 324451368 268458228 880609876 157900240 380455698 690859440 474907488 515377522 359565964 318864790 742609590 632914076 583276454 915304854 474317976 928874838 52629864 408300330 724093498 162765070 954695614 216842008 377762902 363023042 143498608 416352198 919521082 912906592 941365382 257482340 417231794 769284316 291980668 157538404 280219742 691803126 678235874 804879294 996800328 797444042 855743562 349130022 547712152 266594138 722804108 897150062 349923318 168425228 342170074 554991782 718339472 852764480 99986382 142577406 789356702 972656122 912539900 368223862 498696140 159279840 444918586 570665112 32945604 216778472 620604088 754388686 116898302 727884042 235850894 977915576 262906932 924867472 534002132 794302486 17634002 974540438 898472684 288405570 30281698 494253242 159139902 571254808 893295044 901639604 133259386 362122614 636829730 906056388 368618388 396109584 465692778 448762514 170368932 820567850 472290542 275217298 105266776 71034482 588249064 627542066 619059704 428326756 304448686 395501320 451151976 149489412 761587584 735971384 224781536 212341486 714019462 196076620 516925970 127875752 333703360 49065802 817754510 648557926 589586936 453370714 271770226 880246946 576508752 570980626 138333036 290968826 796291938 307001394 32257806 522846044 385796104 9284256 802186614 475542540 957347786 70010242 751218152 834032944 146965686 581886970 873774636 63722600 744969184 656456944 933641694 120331438 996828662 629350714 999954332 59608664 922650972 403720826 167321258 57130050 58106828 232160060 668394486 397208850 41642764 612796044 575943990 283372380 354937514 964964990 453262152 602060958 722363914 781402452 855312980 243871458 691095354 881095278 625307708 375268626 489401804 545610332 980956610 525029692 375618366 25807818 266589340 959347280 531572284 423560232 476220280 232926084 465863640 596580386 485292476 961737618 28752418 46439266 725745456 641988398 527877890 403609026 539722040 432220038 138763490 769600146 673124988 915159884 799760414 450693014 807587522 32977004 450413668 79785666 102615394 16571758 330858438 561583654 345371902 322690372 666951460 325595320 950944044 185229896 127484560 542911542 892865888 75000660 994833576 111858636 768053424 661587668 213305004 721490572 732349780 404371274 659926264 564942406 751111040 813379798 382598956 653576200 827034 392437160 215143478 902205140 735637914 598255294 793921898 423070298 360582680 342576720 455609986 940297702 671145296 47411232 29027698 824177390 463623924 403748734 783441224 972574810 590508114 772978366 64179324 347577354 675082964 76042728 564257536 644305228 705534884 514523658 563050688 888317000 236556006 577243324 139436098 271457706 435842582 381642132 158189706 568296462 483658606 45656554 62741856 534025432 956075406 223495752 104889262 714499942 421134554 607002368 291137654 114707206 131153452 222037704 273107192 378752672 827596394 390505764 848358630 387267140 958229184 53470366 451871852 873096252 644396592 472903090 236085966 948992222 652726392 287046062 220641984 337053786 373107160 792263064 862576402 57837658 825083410 325203936 563052058 129476510 941281558 267058940 185898622 584308972 691361550 78631916 326260196 530866196 654112318 530192386 835080240 674765698 158893544 137932584 696871188 975368904 697242248 301314700 946778848 444390472 155169242 404388626 191788682 301824422 358149396 293520488 722935632 839586346 558946778 950737220 742669718 286299878 541205604 711063940 81317862 860911020 413562572 843982068 400369384 396653708 342993922 238047568 703079756 788383546 940514378 757989552 302293160 103295044 55466414 404137274 366227936 460031860 797667402 829781796 389500750 987791738 937607748 339147096 347119690 161800280 847084246 685562288 195743046 115399126 705442678 330331656 748752604 303301378 168633882 943822150 439432074 771996246 348741372 576845304 406066846 963136618 749363636 226717808 80264706 772446088 332051244 578425354 663023720 348998706 71121442 714607578 665558796 379499414 174087390 678468394 757991244 190525554 469198350 536928678 711738984 567957918 963088986 243799004 103012280 356326428 858219358 248486938 9733714 959708156 504086814 410168378 213101320 777821646 166507516 414515626 915100866 58303312 32991544 85736644 694177648 746162778 384247652 271229372 875840702 384184756 337876214 856010588 826282808 700315722 155412514 221728840 997848148 303619792 722383766 111085574 896648192 435310836 436119464 997887278 793172704 848036182 614682078 614054118 529549496 269163824 976647924 728666256 488722082 242158104 302765656 417489784 959027036 607378632 713239130 368231848 554630340 329791224 965233524 485015276 362179608 919398334 478451902 241590498 738460804 706158852 216551164 927270490 8501094 187644392 488768980 942201678 10465062 782630318 58109674 184859766 724457804 469270454 882132724 200556234 231673598 349086444 871292002 896371412 489843194 105623332 146136442 211250910 981292412 956584938 879592348 973148494 459299010 748404430 796870546 876795142 238473432 146233680 114155536 167115736 385750914 81208874 247980512 813011854 885894090 754343380 753194908 352035084 767181278 370578516 113769530 640649152 68200604 609521298 729415188 351780548 617220554 817295938 293645958 519501598 16886506 542636744 804925690 289754782 553510352 408101982 603749826 487107926 708502212 950605788 761520336 148025808 928951554 157026356 511502818 544990386 739351764 778046446 445730698 550476786 344510804 292085668 230019926 116111540 242184042 600537666 312611318 839453446 202859338 236867010 855262322 583910370 971314858 603591104 241936656 6946362 3663142 149186844 616447794 27739914 340006782 849221416 983693162 860400920 6451350 944661442 931828778 859014650 205422290 933322282 427935672 232536224 385323228 206400934 273973552 737401622 406484256 707154238 632407796 641789400 12453192 550747986 34545444 55329420 290736320 397544458 677911940 174647674 119737764 998889340 233088130 159568228 288228798 529905924 153548030 850546470 971042836 620476310 59743382 167890380 726842318 493426766 727399772 785588222 197366446 64295342 588012244 927450824 223139280 37880922 39282726 460702410 970223644 349373788 686530992 790036666 983979614 798130718 237174434 162157510 351072194 91368948 426970312 223125956 661547762 653628394 227405246 324996744 913225982 1935032 893996972 280361278 804253622 187531904 12964214 153429012 489836786 13962140 415706532 574543580 687363306 324661044 687341934 150799846 753357340 868017176 949827604 475644746 702458802 816963496 910594534 848573686 757341152 291331224 257844188 61746556 26463362 20882454 180424750 952428322 660586032 613851304 111275078 547769288 436971644 776703644 777114454 378636700 216222548 675511206 210219136 137099548 762602022 412883570 724847666 74539444 206751886 578559594 576261302 448025836 785096308 305498978 173279710 484596964 126798024 20255808 310386462 883575366 813569290 860921372 818582420 588587516 623064060 342612176 776083026 800625088 655626006 845012022 737693466 987220412 963172420 730708260 896120870 382029366 851637210 371863634 4561694 378890330 715903468 114341416 172565132 295468848 537765440 854780450 645902984 424344140 863872018 153983862 240332280 668096030 493466280 94918082 656891870 571359172 404021242 46492072 462925306 17312114 254776654 189087120 969654570 392791940 137607550 252254864 631633884 114308512 39140582 965196894 464883760 230178282 86503712 651394478 959746828 324512398 492939674 234341942 536981938 945471580 175300934 432328062 399373558 537080534 272489546 489105400 876392948 952538696 562419380 446625316 253849876 317536624 599524878 67256878 870228102 998327046 408281598 466844230 206542430 661291134 762305440 805014438 384261012 520469974 502803248 622753996 738713982 758495256 665289406 991187840 644287796 141199684 455655576 685729376 190680822 294532606 301384896 670175992 890597358 363177642 894815848 575014828 481231232 420493406 954616686 734115240 398464714 229858148 348826498 696127656 977752702 659163460 279138036 383696570 407046642 707822774 181471056 694084346 721720452 942524032 782756084 665052974 419822104 244603110 337377656 145993894 268266212 302388394 427915748 155432938 835532202 727499860 962889286 382616810 463865510 39734654 863424548 479121636 375710782 107274546 158054892 725174848 104898292 304696774 933482482 614347352 615675424 739489198 722459534 883597730 886305128 612008422 22199148 122329026 400949050 567087476 297853812 679502210 488992550 632146262 359670932 285099678 739496158 299469740 430220156 229029826 77020878 286550056 134876212 957742 994976766 172902534 741646424 879535242 544873536 133054240 577443818 320536044 497548824 254269844 960296946 169294944 751952738 461825988 192507904 266573982 36529392 328940230 38522810 786754038 359696398 240748458 425318284 655983356 808846594 563130192 87743712 122194490 109136352 595212820 896045018 630454842 827471060 525062678 120674010 92933420 783272292 324329504 691400740 322931908 675035972 755571848 987977136 516876700 431173730 217424304 840727436 122584552 330685070 641581688 703636002 70232406 598789574 357449648 307689214 983216022 253487220 288828734 65446948 745325496 557317754 990848826 714589668 316637010 470157182 935165710 415000892 335422274 497758008 235687414 172719708 161606526 203522074 552896546 938267158 581085704 513955548 453839744 693941806 77866678 72445918 590647818 158397408 573444916 487186970 746976544 76908860 541054540 322801188 837068248 899501944 727280418 488787142 255619358 798450682 20871096 350666614 657626258 453427958 843383788 848767980 85204932 701433772 167198668 189430986 386643710 590979000 558207410 333568772 184655488 530745126 115324132 89106720 542538748 857216236 858964356 501986808 368273002 24447758 530882416 499523752 760893332 412842010 673950394 114829166 262387120 508697702 709462534 457946012 178573722 17956072 40837608 151530016 718666696 858026016 792809070 68615792 356223214 20276294 949063508 328974604 689666882 13532322 765559326 842164964 990752762 437227142 610429192 864831564 287151700 380287906 168823906 50853330 164526672 488353450 48221384 900000558 33692460 372804132 973542848 17940986 624347182 204079360 68112752 607501180 341368184 960241256 277464612 913189144 891763242 770128840 288523056 23555282 596994860 627861030 319904056 529383860 384478586 551685706 381514840 373021338 650419412 767578150 354510738 911131918 134532742 927699918 784746836 859720056 969722882 978984674 230109826 904091294 722838576 107876028 571249248 724436484 993647612 310682468 142412372 650356368 201587828 293174960 592531844 611165118 46643978 639825986 251759244 228984292 553539502 228833864 939162846 520245486 728341690 389423110 767342794 829443378 401313054 583981894 551399202 408612592 447167662 825070680 493209086 115581528 523763786 537393500 403986438 466539612 111466466 92596040 729500204 722431624 127801206 130634658 134075780 364584146 105873072 221842744 563626592 841496468 765401070 172240356 784720692 566538746 335784502 156563200 232395984 563486096 645186240 863187278 173432842 857626284 875964700 965087624 553222464 170272414 647081538 298320414 421623268 887163872 817613514 626114758 89972316 707089826 30311960 344619364 385459638 357664038 243945548 91964000 638171562 444490222 410980528 832590404 747024976 429087434 675151856 558199448 937578582 726990288 129308158 67389206 363974446 727227630 74511596 711024304 870455278 769373326 424070434 615618122 805704276 257211144 111806374 165753854 838813918 152793380 894365334 320742794 13726060 774908592 929733946 611088172 398833198 548296780 118534054 993007948 499082560 558940378 529695980 298612080 564884302 18447700 635272990 266675608 247059112 200744152 346070340 847593130 68294854 618002882 73669086 246460030 801000306 526610176 686033256 279059688 83133238 157363704 131477370 193878054 116875880 743504098 656818412 569381876 937243542 956999706 115168732 426321282 504339582 656404566 93078958 301986242 985504858 263868046 69552168 811475718 129801142 626075388 294712874 522515120 386063290 864123924 861117024 9069616 83968852 226978018 568494262 791211956 365878064 343648314 103585210 247255730 517374126 228375744 751629592 518143322 294441184 197473288 257055836 809454596 588148214 104927606 395243788 133720396 976558980 217879446 763292568 83593946 251167634 420781302 985399778 902014678 663237442 543895750 896992526 327476952 326418150 299389366 557452894 516858200 59652706 743045166 186940468 99378266 568647126 598580852 403005768 1147208 660661394 106402956 163111314 845544632 673497342 131415792 958659420 235761426 89521594 97546318 374748470 962668062 87204312 93743094 228964730 210304706 145487510 3045224 85315190 651056256 507087962 93233246 185329358 287806018 751169044 959685522 276601724 752026160 637104286 182868648 130255156 7403814 983233080 943359578 767252854 401975792 540995108 562904026 555355090 415803862 382422750 855186618 691194956 752613658 14041212 619290516 439334316 439866990 260452638 342489734 312991300 56161982 431539336 148114070 411323402 625884068 347403798 286519180 381288950 823040660 117079568 63904948 538742518 875528532 938537438 561201880 754355288 347514978 143793674 137584004 891740506 727345224 261795620 999265492 5128174 691856668 672675966 632179308 747873804 746217092 669445618 644369166 634665200 95389584 21399634 738868580 616176736 818596528 276305648 31802654 175838264 83881402 524539688 289563430 577413144 663410940 166790506 885441774 283730306 157291686 389323566 498806856 602388978 263838048 666621194 292747828 477538200 103421376 318109354 589086210 709312882 958657676 782363202 619289880 635481262 596644732 676718816 497255532 240010258 750101516 290093636 937459342 420645802 499163896 683248232 226415822 362270298 725608946 478656642 935446688 789278950 908050262 76916120 957857110 470006606 889545132 684538752 650842508 698437172 604981974 995612796 20465960 323500152 825843294 59244806 641746926 366081240 407291510 558661866 217837918 119261024 571258818 722843860 190187566 71294010 75409438 838131700 406826066 390124854 690516366 158505854 838953894 520737424 339063678 54746178 755102498 77040846 29232922 887084636 356626888 710051558 929881248 41157974 611050256 195752544 278773658 904579110 186829704 981430712 118464960 903318874 565440580 290970266 591675792 583541506 230228260 949943478 865725538 861101462 183205426 804901206 752775296 117751700 305018594 155313780 213676836 742930490 134544094 378835530 260837896 450069400 921840056 705539118 198249626 479233912 905544476 845685538 709121478 550150812 451120122 476289368 778550176 111736208 385199124 608462728 83756014 447376494 718114742 962749708 292366626 88355334 491432690 732282600 705229288 740080952 454200392 345486350 939485846 117153822 275896788 784962658 370797110 392621336 675080242 668596992 986367842 106658602 573454518 477155058 954067338 175084718 999936594 47972994 562709254 988969946 342126680 337190322 615479682 774533030 762736314 663464486 269632266 455630790 689437140 565674884 288215290 977911938 197410076 927127664 598718060 442305666 689291450 160006700 452975228 743431918 651173228 696970292 897966972 142344064 305393262 203997644 477848322 383085778 201810364 327073118 166208356 634590000 645686868 669444336 14663652 408983750 583135192 666191772 969256304 215194794 22531760 13192156 296273476 524015632 158103426 410423296 936796330 379096006 404032774 595798098 521166588 170206878 196933634 854692474 243183544 432003648 117493842 685971424 341122950 370445438 676202430 464154534 588016992 822016330 516043966 585836246 736598856 57490634 359267798 116981766 244070036 895686448 172242548 862160680 826472084 414818572 469839970 847915200 386166454 403821896 1198292 758517586 408495186 753410142 601762010 807370116 566085224 961822226 999956042 731798634 670179512 291887222 107376172 198169614 4185294 696319360 467901360 670190894 459925330 617176508 580515484 9807588 772787594 872000672 276719314 227725566 343436864 785405950 808361198 983246002 675465140 329507266 500121300 362842676 232810596 214296086 359137618 360553154 510047778 672755942 831052036 991986128 987820182 88492494 97720990 144776842 696455464 804558292 39710954 567514516 948009000 222708784 402706474 7157240 785944054 897501586 863149188 578219960 715043610 132743942 169491488 193958988 462939906 451698992 423752946 911553474 612052036 451904692 807956036 487521160 27222688 483140950 249316330 877832012 358271894 118599248 997094864 202741766 960496102 556832730 185302088 742008352 922975130 619739240 413244592 150605778 572783970 654248338 510793680 951008654 950472256 103445860 854764066 271857384 272592428 641977420 395391508 441555746 197535146 249050028 488707192 14759728 575077392 183989220 536882372 837628148 187109364 670347710 328518734 591817578 615801670 440948878 73075750 182796734 968765484 181418652 661739776 148352214 586595740 892706980 136588008 205688760 139704164 211418150 359206376 398567418 596637324 622981504 417260718 234911554 628450756 932305046 916135982 910612042 293099852 455044678 327273244 433200248 949547954 649458694 843256536 88507366 497308814 733325164 883240222 914180638 697019388 286295234 326263654 182570880 523970876 615685258 706140398 998996596 57575278 978228442 479955676 368726064 463260522 586057060 190590624 926965468 915951550 917778706 472663258 119955364 510531016 150486554 679347992 241485982 929299242 714476890 950968278 734875358 217243820 862858556 534926538 771350574 307956332 135302212 535535688 47748238 897083326 139142364 690554096 430509896 467470516 977726906 747526770 289479628 240991018 23453442 437970252 842166852 393192206 763602268 159294650 91695342 831062046 503501304 956314964 178835114 481428914 330840260 549052550 324163196 200805228 165604526 978673500 864771828 556729964 934317110 401469804 3902526 310381856 984276128 141623734 473488368 938009218 355810566 41272208 591039204 840168198 644058798 475960392 518814050 489823580 900034280 519710664 12767364 682247176 392328124 97111254 112833968 843875026 294436924 656514554 206380372 298811194 805814892 877674846 941373312 105866332 715607994 483986782 24805004 168964232 72333712 834787194 611929324 166397376 379211360 424162778 798258020 778178888 523654814 401351374 420085060 673386284 135786628 849203160 293950492 176557374 189551096 146418122 428126218 246917904 13506034 65804124 679235264 356437142 756355318 201029178 274468132 919247146 101680786 358709906 118144554 602083788 779004110 506627340 433713592 196531892 14817922 420261082 907477936 146269832 639161730 733760650 287559070 208334956 283016932 187240218 836631868 873425486 34697308 105234528 282957562 531453190 446718702 560065734 131712222 897941872 737307026 334126402 215552158 171719566 560636646 526699762 361116632 934774834 32449656 144930010 236992022 444265804 572564922 198499926 342434670 422836778 90971832 737985450 845694506 332086648 384912240 405506920 99908700 43812682 220771950 20158042 89228598 262920410 532185020 562611822 209265064 85812772 922413780 514364200 331984682 842606508 301926272 828761860 792958600 284383842 707779128 473945796 318378574 829744628 653139872 435631852 925497554 668068432 337013500 623771902 894485300 404452652 487787578 630193466 424232226 412595754 506442880 99011582 216639812 535997858 568363452 176668282 31566888 704162870 394955532 266415878 103799166 491315532 11757458 840003494 266210802 986326554 486236504 73225412 162718818 425369248 218501736 958035174 701667814 813097814 213463686 552203596 81829768 274296640 620909572 654917362 223593318 83052962 522233548 546082388 514424828 79884582 445634752 984047888 118860832 665546340 350028694 830810268 201666682 548574210 705075046 970271206 955667698 736779448 538843758 444169500 23130620 94976860 289733708 528396844 852938746 170610308 486286078 640131552 219830424 56393564 35539970 821039158 929770160 183056090 477303020 495514850 508650832 904877854 558172440 937789644 434299302 334436144 377103200 491993064 326040962 944932860 903796958 464112192 617339640 498487028 510673236 856987436 27098682 532211388 857350462 791887366 77371570 888394304 977640076 59154068 386232202 458501362 382192352 781676534 636259626 245489974 912542864 671138918 803640054 133684644 938737520 564344986 25312972 755881098 717088386 831496156 840401622 895155350 212729670 205218714 630459044 650005902 654142266 88177832 925643904 969689246 596714820 172728092 22821494 997149758 305934752 127324626 850314722 781863434 318060674 465110044 143492074 297273024 433296890 466969078 939189598 520821518 126774624 400283434 969170800 114494478 53828578 207293038 487993500 174119934 927527472 461763628 517307440 834632506 181670532 515247374 580908180 622976484 96403032 811719554 161846868 568045770 452972318 603470884 601959768 816463148 59484344 115445618 876733224 744527376 708124120 271140078 362269706 244339698 51258750 23256148 402662630 869009760 73443918 48648520 195708574 896751394 884578472 967493218 579614924 524171234 381410812 132933710 145046976 340781014 654617526 547992750 666169762 729860026 510554716 965324422 284096184 503539672 278546444 350121596 795204090 97402314 988886250 316480480 534097578 442788838 383029514 109305316 772612026 241938364 964562286 392353696 328068272 554495210 744666374 688814514 633113452 56377946 662859558 910883526 65669978 285678546 64723738 810669180 121373742 506384378 230063200 122551684 728319958 184028312 997713376 825362874 933264466 732254784 414463456 348716898 459007200 794309790 575755306 251195410 586816510 575674982 203397650 495633726 826998062 519185222 950063000 807014972 380977040 665673044 185714102 647570104 795110826 540530480 58477008 183994120 74973014 614108640 157378500 19765132 433499394 651483888 258601614 759122886 585597334 906226454 434062642 994319444 376999110 73256240 402595416 434434534 596669562 949332882 496810438 337525768 728769006 345154936 552256400 748892990 562899114 665597204 653535254 244881374 127031046 486350974 459944446 882378652 704657968 279968322 781041598 228658512 708893682 661386368 665525466 501852494 198900276 949147458 139508410 729470906 553475490 505643892 32021218 976501380 335468554 589634864 137662656 724942172 516404638 469954352 563638824 34976658 29861760 260068786 521214656 443235714 449756078 533808438 979823690 591597416 888408096 208157110 121013632 351490938 825782702 506108002 650751058 693150936 320905024 538978734 340137344 883715080 105790886 909154118 134755050 265825820 355822372 555639386 902009976 6680706 630069902 650462194 826915204 713667044 779724656 561440264 659408308 842128112 571846714 29959726 643335270 514107408 467130794 77181120 806851856 582553040 912825558 581098526 601426104 723234236 590358104 222785106 245596906 819464278 661080314 335658878 567089918 143844308 934452600 430467858 693626544 456136152 966584178 413748724 719976978 766628504 441789006 820467628 325255136 14642224 139834428 175589522 784068436 574442814 525312606 276745934 890113110 681927826 289924268 157285402 938412040 950653626 163996598 902715944 854609846 111058242 507691394 90912606 547813158 185952836 708926008 587318800 408433986 105622306 422573302 528044980 82190116 652232436 354066834 628694666 366104980 229325568 316686652 607647074 800942848 229878988 855279060 939959856 749213190 41123510 745072548 263223114 800385334 587205320 610333534 400752592 273576022 765952006 502866480 460167174 607163274 658027030 196033880 821637670 511135394 673149858 14586292 841919210 248338274 167465208 462368956 874451860 47902864 80463506 88147680 487808216 439130142 386073646 62435346 173376374 307437026 729497066 385491428 180845006 964552216 16616050 935214844 517059742 879599280 936829874 833767224 131376548 241709838 213993092 386844144 753225900 377600562 405394978 235825544 619151220 827804674 456222934 140896934 631370536 982268574 409481490 976060960 578067520 321278098 802124102 393723224 210093088 58693762 618860590 178021200 101875048 368444644 415909648 736470032 550958532 250775688 21897588 881382392 451772826 692087684 751380788 346076764 401531158 698183352 598870458 301347188 68810518 113723626 726207208 731863320 732891504 62671394 739879888 52862410 489511696 121225698 464820058 443536870 735989438 715250166 688676176 243085504 134612184 754570556 398973998 159484332 631154478 177926354 293906262 396076462 706058716 731877728 773585666 956355962 427545002 892769644 668631816 342485916 759032774 894925466 353999060 133522766 5047744 218193072 264433124 957761570 152507206 882011046 317998310 600689530 755749894 763862854 429404650 66013958 409993912 790791036 416378012 108728934 39277456 307809908 467389528 767104158 353325732 899180884 72105434 662597816 930642750 417315494 239725210 322986030 743585204 220367866 259780152 960395972 613141554 998610692 223244928 86645490 451693294 468328816 847333850 374933094 526600166 710582852 26804752 865762882 340328600 399006454 30553576 442175914 882284190 189712378 718095016 638893586 140847362 640778676 579863624 941708018 289062312 632734820 437443126 909128800 933962632 202434204 225039018 161969914 969645830 218859184 42241546 853925970 704816184 272851750 103636154 585153416 687289638 774492718 600882574 935467004 887664402 395483448 914193706 407055946 587220896 767365568 989356210 713615788 904450696 368296582 972449918 748882460 950191436 708508732 746211436 251862602 434397240 94651060 30543470 115030954 48118158 870505584 623365102 893183980 560681346 571908898 993698702 124530438 97726298 82454904 886024072 713073174 570573602 863315412 553063772 414977318 310082572 754606284 285494448 387125714 853532244 418036774 91720578 807706520 187956536 473425376 738485634 297664764 986033402 924347890 587625012 900190506 501640398 490147092 402070746 141512396 355581976 317575078 40636048 964405644 86176950 961430042 697775966 540604014 815611564 352014962 766443418 243028824 720329272 747898432 381703538 955044570 439320376 61273174 641140054 503472024 52737360 887372088 135258902 51305834 589597106 293726108 301888758 170574616 369234304 90543184 464203414 562204162 300420970 947188816 288513692 259522764 580749740 578147736 715996856 991469024 124312432 679697668 118090194 328848598 390087578 827729744 845575224 99500674 995170942 904818684 361621368 283160954 210335818 245261060 693075760 239313324 622595422 389821078 156535588 384575252 111211080 101384368 814033292 621596556 264768684 374968874 321456472 998709408 411380000 927055954 627340660 577036574 10124046 584420290 930420832 219487058 521203350 61541448 966439444 207190180 854683730 898955550 707209884 870965910 696551524 670573278 885143868 452424206 648407758 535717182 700863706 807956882 705410600 932039310 473568716 540042528 242727272 832201306 444926866 936801176 449959318 627525310 724079856 80497612 989993080 960859596 925400308 923355302 595892426 686413012 862073752 706917836 715933598 293080172 244567240 153095878 236200804 67336238 785982976 609521608 899776384 272588572 767299752 997045722 150079874 958191888 934919490 71613832 641155126 378805798 827239078 585403880 239296762 758452880 947715772 292012816 527852574 526536592 326542542 857015334 292309162 815706800 94757410 175025426 777150828 316658096 951352798 437071020 706428574 951070558 423467390 40529842 578959134 44915146 580796044 447650480 902286808 554211166 279267636 121363418 725873380 993376734 31929216 164475486 817283858 927343046 393700524 248475016 394592072 515012958 153479446 841848678 665574276 828103230 437900198 490698592 199241464 77989270 953694220 367197560 323820392 295655148 911818924 768701118 234013412 543388596 727809656 944250692 345357716 224216690 265033618 31289204 868209968 527578000 488338682 380456066 352408424 532540590 129309796 514232668 61196972 530631074 71429714 515697600 978159402 903022778 498649124 123629204 505010852 635570570 666451496 512931898 254820484 715365676 325109204 275452526 898737520 335342776 897314666 318801886 313058994 733321634 194899116 112412488 660042842 72832470 773546420 39863098 259767144 380565760 807665258 361878746 799947340 359928258 563362168 983213716 648354068 161901090 642634662 65678624 482418486 556780468 754331074 174471068 436552746 434145442 836805226 852637538 499623784 199013164 191955780 483959824 602902928 859301814 806540160 579649856 669282570 622869188 778583408 755342650 531626570 952806022 185426374 572924034 483163996 526195808 417361408 948756848 365632028 26106450 857514144 216829286 498033608 958572448 803110980 502077946 783725990 241906342 481877226 442139652 967224706 646176770 478653028 698730248 875537740 773692828 966333288 53222486 34965746 846019622 988000200 385948096 77079272 31497702 23888566 111741428 761215478 953787102 157562478 384307518 802369456 752810366 642860986 962152118 834785162 649541666 968978764 540514440 798916622 994760806 190647728 621852840 836351296 609597436 101174216 250601254 547449666 929553970 540430844 662656728 12199258 89939382 689855776 148798026 550532092 598032714 920545152 509621224 168310902 452691840 450520452 324963098 262266322 376287048 533627482 680163834 433046666 789128124 948427566 495472860 783932538 378077602 772449008 934242688 355074526 84467464 250397452 341796766 363377642 701336692 507179086 661681820 521385398 119047424 66769284 50708372 746147922 222191436 231937324 712032032 754346672 669919880 3090074 43110954 512376326 118700354 102012410 300136512 988959464 617253252 96632986 231848828 252662698 509732354 432200252 344043668 720726542 710156402 698635408 174921686 835175640 2865912 214413132 47992368 326875082 239559558 737072164 201471372 253017350 162070450 587158018 276254230 579012928 543406374 308875922 477633552 183768230 33316278 125644040 946549758 294682746 721021574 417006990 739699708 341968084 609062064 874376748 445924574 382147346 405100078 481674022 166190728 601595086 596045202 285524652 724306312 774708740 958025526 271395226 70077112 985695296 961759774 295523936 854443768 904999696 797461920 387994632 658519546 544582262 62104076 58486662 783476044 20752680 795026384 596484754 397862696 408859156 608762204 365747318 746775240 606849264 503626958 920172502 679981712 924026748 472089310 471150074 639587254 385793598 290690378 601913800 752124186 703277814 943772134 531010108 512161336 569113706 299898496 292588366 681645218 367636400 466316452 63512662 203099162 115305970 441106482 51958150 466394442 50979260 236271318 613605996 766165462 686484434 219624530 479206546 285838732 195483254 335639906 406038170 310111592 203237012 90868274 442739562 826716398 533386088 633403578 694053602 691486350 923536560 476483540 289415492 111633766 889904614 954075490 965753184 474760418 654913776 974520126 189206130 130733496 144516564 263564990 104573934 193548094 10853870 610049060 561836870 203855754 43839494 80099398 405952650 894893964 725604336 294600936 370096362 496695838 26392236 808334284 258001446 858615430 805522726 492655338 376104588 684760186 675664498 966524586 482403324 935841806 342094460 831200270 175357702 11703814 15981564 735646584 491769620 435734342 547345452 775632734 978244892 30718700 680603746 585616822 36023968 209909814 298026614 660461544 595897866 980688582 131149092 378922872 881060334 521762020 279130660 251359086 836859510 523294774 760303382 912620914 555269050 85734604 145609196 124074500 37610958 586979522 855327364 814734486 218592562 636491988 485219770 460196328 361998926 152325976 923162020 970778092 723324024 525362384 911457514 841896576 453530134 839759620 845703222 584913352 246191936 297466812 444709408 199553920 484742910 331563420 147174908 292982004 791410738 500658068 787234174 326384738 93521476 556076246 367777370 67726368 656039496 153451930 673367718 869866100 439662802 272397454 444676032 282801440 498534596 445904372 256378334 341755960 421283264 40389218 201671290 62151278 227848198 231356228 134761440 378740634 545866666 709164260 343906654 983224416 815247940 778427944 750441226 374167460 725423884 751367304 915069018 60532406 311964026 329946344 549578130 13615144 17338844 458803948 750459232 113424734 266347476 859198996 587851806 497356956 944026646 7157320 906306478 940417536 269109624 750380530 705865362 280014894 86003276 581682810 813388416 695213026 279479680 244830784 786827872 533901260 483744910 449799432 15987406 676208670 205141616 937058212 317430084 603476338 52843374 396111730 555052372 50258190 275256340 432557446 7058582 329317824 866435268 716389048 77020862 791926708 780981440 751011418 60930186 633145748 772370590 379907682 748922578 626690728 390505824 479680480 365532438 329576516 506145150 788659628 674030846 474635510 285067552 414498400 86098868 119019244 865893248 501896796 297893976 520503178 199441112 800342690 729863820 480753400 333567074 768496942 378701192 979014874 528178454 775123690 869331238 634743236 641833812 913958124 542776262 852542934 195411848 66966934 931904054 50333768 949901442 42433838 823158892 425174982 799469332 38684654 246775352 139380230 843990326 201041188 823254756 79999572 281584454 159480086 886209520 467527566 704723392 233866378 699257746 41278522 804777656 76441054 264283042 259380666 803716698 82876894 721543084 682579686 458482082 656061586 962322314 449701912 187405090 178272642 966650140 286007090 644119832 38535082 29089956 39354368 942361630 340718204 904554692 801010878 537745788 344882808 667785418 652305882 298002840 394034550 460256724 194556414 631487278 164802790 939985566 175986052 561189382 538219448 870629002 794028812 149805482 382796768 231513838 157041338 128659804 982139832 322669270 330234590 982297660 298696160 88070344 266639952 869894000 113596862 582122872 556812932 303690560 650699970 313843146 823877364 806234480 725764722 375559100 889291138 336906154 760631180 303420776 651263690 390144056 349872482 293549594 762634652 131179132 270751814 683044050 551608730 984962728 287302738 712978864 91510284 853371650 339241324 580515210 849414592 211771950 735786356 630634996 273384152 279552884 193401740 199893616 234910038 267853184 839658304 281902856 572470230 941214590 464281788 66748264 819271426 269027158 660996552 738982792 877093166 245389158 864964702 661776726 665645604 512500298 532297968 701953842 122904898 711265154 139794662 848147234 515462326 133268164 477830974 890320624 760154492 670558068 829222702 932821652 577962144 989093414 341239462 147395834 868685388 947972064 728074764 392549174 606594030 771787390 629909082 167272700 179089188 982456388 277938404 804023608 40879232 87221482 722274596 838479104 744899068 65803606 770231610 90474082 346855856 778445816 605613806 778175012 775273874 203110114 857327586 356493352 400540016 122363110 497690626 73320618 820613776 118215650 736183452 67509892 596313722 862558912 1936966 804457688 540690786 391412740 781672120 712832414 508621520 314724682 203780116 95144926 391821140 168284960 241283846 335601032 326712936 726189038 367577318 987551358 643728854 666933054 766031974 822281272 59357478 303455668 869011680 337484420 977485956 257799038 565181500 220036672 176827116 569897398 880076910 851894642 274663286 373432482 641035356 330864536 603441484 456222876 40627654 823068858 160312078 336863156 69443080 658668326 2525182 224505922 929074436 234027478 138283166 167907244 784673954 323900868 170250748 348141618 281218318 337050434 433946172 842290882 285481054 166963972 785212012 985178198 327517180 226416918 411390684 328555412 966664436 310730222 904623572 893418302 817257084 425745962 353196374 238605786 774380150 453428702 614202490 821969546 466795666 718249264 514212402 242581416 112562930 816481862 400132518 396225202 576302948 868636498 835430262 541354572 501276148 278275224 472662356 325145994 283310104 673471366 760935442 878541360 70380350 229748866 925702410 918664692 744819654 875230162 34499586 686594372 216017340 54197496 355983042 994522512 535521292 661259026 394703220 705402238 363060804 39628516 425845382 232927678 438326918 513974926 502209926 225136790 241442574 791048098 718131798 167061740 598804972 424186268 712003686 123185828 554834058 236932594 234371536 833550918 929390092 659954980 772846280 77421558 89582754 719770522 495831140 998467548 870700894 835229792 108446884 565793282 989963892 823656502 190966928 474624284 472450736 632935420 195927886 3825270 953321000 566384822 204306972 287608766 187975398 569373640 942913124 367633118 903579160 129557720 526346006 940684236 226103262 48966936 382899426 543571154 499431432 108851964 696320734 479708164 379997206 840022320 287378778 125238570 865585026 296237372 616903106 111962 276692394 841192226 827024146 714671472 514512538 230332790 883199034 249131588 184747868 161519592 185701210 323906386 515931600 817914410 523721534 772086938 327226308 818196662 929623612 101745642 649438884 318757848 653983082 960448212 40550848 9127766 208730626 811271534 163069150 26330096 929678108 835581408 571013804 705160066 497335644 792419650 274624098 998705734 642816468 145950718 101975700 889551540 186947094 533267940 750882052 983166186 860321314 168257536 65947130 801768060 362517908 758793980 2298142 805766362 51805264 211683756 166588658 372354548 285563472 919278788 147107718 134630274 325159460 912860176 144579462 254518298 907341522 30300048 494693252 533022558 683948856 502377662 302053784 198392450 237224948 732148582 878865612 101365080 243014396 76844184 614330956 522074156 986824062 927770204 902022446 967887654 246540094 952534912 683990754 697865900 298935464 264255158 804306322 776998340 252073538 11264290 681984006 753954996 262667902 736023668 906789442 552696200 748199128 613423006 803290662 254991700 110174116 369193148 388633428 785347036 870117534 598942786 861281514 773849316 707351802 367367984 439300772 685817854 559191274 611051312 250792720 485535850 239526726 56608372 859636602 364793184 186531148 689157930 515171736 327669514 455595652 373973768 238622814 863705138 218702886 503878880 50704240 366550292 677136422 525683474 559626096 175038134 996226370 638570320 343350464 273902976 876989350 262086536 264610238 94224662 558810534 45295748 220560410 772237980 24045228 672131890 821327914 824656794 432898908 592096136 581571146 136723276 379265840 280466108 113226026 385890250 505694112 93616494 704829966 363169706 146991238 366787078 111019860 632535792 140078938 328359220 900856980 82886486 369306086 475535336 164401936 140265268 181760126 117727796 238754418 144859248 622417378 988515158 955638866 502883796 700891714 18093416 607831616 418066392 946882176 525396072 617337424 229588564 603742120 216226066 559622710 717406160 505382214 630162918 431925454 176189346 717277666 34310476 369854452 134715106 751944460 121661484 786351474 168450098 430034030 164339496 407725908 602468320 423102048 824153122 592614274 802508410 950218462 436304774 85521844 720861990 717692646 636145526 578385174 393860796 332305096 507665944 605235454 572223630 431764906 544155038 750384104 362103074 423563472 643299188 580424612 344464722 238326978 699836610 715566028 36332276 444652132 976739662 670448782 859083034 814120874 537615738 261068062 392626810 140991122 280125820 75470252 860328836 606509728 224575086 501255436 746929856 318502344 32401032 481070158 919521636 37304466 274717950 409434680 378136188 795459002 600590734 372941708 155357706 841390264 350120158 664685876 93966834 72074478 326075182 984162090 876769396 851231160 911963856 180762056 362756000 830610402 968530448 707601148 956632558 231533592 535520408 489996726 579396184 362751440 847754438 823538240 132254948 31777268 218818634 285963704 202054276 448530530 77034570 513276608 771743252 281517696 608950010 541444892 777556404 648425750 129443190 42088830 753885010 88810202 91621416 430151962 26549440 465563234 168209864 818781890 267832590 117027740 874257418 807285760 972989848 335772566 570488444 421024432 395493276 853970112 907295608 391653914 572539618 269646188 280550912 90551200 388025184 440454458 390435254 996145810 106766284 19749252 701935808 361310428 661690846 662552220 23862872 19854192 598199692 831786236 630582388 296635572 143589404 140015358 380736102 739252260 180469288 461135620 474211182 386236698 475289772 242094634 74617388 120611632 236516 227608598 259127444 88073992 340646214 339808898 364744488 557111560 929372212 948929064 609182206 708492504 557184102 936024820 147925332 273024120 449993774 368214992 201984520 684625122 96954190 978621052 167876040 556363608 119457010 977609738 435353882 587234558 614591728 958579764 581399370 459907764 232500942 905493690 526176144 969610304 792949442 256980948 597224032 529252404 179732708 655893846 908652790 10254820 654858984 90210518 724517604 74233482 155006858 928339744 66287474 94048808 582665550 426860238 808140518 246342686 24214884 105746308 72257948 532703266 865562476 560013198 219109108 818493216 310314168 995319242 714329878 627620198 312697948 975540038 639710504 921072878 141000720 331745508 114179638 223819458 979328176 46127652 250961820 699500448 582352288 357297880 246149686 639995640 424218942 312603730 182662358 788922676 345086582 113741242 313849868 833651250 948541106 926594722 678451506 604030952 37491088 209779978 222551028 568109820 671008608 359765104 816463198 783973456 315282364 391887266 956626578 201512486 249513726 71935796 619479838 422540758 742442186 709363298 304244956 778876194 596622024 277218140 603620942 316394176 716236970 198834042 470837456 288211344 400036492 212217632 798996484 340981088 634081042 987454426 210008678 514600850 51486686 738439478 951279566 952835640 473216310 189679396 482410540 938714438 211812860 32532060 150844624 132165500 261633736 881918458 116391504 509723184 469136240 303122922 514167934 61384630 741022200 629436732 795738194 360902112 297686090 434989542 283522266 830814956 8143066 336649196 104998410 308000056 509079054 576170094 351152676 688182506 940750506 361574608 217684400 536651212 335773072 68735234 311932162 175281032 168516262 545868026 4597300 512195226 581479538 923153988 707583496 809253036 523182524 385596208 73441338 442839650 143196766 537198228 506908522 171811000 18739150 584380164 326942940 567448296 98212726 477786098 13436878 690734302 398867546 51806302 93541734 531924542 923614406 608039346 755925440 377799552 91909114 770964332 80465884 944364632 325208504 667124700 893201094 887549778 864642472 112607396 482001182 92156166 764808108 43723286 122689214 4452804 519878002 95133148 633006570 197688586 783393836 725657128 848348006 199502676 34266532 250971330 772504998 328341810 415496978 616168548 83640708 841770710 606414236 861535788 551558312 10444414 437033260 492739082 112996812 445094708 165088668 375255954 755569874 405606204 651979032 514503464 608986482 307581428 18103808 81496522 513120466 791143762 179032596 238223636 956697788 76915026 91328374 895634648 411424948 530905192 156868698 484841004 263127728 14254434 527193242 898722322 58246360 146889658 555115986 506123322 85964558 616847542 880635304 232035166 525240882 581772690 285480370 760119862 493573250 84527962 977305244 596892390 416285348 995001756 762901134 885765560 113259324 772907792 272651672 176242970 968310974 719816010 8685634 224350256 141142036 872766126 989882842 580662454 265056230 164589218 885702418 903771488 436189594 397379226 184559210 994139264 269349512 878149110 779128252 916960962 717573210 306371990 406319456 558841506 586331278 307888728 911951502 273522090 140696746 43759772 245149714 579849830 537601248 880659130 733269496 566055366 726650310 950375168 100651708 196545910 120713636 55570818 921725714 723746142 824591442 18374608 566248110 678784632 610542030 29333360 685738974 693474920 443905406 400641036 196504146 132101988 500852648 800140154 113408828 267998666 454582136 447146482 417888682 281119280 740083084 477078268 99777368 593602824 287778568 797214582 573287428 819986532 54892032 536611544 804485122 202148104 648130304 225616572 404073822 197926360 693705472 540002594 595088042 631756430 219363210 817266732 547036198 936262108 943716734 338103250 184917182 981707754 656780820 312921454 943434022 538236776 165953542 119803138 173863934 933278564 216605596 356671374 230053270 541846224 75952354 57563984 731057592 133909512 242118694 827711370 147722512 715384184 300802838 958094898 358576988 143260698 125233458 482427220 197371226 14354970 757868842 117986212 825713338 650567730 371731938 821552588 425703852 472226456 181357802 685193044 429703836 284262768 132663746 216357902 634316484 635032682 143101822 121323156 809131886 558332914 261369800 610969626 27162754 315609250 373815084 365217246 114821702 917496444 302988578 269818078 558600626 47003906 783839934 488741820 88720610 48366874 550664046 929035148 489498144 907784448 263659296 309145452 660257618 860929854 743273710 414025432 571747212 357600134 222453300 741804454 392341422 420065300 327431554 879485072 805252566 920075538 353219888 220103918 238254776 424684840 331227176 511958246 290179640 608112896 809984862 477270126 203599154 997871194 171780810 758614322 380561662 121927038 108743006 731377088 95846692 175635198 771634764 502113682 676394200 595503290 339032082 507233224 393126022 399649380 72332280 953397570 429243968 383675898 976998112 844565812 77054154 778292236 14325418 120369080 231757350 256606258 660190130 170567538 494346174 368670442 875639880 817545804 94378650 531435954 549667576 936146688 156301868 136746608 825806106 90705126 738567072 959639630 641481820 478857200 763076964 519712006 121123510 691407962 71049676 957273746 525011272 911669090 781433716 516431476 211123382 383956020 34690342 403805476 804031512 734084918 116578322 956670926 294859628 608274000 121247954 351593160 170229258 246682092 241052938 712629302 831547722 368008228 734424840 915476912 719708458 243495554 452612898 714066224 464694958 442880800 605431070 274214684 585244920 493043936 506422940 690132142 748660040 760702264 207945048 102310022 999559396 131863320 764593530 677280674 364616610 509299938 864247412 711255410 947549558 972455584 588483732 304231860 830732996 636759144 487043998 70705196 811920452 761653634 285920358 717371462 282105948 153741222 683027970 922762612 852679760 959493286 261909284 721550008 294633976 134078074 622433846 444335264 144393118 500171860 340762604 501781824 71648206 713334836 314324180 392585106 245035454 86993008 883787774 481149930 934139390 223018542 344915164 618734484 82686278 742275534 666587756 875172288 640375770 502905540 331536226 849229348 161172186 216817386 223208306 439545644 21284328 21352464 708211458 576330806 269598154 757759024 331427768 417954898 779636068 533703320 935204070 891339250 948122462 714937720 609968746 12037646 126413658 216288266 845375868 577800564 948776374 548322336 357860662 847136764 399905126 172577408 289602800 230591726 71787046 216014972 907497476 714250308 574046762 25341648 193465880 424293770 627529248 983949214 252650684 728554344 267962402 943172148 463565502 904652326 961985482 200267246 955877112 441043894 71756384 946490978 531296040 309219302 707728598 645697374 467018150 948056282 278463572 666620360 421581520 141164380 255186110 627748362 633586404 315140026 819108394 1040344 297256126 177426042 319416560 923781474 830771874 902048388 785216860 115008250 820430030 873469394 779099046 599909864 316410684 229618162 653833996 175832606 864364808 747845890 747566312 177661228 675279910 986594858 548166602 333093922 213733490 291215926 933438634 670602708 782024614 773432964 689074106 141079176 628714536 862153488 262897034 433996878 233432484 790098498 204076658 301888034 985508996 630540346 623762350 285016292 797038474 938351354 393149716 972471384 70351134 235709326 563677432 50143814 90275634 663752484 744183302 752902910 169325008 877969638 486053386 662561426 423416520 630571056 334034240 558973972 241595688 514590982 738020534 18846368 76817092 701942798 83460036 782562180 185242492 153391344 960685976 914626450 384931938 338112516 427690064 251378222 973488512 487418442 483710484 784317804 791916196 867548102 675583580 663460394 784878160 332866188 744683052 176240816 359073556 473933976 285288968 317703614 866735928 17520840 920870082 221292538 204929706 461664164 575646316 398590388 231996992 988675496 442083816 247479500 756347680 563314498 296586872 283808650 718745956 369010766 594540262 103983468 687227776 319243016 629295188 242224440 669204270 10258978 772472870 248190944 396727270 139452466 325579672 490915554 6188726 36109066 194913154 792526420 365673302 193403932 607231116 264257372 937841832 638853270 845983032 214553744 877481950 299858836 131302120 64846582 738119652 137329090 651491760 424528910 656898158 197093188 721031536 36913674 925261222 838481644 345186876 365001560 776817154 483779134 944660896 496456482 211552498 512709250 960686368 256485868 948445424 871785410 934862552 682703902 216998084 776004820 593592742 605793050 675758464 666524860 35777152 380047808 917826360 223328964 891233492 512393682 92052790 6216214 693642004 955102472 119986816 889741654 941094860 741077784 154304638 108945552 676476694 661744552 97109888 365830018 427780952 276805440 870756056 65447208 63237214 272460806 479957158 224997622 948479268 971424128 546581592 808521298 260053656 758459696 981213092 431868846 853182010 195578630 163790754 785725614 134038820 282298416 32447124 430512662 638716620 835123148 988009922 255428726 521969510 884275398 6469194 969468992 147878992 857137702 910216486 272740492 64087580 927354332 165652924 591822856 439833530 431672588 695554876 870882738 225143086 784930794 993937134 304211684 462177816 981429104 522266144 458647992 21693350 500314826 450353256 642722172 652869190 395354412 631726468 81301860 511994040 576390640 917913174 84641126 543779648 701550502 189738368 709036668 987333414 256910306 142132932 974886488 120619818 16720756 614565090 61644082 242807904 256845506 781732752 400905080 369839686 628955982 684441838 534890638 925905152 344934636 65315868 691707786 723472544 311877284 859652706 667279194 518439704 62240724 657200756 308043548 14806160 779045336 516075184 589732980 173808546 208272854 833123792 711563446 622458166 281084596 790291818 300355584 187245192 424354936 233970200 19562654 135529802 442321412 51228928 515944304 589155286 352406392 251798022 478073976 969654884 155056662 540888514 675263042 597688870 349820750 781164022 652492032 149867940 909692170 459414590 933030114 504106904 127212276 807218196 6398662 933722962 20873860 272298848 452479982 223514462 239118904 344120106 8705292 315760104 182656484 477474402 977247088 907555160 191078624 683627340 267007776 704093658 166081184 568379706 434384708 637340032 404943684 849483460 129586766 993078958 914623750 915563428 116908320 761365530 476822966 294847828 482322112 270097434 342008716 315746862 238772806 790997442 350964648 72577980 2814430 588277850 725744060 567259008 595584880 948110994 394317670 45058028 648579936 692727586 413843226 204345184 106396098 872982624 572184310 852351264 577908862 612099630 432637326 746899520 168820996 9923628 5737812 435295846 260595646 716577360 706549234 313681932 390777386 401810692 128797368 251033712 385373396 757797998 890746442 184911418 812743284 883304360 659379000 807494394 186718466 591795356 588070358 340384716 238655598 326475852 969748118 887853296 640281612 982264952 659852842 349015344 759217424 414039240 629131444 918753398 672239388 67356484 428541298 930809664 575675112 852096858 521164048 912824984 506356822 799092710 580032332 936727908 270608766 653076878 742630362 778247550 605247284 942494446 535601622 601969380 514995642 351298642 943178358 442526268 173255028 458147196 120446364 539429882 743184322 778853646 603487242 33805048 103323736 36013010 753109144 187077764 610753952 766395362 11367118 332817718 83912528 696230472 805337592 778181780 681170984 846719096 891840076 256655208 531545010 449902406 301279040 347100116 482025198 90486316 273803076 31788700 614774628 311364042 665079584 696603030 713234056 770526860 578823252 210612128 583406116 924172364 102447274 606920094 884092028 214540388 339839438 134115910 367065304 678369308 781723932 566211792 2852606 174245436 836085432 424720944 741557144 431475410 414369874 867577358 944717546 748010040 189613700 236925958 465744760 265844194 215152062 3927208 120140294 95098888 562920842 783416392 405085472 184879544 161465594 851093478 878124424 71703690 3324282 665928718 581173168 820153170 604741744 146481750 647914344 23401672 200477094 479388260 600595982 179643504 168300886 368001760 444952712 708726850 235725462 40568406 958462284 658333194 186766048 437447720 452611796 258503620 672785716 101906180 271704514 185363136 770595510 920707366 177896668 830631740 191976554 950068934 877998842 959447074 513517480 309181720 128407622 54029514 976117674 840945926 957844870 903464570 644121354 237028612 264603736 989899062 226282440 804702892 774928670 317927548 371073594 3301752 362586742 806497574 193561806 584983708 333522200 726633342 991777240 821823700 282291210 163309544 562513294 874492188 199877966 231936626 333261668 424541858 77157782 759532760 110236718 419302958 258088808 650485078 470287520 416776108 796288648 345674376 941601382 386695280 4453406 805482638 608095398 953270192 643285496 426848346 748704248 207339620 188309854 723155988 549520110 651268802 912461896 943736116 232778408 723177412 223237970 596361638 461707870 451325260 154582034 657729094 132172730 866168294 815614972 842787304 427413634 632399404 386829300 957448026 290615086 762022144 700244678 403031282 723947478 744058216 339034992 241954996 222798402 649999462 485706442 228711170 346541696 377357060 419547658 750614780 857168082 143928530 944607858 412890012 766044366 350792194 54202746 332366418 778365174 104285026 355666546 628573332 949285086 187034180 609130186 694366346 775455326 105436262 345367398 208179458 264217492 719792060 523794464 904483888 835537560 768750398 859923872 339710828 299423588 884022438 869463416 411588458 458890196 325069098 748636750 898366550 641431880 64523846 361503120 325887644 227928982 689494496 845514802 823818988 181449180 610082662 524349240 42531666 693482690 667740264 402781258 511838436 334412210 286025842 838609092 30271878 149725968 199111378 51374162 894665970 873908358 924858776 648046900 166433330 167987040 318523784 948235354 570685912 107462316 983172154 2268956 825667250 526025504 962668198 888806768 382659586 267502008 959001792 63661078 143956270 571200382 17163490 516245560 719303924 901516644 686923584 458651524 962798852 904319814 870628132 348313284 460594274 78672768 811971508 758481814 880130840 366880916 861233220 602740510 44122028 279106558 930836172 520156288 127052844 764651418 197045648 740965186 450438304 225445322 421136986 191554638 318066612 184050128 85264320 568711880 877188290 849167774 696537948 571701998 570288030 417025724 436432782 739137462 617963258 983060828 317326312 408880784 639972500 575503012 860540812 897845272 760776792 24532694 129645222 849914558 352364772 562889258 232310406 635645344 378158228 611275728 931474402 603560524 736460176 977491512 59309136 183993792 587947092 873606938 148232198 645370826 251115198 26934206 552884018 395707386 962567806 394892920 17332316 733149880 512698210 206431450 632225602 404497968 702819464 429501180 907486832 458859372 369871386 495456360 514721430 677145378 731756404 594868606 919486900 152507904 874424888 700578238 627701706 407857226 16861494 122235546 799275526 464844028 55790404 113533936 929730416 158901748 65802 117333576 187638136 367289560 762204778 300820054 618449948 763785102 913397012 101997240 206656212 913745248 133976312 211436224 404213754 390506674 437878894 421946294 628215358 910448910 678851400 590288684 631425452 60490078 736579992 905239606 943355060 933160844 558366292 319889572 166922166 447476778 235717522 633253200 95023440 363504372 369935462 792474944 934933132 627772348 702028944 231019308 478006026 998392644 801042868 20360910 383658504 710703356 648726574 921779198 185996028 371272008 348821820 687044104 741290012 963752836 354704570 312393642 163776748 214071930 765787506 578208656 479892964 364223502 237466028 956489130 148872334 966030950 925613112 697623034 974826696 929863430 492493010 656556584 632424318 300218520 374534182 747983168 927323034 205767314 523633104 936390912 984515382 402741970 722977646 335003278 718965962 504186532 774950410 202843634 814070386 93676338 559575786 528358560 91449342 743016108 26441464 552956134 164489788 367130324 320946332 205672016 923124980 768761530 841798200 358100724 82090442 323404714 761864058 523979866 229496832 868544606 6048850 630826214 513788692 561091608 301045200 493122068 482544988 662830254 976026120 697411270 367677746 500582022 50101784 911818400 759619448 349070508 740716586 933136148 508022406 204757456 980443204 812099294 358175766 770835504 704688464 283686684 568963330 42665444 577070582 243128630 961557196 894898060 666770266 773156080 141633686 238400918 151153360 149680138 928934032 584781708 915419708 843495500 107001966 461936090 369362032 891322848 945898810 279178520 668437334 459116436 813614568 559490266 215036858 16710472 614796746 268022856 639037530 695486178 535106752 86400480 283434920 745512792 46463450 931397360 728683884 538485052 187491868 893514824 179119066 499923524 54201098 856774800 917871252 923048892 637494970 454456618 55919880 339701456 399978704 513058290 843687498 35952476 47333160 721981778 73502918 888345456 471554092 971388186 39683510 977096732 315374676 450674014 2707522 284250654 578127948 195696208 122627980 40904214 401721216 261073760 836237984 7405548 539220602 366493834 333492792 93633430 989136952 976878706 663354576 995123184 692188982 372562012 778854404 977679654 266004074 251540556 38259626 934359604 31150838 872961696 808674722 345426180 847233176 241633334 894475718 291176368 47656072 368942620 288493000 38625400 762769082 227151626 256426 228443546 698796530 229059226 965827402 461742044 152275598 872411142 305413582 168647698 383702418 671607524 166190080 907120518 123965408 635792378 508400278 325249240 570010780 925850250 788631368 907835732 370290390 854338688 138706526 884155632 425022560 505617766 81883134 922451812 921607868 902191496 253438774 625699742 494937072 920312210 725510450 962697154 532291378 447342722 282025540 61775222 411871382 175656772 44088076 757991346 526791412 531494612 852867090 863005932 359693344 774853236 134904336 122076510 116460566 300657926 935717956 604191434 611049026 713313982 505231932 453675306 112980262 415647520 588128844 987031234 569651734 80894860 220633994 872612762 579538076 501651320 19048054 910544420 379233914 122126364 540325034 180970048 653223622 202648280 983397010 850462248 202607332 430021008 623853254 940710548 68467562 370532468 664132400 905175832 725430710 71220170 287488516 399361168 321092532 791487502 654148200 642583640 970566298 747823988 28917784 583180394 726736170 787690800 722855812 96731848 24034384 276353262 968352700 52647314 935870192 625217534 762975358 346721766 863018242 986530222 81884888 159652894 1100752 155211088 499357688 726596430 712101994 687202134 918092068 441468048 517835144 604645984 663884566 326469560 547917030 906623206 167178004 207732510 73698958 255526336 686379414 79317532 862415382 107736836 386211620 504292206 477732484 649177288 76708920 677079590 864211260 668721252 972473552 619472168 272481590 831213570 593292270 147687446 54892460 274113432 320759336 822873288 16991850 838962946 119740342 132996916 289758076 525463718 629135396 937316486 372688214 693855234 733155164 486026578 459411336 611049712 170779380 266404004 894715558 317958918 803690530 407616046 465074890 247114634 664988134 996761136 448701530 576066000 32886890 615867662 795322472 972220878 86986174 399411066 995348110 499862530 620931794 420027812 85246730 741005324 716695162 594066364 603839814 343727268 990308858 485529270 307889172 850964840 675557456 234720758 879260922 866098592 423021182 28433788 810449762 563082632 293589054 117415650 535823068 536592290 254504574 149145742 17792332 74715510 426483462 614383108 756986820 873710576 434914122 387904556 294505668 642683214 430648950 2746764 464686092 56737414 442490006 874524008 222531576 836057996 631602860 882661970 450557710 8013888 378176100 259414776 491094276 822876032 521888608 596711136 126561446 187477926 434299508 750979996 729189022 532080022 558212142 430285102 103102662 8586380 282428838 478641820 110489382 697391694 913933128 37280040 491741728 799445692 171800562 226293856 518958646 225640184 232944246 397613920 739725028 380574512 264314890 463632340 711597288 308717528 487031914 556094340 73020200 435656380 36577942 487600102 875036444 236865238 976783206 897710650 988799332 901561464 722507002 445914126 892097630 742215374 884011158 310348258 122396826 820216494 712202094 596299232 337726346 455708108 340080460 49597998 823405136 924470208 365964220 850089540 422714468 28108302 709369438 236778608 690252422 623593078 824780780 604779854 10657794 367846176 249099488 222588634 476285910 446416310 382439030 567826180 593932720 571418220 288764156 965878416 344785994 631594646 221553690 232093922 599804584 961538472 532633582 627736998 502393178 475397654 992944130 906789068 546160570 299837804 837010886 947002534 514764244 436238708 878883424 133442066 808387238 604813710 476094784 802616058 806198104 335937336 62525536 662114740 632467988 718636404 695098924 684024582 589042714 96148658 85873122 949848446 424676988 785782602 922439928 701716948 771033258 242207540 869434560 616847582 651012092 973567098 616565212 287311666 986032320 667564390 512277050 697333038 864827200 95428322 135243946 314153270 131338998 858339572 630154458 496352058 118371984 508718366 589558732 429878766 256272728 415399412 119949908 594412054 55149858 167351790 611809822 740195328 525863390 801604248 296585044 312371530 187146120 384223652 359536082 16821074 404534376 377369012 521729320 673705046 188402170 762019096 511632892 382365746 447717492 665562714 260646786 640842404 369491126 182092218 571592210 412584758 280739078 873488864 553096724 205297756 192361910 105737576 739179460 321665212 512967802 249317586 563333032 449836980 396297810 345847164 149810656 370504400 571586300 201880710 715952086 787774580 24179876 702932572 84535012 700882372 93634224 28305384 780985500 863355590 737567154 400445530 595190596 724164588 536429796 396385494 144578482 930584052 593617874 862035212 75559538 277250722 212032436 85501956 341574472 273355694 514830134 46426880 498570866 677696372 607089912 773523440 955023760 756132912 402492590 617549512 861701980 42017842 790604438 889302970 318361986 177362646 309735576 507187614 793771614 794465678 870375816 448941022 267652944 328994858 234081636 802006320 486805100 283061410 917698180 271222862 864421256 611806756 897423644 307384578 29738416 481948744 497362710 566667464 310572012 824324770 455403692 229385572 516086146 343667854 275860880 727954342 394050964 462506838 689374816 449747324 155727892 920102874 463350358 54758950 849589238 737640930 448676134 982286332 163773134 434804910 950007800 258868292 852332874 537643998 608159802 699961476 797483354 214318424 9080886 753942500 256490194 723545102 458484388 588702354 99527628 212686934 709567710 992995968 626742514 455959794 331313620 504886324 726613140 467457624 904867222 688792622 732356896 734311200 100329118 149470602 474999962 22375220 422472966 68293032 39787842 949301376 936712254 288939312 39559926 986831988 419343006 279819692 614393802 353229948 140727660 780589856 6160096 764023568 658415268 164561728 810947084 223692418 368548490 902909888 69964330 410266584 974686108 64652904 132010232 333991546 153690248 694706866 383280652 457651188 895349640 685615074 781305786 6356836 842324020 804396816 516566942 813444096 350710900 249979798 660662944 312217870 195947850 650477416 497582084 935582236 368833076 564159350 765339690 737306952 287531696 609859742 261043504 168423712 246678020 860712972 942497808 442509536 988389026 363027714 460651772 147374008 994505008 540778752 3654206 950780430 959848 518847768 232520560 99133122 376189744 35564266 133550206 868416582 752322038 872225318 34647774 309794670 680599790 657666932 71084348 939701174 195623204 368342858 150226846 661330756 738423624 465735632 969309306 406239050 29631482 727892854 986912726 938801540 148366830 452442 675775668 186818420 91165970 160226134 48085166 329898478 452850122 886186986 368798280 224911180 478182900 221889980 399125528 432940528 319714056 483819148 555981162 942504168 645578800 422844726 832608764 282210300 815843576 518556270 494150280 178085322 482264008 304034362 126913850 23254948 291974348 523388180 269933112 394088978 626496228 791388826 846652508 722067624 121201388 14527532 646244496 461055590 740367830 945996522 297365230 658470460 265844186 861008500 296333956 859179652 536710972 615343768 203238560 396962602 360068782 326734784 508318266 578019864 450921498 796261438 601448470 800484960 211426134 157778030 251294906 252186502 853058242 115602358 868830230 868519068 291999538 180767744 718523890 866471670 727575694 590381540 992989334 626538170 38646406 710075030 657684964 17931688 945929626 465904390 62527422 217511528 871597778 899977926 201110888 235421964 360221042 273373136 99195828 725338942 791997316 648067502 32235534 213696740 755256126 978743260 308244220 85130488 901554260 49061528 433738204 671602320 729027708 341984476 722044390 545964004 754022292 237261810 634669074 595280928 829375936 494028906 750387190 491271146 273553864 195474612 482371660 726623946 866465680 241552552 517889908 816847394 601430164 559781448 530395456 930714082 788937364 898428310 707678560 844369438 266719634 894961098 395481972 927870832 536566552 320447422 985611510 478427880 116495460 625389664 376570586 826605644 618808218 325731786 916328632 723489566 19717180 30422562 8141048 306714340 256086320 79728782 808079552 741639780 144603918 417006602 592020712 902773088 884770836 853874636 453910796 29734164 147901846 584584452 618858538 86939962 164051752 275186290 741314340 576658540 282223810 260586998 338077708 668293128 554850762 128963922 223584994 732714614 187535476 215969188 920563948 771018672 414225040 263681244 231861176 834063554 797917256 932330034 161709178 475736490 111408902 540475468 616680322 615010378 156741556 121830234 791181288 97691470 679182026 447267378 62220568 794161792 176257634 175704468 491553132 784637146 699997732 406816738 171901920 445508388 388723104 324726038 125488734 90123446 118064444 113177806 327534564 2095458 530903084 52314364 464813474 252977936 579992262 729937034 108214920 402950188 303943666 195728008 658164594 91181698 249866048 527343816 718757446 118951104 822496820 535816130 254144966 936018844 988974154 985930080 698642412 636240814 83821372 844367526 736381676 10491644 494378476 241816622 240414348 806434064 594944886 794934694 427041242 186277342 677588816 288105518 204141096 810225388 310180478 326234330 973432812 7998260 57040836 925232830 931714604 98947968 220214448 26848506 923700856 520297832 162795262 653672860 648390922 498160642 91378732 500222962 825694302 860709344 284286614 937873212 79987312 335741980 43270512 904646282 584981488 897090248 916912914 732537040 323614336 588542490 735209506 981859764 329633656 794248114 71259934 653679482 42021442 464026096 921774050 180870348 252693120 445815132 946305038 510748042 209659012 80330146 343245618 31572942 813992210 44310786 61961928 311867384 599721766 660946740 244257954 900359810 549479202 385952934 610498716 103218496 534759516 54518436 194675338 396395640 520377270 224253398 632254564 860893166 522521260 850938844 34236828 332904518 610162332 894333874 142446938 382635772 919638452 970674470 284454170 329913526 716571790 966920650 415711326 418055026 793067612 502038642 964882558 557192436 751762418 434747836 930957774 669337624 698998248 67473000 32709816 875056856 520549718 975643808 157630952 275670812 77471912 10839350 428693894 353918454 408536320 430791024 531060072 617120772 146775180 954465958 316736888 182489556 22140496 969813632 623201240 494586312 2988942 149316602 756845236 669461298 251085330 596945000 554483278 611488054 737646554 963311454 277868612 911973552 484054960 368962416 384444860 408770090 369338136 755757556 237122858 430131514 678003846 711452462 230881018 513299374 277756312 730136562 998879284 18057312 180370256 24495876 312588050 80538850 447979292 494383074 165103268 622347938 691393692 858638828 804197662 980387360 527898208 536775614 870809002 206580270 114535886 692612054 440002040 903931326 363958300 775712818 81961864 587561080 800380376 648450334 458057212 73238602 991639728 100817196 262407084 466089968 331377642 887814112 554361774 582467290 388473840 677419400 337642082 89094920 319506266 227370700 954160202 692952236 470187316 828220366 666094730 364489610 270614796 488621402 682013946 375053618 899219326 144456416 728405684 258697608 598659718 677203622 166307194 42669610 466498936 747029734 598562890 109092858 493096314 814101004 643372198 280042066 633206794 71728488 58595502 455564112 128202046 397624378 236619748 148841998 158434148 726468430 872506060 269161194 753232428 546428102 390001914 195857286 526056750 371238972 634131782 583407172 590829608 964729832 481136524 846974648 655917336 1608358 96488870 802966188 577832928 488734674 878896378 456052384 878940204 630829190 509311586 85616112 124255720 552280928 51337058 583907494 151122696 661485592 408030484 618376018 279273456 366149354 381809312 308484840 386227922 877977832 195989654 249577038 537450998 582964274 342362730 278694686 660032388 25904316 252901102 65123216 546876512 514546528 877625844 507157542 492885818 610039740 139167538 726010684 388434884 175220270 800104902 765636734 731459880 430879030 368747912 664290418 453233384 312576400 965871000 607556694 818657232 912835646 775589174 520047686 634406142 245354928 253711384 619938192 635738834 157078002 352446814 401405556 1519052 378143866 781363394 642072736 142187528 869213856 214003260 253930338 209534576 475473762 177066454 469593428 31638930 819909842 225703966 589699054 565433486 120125522 259638482 922088744 579383878 957402940 459116396 926152232 284121466 991214232 228199908 80034748 185296734 369285512 536150060 650427044 993396356 159961250 398787636 965839172 874430254 509140188 708688056 757583292 918636956 63730890 821001464 567364130 922270112 849381242 993614208 226337076 828740906 29268630 595689086 664601270 513703962 34872164 536761622 656751596 362488350 336837996 529087088 375971488 582498792 489647686 140088566 518933410 790919220 840663720 189506230 193479802 512467548 373805472 26776846 616941826 196462478 76310880 608009358 187032688 235474814 75499078 905693658 825738570 56471836 901076704 857714998 352914920 734437876 222332836 648754842 32318276 648495388 27748016 327597190 554172370 845314294 152592082 744181568 575054258 465970718 850986782 166977690 740822042 292102016 68284236 669433298 891392044 415984146 114628626 18813632 527156854 577508098 694841782 976956486 189968816 556937064 360203018 676094130 923366930 377162426 619448930 32232936 385032962 7475212 240451152 720517886 557558660 790833790 814200998 28138586 766098878 868781730 987732072 121407368 396473146 147028506 910653756 834190354 404930874 812173792 347414504 948716852 34806646 825823320 517829476 234123106 247143582 868224736 707805542 926184468 991741818 476203284 125807230 713143402 651670068 570882728 514237966 804542386 244761300 588547160 241702460 289870096 569925638 839419894 301593986 744218848 888505174 59438788 138399554 239896826 203800616 653393708 434710372 798840600 419068000 485760994 369686976 938839280 765543384 111357482 11838520 568615160 973783912 546550520 56408882 343316908 73554376 105963784 630738282 991954362 987850504 256022792 20973644 104003220 532395628 996243290 892259648 629400340 321775550 195764632 33646960 481905778 968661328 507338152 327230522 281621796 464884038 810311068 664588026 159757768 701301314 49372632 265640974 320897486 589158690 275523168 667069782 392100294 831126934 252412960 769363378 979857518 853853464 694329804 166927552 765535742 451505130 272270800 561580712 545082220 882800862 35732896 956249992 142002902 697962890 739400352 824650564 799128382 588531088 150249196 942713182 820346864 409860610 240952304 537201810 519467730 346162402 725288484 149308420 178768252 827575690 655293460 5371318 879438690 424033542 304612916 264725400 240199388 678090482 354637880 968682514 721959160 763950958 139723588 618223058 251385368 727615862 359902058 85214742 729189802 70171902 67346394 277900812 496709564 114558186 187365496 647698130 769546354 640076686 17973904 984523586 610316604 239727420 388116734 655918890 253088246 573989156 646212328 51588134 603655188 98339518 56567636 973453636 708249666 43733316 617905544 618902530 882734346 817876344 351237896 218881838 682816964 245134582 498083476 441590554 35668868 699370246 179051382 480971716 427784598 450510470 264215774 147326628 720134624 308230962 79209746 626832874 982797902 503471314 840606332 226845522 671704750 495563916 74884654 695459818 371042472 5582594 138531210 24331280 5695362 964572456 510646254 891617734 180740282 111674168 285572680 470685700 729889266 442549014 657287650 745157366 622602610 62452266 559463556 635129696 129733852 408398962 801739564 458481012 519913416 305944154 635137916 965856850 154503844 833475560 826837066 719244688 680687334 187273702 13488110 496813528 993766832 231947266 202888972 552250272 867055296 504687684 89230162 653992146 405000968 969579710 400854402 529919434 559331530 961045176 638558056 932343284 17143636 53023414 950226620 924491242 565016606 349494354 620535528 749717854 731696064 468758778 817202840 764930070 422971720 975775812 574978628 586639690 972935838 879265424 966273424 481684210 843586162 299962934 543583226 483664950 151892916 401341338 85135592 309600812 187365800 660429660 880682184 829718130 789178282 991792536 702940008 108291794 697074328 135561364 489978846 690665610 233107652 684200708 356894046 220492094 398035668 755538586 677689514 741329482 311002788 752921596 249862292 601044134 852862158 451798684 606583368 453131502 163983004 521789910 527756440 4626150 786141574 532137708 606565450 780752278 584981604 683145240 363261754 583118446 651901676 840058190 857294672 550301266 852069968 423307316 469357602 62215506 746328828 968197186 235683016 446062692 714269196 906786444 317582650 898191744 211062356 500112322 251468532 809011024 155640958 468091582 815867696 822345512 518216690 572868118 234728788 710292458 796999998 32168816 793506964 830729178 28119104 922247632 303390412 659388206 922601538 251063036 374524720 213653186 162995254 510712518 987525622 664739484 367864450 99427624 466069874 821344708 607407934 114320674 64930180 934513692 616076554 534108788 124153776 970023630 407750590 379986834 199292776 101158546 429514806 761486278 94274720 313620974 438480526 992254464 981817678 148707062 816766444 478954338 158462854 201027256 186878 253687828 625478530 680230196 611627678 655392476 141409024 558487796 10625652 131408762 485135810 952160028 309342506 919506896 695010862 63282426 503176736 440762046 290550338 317922896 920380298 567866032 761619826 832676968 910877616 863354088 684863626 92497430 75042178 954506718 252866490 536034342 669964102 340635792 663687430 655747398 896106628 866233768 279384430 832410556 483810086 863061826 83931938 217064440 589290168 869133034 610686762 959985940 208868360 612615148 813711648 584234332 543330380 460346136 912563970 18095238 993799602 322705522 95928718 682433322 630653400 177661698 337269976 630018028 773090474 532978520 505721554 6056776 464992154 843145818 299815402 316213338 713584790 256139792 337921650 592679250 557397870 356325856 216287458 719031068 285505540 432013688 675434928 970704796 225257922 116371032 563163160 500614100 769023978 188098708 568542322 787682888 869371064 469710088 70486278 902803590 308688074 5147952 253789946 353444640 651197688 220265148 451264456 241923124 397335258 897534362 930325428 334485788 704701994 162736894 449088498 344276638 971202620 329060 384453914 348387574 748994396 163036244 965413322 332456106 204836358 999785392 229540386 376643930 770756152 72105110 26166814 679306572 744058676 974567634 311429494 157700156 618267258 733336106 96636674 874973076 967709210 207406562 296321190 718924242 885297426 489561580 858028790 662338068 964311414 308199376 734595882 784364638 601258328 690758576 453500552 895010170 868540202 362208218 959702024 228297664 193696304 587272214 186907490 184295186 509320918 468177980 517018678 411217560 478950434 105245440 358652852 90055312 784510432 233505492 380838790 613214608 552661898 6691492 619151838 678202870 996294382 489772168 783657318 306709096 491399022 414209070 914707626 980278890 978911792 782937742 655044640 549283400 995897754 432701974 640965794 2452294 617579644 713575294 242298910 468505434 944603006 518991408 846183360 836953864 56632160 668995310 151137006 405051450 586050298 560140612 675995226 314836462 542651288 589895728 110886624 640153118 115671052 118092362 157124092 551454548 636565792 819062398 58260394 744225834 953130922 45011126 416447422 38280782 738757156 424902900 966622782 2154236 923812134 996957708 948629424 303967380 884750800 26170284 339128110 822278870 483044664 510951220 314297364 71656544 487799708 987490490 273816016 82444818 809978906 806755156 885303398 484285822 549434846 354766058 811566938 758839196 466292256 222057080 443076564 199809102 685761640 661519070 421343722 187625332 356124882 902457746 849916664 15357064 499223428 647729124 774356366 112439282 922989256 521522262 396488258 617032754 537914680 737205048 636020996 538687148 38087006 29653858 293710502 14367588 15375110 306983472 51395132 95920656 844846904 234991624 338420282 393353676 10362178 736585828 644698348 225307384 356833638 187101602 98940856 988216756 168780576 939463592 137063144 742136622 66747078 34798036 521872212 887495564 315532452 869797904 946941912 211272934 796020354 208467544 829746712 366529268 242039090 692439526 92854742 131973268 92792682 429146760 441737556 966287732 965219446 954841198 40428210 408597614 556965306 605264548 439233588 402291628 212686216 270138392 670561686 657581204 525741670 512342334 805184906 996200022 634201284 290965016 112179908 912382204 54406252 282675150 203815304 982668978 783320922 414300734 19963502 955694856 909214906 754800374 93943012 57083488 444029256 677211450 20232062 187930536 535726400 579963794 368667496 800622572 275721610 289363730 537612808 235900896 949373326 906974512 670485048 375908974 130328158 421802134 240847378 464747530 270665414 701359714 428410832 103179622 214508992 235113198 567545928 307298648 722010434 477946494 140494880 570552086 360171240 5891712 374163774 269528330 412440206 103456864 287179974 715590564 204250400 244093252 532528916 13214868 873165192 269228646 59434692 860773434 334114600 853170 869703660 621649844 545787960 331744802 835321290 255648320 972243962 993177340 924094664 349111308 872770356 381991632 470130054 6425958 806308026 956164726 790094958 36803318 320672256 868755470 536528596 270979882 520729522 198207376 415797914 115994964 516717804 643430950 578376696 309365988 720115362 79852298 648402364 949827918 678496892 69508514 311566608 796696078 417985024 810140698 955843842 633468732 635034116 281091938 156232866 890532428 7498638 826101318 618708348 881669212 125251104 841154578 385709490 290166602 808712848 473510884 926368184 791706348 792066568 649771708 99116566 605465084 17016982 391861188 309585114 76449564 471224174 115704904 402368714 852423008 943021102 430362290 689478416 292026048 68008926 588140598 104870612 789797934 886404376 824312832 382219892 224524766 696866742 615483798 169585918 201040696 266264204 580146576 572790128 805311846 891097978 433074336 177876460 669402040 583077870 818143974 156695778 153309134 149981328 810721574 178705022 237550298 141821526 743885568 546948060 34322510 749842088 856680146 441828426 519778062 632818028 305650682 137953302 56103350 504007760 735688468 344291442 532508108 919738352 611724554 548721962 607809458 363891884 187987740 165015570 517818862 362721060 313476026 441774912 408167616 929690784 468372618 758990478 288658900 984938086 632647386 282600170 449069890 648904312 320314696 31415754 433632264 433269060 456422302 162472734 924693536 834868116 674778724 360805296 147898240 493158124 554548208 673271342 123144246 263309236 320387680 862826882 448331840 450490066 147281412 699885968 460333968 817640676 253630544 312725912 945052924 577831648 495815636 570595644 261488702 324006990 658265818 365573946 943524060 84327144 856482114 354743746 692714932 790703114 520701650 419590660 812034766 869755454 766417472 694814772 677903098 973480360 630394570 483963484 129958492 859125860 466838516 662058732 376171890 707099360 834485316 520528650 341061612 671760850 170170922 115358486 437163476 497598496 335257718 821817450 241412930 895523964 94462692 325872710 346434228 911248940 63496856 85398692 648286680 531625276 803710672 123548752 424029542 643562392 984807338 649315920 540021102 258933292 194149010 995322260 21632156 648299114 172398344 407142178 805906644 930963314 769314352 357793318 577567826 527858016 540389698 368013530 838018394 307115404 130338658 543496454 313900484 968551598 336740376 787864866 981703572 863149138 267988834 849179328 492162044 369413368 322616710 537048256 238901540 173487322 431609986 665300142 182046244 439394002 439214702 487596606 142134004 974505436 454849096 289158000 729978178 773447490 956744590 502265394 290164536 378479300 162605828 487318544 305330304 217178076 2787276 339533830 712976654 595107756 957958948 352869528 370574498 28768486 616608766 740192630 183955140 686236390 481288632 226591622 41252292 426310686 621195300 29941564 386638520 430831300 450998736 265071594 125173372 609671740 90668762 390093062 79824670 234654982 942882848 159789982 405305604 539137132 247401354 971604726 795282994 435080002 659198716 984848300 641896512 72506650 541475536 950834324 155559588 877145352 498354428 612996130 192088248 933494912 403166042 537299350 867546140 604404100 627273048 115380044 520403442 271186638 407671580 156918370 795305582 401353006 471867694 814016212 537950410 338810706 980669880 279585326 397708204 379648486 789275216 14052624 429944736 331251566 106349224 453509224 163328120 301467360 723570050 625327512 400499612 699565238 178156714 433497706 647180426 174975286 328758464 460279328 46389702 416413470 360940534 146141518 455214640 672884562 669219088 354553402 973652688 455313814 979393366 471669642 592629002 923992626 963826096 811635156 697802616 655344236 381886332 822764836 135117632 22874024 502430676 704074672 420693442 391733482 729929128 970658274 690923178 24437362 362296634 666793112 142592822 976799718 402741016 639255360 334948180 825983536 736255758 980131458 915136832 471950016 969782496 229208082 551898974 562610024 18980568 87028174 289044966 124956826 624447284 172985642 386987278 921004658 688877534 37819530 713377786 341639416 60382104 86052024 163074816 252057114 359829930 607724368 709165742 751902532 60893706 317636934 823129716 656864608 760040976 400122434 488423580 659240426 695091242 270465218 934050172 621607212 147717356 599734396 26290674 212108912 831957904 899728432 53392790 678728138 171281792 292123310 24166922 450178766 857353358 502391416 163897796 533799522 12340072 526125684 715246398 212781210 31170420 945710752 664716338 434180034 915870434 922185968 921201830 626553714 737448526 360290034 571540328 761785726 983353182 99397884 158034010 637595556 516997176 111781580 131609740 146571714 400657774 621165322 592882224 278617686 291355372 8127188 238109276 716755064 468050648 678084596 162394828 129843746 300223720 494753700 684019940 777960322 689866558 798550692 465897716 462568244 977992826 246988112 840390562 975332146 339211302 439013674 691852156 370698208 225707734 547910946 844037048 913364858 35448584 274223538 306422100 405166532 965521434 564293134 528542554 869365342 928468880 942610482 61270904 577860332 167414052 168232880 558190760 474674150 603510148 565607652 251071042 290122866 24108382 901917310 724734924 709507888 226313082 749653506 966320124 635312870 692373854 644722044 724300620 563461562 283317494 846156100 450035220 88465062 831143236 966293118 433839820 7173414 825038546 297926648 566294098 950029532 911805644 949051866 893424420 18182402 712299150 205863828 169627342 286367302 693405560 37647982 835366244 304073754 674042618 525100316 617927238 519253474 20345320 60904462 369964388 843287470 183830428 773997494 739294732 966330754 556328880 110957246 47095392 702314902 638825300 593662542 625345842 934416630 217506428 420632106 774801930 802100408 128659306 812416966 740954846 474361736 647307466 812409656 775050566 20878416 87918924 623257342 27908438 625100250 352377302 72069372 780581934 11153446 312350482 438823892 27597180 655498634 715510978 557361744 962748566 969479718 94733482 445857818 287745906 777873824 823100056 533614794 860060596 193807034 656697778 26973586 795421556 390041372 219298832 258337884 238069084 948227940 846616956 535110498 170942966 188441650 750789314 11319988 630357350 130980270 264341436 747533296 726450286 961402090 436847050 510997334 467466796 469796440 182812448 677991270 503154840 880988326 14876654 600258888 131055042 796791692 760036234 57509608 130161800 9910896 706338056 12402108 410389590 50132114 345869694 572559314 504814148 401747354 773703810 390118582 430786284 590656962 773786308 881525068 137763530 252175182 659618448 196073312 15875270 661847210 484380358 71556630 280350270 380060628 798308618 865803850 413063436 774517466 595889324 738986058 402017680 652663864 767382884 406665868 562947772 614740260 369751636 567102544 257748618 510858392 782834386 86908954 656210654 828166614 780872876 359114200 915816298 727406978 788183358 319736092 430086646 202985240 458383694 339562616 93627830 2917874 614924922 121377414 301659084 580297024 581478942 156414240 800889512 286273460 890212996 708153228 109644112 553441594 88712574 627945872 263290468 147506718 795788880 360192978 42554590 983361674 366084352 47170084 667279562 566406362 148902812 696905228 511525522 633404744 195150322 805029974 820027840 17183174 377692036 281910934 267492604 186470480 844730724 266930858 889985624 78519996 691082528 274905856 426362694 768304980 44641472 476490422 100534356 831412068 70505974 683967266 732536962 155050874 28423216 844134508 145452936 214520242 804305040 845814960 89164106 411167392 209593602 174964458 729118260 743914432 657511084 135142042 379448530 935177032 347859834 169677404 910787782 452133702 671296318 127012724 224932208 738255012 778421260 592754058 867932156 842679940 834568632 588067040 756641264 434264750 816935022 457005592 36708178 118968264 413524272 367184140 846072912 179654232 240833748 86946916 667981406 823931718 645936082 978503524 867455156 644543164 333608812 706123468 77140722 220798198 536520254 196768494 93402378 711101214 196482968 495074290 384593550 28267316 453022716 205943118 649461008 843284510 541041386 319010620 459679086 197394954 936580668 899766956 477540884 308852792 705321336 990896732 597157170 979216142 273780252 767450834 981736002 237904672 514630240 714476190 606247060 519209654 600171704 46809362 170769876 145285872 625989772 763539918 931329612 604395858 190453488 349660614 860684798 276900234 575088408 515790070 23581546 402481776 196732106 369709862 826724354 389130468 784118352 379697822 602313144 513892054 987412418 146946430 994260206 174876276 890203556 875669684 982087716 665109760 69966798 102707556 480904348 202094206 532483008 876865472 22230162 917149340 499699908 733378448 555769620 314262152 698200710 529753860 759220612 786986492 574013578 694154312 617231838 467568778 959111726 372875054 846805842 395777938 871821994 773103888 246509786 803925250 93735138 325148214 683557958 521162074 280088202 401776300 723398154 836310336 778781190 665546104 22717702 777357930 22773896 784804884 506976086 94341976 14996152 183829244 105231818 623432806 871957866 291458992 685552218 999764420 672665102 451386934 179838048 399994866 819416870 143051246 311141402 315484798 446223902 284129378 836201408 795625532 135849828 422151534 667049858 163927790 807477020 118062898 697481212 532971806 947465452 989572712 644187728 800808814 631040566 368253178 435575468 363453228 94808918 89755370 77252668 516470694 638094850 791448016 32140458 390044472 262680854 604798912 146960140 484935216 913353844 754477312 234287646 297024290 777681790 208899190 218872400 445014992 211612602 248561816 324363414 774424402 901055414 108301524 520410906 873383176 349918934 400938234 951092706 852163930 393144606 901075044 567066516 974139464 775386320 968652468 92019876 880129338 143444510 860711586 320138754 283542738 356392740 672009648 893673068 344121692 760741920 634914106 26020962 433861904 787363422 102586078 976657394 702999084 762854258 126377438 518325598 297373750 828740294 888265868 288579842 958438310 827714150 640443654 364683640 101453054 232500146 591977462 183476980 461243180 612779514 828176074 843227334 783746020 653683964 13800790 91442378 191812776 624215484 507369474 884881732 326988484 889987344 17256604 617336054 165261720 742242718 264664950 886062082 512172524 181107628 565502536 649093170 992996810 87229406 463259402 272735176 918994874 173982346 271449906 91454612 819424918 686399366 789887376 251360372 763542374 388091798 565269250 800551630 373207402 448229020 203824096 16024408 762199446 659825182 28423216 120483442 633113756 607828610 970967056 351452410 144203986 176397104 769279362 851945738 828231926 258754890 607084662 188868946 192987860 604837544 346251146 365198888 335165460 247412610 19861680 882584874 618326872 529852696 838965144 64778488 232729262 943099870 683986606 8439946 696607940 180816582 549557032 398287250 238495534 144883726 115064970 739095130 228706426 257252012 769653652 800998806 682005136 758131358 316392218 452249962 325444058 304151242 643939324 385028140 904228680 92131088 914064594 291470112 778856738 194005382 409840316 534332362 402199954 63129582 378354648 520028394 885740494 520078776 553164176 593692832 790390354 402064536 131472290 409196202 526063134 493195922 926624472 185472778 733305218 516983852 679898210 915912602 540755886 914016244 969711318 79926106 335437180 79345378 774541576 884715524 26603236 470348270 63961280 665394098 895297432 78289560 76989432 37508776 921772068 316145696 883387102 97511256 559673778 181612156 436024348 692399796 890689862 433727306 429894854 119555266 500438450 73356634 596988758 940075318 207662950 263562484 512439302 154522230 770074442 244607820 88662326 701051512 111243114 571277114 329118486 119631260 508883428 38814354 679966080 570354282 526209164 746467972 794792044 43932180 311587606 154750028 13554790 642499348 852419212 660513886 433635570 18622592 333697278 557100216 367292844 446928910 288802514 604989596 700223718 762910532 290208926 719041042 795979286 908658516 213116652 874374714 614892688 639440326 14241100 980888240 327668836 597124006 967521154 174625570 688411704 926213108 715380832 301243734 389562482 589486162 347491230 609818150 765578224 306738692 98503340 253733144 830425548 302264820 601608840 211567254 612982454 869046882 561739786 959744830 736600744 350412972 413612956 510983062 499692078 990944356 567049012 619069984 887698226 329674906 167401574 330460080 825943264 785145474 933955160 380078460 621400896 607278662 102504694 574343510 502513538 466193216 339006806 708630742 472832842 174924282 48408032 738751348 24425660 159994546 361724894 852932514 452614378 650898836 791336940 354007442 780862796 936014380 762523930 157383950 883545234 959674494 98741594 282168758 113753334 745841780 77280288 325244460 714867418 687374736 207290300 486073386 468846106 894200536 132452054 705410964 256342582 767132534 149193902 468998502 882535746 114473862 482291842 60504140 323174162 713691300 796299388 597842008 873704458 975740002 552239372 771206524 826058960 431751354 323708502 866290836 433491754 839910638 544279372 170254256 326223042 9147878 411583996 718590318 601554352 7223462 647372474 420179332 753584460 772821128 587686934 317602476 656495040 655242516 904780140 546624216 986527640 299501180 804111574 840275180 447056622 431751268 588438084 617884314 143901548 295412356 188004212 477567650 281668308 316506396 916978816 770903472 465857418 949100228 758967662 501530038 863269330 108412776 629571136 312636852 768096632 601117558 200043840 740105978 678976940 879658578 173275094 816504424 915837330 348048064 915710628 969461996 901216410 43167064 695928206 145303948 804769474 513050208 343473810 654952394 683064580 435929016 499826842 646114070 373625140 888401692 914211554 91285574 819866970 634849184 495464588 799690836 333650774 507984166 753477364 281619444 475509692 458018834 281090292 721723736 3513330 615762184 57714454 235088984 165830326 334992728 378701066 659681796 870640132 715373454 951010638 121324280 543234920 306862928 606344774 606593878 794881540 636667016 148306836 203025228 700653030 480916542 719190370 28345014 275385196 670799646 627961554 416342010 488257778 155677456 419509870 751702762 759732398 503918202 391739522 218436540 364233692 991424890 388022588 820555642 108252582 386716332 587290516 110726960 502944772 960813240 657711118 394058812 487433954 103400026 240272724 356807236 804732692 12982924 226715738 178831390 193659968 403087966 287804764 241892476 455983386 518460074 365874 476920748 464953386 534031736 640493312 655783736 387698916 653972318 582236926 534965806 502673736 716955998 50445918 425646562 410983400 206908474 513187178 395076396 648871574 243814480 900829558 171408902 819966840 586019044 613816474 541869242 873895968 560263154 329645964 671432166 688175990 248260260 682938934 167365292 798159532 658721242 295471092 798878264 627665778 261997674 49935450 483699860 988090882 600400564 705440734 626061290 134827868 929980332 20446914 774027332 131669132 771958690 720074244 629445200 137334322 784016848 5036616 675274774 625709806 986919100 348623234 211669860 52512308 651120836 999846224 112759676 984915240 434245678 526430346 858944948 519320564 627194810 401577556 896672040 492338954 266156714 642930300 790726394 991775382 337867946 10693820 254839860 364256092 884986770 714142972 596935418 20688122 546200372 969392338 536005716 337473062 122101396 591774588 547486154 869589600 927646396 548341428 337791794 20001656 276580766 566592084 926421186 280378978 447155174 539473844 326928006 792776634 739774774 226257140 401270954 395207994 97192300 752211576 238481396 587872148 366690804 674305480 347193098 478289154 979815066 4123330 888718958 593897624 236058798 639878600 170738286 909032204 2574860 355337402 608471340 425065874 48480700 275752792 112106602 794745870 820871552 506578472 893553148 268966056 778569172 724079318 406341710 266067084 293584744 360005002 192191396 1279976 945481046 941459246 422567214 684510424 451481626 327407014 775801788 928028034 645107534 232077880 175422830 648421926 23634338 761659354 164922606 41533296 923052912 499004552 179822742 807231842 295067564 418777648 601253690 947064684 8382096 936310770 971698932 740185546 253591282 552209550 541235476 988974130 237706722 27100308 524623176 469880572 110231672 726307012 730590372 533220090 338790314 596627824 37774586 69877512 250088240 604833616 30600558 38110848 172440802 224240254 873984562 861998572 721875952 379478878 320305746 603596880 256134844 699572076 945779068 290592592 448021508 129717060 680835946 465420900 369179396 640349368 73025150 828555954 272803140 845320706 482055824 731953386 212304508 181418810 812848094 951748104 303832078 44367274 21148096 646819768 445922522 546278250 593940508 414185408 783124294 821694110 652296680 827409668 416808898 558999080 541899770 682605976 329322830 342177718 670492834 497862644 14689032 161816464 615666844 530769906 359106054 178755920 109049170 71935594 252926658 282811944 561430696 634523620 854223582 137038442 854085066 997182230 93742738 210045726 179571638 715663038 622275802 528325486 184044696 930199116 252942232 756421762 924134298 911808932 499982600 898586876 597006286 100209456 473367102 801950100 21262804 211592860 180738720 894427490 433211218 588564596 421348798 769608646 320886542 380419030 686945602 258663138 497746130 499068294 307022568 11249938 669305678 479059754 750205248 441193442 756852962 34947306 853909686 763984026 960085282 89157602 418579322 815431170 158913168 954716674 971745812 46910702 102111482 849964622 938104906 203336284 116337976 534741706 213311330 424810672 735784612 442143598 575258054 348222264 721704256 387712832 51183782 523889450 537461926 693530346 67547320 523205038 62603758 942674342 408938090 333390048 672758212 293190036 57152276 394512262 757632900 47759112 197148880 987558438 146767116 43292390 780806626 47270876 185197470 42658670 343506228 561799208 596925550 18972404 377435972 687002212 274485962 551484910 368164094 450327692 669085494 823931350 187090554 894357434 750707262 602365604 694961776 317183740 205967478 760086468 229950406 845355440 494334170 47240062 486678402 721552362 46969498 17444100 787197412 821672382 917772886 585922240 929907602 294016154 910610230 75077610 636144900 506918948 171035562 491428758 288089546 247837080 367366786 117651402 76729412 288299488 824668636 659665674 816874640 555689774 675534722 944322684 963726206 501876110 76752872 716815924 433268330 250521030 889873312 833455616 761523882 685933838 390415148 128214732 105596158 631193408 231316158 313747820 577005794 824444226 543455022 732415134 782491900 406593816 389543232 156972310 796382256 440283184 130527060 268980134 320177302 553280862 261872456 767703806 716600194 17159122 811600164 633385806 697369038 533163718 617449010 682505872 963625010 242490678 19817526 324553294 902324828 268983956 145490098 887928878 830960066 252644650 433218868 598354430 691450952 266831760 434952888 799608354 37924824 317987736 795103176 865813074 154872708 922490298 911982292 6993046 652159530 365399008 333875910 835970982 299130640 720407710 572843844 651889522 528771372 285760656 941039546 884676724 11543360 731059456 751330616 624297244 478702782 554855492 510007054 371400066 16892516 351622844 505233636 906477930 956209496 733114570 837427804 740026136 496849640 257712362 320060194 9890442 763637254 913689658 520374606 181101356 768074192 445258284 280678430 54849144 394797512 310011686 898479498 403825780 223041512 189410438 982369346 997343966 545216226 158048810 111679928 729174952 244326190 741202480 159815914 440360260 928454412 723505474 896159068 818916546 836277990 728514954 653924398 424836156 293023116 562153412 492969336 136707104 18657022 860522888 541078078 723321044 702283344 587371084 698071052 107620202 462038114 896197528 299885806 627418580 824747460 660638970 623614460 75197534 728150694 17436376 172698914 482836730 692309528 794258640 398182640 113298594 702797016 60546526 833707678 138538836 221533838 182021764 538670324 363242668 714670164 970341524 98574910 835110790 203830674 333518860 603006398 854061700 236470856 920377692 163594806 530877556 634113226 506062136 603863178 188740536 99159562 679826336 335613598 289173274 559085454 718558760 60291372 395469110 374514332 124390058 519150554 871777966 350737320 821561336 464000748 512037044 954193942 345707418 779913532 967796280 311642712 162999276 276994318 707188328 189847214 711462412 791952116 267620258 3968534 165700382 796199356 537693132 346987592 8981012 82035814 513706072 966343568 737112686 476497484 138444348 469193242 164813990 245959256 983515262 758165880 562866570 560923592 597973408 861826886 767189618 930392284 445853078 63388196 33364534 344382622 982851792 186431122 77080628 207306566 849062856 30692760 584629702 823458752 917679160 569791100 322410316 988074400 30069112 456470026 424776418 843355768 69425808 736925704 525137140 904160404 752826884 310257642 826658824 700352170 596218386 227773010 703704908 400374842 120003030 99796104 538181006 224115738 892940572 907868240 727079084 937232164 185855252 852931988 936914868 505537616 5855984 458113202 289741948 84708118 152121226 477025918 973664712 784024560 862787066 348460798 703163018 109113794 597538874 289192422 704941346 955902430 14428728 887438434 538622388 744882682 486508126 573640208 37594760 524873908 316602786 289464488 409202690 743716110 673651460 832262460 694055098 120333312 416650712 678273000 866312312 183263186 967257656 85350776 956175540 530106568 222406734 477339348 966244272 140572622 902319644 682189556 96669692 857614858 485021940 625571884 298389392 602608192 771471954 670816168 560930228 300420646 652913668 535523270 948444224 499901488 643191262 560402022 397842806 24601184 771320972 496513656 342745890 707600024 31147872 178635970 248631994 287098254 890619370 290135384 247005630 442925334 886223544 663331606 328066366 267654750 572037782 713978716 38847460 169477654 927143900 589894812 97467114 41229160 833619084 136912048 310645956 270367120 838280112 342732450 851798920 77200510 764431656 649265138 811601192 271538778 128676384 895669328 649878474 990695356 710306672 464845382 804276634 149731810 369715866 679147206 805563158 612282308 896463932 15188472 736163580 60392432 990191110 508121644 952878792 445007758 333336496 728282152 457521472 80079814 565689810 468470142 834474166 593166156 364738698 719532224 171081852 513410744 216440646 277215732 109291520 562941792 873275072 332423792 675986128 733165306 907269612 68623598 748094174 86622252 820107844 489499800 355088120 286958636 894258766 986505458 996234880 123344494 186757110 432610724 609784342 909490230 624884198 325803428 376652306 650830692 107987290 182567812 700983040 221738122 924920530 790167424 139567038 619988958 37132518 913028130 524422866 326927632 330746950 628839668 484758380 392894552 722216466 789709472 531441680 242217982 553687596 470966834 830017804 183716776 652526850 593336908 707574512 895302324 301896366 387081482 454993580 629278034 983925524 979694020 382366662 842810084 132591226 735976630 994133432 469473334 823520110 372934660 944117804 998388770 463284000 972019250 809810302 270065448 286658686 301212346 941137942 121205898 125725960 368357424 890019208 330731486 346572348 513499262 68182412 536107532 367529124 804001814 196575258 672999040 590913776 451997136 92017542 762385982 294776104 989532136 748775576 566327802 880203264 28020414 261236424 963711586 491449660 86705502 993246860 714222326 379220186 333217578 282851496 539391330 337861958 516939344 122201124 899880352 721654026 308767652 877144456 680521926 783572528 550916622 658302984 646547110 880604038 425181202 571026742 595909728 769999550 616036262 422168352 773118482 550525988 960890252 641933944 647943108 427182414 797832792 446990288 401018216 558429434 781546302 269738354 446974226 227991754 255851850 909275766 478729892 926721576 740681942 403138716 548492542 716474290 618601432 459080630 68232684 187465706 377917786 128186302 522904652 539247410 2382948 642976576 412343294 224671744 851042292 527550564 263752372 975198524 814817114 873663792 947727054 352177424 697150150 92737922 843520572 539642520 312208718 611471832 422820920 328147440 207872740 471516510 276606062 730473284 368099800 387998978 544829030 416293378 507041750 253292766 134359436 383119686 287612900 862395888 276914758 347104370 982402494 710203610 303338906 295693766 595140738 487852080 227897716 90789618 183563746 868227198 891786946 359122152 247867252 245354228 34030030 737467280 403889508 747088926 996274700 856055584 141109962 426913116 981915168 604787676 314612960 208563552 187928880 366436158 27346724 749376120 535352418 763370278 928477908 800745838 738358242 735656726 291475490 864112086 896952454 336991246 745967596 386304522 740146024 140263244 559157956 388787468 210470030 976387800 339090430 793134374 168506582 658004362 197211512 709723004 665395828 104510434 677570718 475489690 457684534 250043926 707330080 780464492 553749860 554222776 281732844 848423894 658352594 359009672 100089486 511419330 943589726 355366116 794045124 839280100 502410202 183455386 937231704 942845426 374413462 714119688 739699204 284200286 388121088 637113146 484463448 834120558 283328576 404330792 224257150 440353474 74791424 727662954 796180416 525144570 515985342 182897204 937323282 854704914 247032820 858061810 291060416 111586198 671316328 13454768 767401990 394549204 534096842 397429908 938066178 966789938 245182696 331056366 265034038 350092476 604446906 621023196 442629922 573110156 851420314 677671454 794479176 253511304 767666226 35126728 423331422 343469928 109593930 925722476 914480390 807459038 977880632 578899530 920879368 76144406 214993178 317010174 454095252 977868292 511125040 438211566 661525000 869703786 670878184 880606602 208839374 146050572 346343318 108473240 357160274 908597294 215488548 590484850 605493568 909506794 838456908 487408762 846303788 912339800 575701374 589672992 561342822 947025948 9142532 737792488 35980734 850560164 903857692 793823984 556787200 600562122 543775540 28074838 653925046 418785902 777986946 485928322 379112194 609167456 616506786 796231716 346742662 82405758 452820148 92071522 975028174 242448490 381449096 956540238 301966284 760827420 528897156 578783076 983838724 999924440 228137944 435843314 468436030 624504676 398673298 690995574 555340814 353338200 685110740 897062498 304207754 575704578 901983966 701086056 479281732 600935436 633764182 287543626 710731488 382106208 14623436 977390194 849370094 663948434 255087054 259436416 350816868 301206286 846956988 592041054 704357778 690585064 771336762 793813694 546328408 820397154 675355524 543086182 435278946 558083310 974949800 928625316 621422820 105567796 945385052 571892082 410935654 82377636 501641848 908232458 337506946 350150772 669359306 888414504 87746370 176063762 306932682 679588586 83523526 642436930 843901696 501287898 996531896 358643892 88325344 447408210 525249388 459406818 298216392 400057060 69745640 296827000 415233614 81482786 188071054 352208972 917940692 67632620 786906728 936442152 498913054 729017180 848187460 205504544 601418974 690021226 626215070 260529330 350145144 694971100 393126644 831731532 435784170 70863108 984641774 870000016 117615516 482573356 956498798 777173492 846418966 557728942 296963218 401232750 35751716 142761312 946234646 700051126 652062646 479311654 676827476 182762352 598966954 785126946 180399808 199886320 847610508 683979282 185487332 525408258 590060876 328510670 314996826 571845416 267879958 164572678 894723628 409519882 67722764 669332144 408335158 56754538 845047194 382207432 659567348 38441028 372163920 441410580 617864984 908658126 277178456 974366786 63337268 289018506 356843262 194813340 547663682 545660736 979218572 745995238 178141082 329271372 975881584 650255876 218041188 378967706 834605918 134171686 367191968 578516612 31615778 211245252 700174698 222593662 867262996 505193454 703613726 621658360 783675200 208840228 151416258 464714432 779718522 411531064 319905874 442577662 242179376 488849498 75853464 895068666 301742174 958414274 291359462 743227884 673122556 364595264 521963508 26042314 924184934 238964570 753814630 884595478 210623098 689491962 654510858 655903970 752451836 530190864 108320694 192285408 566860242 706860256 889601368 371000018 716313370 505141278 309709290 563768272 443155036 516410070 670575446 233262326 144452894 174894954 914094378 888029098 540384258 332084680 392637198 115182626 24130282 310936114 572669850 345977814 871057224 228949330 864168334 14374288 72576908 144142930 59248628 992519392 804299398 522520834 513952810 633881052 249642978 440472738 339315548 377992996 501714374 50634818 686392678 302166108 851688274 416361398 355607826 900557758 897793698 49458860 957292732 540650356 618804184 129993442 866772720 1004312 340289776 385393562 860840600 12695176 168090786 608913686 314881124 213773230 932242964 981034484 806971832 585339858 806848442 5284494 325451390 536209862 672588142 650734220 259053200 320779036 894905518 32165290 917355646 303694806 742910748 72585600 234545448 223575556 627665278 209992704 424377430 929076950 664704654 921171610 926118286 864962944 232799386 368757744 141163836 549620118 187828340 638048988 717001090 348713792 470661094 240011142 955080944 796929482 159190918 462892234 661428666 669900888 297886032 321775566 826547090 389426742 514710846 66754126 150055904 39786458 836828068 948243550 650687718 317333844 136734286 659639506 972950952 497022862 292894042 664207344 656244084 577921606 898585852 203602078 820192818 270025690 944818472 187817816 430782552 102921880 858862948 490072578 503835646 517749406 893801308 880268288 746669106 82451748 160291210 431250270 462099032 883598826 115760794 919890418 566609518 193931468 933154938 574120132 259896290 927805666 131604082 43346922 532990316 103233872 451115756 896205494 558698096 842334332 239135004 680886852 826166576 909735906 210453778 987314760 732600494 575255154 307589008 827514832 348942768 675888920 32854460 150117784 24984558 422329190 581113790 894000024 469923076 949143180 111161888 969316934 445898480 310448140 480861200 889932228 113264796 135422998 291424364 592537224 991804716 435151900 910982450 533301266 511142670 346080042 176312876 751198220 135333474 906006608 324413294 162318326 763874046 175518520 390232024 11126792 429644360 793793142 886080050 386713984 261010974 331600708 584651362 322511640 605302318 923222074 310149132 636577894 974348176 30450228 718190464 905461050 986164202 749755518 303344212 717738952 178268286 559905692 658056068 738781890 166177028 599965006 427118480 164918448 157168890 875279830 104351980 26811848 295628050 893873616 816040772 122258722 351790284 52482680 951167028 328883076 994971892 585863204 818640958 78150296 815380732 56557174 523092302 813768994 951459744 45948054 976905506 385039552 873420456 310605172 42009586 30676932 687828692 923490038 300784248 974771426 832286080 938260200 756249662 124573282 187754804 527858908 645816762 119153126 306820760 212063280 457441408 337098162 856672412 468266258 592141816 299389390 381160666 782811112 887676528 312571600 267381998 89015052 465379610 188004818 622819452 692397334 51523072 392522780 801248026 175288598 889545170 563331602 797705750 479037486 330065600 545963456 199956530 90512472 202842886 565742510 362413386 26306512 473156530 993211916 153519772 741468710 86871606 686026674 609450608 202461734 301843602 804197608 214636170 817220030 122706014 745887882 31883376 553208950 108085768 12322362 723774382 860286238 8936386 572696704 786392218 267074786 334537310 453698078 527661200 287687702 758984512 746194898 161839858 51793816 943401354 452614884 569795488 292244554 663418050 896181342 329038434 680751938 504491100 794452564 770302830 566919858 208955994 534282486 355080262 955101084 602351482 597067142 280847226 909773024 398254470 222592544 689061576 506787978 32146228 30177550 47177366 77263012 418593402 258209524 500178644 664558276 171530712 65613516 843883492 455084104 272140428 623718192 209610648 391560782 678647520 430624628 569514110 784418322 318818828 397574500 665059464 485360018 977096336 958778274 365411928 499995196 220924734 563542336 40589486 380729074 209517646 860854724 63488034 285644058 606811354 186773182 590485556 471434080 45885206 315407098 403887958 529354680 608018308 674756350 659340246 13266298 604747878 511029370 93316008 371393260 805493988 381951582 915951130 644844872 813915876 876476828 179786078 870882204 35866016 245662550 293651336 259376970 292495306 434175080 545366688 50771542 913559780 892145494 290783958 49756006 576984046 998917498 871792754 621164828 723392604 24968734 959088006 893511882 436471612 299664008 20752142 969120844 103480852 72444138 134249374 961645424 780087922 138158616 611391300 920994824 113530120 52668562 440640978 174336030 537931198 84209958 215345720 24099384 535975074 576116768 888091182 354250222 784164376 513764004 308671724 278742786 474661898 295415636 975662456 635184714 617853326 978580660 230304234 104375672 80392138 662683762 714672642 640295016 710811032 968853276 751267986 30710838 216656856 187942422 241442570 495071784 437929846 909308708 203544388 539632014 295714766 536938216 141080872 178575352 581771998 10517912 111349632 667557960 753533254 509079274 723650434 636390478 575446736 480104468 312187232 30826568 353191012 390817362 299854644 607537534 497093840 853143462 545871588 60685920 131039716 365710048 209546422 948269778 975341032 767423592 536962138 497844504 153471658 448504074 928014510 649491208 147944842 940542648 82201894 192864894 788706366 294820826 21797504 891158044 900488614 511577564 280036144 547961314 326134386 139642728 582465350 154987706 738270258 224089206 666679196 556529572 836688474 424084350 874677860 505109608 927079442 718899628 431203420 313170238 614593574 849936660 269745934 447463162 50230386 765419908 871975786 299616382 524230512 260330782 100706804 854295604 250091046 238377094 530801494 774591630 217840310 416588970 987468830 486970792 355334382 803602958 1774478 402997496 814951296 178909700 400528064 97764898 545152700 885704640 297626850 151106874 173612696 446520284 870446332 897318096 388047664 719516010 902484030 357966686 938752576 540354486 636521784 160515330 498152320 635634560 646349524 983247810 697812460 258804920 963795688 93400312 581442318 532310662 161257150 783001412 33255516 289336974 612728104 774408434 467479498 436191454 914174350 533529470 987012458 976588626 659974626 236811028 464464962 944943356 212938780 724633874 226440916 57664116 352072446 393094262 820877058 846372426 785174844 855827850 224699782 188709864 984075014 429524680 303370544 539447826 232371102 810049646 692964236 550308566 186856540 21116684 473090356 865133850 592731680 172283664 111947972 696786522 325955906 826082796 854489102 403326902 913606278 509601302 315760438 270811280 697372250 24548574 345614388 437028208 569768562 570524004 549403976 781679246 983412970 409116680 361116012 840159722 416236894 941096684 556291662 227172344 115054010 407936382 244329588 829288676 764481626 929778576 716255864 296919600 5351910 475200220 780266152 427383604 911245172 883146044 234724338 520866922 356663068 656427334 328385392 64689356 197494602 596766366 316298404 79623064 799859232 16329280 654699674 116881666 945285212 979462708 891592816 817789518 290720250 101398794 433248294 138262086 131794606 707365602 1210596 749413154 656328090 30916102 300266396 678557198 101895870 351478928 649327028 101377434 49223834 824475830 155907120 872900148 58175232 885210494 572888182 198257978 505979074 612463248 823162874 769825046 689320258 527269594 256212546 123605428 593638450 607365504 805296554 469175956 462026226 349051748 597956158 816461100 894836278 916841660 726165424 409427956 392311904 109641256 235348470 769503834 940220242 564820762 737846278 332213182 461383194 522398194 531240456 609362688 982736774 795583052 956775406 987527302 717673412 508310248 23063276 939678642 415698738 759404948 851876714 287549348 349000344 779732436 227303130 938529778 633628910 546889952 193519358 322474298 559534524 115523826 583078176 384160708 884341880 969279536 958495050 535029138 71793322 480010638 544589462 473495610 387162580 999132062 646510872 122219358 260546412 861421308 301662860 492042800 383919404 97441112 423003058 849040650 2347968 674250014 946960268 307595764 511140998 793369538 723366134 356620278 325015712 618174218 406814198 655998128 253269904 141953026 183097140 531981596 579595090 74190014 991756450 885299236 88339254 842609890 391301906 771116124 325950630 708072706 762799346 636090314 326904894 573242222 861898870 24133794 794264068 418122042 412006716 543017390 666599238 448390162 547234650 984637756 492351190 481669820 418918014 752777512 300209874 943050646 944178394 648528612 225757614 190654910 310634320 769671242 55582974 929714682 178476630 805421480 990119570 409937458 886544184 399630716 131867952 979667158 874404896 744802804 250467506 592271922 98277822 788618304 407746722 93375236 721729666 572064596 732233742 884647770 534854860 873942994 289634368 987163502 634294710 863017892 11779116 623710208 825727950 1985242 452839290 911944702 478583776 1966950 494498336 705812114 1643242 10051720 296563556 434604544 260063628 870878408 844717890 867960300 775469636 70500952 834657978 937769834 385066162 501290232 520659174 999457754 30136454 443567190 394870836 599721748 672412830 732870842 997120448 360336004 864728892 835222964 302928486 584827632 828193846 655598668 273196876 161688050 382235950 636904612 661227468 408800324 774975148 169767636 112765158 746099126 956262266 811332062 259703640 519424510 878498834 328852856 548671252 772688022 13092414 689381220 266484780 925152148 909582490 691651664 2109988 734869620 733161834 30935550 485454296 126932728 885791722 263507738 453492240 427983680 809290088 807378922 532880892 262488514 446263412 11597754 95774570 258937852 722610178 503536298 787591126 135602578 367053542 62913006 880023316 944398776 267942846 853284366 697306726 337175192 762554182 438008448 247551686 726470498 401236048 314950880 778351614 176442264 389786182 725187080 968465800 964170194 314135112 3875620 399705120 398302396 491811664 531169804 853601152 292759484 973244528 256344810 202274288 679458804 302547418 193373184 358558528 477556326 523854792 945784650 579128994 632146610 765973482 232471532 9667722 214769318 344490954 104822086 57416220 629429202 734352318 366842400 895784122 111675900 358406692 33613476 840619970 817563102 384874698 537828788 881733496 651669934 129067788 587790608 961518126 386426864 919820640 348747714 720003170 351528958 464508066 142930324 624612246 891684222 971635956 444512014 537864990 989673202 377753708 728786102 173453180 218501360 207693452 29370658 947054556 465326130 500771898 799518870 478501170 316965142 973341336 927271206 447063678 838321702 889594610 210599892 18011558 776394526 888272348 861431380 786714618 537681354 639777960 172365444 102432650 517892036 529256660 108111440 740346852 573103706 541653060 609145872 72904490 39202504 373085884 678246966 98453708 325643874 872866794 75438904 896311396 602036540 167044372 686100478 410437792 98045396 159896060 986492718 623322384 448053368 928404146 93405990 907960016 490011604 817475632 102762862 320345680 589142484 734633158 826194042 762382972 584081786 914825144 25295192 332822906 328183606 896804674 588282292 288527402 471708498 993127760 586129456 930398262 490376972 228245692 167539616 941822142 46344 852908774 227252310 414063264 821546896 560135222 817181128 826178864 691022380 171095288 942512092 583976844 978974522 553535468 935788890 371156166 29504704 252667288 316758766 735339326 645335418 885394054 481793512 120897916 608997716 806182506 447159580 27359868 237750188 92655170 516792556 577508628 448773048 963485336 671361462 555927278 860741512 366160036 844359604 522868440 497637740 147316462 563153226 532779344 575780976 739853878 811786992 590911794 391072576 88713490 869860616 875299320 777043326 933048852 57629622 608516180 931707992 803685720 84688188 377131394 708559074 91732980 91769020 47259294 120101616 210492074 328554210 834312542 517203678 310540190 732969632 345711656 524768962 473611244 611350986 210803162 191168296 57213958 823659062 531217022 628405596 338531202 724276916 10794964 361148400 723938098 313669682 58018970 983026592 357651632 947244984 585814758 785028116 947317058 318169092 13453658 861017786 260059518 219703466 256385436 213628146 997603476 701595988 53989550 61508110 948895946 542213068 431227892 145934970 673188848 479001252 528370858 735593442 563402150 722009722 265194654 384595498 189470876 529688752 349130128 215087286 716206054 283172876 238488452 224392254 395052282 513720846 163286484 481081160 832531224 138282648 416259662 75182818 277611484 794739844 325105422 320692960 76513908 511606354 493946002 439296562 992600680 564580792 965016832 235373944 14953618 478136902 87267390 648182950 334263496 122910874 145993112 675925792 484025102 996837140 49993402 714893510 801715592 326646920 380316222 809932662 484979724 163931864 24396784 987401670 357042470 226673168 727918570 989101474 696769742 542892228 688284494 484064224 784585712 822936760 983923772 308053232 677289650 636992402 422543468 157004146 836233790 303899636 823386390 137618306 205657138 161014648 871155224 213020060 707649110 978614108 492394282 828839370 687486216 845309400 75352176 893326500 719639132 871679946 928503510 292688864 929010430 671774714 655308390 89447904 254738488 369490212 932390098 239816096 943237352 788130550 175803472 486324050 56896176 849021146 952026512 136422754 937968826 423451210 181160706 879191084 292791204 885433850 539408722 763059004 493678160 996545742 629707476 449981020 52363610 473909680 259970944 770425610 683847812 362889794 680004058 816838582 954324 182723086 870215688 71012010 22769136 715953716 22429778 564522310 597681592 6188602 720616816 442507926 366522126 650573814 72028242 61810028 94520160 704672678 466427908 255065134 369248898 325017464 113139570 602161010 631880188 69727768 485398512 293666238 640096700 722544386 20819644 534982202 230585664 835158490 167494186 731179292 614790344 497910532 836038526 547908308 739955816 107113878 826757222 938373352 141271550 402522766 236817630 829436676 276252152 587967698 295248956 386926882 189470616 697424116 284774858 409547134 166836342 72485384 578190086 102946580 594692052 832215648 824546048 780220566 505746240 643459024 299660598 718000248 574332848 418230872 300304074 708776830 391746944 760711794 219102506 991799238 679071026 409829184 267386728 768418580 400070518 763786038 731773462 463126572 418221896 295845306 338825142 923353956 975901064 649001570 866496780 180538360 393758780 535754632 885580614 923351672 56662674 432170110 361194 21786990 95375170 7150542 126052608 277460062 176671826 177692022 41006202 932847510 43437470 331334972 223889260 942692406 458574944 50605616 151134124 872728060 614439216 252202582 802957102 390745068 975058096 405008254 868361834 486773534 85095814 314273996 308860132 931289422 674084774 396742590 207795168 900631826 842887066 127962872 132125542 507887760 755871924 114109322 618344972 135548110 369755312 546834404 684771424 612513248 156449288 599885950 933193900 45510992 565276198 719132532 451412392 49902108 925629058 202366842 789327448 146177032 689034538 937840722 521072474 514266132 349612528 715981994 515671544 452291234 142202272 945674666 967223750 717072360 605747516 779337450 460042082 810280184 135447634 717560998 745992950 442016046 266608226 417895516 55171140 500560954 309827030 12803286 325782820 979744040 930505220 783445750 954066900 111420376 114174080 337999140 80695780 935454484 637145304 669113060 244634448 483437504 657223360 288612242 453730200 776204470 332756984 16368196 820356444 412433752 168562686 583287762 461431228 235508774 521357526 161374202 418492156 434018736 987303928 61089916 554029146 414362058 379311762 213128642 770936330 101694366 509527768 390786658 515893470 97102556 336983170 713663946 318755324 272152476 829648492 829709676 291990308 788034832 942796410 573982366 215168002 454448732 744628414 991852976 258720384 294233962 464374014 183498392 563822068 559226102 685349990 691403124 698231640 741938952 975600630 114878358 262480012 670175470 458416852 76916464 345091760 924620456 15393542 891700454 935539398 16373268 101242592 351335650 972317370 470763302 704253120 142036634 299646922 317989388 397805882 393985516 259130 5555746 394557498 119005100 829372644 84882598 500848960 729866768 101892060 619656966 690661374 547197790 507938368 789212700 54552498 878573632 704336348 581944420 622915600 530407922 258090022 627055118 205957942 576073768 768442636 300271804 357827784 757635454 954815740 83547248 625242282 944909384 907988384 370944030 665027110 250266590 925650322 932493654 958514834 859423286 632279666 196260726 487855124 355860114 360175078 461860298 521464816 352027916 170436832 583746884 684857622 819548082 458229522 522979590 411863210 538755924 338328488 336841778 868193526 268047178 288208218 274724688 435265128 773431528 935591362 399822382 517672750 360145626 972868382 773500910 499330910 966771282 905327498 797241844 92681498 888064310 638331066 545907358 711484746 927942620 353466354 543855618 154256232 71306462 612378534 526936008 510989112 215621614 783415390 681257270 260703640 745522538 634663552 167888070 713748616 65982484 215314956 409720744 680238436 953057886 777607950 841123590 703800246 930486170 161395370 976179222 668566384 785399912 96699596 154872196 664105590 301753486 998064460 173391482 920431766 124432636 172306136 283811288 376637590 216503300 65107212 540365130 607705506 967774652 679974880 540909962 149610150 570359006 63878782 683082552 196415102 941333980 284754204 847177070 528436732 13826048 613155786 167160582 942208634 27071856 211773518 267305712 571909856 429316702 683727212 28916792 692616666 647861964 815140864 741663392 304319348 71811174 189101764 99796100 613300338 405168236 470330078 684735264 414754864 252135460 843820606 751947526 119703126 581300064 707051250 953541684 188934962 69470338 352026064 560712192 872815224 584676378 142473780 954469160 130486430 860408220 200080540 52545450 526074712 911146898 141952332 87667012 718263132 953293684 687673010 784864148 57684756 462356854 564535402 220014280 697070630 35155230 927725016 160455296 669896566 255835112 301919732 42167132 583083132 875446104 691595582 150815878 564815658 41984518 527937230 347011252 636264372 576254366 218595212 144680742 508296296 647344210 181399780 402503616 812534234 715356192 415688028 271476420 322936996 548562164 653048744 321301118 827680956 605048252 384158278 882945168 663986448 134387080 985249796 410476796 347249526 188572640 464465452 628402626 765874482 405741474 605862528 327496918 612494560 377816738 648202348 585323726 421212570 479177794 358138740 76357330 378439464 596163656 359864560 843227794 639925392 71451114 269468772 937199544 879736850 388565178 334398510 621608760 267038252 372148156 242219640 328447896 722123860 64917826 396344888 369396072 744748666 806446170 247046734 52161998 312690230 217062188 552674490 666368508 738582934 382601034 103676124 946033074 274423010 903679510 285587882 944283206 502116196 908833988 775859234 764707374 468986326 949394204 465053942 411011584 74097298 443095572 732441894 705440662 934085184 86559348 729866236 3324696 234222540 872604020 286363516 987710520 31228446 236249820 850509614 371681950 977016946 67091304 607956672 638289744 80154800 315349538 938669866 545118778 217434892 218213750 589416060 271929218 913925732 144999768 518794010 571477180 378922098 819800984 310082650 419446994 159232446 723721436 69814224 164616512 300318584 602729152 331562216 579591594 150273024 164997842 482166226 489449136 761252662 97037782 982660192 829947992 507452846 544482888 902704174 701956728 352743120 875721010 893821142 137271872 1220250 783304652 697083192 414575810 503649794 172470356 484579600 452958570 435713456 763157090 625450744 423314414 794170930 974251992 705932470 177402240 11735460 215142320 689141444 752958628 157614644 217250350 284664558 597776024 907265452 620278126 156105102 696769022 660908360 342542930 633348570 230476684 716131992 117515320 672955874 507700824 922517310 682462288 725742846 152230702 454438866 227456362 959548866 340739748 8019918 15048554 29271804 735927362 300090524 791090220 577895522 851980824 502543520 108056344 390173242 902240950 59989836 227228882 598299478 269736898 178376920 49072596 121157352 826077428 400442014 77268704 831444844 155913804 688305992 338107108 99883602 382808284 69992306 231057856 315901600 880841778 735168012 600863804 796353150 122032820 333049150 198256340 991229244 748963766 854271796 498177174 500322476 533881796 226520642 888954624 589201644 665153212 551568448 96938616 735310628 628207018 309561792 664584386 929170348 572419630 200782982 767591062 388493160 602367820 850407654 881993134 708436482 546857330 217238038 711168840 979644248 804964856 323478342 16013652 115982784 464673988 448822944 336443080 188625384 180442846 688130614 763540034 587383730 907656328 450413044 807553786 186987798 992701934 123641072 536103264 793380170 669509904 268948758 451685374 535855820 7596800 493393952 580726664 509589646 558005426 824732808 90489376 123537070 658492556 992861514 731373572 494695884 28101280 883956106 696225370 860710828 943523420 881193092 281205490 191623346 468736166 580875624 55759698 198939860 469764812 136294338 166478840 290636952 779386204 605508000 574194336 508956522 451012262 832630298 106228112 929827954 593645426 713029706 603136050 403000888 723869968 229907826 313557340 839657140 862774658 917339744 899188926 501002650 528116944 470117690 999203898 954484430 525404212 666675842 414862604 354989564 532329504 813670904 446085820 240584544 666653108 533837350 87578212 595893664 680431454 363291242 37801930 718001442 579564116 859730110 769449328 546589062 283855104 782914612 187756868 910563270 686610938 80219578 118959540 23158032 200579152 652711514 563788676 224337890 414067286 279578542 871768268 642391878 664883932 476920762 877174486 571057146 255694064 914273466 458288752 682404742 726923272 237601146 154445850 544086256 822541386 955892742 335256054 29093046 428238976 17249886 623284288 670742924 727008042 69985494 217800662 62615028 280442078 165224014 907285106 145364266 472579530 582270922 215589990 209326808 852992414 916050256 140910176 953687226 176219444 382041870 425345336 94345482 416155462 724562706 440062472 484810850 996164388 693237110 121984478 446294920 277064698 458514662 738001928 195485088 295812160 102974202 968790508 973845110 488789834 528734654 804451594 286942090 553089722 380202600 471989562 988255922 757302496 697179590 901026132 993871700 764612944 317319332 320135158 906978548 392732918 659351042 746360936 761678714 64854888 328401486 304273214 461955312 796010522 389814078 419526882 962263806 482951240 631333612 979776756 357847502 574073498 100066080 514473452 49257290 421264794 81282982 971633294 780390544 155105022 537555752 403626074 370546522 181850354 91809298 202291680 372928628 756044556 304461032 560735780 849292244 695218726 900161560 755919596 612289170 804882718 300818426 824910362 22025824 582202034 564502472 139781144 83247474 951750554 732695828 699427276 542545550 273595794 532995072 139812758 756058624 522041650 55638472 4772572 673550986 22344442 159699964 4084276 874097404 637585226 566540536 239445380 204728894 561563418 186189920 375450876 292540090 5630886 732794322 253880030 708127280 615694918 657005416 865157670 9129824 665992468 630236388 316128752 547779314 388569392 179525950 584558640 894452712 261032650 100244860 610078228 38651704 247535870 27591302 459946252 90847312 641463440 693138444 742727742 395522886 969879900 549795738 881724394 662423208 938149168 183599446 14810378 349593700 509826894 159655830 223209756 795598844 461141310 579717642 238603976 174360530 727647796 883410656 94705864 861299158 492428778 99216540 851202212 401524898 119619472 45272144 431004460 370534504 669483348 855828938 234269998 54778894 345594046 946740466 45397498 498698614 879020072 663543994 345927322 602754364 236182234 87039162 595550382 453295206 929839158 794326394 9654472 480727058 656425060 547513664 892406742 939667528 703745010 9168016 657348374 214360386 630384544 625501234 86555290 322227946 228235486 72697068 809771566 103838980 59169432 22415484 352620738 320069878 358675112 635242452 860472676 980174428 614331078 38804 49479304 967534074 562732934 157429348 112236646 97188404 602486568 855676702 45720142 366251402 311980926 898808622 644394090 605158644 402178056 824245992 572862784 375852122 222925694 605041174 641989986 996565968 751553510 837821448 596516962 377946300 42574744 968799912 487566574 546486394 816947162 847784072 327734634 573851490 135446544 519152350 613820272 24036632 283409924 706184438 970978634 575463986 721055138 639919578 528270952 497847568 866890928 742697462 398891102 971299380 372256328 616899216 994869810 985784738 912020334 218693934 540603782 827209736 316259866 712535156 901902016 274005606 396249986 458912458 895572560 259152850 394088618 905546352 928829420 78971540 627583682 11385830 979378608 360308350 682504672 892094740 56065962 699500782 853051102 541420238 756104712 288795310 982597340 231670622 109817094 30162896 811115216 326043260 589174766 682119824 70336494 169062666 249881050 782336072 372504524 275727124 141057284 4496188 510699438 133224718 48476888 135946076 945328664 293465128 544692582 779070338 769537382 466742298 235074346 645246028 488745344 180354048 656440806 459762868 421841022 171984750 520009270 757793190 519231952 661011608 944461268 236934816 587802174 950997478 199913036 985833572 446885230 18775756 683006008 858611402 82044870 138840906 14035410 337936682 483425644 89467780 597327382 605358508 130232850 820764078 537871272 759454002 641606172 733144640 855420076 354067328 860809994 835980588 132008784 737271292 580786154 536539716 311870646 776150710 245940654 440621408 666186134 491036904 749895156 195270564 516493268 263773558 569593364 367988288 459958320 879855030 409814830 503297088 261659344 866412040 915726496 666223324 600987518 334647658 392010424 443109474 206939320 720895616 547584912 86375338 318523352 66069842 473526982 749009196 497882588 214577734 37357238 387560246 477475332 287905342 598296272 245811260 145385368 235018616 866492704 843812542 43376410 74212210 324349206 298963930 193866816 609104758 515554628 448554082 732256106 425746070 69553408 862158040 410971660 557289298 570664250 344307970 969350502 670191374 285075176 297669298 249288264 7106518 690585402 618303994 454099746 298543950 445149588 353569976 506295094 543098502 742005656 22856420 390731348 780844636 287268360 981450536 516698458 317357362 527810900 769807146 164565562 68470416 359956420 121483798 105399914 334207888 701474796 639273108 421832498 364259200 735688194 328155784 114045890 350144048 937080256 820305902 85377232 454660668 678425870 393581142 142796546 295115662 829292634 396727182 520719950 402593458 325493168 308672190 937850112 233219020 632388228 704554114 159693772 910628580 117897342 228601908 416283706 281971814 177189312 867363886 312273798 295598564 295532752 503503714 865995818 400478118 705997846 668120702 481498072 64057712 527271424 847038964 675540110 457558714 495382680 224951720 155124678 126514666 632322266 199024382 327359366 756715718 105201570 539097426 527114442 963576180 70405370 587895188 746833960 70165468 972960234 152981998 681806562 960553186 159487700 863992372 714714036 551469930 729175246 807030710 750798622 894641264 661091730 491815982 432400990 919081160 120803720 500841098 9850944 546444090 67174126 171265760 432469628 608814438 336150040 297912744 232581582 980969256 599022504 87113528 437564452 678556112 91581930 830432136 461517062 975541804 221498338 562355134 162044422 476507992 564687238 740341316 203582966 966448216 553844900 630630674 679751430 362534946 486825450 848744936 893125332 856245262 440467496 157380070 567003084 207425748 544960722 386079804 550644906 692953384 752296570 609273252 945673836 53151182 918814422 391108020 532442872 599635342 628573364 960373174 51740870 115447074 796219650 218613816 130815376 773844666 215032262 899783814 620994248 542475402 215300982 954766976 770795388 119188586 81838270 282539666 843496700 262185166 472467394 10612238 938287530 577417876 718844416 66464894 564170722 796977218 929663642 778956950 243462360 858799270 123524208 77009606 599316174 369648140 843993754 797891574 771193196 917341292 597766148 905026780 539973186 330511422 125240612 828216554 857975210 686936714 824255018 235139012 649942860 119786644 524083594 222213270 705297226 6323002 254368976 413825282 362412974 470857402 344470084 214676190 914120342 432667882 462867090 331817354 586696318 169413372 378865856 558002196 521656484 150381306 70989174 304852346 900473550 650635854 317373682 819894066 489006102 563608958 580882418 910663304 544522690 747077518 454528752 855971418 61220710 91710856 610656170 47542412 964206296 6032064 931384284 651388914 447202810 478021738 459381390 883188882 464148122 570444920 547775730 64296456 329996212 724080058 498472686 386805528 312128046 96946398 105187036 719143164 430651774 705964930 601657288 610499338 481908744 98143802 302856876 584440672 921245838 902017362 109698108 946005096 982082898 811691006 208615766 464839644 879524830 176065288 700192678 777954744 143514710 575613826 754137262 936750352 80774472 916157160 125560090 839582148 614447478 209056584 307931248 151532494 372662706 5978716 185662954 205753934 699351744 908889336 632260258 820801248 661892256 529632754 487214032 363800886 43160140 459470602 277577620 801863692 446251052 665204792 966633402 37101386 25970454 82218676 93825226 743813220 917947870 353924284 936907670 270352 526762500 990943532 354975692 57398120 765109084 714012164 137232346 340523454 875092442 252636868 982370082 331205278 488253032 623177666 889673416 111054558 514682834 707896072 417636954 542459142 484869438 991838724 923750768 31107212 891451686 67951604 552183916 613190158 97732718 549769880 229357788 619896546 416874164 708402698 253933358 129111696 591832982 480362594 165036158 665697038 788710828 712009540 196922016 863967042 873721202 90866526 792823054 304305604 804436368 476048272 884402460 900204274 481947868 547886326 108350228 33189300 281691428 366934302 38595106 750481772 600398098 169361388 228451010 248855764 191932362 887945808 622937156 875098846 113680008 359724112 406076798 545738 12009104 938990610 303686080 75194862 701493908 483583534 985334194 597884472 309932564 194981366 359462660 200585610 380620668 325946882 109564818 50573158 946821630 243997628 548629668 376941978 424449506 659137288 749161200 708516046 556053876 632111474 843092628 245623124 150306080 449222540 870644838 954839330 859114522 271727366 322182434 22470398 252553160 678588226 147249038 138505018 354625688 737615250 704899134 676170530 682130810 271644296 517312234 37658826 296298756 335116884 244483818 480678608 435170720 832567354 433011378 768496396 155826698 819984144 164926948 289103688 161395724 888418094 488356726 314079020 669661676 288038224 227285218 33017018 428166036 181595376 963440876 415150510 540611106 927686710 838560084 970964824 327781128 391680222 81112368 256157776 20916578 879516892 380381946 613586948 551016950 528313834 682779300 664139474 328989536 310526330 621998886 16742016 278614826 731995124 772566894 826013548 256238666 374254398 596726946 550564940 488011436 687490900 931986026 810153316 99365334 169460882 280129196 314981578 741502990 919756808 73068412 911158886 754270076 24304358 810642144 362297956 101095278 58302852 996392528 32560866 408053542 842916592 141806484 629116356 546456356 522135520 107342168 37617656 924610134 649205958 221516552 523469402 676193056 399975674 291202126 611386240 126226896 92777274 443017200 662307662 985778028 161670586 201018310 730720982 857073602 475284898 912714336 151664402 421893922 712540030 396883384 928049046 915998212 708920692 33861688 580335484 588486030 115340160 583096512 458910522 66175650 651281290 685552912 319466630 595169052 318310892 573978142 642244302 257527804 906112822 941587990 806699114 966512152 106157620 499799052 558164470 517265292 192002980 251269262 572790862 251713658 579712366 334466820 569598880 258206696 811346990 359369352 15171500 319320892 350997566 239791116 191489856 300598426 203439636 43933750 545609220 557794500 846131594 56272500 260460120 510478958 8864852 299668194 1791764 606521150 478431780 727126202 760441230 735946254 635046146 380340918 956594434 717804652 944797318 458669930 478717268 668307674 588365562 748371192 199504622 782097626 244496398 575593756 660533144 372878 251564610 126504688 123233478 244138880 775917106 371000552 644401124 855189052 467403768 292630320 225896712 866076836 730426180 68436360 438936026 984656536 285674400 426419480 658060384 902020514 502166198 191340502 284420170 919768520 782793908 828398330 847571570 145432934 583715364 191497712 508384934 578465528 220538198 878181500 458986652 807862440 980894584 601252934 170697264 738585876 350707608 814019732 227746282 63498798 471633756 385660538 206221392 645154036 224287722 138353792 293910172 656732484 51280264 275132954 496841164 508485972 833361030 197638696 647095600 847938616 591174628 3988076 138042300 326168760 565518534 669051804 835174446 502364578 162760670 363221952 463789446 432791674 97114260 812031082 363660226 132449326 288126056 659107394 364095978 225955956 538077058 80036744 799025642 161836920 834877718 366174740 369108018 973971726 665744938 467369934 623485858 983495544 360314332 582613864 486430372 56021512 774828080 729382526 278513314 313349420 947097802 419369736 894452928 346412142 115009206 193086262 855923954 139958272 204062938 280010944 980520404 218735726 59703228 430453750 67629820 738304774 611972130 139723832 228122812 792773422 625809072 906057492 910633526 566080498 627530444 768261096 293333356 687715038 734809568 5297926 586280880 32574516 60819128 368853134 280347854 611754548 320800394 964661236 634413412 129193932 443831796 90994960 214761758 319323122 770489248 413116900 838488446 804513962 833734088 505532784 726846042 795855486 470166878 730131530 262217326 577637434 223923202 725743100 43798736 949987156 482860158 293606096 815671964 344256160 960639830 486429384 821089222 953288264 322987976 877998740 783489088 477276514 527266202 476999678 519413052 86668080 324373002 692600678 226790310 468249228 185528548 321004730 389802994 224325452 154406042 282650052 807029728 688838020 934610888 640975696 401467598 587131716 425181238 549222764 676240038 775828436 488478280 430444886 116855496 652165192 646269032 991741006 605170490 499206290 602061894 554946310 890781064 942291204 295076090 823633946 948845426 373150072 811342680 806084496 253681442 98852550 608926812 74221802 38238692 372749784 431112424 332833018 964556996 361657740 662183314 594462474 859041888 637826330 625010978 858097310 149326858 113915406 409346674 775305558 675622618 582033506 367772776 926677102 823145756 636543890 665199480 781636580 808097066 951213996 138711042 839796592 456612350 961523872 240090494 363088222 895689236 316498356 775381342 956875290 510674486 576179078 605560658 597685022 177131096 917181254 22084044 488704166 352985466 787099266 581797842 617732332 634359912 461811154 412685566 895101042 105308364 273998544 104061480 251600088 876045604 966385550 982247730 177703230 236141324 216687842 815358258 575442630 750706532 361619024 834332540 470098524 954421514 995077468 288226282 455611282 109428936 555090808 81149572 374696382 683915604 842981448 525787518 132680470 297612302 917030394 107146682 87904862 33622144 757956898 18152812 228609028 804943938 378745976 200026818 790122680 698649264 644978870 571938120 534420306 183444646 378476016 867550222 418336238 800652312 982807990 641305984 228195306 202083158 105659476 750730318 806769460 927852718 778218964 169846514 452549218 298329048 420781686 357054888 383945100 642451622 987062886 603237100 969318940 15273958 791907012 709252608 228787430 288456694 956793130 597757068 244614758 272642440 333791624 757486754 725306626 663436754 703720564 539020126 512293562 336274402 250517166 984252348 681656272 643899960 765465850 763217962 772317454 92338270 73032946 295567168 554522998 625939682 770943836 438288308 480499394 28099792 422313100 945206980 357564010 64088998 709825992 380842546 498370134 789590342 208839824 869047190 605097910 749988350 909857476 880338532 692209178 329102048 486035066 682521900 40987130 636976508 497581848 492463562 661228466 657324304 645292190 867462686 685609860 601229880 774875356 584043448 849908180 196610598 274758638 820040082 159845670 467561710 665114682 863319214 756492748 93290784 84539278 249119002 945608736 395097046 465072346 135935000 512888232 490560328 815448702 438633768 74865504 816350136 207073808 200953058 740630404 694326392 118290234 461875132 104103750 896232610 621844372 387478370 357532042 82248164 385660694 212386760 679810546 144712078 491943446 907700412 443351248 769347362 566491552 418265758 907163410 481354282 909184090 248192218 348027872 935254464 173114556 414651302 472212306 942056052 198528186 654378604 813427144 118271660 698068180 310234842 374519520 523677732 100173268 882635384 990788752 15027020 904474960 138789570 761923480 876789678 180765762 153451802 882373740 865205900 545192700 458278492 992666100 269578846 129202050 298468026 716393046 733770072 208640452 321169616 740305708 915246650 914504682 576208348 982653238 891088776 358118760 778920552 12613232 591578400 592558260 959296148 115033338 759415700 148452696 403526572 457045204 328125282 77178838 154213522 161424740 752687160 855726310 593331036 740317352 724940640 982453460 667965624 619909426 708627382 682567022 721624844 37269562 467730778 546870862 761906732 156133144 240364418 105327850 120387358 705715732 691807746 544558848 693824498 429494642 192874648 806462368 840019134 130319156 11068484 69108306 370458706 140381046 369780504 954885070 604506764 315812072 380149610 524980138 341386680 16205790 910532050 640905650 713770366 879926798 467793420 753697874 728168440 546546412 777438682 671315914 515964432 197579726 959470852 58035470 153642234 466558928 941068358 693565634 684595264 884844550 349036722 344134302 287057792 823353272 666558614 192550224 97083788 55855936 716365114 908636456 946905844 534009248 48038346 405213194 918021950 689212134 4330428 148189356 816398168 195744756 262221822 782838178 730203796 159715448 957314730 568083324 758741060 705823852 552236604 319036086 633569532 239839970 426726670 278589154 309157842 806996230 658455368 556703958 895403838 53810756 934377512 899239654 116703418 438843078 139210508 911529222 549341524 811311646 480035926 315758144 811275460 683261612 729936246 258732810 302878152 403213096 993871636 660113594 79605776 452778332 110070832 96868896 80911524 203224566 35599356 403327836 772540338 492519084 268869978 295900750 264289198 876527496 197328718 422575982 441755902 484516806 561889658 818668532 966941786 635446204 572547372 476271768 283077232 852250230 859243814 310990196 168472616 789664932 426581008 281936258 999199138 215815782 914929966 356628048 695275578 300873504 827604340 518563170 843959158 53945536 781769706 431718864 928703194 195859936 408446374 753481658 277291074 36941454 339064114 134818066 594875902 196299096 233531682 854314984 210701246 459019708 881626164 812923774 510195920 289058210 320013368 628732148 59139276 924994558 425786154 648641212 87392484 835621018 702839396 883279836 50864234 926188460 717057110 52162376 516716734 472734608 771822478 325392208 857789912 973581892 491995164 950621064 68229342 272141606 487524950 823579422 280214304 775983424 848544892 369772402 756774464 189368232 829988334 747637284 869444626 942760158 74857526 633951268 174466908 435881718 684532294 657044944 651362384 87180238 599136834 776150430 572616198 376032188 675260126 668985468 554187452 272123088 805637564 519613726 699869844 958685488 823520088 216058624 332465174 622685316 188220004 227403488 21939470 838487170 576816742 953676006 678354896 673113210 753620248 600049532 136738806 179142690 210505252 521239236 797649940 473284676 297133848 660699610 164269246 898474614 411263500 485274106 166379228 173465628 368187154 908219320 813061096 308596962 204344870 679069980 82438676 343956674 623792176 785743812 502639850 825241990 290283936 929594672 288920586 208134574 980627126 50646302 442384198 969362182 657064846 778693102 552787746 323078772 47502188 862846310 152910100 383004970 5099004 257273256 735499700 74760856 533934450 915973474 957774726 15233600 683987080 6201584 505801138 463640100 41293460 417569302 155278158 892545900 549182938 503897944 931098874 457103144 663584118 933744392 656970420 90184938 393717672 902839030 997254200 877746424 40493226 165338862 951799404 976661244 233872266 739711040 355794586 258495262 252273934 153147574 901713376 355017194 344893824 665556796 463569256 401881012 658247494 802337354 425086728 175295844 250887190 722107312 158685308 849900530 221300634 569396340 332262030 828006954 734689540 31943086 482469072 104256472 758144562 829169662 405601956 910998142 360487986 884566360 33351518 767961720 216979480 136384596 842164048 618638732 974270182 545225156 979355050 630924338 757639286 996924586 1265736 865763896 140345376 221284618 48385042 880652902 571503568 294395920 515495088 510012886 579117076 588242156 537819458 172112844 966355036 878330596 792348 563459344 838856792 451091150 399099218 156001724 622842908 949704510 890176584 855998164 981720692 82202082 87678302 157751190 439897428 109539762 103530888 699254822 444053462 790258074 973754886 359389880 257246262 409693202 541403874 800265432 367025582 917187628 56292770 849557228 967689636 794227740 49985516 523073054 385841720 223195766 975238856 380134460 310490768 960743840 429523158 967912714 913242666 203198918 3421026 215024540 797598362 236460612 427861212 961672016 78897520 255178290 773605444 986355514 136635522 360235076 844354020 538215666 136138640 492058580 102629544 664939080 110726420 820094632 560167834 213183732 89977856 687362098 607990836 108470596 336601056 655077662 787298594 393593144 276860326 50049880 847734214 206482964 239819344 283052920 244530978 606790046 25260458 17992484 532495748 610219786 653668826 785398890 191103754 616080472 243201144 237241354 465247472 642414932 707552682 403459000 859856130 399976092 134420906 809294436 411238700 261655526 675891530 12378570 612537704 913182374 328494684 545313718 93556788 597413366 33133744 84835202 771486746 669427336 917355098 53394948 753594070 385771570 495198278 990680602 549816582 45184352 848418180 434755754 10554484 318890158 843292856 353449882 974173348 433716606 37573794 946487416 164418890 248798354 194849216 693924496 371405026 968940682 919349482 887755238 412417996 434509398 281695506 83485616 434684628 955089436 109284128 182248074 713637248 433548964 179825862 660141768 382380004 941127310 617120214 486175152 879592988 367739900 899009218 829424630 501861594 880267148 226835140 596301738 455691710 772374390 245928250 195114128 451841668 899601526 812742156 911596556 422231332 58839678 18582640 42299902 17823776 95767970 379445492 829690060 855247114 598207388 949522228 343567610 58994534 157725550 620819972 647930046 864104772 815277894 256117204 914894036 406975798 654536028 59770206 709950918 665307042 70706754 915833840 473709224 526848080 766307358 562158872 432798504 334569862 801116752 227562044 459239042 632930002 237219188 180920236 554691828 983772428 945844578 31546592 101023186 705569980 129845052 854549764 955533496 570412164 17663230 746623436 443843988 646042734 222268416 593198514 87391202 777612032 266935162 255523028 148218328 262441468 312411008 248891420 152378192 555937918 291152564 940985630 727309632 556803082 805593232 439979192 1409914 771583676 244210264 830830406 456956400 138264292 715786638 888064344 382326042 979810794 754379508 866479582 943045614 209608724 457432886 417942968 816391904 912671016 477496630 418604204 16838606 229192794 704227504 540232216 612282878 661437874 28043790 627846190 602397146 26189796 315024448 365736316 25230612 391461582 714073082 430740022 998885888 809169038 520169760 1687996 737219938 684529532 521105708
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
