1
200000 1000000000
507533432 736460712 991258700 801847856 862452342 406054188 930647938 64307750 700133174 64109866 658822162 46406706 664454072 50985184 894785850 441914276 218250078 314056370 785301592 400333242 31884782 778750448 164031572 533294294 523500156 819410140 757657618 768420556 115602562 971476354 931360614 625642924 618871294 15298796 765933826 412693210 13079126 910112944 734033772 300210524 704613828 451405150 306893710 738387004 51340482 405253318 186013150 578211372 86244828 698771970 326722800 236220710 592934992 179141106 192226906 644543002 43537294 776207512 678841878 229763534 504595536 462966388 719116546 414766768 700550354 86228524 860942902 502144484 577568978 280052608 76878712 646385722 719601580 905554692 106618426 505692950 414488032 697384848 975966506 579076552 73963712 622837740 497025218 479194670 542891618 359432154 419343408 454361250 746616666 759408562 982114944 662100502 619266670 587611432 671303020 589693034 339428088 303170780 365186206 405308360 125802296 249461180 595398526 164780958 908206136 592076624 9893834 553693640 703013104 70696170 770298412 609811508 741819202 190420140 466971982 754996296 912340154 761830018 770797544 495204268 304588486 82786992 669922424 388881880 874203720 726096606 498662404 897159938 279646250 508584116 824304360 292202076 265507076 365077460 913047148 757731534 657911230 390968072 824162612 114554878 539652006 477431002 631176720 196113170 284726278 143174448 752631586 248192934 515662576 168008130 551059054 885780488 614980556 261074806 830671512 341748368 388535120 843746080 52648124 777548598 852596552 21622540 701511226 470510178 392594956 804122380 741287988 310631270 762404728 614434114 622272276 646915006 71147142 686055226 759867050 699355510 204660940 803648926 517114050 473578412 314174460 626853394 547360168 211877796 439876732 439636228 531849486 381633196 586992842 464075542 220897930 104822702 426950288 753876976 557455054 359720492 350864574 491675926 949560758 42912300 357607264 528173664 776991104 278413564 524556246 472744206 259319802 329520420 290130148 211798786 516891930 143633240 849111512 744180430 254706594 386812590 720362550 247447588 974456038 536638974 623919328 486185824 960176682 171414934 303474996 739505410 916658120 302819428 969705306 411163890 405187524 323740534 112148926 702817374 967355052 823133204 483173862 223070898 326345016 280398920 540678310 445692656 48256702 770796212 639623722 722456432 23361070 766910866 494146050 498647790 730390278 996164564 708265876 693464378 246635224 673832744 138582896 899882492 517362688 428449576 960549408 59721428 508190520 810363186 755697192 787161490 463037698 961169106 782921170 285798506 610686600 341103212 970946646 395923438 838854164 241567000 773879302 911380680 470276176 737986772 957471486 298050128 427260208 609647224 669933860 288048622 497066740 26614106 392131174 209532572 886706964 585594650 412895390 741115924 63961260 2938932 587491668 184487162 880843134 323961730 259400346 848539100 437866312 7422146 708496290 114889908 794613770 914027128 146847474 97463422 427050838 260546918 84653146 452939102 937807458 183548346 552504228 142850032 249383050 9946630 825143130 364584058 588206384 854645232 294070716 527371198 134042472 413554546 945114566 90847496 280560130 452316630 791390532 414535928 933603152 130284244 34616440 317237062 165254536 200589140 417693454 561449964 783180328 473832814 78302650 957978516 998919898 229949612 622407166 893189036 471892592 239646808 92620664 760186676 904136072 113698694 381260292 249415442 542506142 998065426 40000802 123424620 969417266 39854626 486542742 94940034 468206952 955034412 618242332 748795574 800152902 745003616 265125122 977492010 129643874 839606362 712214356 758100160 264961490 449960568 387186930 460695664 864380416 439570744 427687230 897516582 767631986 635392872 930397864 55192644 514103164 13919990 419655852 367463304 707821538 322848814 260024832 370574352 570459426 644813376 10603130 934782182 151543332 669215666 943369190 963727174 930640052 494244334 637164418 906436534 751374326 666642652 179136184 886173104 253154116 508080626 536675276 613725542 710126576 569532028 228798212 919676400 816444294 289694846 412758320 640430924 772584802 161369400 706346264 434850486 738298816 896393006 618274612 96993384 539032732 805157566 131911142 462084430 520360222 258522920 587701298 875463770 396947038 968336176 625306600 318349360 166094318 781808892 184979982 504415968 760686840 700131892 825408008 633288518 608688122 115682276 788810884 284909160 594479570 370147172 450171612 62739322 229711304 849775400 98953902 726595250 541114642 717961678 894984168 551822878 831895448 573094214 720707906 921284760 590506852 779773190 700766068 778849974 607096886 97666036 280662472 442759806 397908670 689202878 524172522 638304248 873475678 443440610 211889434 287741768 534389728 619578396 529177816 135921716 239706690 313620668 457501812 314895298 75355784 290938916 142995520 653926630 437784276 848351366 943087808 19563718 713530158 790678210 757290840 387698466 688003008 74168664 554404866 293821166 60941296 905873886 197668458 997613042 618220282 280548392 84621900 428206060 972612092 356793630 928611618 520405702 441355794 260321952 628139406 858241460 566266682 935213492 761144132 74860982 55276108 893060472 730377534 199140196 427991826 699905722 875293698 733693586 741028012 758923252 176168528 909537470 531104862 587085496 798034556 531888704 208752926 592067736 661856788 386420144 82642432 368675970 596345764 126826156 219645718 505272946 243514980 79855422 29946890 474882368 502664170 57579274 825721708 398226642 386541970 96473412 280043244 909386088 697176954 700584904 911105028 107387310 634676174 441623286 778807570 929673004 153040552 757097082 566153486 943058560 184395664 371564588 742972504 198763200 194256628 649873170 806910488 938983686 337796308 287917400 864653272 271466004 330074944 500689622 798084790 821659582 97241480 925059174 312743054 450496952 90452856 984556202 783491776 674127462 755488944 268660614 176034546 75649064 139323090 311419874 366395182 200514884 99868188 370572462 63116030 186128294 218392988 275405910 297230690 982704494 378696862 976795770 724906902 325888008 620200620 274514986 381649118 814960106 29415930 716588004 342759830 289695566 385193298 166067164 480864844 433755186 806226028 361694380 566908548 110185416 570462038 50879732 599278910 147303882 718508382 572636022 100066564 664919884 897459800 442216712 784228814 734773848 746924520 742011422 676258450 828461224 807695080 30757224 44256342 279308356 869373846 219793328 156484792 274548034 801911468 854222364 544968402 53472916 727274014 437060252 215125642 298843508 903271436 598669764 342542402 188560872 885775444 997293026 601685174 387368448 861241194 732888884 818297332 974496566 544564212 28573504 922288910 214999074 570403786 401849364 407639366 941066464 654645348 69530846 357011264 187413666 656248490 736861160 51272374 29389938 985058552 460168956 742608934 701972042 110405888 780859260 351463658 419468086 813540570 170881398 387265634 554198074 490830028 372601564 283528778 212296408 92090510 282692592 926611938 597999890 595878284 777856610 507019634 850979198 36006834 297313132 555788730 941328232 291605686 461967440 357204172 53753738 618425834 210764180 441141346 602547320 465553610 156065328 271610654 94900862 156220544 759084192 163584778 397844034 389617768 115528848 846297232 401746666 780524614 849316538 762572252 700352582 694075374 343523278 660702980 218547944 95957930 721938604 864322506 65505522 612316602 566863806 168260662 339781676 725623188 38654866 241688458 98819008 512822016 446699964 921440458 245460656 78713342 607581360 151133812 61570480 740076670 351143152 917372408 395329502 116701188 807879534 434775028 9872546 662744770 798294212 389596324 742102650 880528798 403146560 864278200 188880264 369465104 543949218 77795538 96098862 54746888 986144656 394416292 924651978 347180160 930452870 224212606 239128558 620191420 589320954 998457868 298854312 127935486 688339422 52538870 9652370 349687808 595867450 566770934 450048070 174390754 592888810 436003626 193321812 136761012 720469958 77429580 810591470 236029754 741318010 499714300 970371564 525579768 703975566 622342034 112156880 770266128 840869406 997432796 724273684 90522692 816393534 18563718 479637984 686329342 865815400 272083842 90799788 572931368 55105230 831886012 503907154 5272982 359568778 711717732 762774330 916593598 559743296 775551666 180214794 346743822 290308706 942624482 499357854 887929860 492177404 858231382 139007338 255449338 293982392 713543624 35283228 824471356 724052176 914159582 761430190 259472106 31826946 900056992 353812250 153244440 509161956 340725748 5075664 547743716 991178686 327556866 52140198 496577850 606681648 842870096 33388828 248156076 269666214 692676634 26309306 710996936 295497508 354474924 417753918 671236800 601028186 576444020 124830304 661792858 881168046 279700000 987768200 797244220 137296390 146717488 722008522 977963854 114591080 922804832 678846082 710179314 163421072 83428824 27250848 310832694 732915596 105904038 706702298 48667174 807917258 480216038 736497614 859477202 985186872 643629044 217403828 937237126 537253052 725592382 568085208 578445058 63509880 113993340 28447234 924471806 620590660 226536128 920798438 559055666 56553278 932763210 108062296 256000854 602412754 580957490 784572314 942838242 498014632 726292686 846839170 311126940 982479392 2412316 120776568 11213034 205229762 604517974 393671562 574250204 417880440 189536368 896402072 635722106 857849140 815402084 213131800 479942748 303286302 186308506 962017394 223394152 9941090 435800572 610081026 440646374 819592258 645656196 142142464 510136948 158219786 881730048 117765144 439619554 801724658 491621946 644817592 640142258 160974440 492759482 929068378 182726670 447913412 545949708 379980510 78994518 737604208 10414456 408041880 119032800 430227368 698275748 447985508 388089432 740608530 158320666 724700376 205579314 548404810 264143670 358091886 509604938 497536340 259758556 376817710 798382278 686886660 568597208 859485920 659031498 971623414 550933234 349866744 528006576 934196812 996057702 368104900 959867674 289643212 846931674 533238248 898589970 648380476 794136362 398016660 39936166 211215938 182304328 9541266 396548790 489950272 205844458 741238972 109561900 314422688 714274134 892925174 664095562 987179272 953766924 204077056 584075424 939498304 468829728 234936752 128079372 40826432 33320602 124497674 447554204 248247822 114687222 490108534 166636382 411089800 456545966 146870916 350821762 153884424 249139614 284945308 924834968 548047142 580808598 211493390 778222208 222213944 818877294 755257558 99135666 376519726 265659798 64001274 443267236 805750880 579094598 291119968 433507784 670047882 943394410 103855690 789019098 351437132 132927346 674193880 860176896 542408058 846284550 383895866 597909586 998536208 561201352 812940448 44482870 544211370 829797046 441412234 521019198 285010892 174380294 343393600 13749188 901118412 997238360 547496440 561601652 964842328 692685916 653621464 447950868 138763660 880514972 6659156 282365464 203708806 17352522 472951796 305526 479046190 428905212 417770094 518181884 620959636 862037722 919441156 686864330 779111774 67375104 267403410 631462000 910110950 385599584 462001152 157523480 512296850 711553204 245225508 116259554 145789612 993753580 542087770 774086984 50785448 334695704 461314726 215227848 270551788 63631296 822357138 796768864 187890162 539888042 680495504 645240984 652639750 385055954 855156006 718253980 587921430 130971370 993587112 380789534 56267842 930222432 839579326 574062684 478274584 41922700 298836922 250880302 622186062 910537590 182186564 328822066 67442472 429661266 87611022 846804550 717341690 545302806 70956016 197858104 850779094 644705842 974576928 757953524 99551766 940261510 968136062 318165548 355612822 893302060 436708154 253065438 58231698 129046752 655640410 86197508 796091452 997471636 969368424 507756738 29542642 985817740 279450702 628055354 920116602 361470164 962041504 482345832 949429836 26721902 580241118 935998954 569389792 656217964 113109322 72823410 152012892 538062390 119760040 155931758 938308298 96703714 19459116 843276442 709925150 852542380 278294746 666987286 748406690 787900382 995561110 76108418 90486472 13449026 225839704 339582330 887493088 944208464 845659290 751179280 306610402 128198590 340945556 46974532 416305920 879355862 824782804 797748594 897577098 811900988 144358420 56116382 994539332 444007898 795734834 651692798 288510490 499737502 539484672 471090030 530147432 45349570 697412230 884196012 969345054 967784870 709678652 730165768 417104170 441113898 372751624 858702538 438810158 975038032 360785906 987594038 992796380 104289432 18761520 859543042 918254642 624494510 813452846 975567076 845237520 130015066 971584836 797638764 977646332 44860504 696212970 980026972 412806304 515752258 658786698 599834490 203695232 387972596 979099252 442082252 254165850 64401290 939198016 178278800 651557708 442730182 758712278 953294638 50161254 891193160 12476106 67285962 716331100 959505748 93759232 188777256 980404396 862384450 325063276 610138066 744448654 647841392 497332434 116642646 978588434 313461702 195167008 740071400 30372234 980985202 574968378 497364752 475551598 209899422 948024314 827527018 16620038 356135764 86854486 145010244 462034232 977282610 677700822 958061552 21833250 650773148 131084978 323912442 978075968 542308038 499349894 341413650 153154990 722705460 956258518 910319226 218912156 246312464 981479118 858121890 553767426 909137666 997841906 120217434 844366630 42060468 524444222 179221334 366379870 958319462 826190922 516496604 997022618 54735970 982216176 162513214 727286642 146804024 106913266 962696184 552964876 980447632 828206706 400159394 632493022 118351458 847482144 824068918 268534782 447550496 576721940 466625152 653125408 748398496 945059950 322546290 839462970 643412860 910613458 854199274 961643780 476026966 739163848 429513706 589096772 364152378 12896386 561775514 70097886 584273126 417639438 198480196 648741532 753019384 738399436 214239970 887925970 794443750 205311836 487639130 642242154 104407034 646186486 858288392 378673228 34677344 501838424 735020502 435549030 182952712 44576436 839759692 130739750 645397722 786154192 821956778 810049136 261935150 896768274 674780204 332657386 982239096 116631222 918072202 970914394 911178248 183236628 806137106 160374588 241033252 234910572 737529104 977620990 497729366 635285460 564292282 464322010 117024014 918242670 775985086 91024294 394082086 461864978 489123570 897738854 246772854 967648268 431221494 595817378 818208748 971204902 359254510 209049492 934152796 124134228 548321880 68370564 574143272 154291566 837299432 285276744 45149092 870011452 371846914 901269460 92657876 61757218 615669412 39760278 374846736 128764406 679955346 328561854 581279012 341389960 238413134 253167828 584539632 773183692 802123604 699285568 520296888 595100038 819630850 344943880 503986752 831637522 487148804 182220158 734777302 351690182 230040978 703549362 226745566 280441770 447003448 909758366 211965742 978957006 979957964 636310984 127990758 461404514 903278294 959691858 567074674 838857230 955110578 146427834 322120354 968730476 67435676 11000588 797976818 659142366 123717262 456545632 448620624 932382828 93700524 796375830 63250600 228888012 14457896 527200612 182596158 754720078 159746982 689681458 571658412 796928068 50411636 59236222 709528356 326378680 108852794 44780342 165668392 240449696 959406062 8454992 60689974 986663418 758373624 660881446 441975640 982465930 190949278 708181276 467156472 249373666 698033122 286870074 952047234 246340088 827337342 541645280 568400736 665607924 803776562 171933214 845012824 192709244 459955614 799200978 443728264 997278924 14619418 902886410 263905718 557108544 890512276 687259594 652121202 267636850 78288868 860979460 120578012 890815170 276297282 28681990 557305148 726095920 810724928 413461224 490267414 791194294 522325402 124210804 108678656 113864168 590709100 498573334 279172936 793217236 960804072 523087620 597950008 859044756 332412294 902612404 47133372 469770950 515380162 589096396 543047312 648776246 180683764 70890490 469053152 940170732 247688076 50329078 720635252 70199126 946135238 681291074 298095540 814545462 688493796 818823380 816862600 347636432 38509938 393068622 241625066 399424374 872125090 31619914 251312842 976492406 19961760 836158168 330031352 928109952 693302690 686082580 862069726 56060922 78706664 596942968 259942532 733757250 806953006 903193404 375839092 737664406 957101638 712179128 174711104 856825222 789374948 195540474 607758580 390745512 619143336 594102426 832334768 653770932 931082978 208205142 49156980 383966356 98850488 534760638 41239192 244972270 856145182 282743622 434751488 282923178 4163418 992264986 121423968 869312720 337526294 57885638 570826214 4115034 733115126 71131222 412806944 805367846 167860754 85156310 201675672 208034894 103228720 217169962 842652272 356350230 576103920 169803338 382904778 794151378 990190126 867539762 898456584 776114238 648067704 229397734 574831802 189475570 646081758 263470810 894605092 890097198 4497460 577923306 222672778 905210030 133598608 238308908 299393992 470148292 354366320 267511760 886086120 611813584 32280586 376903532 915703568 500705968 960223634 573143118 436369558 365680292 799522386 887899174 823084840 970865296 653515426 787574884 191226846 963254226 66894340 985746162 40111272 85056022 773532304 195041922 722216576 520587022 833188162 578456312 513993490 931553394 655110742 441046630 748824420 381337334 839721186 325024296 599397150 708819062 10709448 193220200 166089736 366077698 273099378 889251676 551582130 444365426 734666090 170376610 355600746 862512412 447263762 596222 846178952 806119564 276270520 842398368 421766474 175121122 105811444 12104612 749753486 727806320 686018364 750898156 145805848 342568072 355883524 103336608 219739356 148103238 306313086 260182348 415528476 498633232 207868332 943921412 550126174 56803786 180226306 350431510 725330488 571065138 342346214 754574456 109798048 902075404 870927034 258165210 233144818 626672516 639299828 496031388 414499926 812330202 724250758 933863872 302610544 750614376 128551086 96203822 350459116 407126372 143445362 765951334 673858222 852421054 284762280 913001062 643533366 533910380 713809672 940335664 62530696 424310820 444180378 82798536 276330506 426275630 55943854 665840214 997179074 521387308 736084820 734051528 848340368 515435082 465751544 223802414 341467558 362938286 265947466 847941930 550228426 86214666 343444158 456839376 337266504 968307798 33762348 862264366 214903248 603074268 774640050 182842056 128735352 233114800 256400 207598588 397301100 52945120 201522084 555345196 430158212 594821046 301126806 653017926 952052386 931404782 21498592 614814178 323573434 764916210 417195526 439884804 751291012 550184328 531381420 751857498 114554636 422681026 48678684 6226436 716319840 184112000 536670216 804819762 631551856 900238554 402588194 563713478 989179670 392387346 739630216 402921962 39484600 265428412 689425628 493008660 694440908 849514734 199186572 817282296 100665676 87765960 47124196 878054594 38363200 167853888 625273078 882438130 525192320 463733936 829223088 547497628 94233636 760040638 2863290 908570254 985341836 593221130 60122152 347287260 901258544 3779874 235616750 820616150 91882196 905671550 277331352 325008076 120122916 748617338 324068596 575838896 675399404 945794056 511412864 888938938 238883588 738384456 24972654 830401308 798655700 419783248 116685654 822464888 558934254 719140276 436741486 163773218 391876114 884362128 84588634 124245242 819154984 129092132 646109294 526027206 261901292 606732402 457160976 522584204 514710220 374973970 538202644 502416420 96695160 724599540 401382988 925671132 875230524 425839212 717796996 88280982 71717054 309072738 590995188 162397426 183249036 346330778 621066832 644017224 197502732 224368058 824924032 824212864 700871420 285074990 4407584 189517282 31943882 37190938 100718732 656872158 254476752 899145682 206769162 479981814 80980834 678532658 48865710 152323118 566455998 569107844 680052180 770607834 257113722 276666258 568498984 13188326 426349604 952601996 116073316 511900988 813590562 843492568 531370486 752404548 738325562 621970156 14275242 743457880 182650990 210102188 60757386 974804168 439070226 37891522 19884390 140308068 813438182 736170574 200062792 443533036 807186494 388634584 234607206 624089598 795915396 195604700 887539058 976058708 414392406 912258828 919566420 39891910 670184548 334483292 356842886 513557754 532545322 881790824 127834306 738377282 772122126 951266942 496309702 131787654 52371676 511240186 414387882 291554164 586808654 733870942 755069064 553126106 956926812 609920806 983380976 467963198 609283080 294408774 509452706 931758014 971169852 529392176 900565836 212337298 90581010 99882340 95785234 106911878 44458412 785606214 452643198 220390006 378542558 508191356 781850440 49331516 989802586 723653848 441001008 345980396 444522472 331132036 832140910 699218118 984103888 395990570 928167232 412619448 975919960 159654786 242427348 765304042 176909292 721938180 272983164 857717356 290851188 926326572 882678806 32376218 96478682 167232776 323330598 27786768 533242482 920068424 580679836 182873228 932108688 188336752 12797866 12581524 209912000 583642978 901814168 620857932 690025440 363394740 330458812 385139162 295314594 780095414 467000762 396081948 184197904 484636420 456893896 599654316 657929332 273730688 139342874 117820226 130634486 187202138 807254590 282828244 368931042 902802072 582862956 111674028 91830756 855213194 789927670 667922522 877392878 836892070 316023626 698279978 29482428 646583482 135131456 674893228 254361478 722552100 18033340 507042948 309836714 132354626 523639976 357550428 883137154 779602674 949145384 99009800 839384074 845848580 944973262 639788846 392836100 405410468 159901224 699439462 979881872 734763194 553169272 463295786 546992142 38351734 128934728 989888906 964228732 600040246 838914652 220235972 674278196 592653832 686564764 225805406 525884076 611752818 585968894 764542052 132481462 423143312 769064934 839399032 533336408 392616136 804158082 347027242 612894474 284511768 979682116 102926574 803020348 156015676 592820236 743519132 79072532 240679286 492062146 394192476 406281312 641104660 545690428 675565060 91750048 230387362 798927400 419942380 773059292 101981772 211883200 19229520 737350144 974776000 293452880 701622132 294110324 694133866 763838828 797888992 243000874 672211642 531921630 455264 259002114 870434320 10172600 259789506 905870970 124440226 518875828 261250876 363247454 327314882 635437128 176555038 693125114 714902318 574174710 2874354 741539736 778092912 130743694 299172558 921981340 767744764 815003438 923308632 396840962 150367552 496238214 713088832 640682344 992763584 52212256 890269116 247923784 737540036 514102644 456574026 552221962 970347922 969673204 392304290 190723226 795717712 790953050 275310260 424426028 619034946 376219294 606459106 677519872 354857222 522619260 259434340 590354698 796552214 891082716 626472182 649460766 336665476 298979076 417642800 676454532 654753896 797611430 402136810 392820604 493488060 123965476 688922352 671323552 263566894 210286542 991302810 106005740 899184470 465179216 120122488 701901484 968244904 330032626 457161208 146444520 896043426 925427160 42564132 319297662 646674954 18568938 237100094 580551072 709371786 914613666 670064676 597323414 756569742 942114368 345858896 604487298 927751884 202933586 259503708 955284338 942016986 445209360 927493248 203742804 382761868 749805584 114559342 234378310 744993044 69616404 107615414 997685274 143510658 656189812 77906240 504801972 191582752 34544320 422463372 640434284 601058110 189806210 546796628 621879070 195202170 176539966 899879578 518402052 270210138 553392932 297932608 256657368 803243540 500893240 27029638 640575872 423500662 206790908 375380326 418432838 597824180 389059324 738331472 800798408 889940060 23127904 404868866 276227858 116847192 903113694 122392680 371461568 583962350 107494472 140082620 196298928 40550864 661467140 975757592 230770012 354454530 764151640 545857920 273249616 296787888 63332896 982374212 376819178 453620700 331362222 523532252 759324152 762362866 32188802 953002918 523125558 783789714 468174816 684865346 958584614 226753298 931768516 554479204 782421636 423539926 706937606 624049014 631121918 565325054 83054442 220356138 242291848 162994150 222162120 655000550 189021758 194016746 651972706 650460552 200891320 257511124 227511238 817183848 577357690 202213376 297759458 608495056 242116078 618936224 735295390 404271250 129069098 808196822 378606992 510987764 115315672 882637066 855012452 884687176 892400718 432926450 601517724 807943036 165048156 764825900 220887014 590752266 889858734 334624430 629460348 699135292 78492866 419687042 9926336 486787492 948768316 852742914 467001702 603601128 801175948 790631732 802462020 351216614 215441178 878322328 15060552 907540040 250435216 846264704 352683200 722028936 63065342 578150036 525459516 67172310 348793910 803175288 713250008 695558550 753669634 329225320 991225434 565240678 133263616 796998096 935422664 271626598 804585426 680401594 566927626 625940286 287335296 600615438 245312566 480556412 971274194 160106894 44306236 828079714 69624314 700236446 171148682 969096682 782983510 748252828 663859476 598065742 787369928 312755106 101943706 715215110 769379050 71201230 445217938 456336070 861959286 602388048 171165182 991626140 286040060 602208182 177275886 25897746 730871622 272336106 26208212 114598324 247647018 373772534 938547614 608704704 856898752 523833310 143788012 435307518 820208684 390207284 561763218 341822916 586879906 777782978 141580546 853604154 691224068 671854756 283066852 773631484 670186344 217183932 520492004 233100152 481326880 790736174 700078224 851182428 320018110 455590638 169667556 994495026 420432244 537251316 611469092 2944038 36916572 435678624 362519238 275277358 206087600 801362506 869836650 537591404 490611636 722918600 375814866 408583360 282829230 967797992 343110830 464800972 879134326 138760770 469295892 567376404 719943794 678783520 862235468 288365990 222992546 246205248 595198822 717720754 527695370 136702092 474972488 336158842 621465592 744722374 249141262 461092206 315446828 203119498 200658518 286016152 639061646 947275786 778628526 833274756 563510848 41581824 61696806 23474792 677928676 5463012 774242704 420871800 136137340 323916174 625074888 2393286 77260074 749647560 250761590 629252212 541543460 168204272 993121564 190185084 893148314 337796502 56805070 429270690 60673856 740298290 478616900 819295874 226179448 452762398 233133362 122099678 624722704 334489172 418646746 701769996 338807434 410852272 377245910 456022388 577022662 70963262 702396098 288951702 653444718 390461416 231164714 200071612 518900304 744821156 719220770 680724202 880444616 466402140 259413682 329391780 989467526 475911088 177691998 380696540 202512596 107815622 348267362 711856278 871901708 162705652 203282526 275127792 754950024 99267470 473735236 535460026 962313918 986545416 630239814 983674452 206403286 388017094 573541444 286732596 368604448 120729834 674349210 530299444 72065752 64280124 250526506 199924436 189749422 37343590 522152520 165538428 709901334 58469996 777385746 540779106 446318130 415588760 168337048 248291490 699428300 710087770 135867530 175605124 185891666 607337898 115805060 748510818 380657536 423319858 202430732 603964560 127267956 883760442 972009288 647921428 262496004 784052244 967414104 751420398 73544152 409507092 869350654 156935284 609213102 666063190 807125676 186949362 859422750 944660956 276321270 663918212 78053530 315467286 545194684 400958864 12776198 34518312 480332310 309998780 142172184 415525088 256213420 734384570 138804542 446471044 839286950 493892074 834529520 268923460 986651980 422032082 867366704 782640846 368446110 650163374 509430442 308711588 239450742 637600820 410238464 990002310 52962394 264782516 23928158 642554240 82819474 217353790 136134456 890474094 477059646 249801930 201642922 383502028 117377550 351247670 902659044 513241340 366583932 109121980 839466782 208980982 341420526 803331618 157259990 325806320 299426744 722109574 523216978 121582962 252392224 26111268 438217178 152625576 458362530 526031642 849527884 207712888 809823530 354851590 914625944 757518770 422913642 776037154 353975116 284000340 256810394 758535934 939465428 90713410 368566622 438253970 917548294 864844470 779404132 116634680 25996356 269344372 900961294 354221626 840071634 561623266 672501130 739295074 902936742 81734116 830642226 569629084 764535036 674837562 257242200 225231792 91422998 22621040 86450310 956640018 289885416 83752186 90747162 587519554 760171950 527256150 765513302 828019390 871890420 49792406 432985006 823147388 951300964 649794362 13788892 97295356 729654672 24839668 767698624 44510202 296877274 238652608 537643504 455381178 540260978 239428616 119124828 695558656 421672262 450121946 668251938 867994742 878500882 437427410 63905782 771298518 341291608 898614386 762321068 736581302 707136870 72124236 83694890 93737546 361765278 949522872 16362248 176861048 290352474 314832078 960462562 718994538 192355000 356253498 528071870 680856604 218832900 234666510 895403450 370551274 975480910 831124838 967610394 591550816 921497098 944063484 447462074 122561968 356986546 838928938 117874690 141977372 738543528 532958894 582554856 811583020 767631284 356820770 487895020 780668354 73207296 126075274 50401156 104602198 726669308 569178754 206842904 878019722 360998224 395176016 563201288 556760220 359187460 391813246 625883218 445542996 196854538 267849166 286089662 358770030 941978200 150029270 870213794 766641034 637182550 683120976 118985692 673557984 71038898 352840270 200884572 964545592 992787384 519003040 100756104 936666898 806862048 394726150 762580732 484372732 763957974 548284288 792072162 854035918 796798358 774004104 503715244 924728356 645397810 276336638 527098416 984823534 212801392 647923506 35624966 812819760 543485860 802227300 687015982 561266316 330519138 489547854 894043740 701041922 799822674 537291204 858409366 6236770 524879780 161741966 650463098 841007798 867288596 638942310 479214100 398447676 432838828 331487264 740066814 756695722 841597376 676403116 599089366 149117168 37267080 92243090 94966184 605808164 877794404 298895714 529603068 442900756 843410046 660697250 104612236 653379676 540329126 959006254 611811154 585424948 447517054 550772772 724380684 323870838 542854074 885833974 679726984 497526384 705053110 463764548 901603950 209987722 673848142 299569166 981827644 8937268 882691840 561015968 714510720 590231564 572119450 398929940 813285498 391090508 513118976 528690468 357906412 768162838 98229218 677139592 689888782 254043664 549434516 772520184 108095784 330419206 478975954 343540492 413702704 519997732 276776334 918941850 589980776 567028226 964471268 362751920 499915620 257445658 859331118 297021242 69966242 249927506 736263590 585608976 848860418 618761304 982136174 469159360 427259938 439736946 183343410 635084020 456069560 618853958 752956204 612743256 910783614 544302448 108534308 422846558 359734016 860094228 727692820 890719426 264254318 844674502 79424048 758042054 142519852 315760838 307743424 858918782 497333916 393399012 729370664 873347888 761577386 915694968 510329608 451666402 32512114 185987576 680765450 419800278 201785106 241166860 84731216 172072702 758110394 417853314 650963186 968082706 30389708 678088310 95800398 161072612 876742096 277885176 50958372 666642846 12775706 572866072 668906974 820497734 55770258 501325386 137239000 484736008 753496124 548294606 164838096 670416092 132711604 729610218 103704850 436136280 193185880 774805066 494273366 182789840 56028884 467437618 456969604 97583516 801032192 24815746 660176044 74252450 193364190 200483750 595031290 291475588 211259710 301042176 525423638 312213690 810061218 878598488 72286748 102445912 949090906 599948918 112890176 688498932 933703046 79515516 511044974 835886340 700740384 944301826 552011270 757287384 947391774 619850374 186623866 680354798 916747934 998826738 377827646 302748052 497391668 737270950 856661186 655446534 96586392 760264662 377534272 534015346 709448142 341330188 255977698 157958034 61121092 736796460 783122094 511431280 385129704 653779504 881283432 123927582 104923228 29225078 634119054 31823762 338998458 762291524 44194112 799229492 396081428 302726536 876997958 711402786 506275880 923630996 876990128 930539540 557194238 801860346 905872256 240002124 953191868 132139846 724393344 269891486 626643050 888170566 557721536 389224784 755618924 356590198 740336524 146252696 726287254 693176226 513359916 585914572 99145100 643255724 667066974 249286664 70728692 749324422 207302566 182350176 647767602 943804204 222516210 474925738 771963752 760272206 205506502 887053720 196374056 907926682 829662626 138133198 76393478 902479176 510304246 642166176 59800008 273568560 936898434 968566846 823945088 817112200 521581086 44406530 457785816 350429304 150043780 529874506 228405964 236686300 287457520 238193376 402281660 281162368 726126426 296057112 251494044 396796584 592761272 571233508 781460370 417824546 447606736 389869422 773368218 374755906 380945582 263359644 819911502 341014394 112712216 515322536 171015396 339084742 202208826 115378680 828874402 759834284 479837522 619093820 707328810 659890416 306419386 224314812 153480750 590190314 337878606 118445280 467397874 525710902 470874194 468265690 345520628 804844392 102158494 438857862 101863426 245660310 40086632 737954008 729567854 484055772 497002882 720193046 588253422 747481880 694292982 367626902 640248720 941062658 794607850 141231578 265110312 899455914 19818826 886187364 177454232 958739672 607262968 699648916 310196234 32767516 123440118 864039978 740599736 816884114 181653734 223668708 291328136 738329430 652081554 871422620 792669020 654279936 252248726 97216470 477816880 412412622 441881554 325444708 211341992 512319088 890536794 878285156 346264788 899591812 287195508 939413650 662430656 51886982 768638878 187806188 773399010 698754532 773314298 731183642 787460046 50907510 543300882 356710388 53659650 477327882 231111036 394064290 611958754 165315834 240039252 717952550 240730182 765078274 536384866 573083098 553908088 267204796 691902072 656559580 661644332 867163870 221325554 129765302 454384400 959663394 409918230 533817408 538577134 298985738 781663006 816445750 930899102 78770114 28143270 303205136 514262636 287310552 480432154 196983862 273892300 991330294 243856844 530678746 964038350 238749602 237434340 882294430 791705166 705170832 507798808 165238530 258801404 799595404 269522762 299055550 565715702 310243702 950503722 20100138 762461840 385181028 318553106 375386636 157891278 879913970 894306074 791080010 176319882 270292308 444487092 324906756 299208032 995404054 906157354 168418378 996388674 724786548 78497900 384683120 99409816 125246918 997462218 476690532 364384584 593920760 11874174 449053232 657898056 979487178 364757848 615892266 146838868 979349592 525051682 643346328 527821910 212859570 366815666 461659276 821182278 764522072 955651502 1621200 703205710 80921776 165878014 730893724 332325760 467163160 499133154 734690476 817347848 110626410 892424262 49367862 496181578 41631092 207684286 711160114 547793536 123130548 578945092 424427090 795632518 412549928 424752326 456061692 610578766 841550188 430855724 401961144 362755146 311868112 576096856 65621230 551722660 296958416 557621144 910612240 326061994 858567906 183747634 31507452 910358264 413950780 264111264 881821656 224518894 505910646 1411306 763510720 370148196 739222684 457660180 336907372 287164554 694475550 899452930 793297550 461708592 847870306 403338378 949319640 894994380 186968880 320603272 743600958 567572296 843147060 67874042 165227200 78137318 905205362 408286246 561253538 553656926 880535126 445527616 883985846 126187416 166336558 23896958 280699852 160757996 334026524 358887684 679207460 454430096 266447076 348734000 752065690 920225762 743917616 721701670 570043828 769936322 741920614 460233032 544125222 975689998 668220690 466955764 347790588 390126392 658699444 192569670 436001718 350763808 458736248 22788928 421599812 368337578 218158896 271911338 899136626 510025654 785218674 102866386 964136562 768548772 353434064 84348402 340693968 261565356 567159742 120885240 578271746 974263234 933063502 936045140 406332200 872822850 288458188 503223642 747790730 656048982 417935838 164837680 416953412 888697562 614239624 633816094 536198238 594514096 954695126 768064264 103318606 135386060 66764852 72725220 450862934 250947582 427877390 790272628 326961688 348285634 688337386 417669114 532485486 904474312 654928736 564187650 102542612 254909430 112255594 894939472 19492200 514218272 678237156 979140732 121646240 808796626 333874876 95963312 423736908 131248814 422543862 739021078 572676056 497370638 155893838 789336104 881707206 865458588 912219010 333714548 69119696 311596270 836052284 874071234 745920758 699676802 569299598 172963802 520379320 577379298 122477222 83741528 385278772 350337648 59234862 134014996 434698878 778531790 421684938 454566156 748683842 955091500 574548046 222722356 39270924 797568096 674882886 662951986 519522826 42188230 923560666 448808220 85867340 274431570 871907296 385199032 737867578 214190126 678585212 457416434 865849464 633332688 181369096 643128756 160480564 620863628 4190392 227568594 166764598 709433450 17919498 718068102 592267958 636243470 455385844 402039210 312395130 561925718 613703808 302422518 263885654 635703840 798689132 236429416 521081498 655676360 591450806 77301768 290240108 356889608 863034034 813535262 645283090 888102468 105411558 435445570 564215474 671482808 34258516 773791948 590359734 132416954 736986734 261848384 474722604 391356286 696708396 938022508 853381714 300723452 232673658 506258792 4438484 303890770 268458148 363068388 696229666 424200304 97897980 56981566 378927520 33141498 668833846 982302950 901178352 903594102 733483912 768418066 224558482 244802666 928442594 242917780 960628374 435367692 24725366 964767316 889010174 276435452 284018728 246678604 859176670 688362456 932206972 602518144 842193234 49520918 978355006 773277668 235018390 319409822 206385756 193573634 136262554 374262266 554061574 800812358 237914496 205318720 95818346 689743712 651396456 496261602 74053184 244022482 237592678 848058908 778500540 259808350 869225912 628536672 290652252 93083814 184054022 125049968 561073196 329984448 438416800 961212962 630119426 516014392 749807264 599021762 817423360 745367646 389870864 723811906 338796672 580675486 421794142 764196576 52441326 995011400 248442036 269258878 576678494 444490442 194487460 467104488 403710964 845088072 169042744 946893334 624997850 479846590 63178488 1771818 86621848 303136530 115621482 791951902 739058922 478797424 395980612 882313000 965867512 74097126 129306268 642825738 830467204 960107818 18442676 534520804 150935280 552960260 674110054 872221910 180919764 910732842 89954302 4127988 66083732 916732168 389380578 545151114 551846068 399339408 858909994 895686264 115672236 62457162 736827990 884377152 986206004 907045348 731678074 597129200 916214510 262514244 145867200 32202586 532734554 900847040 600349036 343461564 231532992 784532562 195705976 292084790 129923766 562800962 104861522 112990352 410194814 682452338 239941170 362510662 75413114 728713536 289116974 135861414 183248402 420599732 593923594 356800574 460455598 81354056 701889526 852293510 888787992 490892576 501596662 399385804 152621722 160841104 147516314 778027702 186590070 350235682 69960168 83333950 360672634 56493402 933502216 26564494 921064376 228131190 570682160 712157450 837991366 220973688 56773096 636565916 398552434 286959728 385798260 432007356 819528544 735867598 927908910 585944374 878966550 426770434 638137596 999825358 416604548 84816522 105802420 929558718 331024504 368329720 708700538 526701068 937981050 760013150 582517370 942936556 250759690 820860830 896311182 187089716 908580124 981280818 488606686 298607100 623814984 367027222 431000272 425840934 554444776 117046020 797125642 494823786 28091706 535656728 367776594 200438050 560176132 884262730 142850486 68054124 707365468 5410266 837837212 417241640 547873084 552984790 200936630 644616600 496316490 937833100 177905900 723928436 69849696 991081818 85795374 222017934 74400290 427692862 961836480 865465548 760079262 176298704 815639894 676354468 282484146 181020660 624925544 178241126 661793908 568283184 647164028 187138348 509468478 238662328 860468268 409449708 911921536 778681860 142060662 262042176 545999734 415990136 621378602 221669554 589208248 513843576 232600288 499896684 852936470 18352158 549660196 445188088 351088980 418213856 329668996 781571686 659239146 104126282 261826190 393112992 638704712 920720842 850328392 610499272 231540722 621853662 59638760 366695878 19759496 902803724 324463020 550614470 83254434 70578474 161009256 210898478 397975464 702856634 905178122 25487138 667638346 317499508 41597702 21731004 470949672 689679090 806083958 242676362 819474878 228029134 164228870 563075232 113946888 793112402 536624252 437979980 547789912 115479550 303621000 504721048 598205292 507383338 636047046 59808618 371606972 796837356 722761090 110439168 148015094 76954050 812032536 485545306 79361984 796952920 176445900 717160294 354697000 929237754 371581956 121014084 621787504 884878876 707016484 27168904 635818922 16016904 785852776 134453394 591262620 591890818 893393802 144587194 317292854 4349696 439475984 506989026 256251234 655497804 753681942 94001750 39816748 108657206 684114242 176066242 215468866 344512504 52359908 319765158 588763192 811781268 365099414 676802762 201760136 317641024 582807498 481893800 191695730 786071250 220192088 83704498 855244926 106173146 239347618 711158900 862707242 333442562 290100020 812518776 760434124 766026534 750856992 531159464 104865978 835989554 603788206 855367928 468626208 292382288 220706932 393538596 723864176 157824848 181937312 315984794 457527096 109020578 147695472 582927502 500159974 518345306 657066580 69514518 903917952 780671350 687011966 28026510 367552528 743665764 798760140 337480078 234147862 717006446 303894104 31500814 178738252 608155906 746679506 814443984 565950910 765566220 127272662 479529992 530377578 646090690 420567526 313300272 736781360 584310608 820128842 843869976 221959490 268254432 864941926 860212248 199585788 646145458 493941550 118554550 250132488 265464392 889009626 397323818 844818974 375706586 174224748 118167370 229337330 118746030 822618914 236308194 888413594 664421706 989294944 402758830 834873412 694500518 654095458 116512898 146928268 106898920 766731054 790946242 898952780 178307840 803764312 966406644 475344394 223436130 971407776 919516840 867268084 320955450 925555044 792947652 445748216 588216252 958193046 484638216 529516302 460512218 117669718 501002018 123364552 83040392 308748942 469108614 779950738 277871312 664928248 435774240 829662862 770286324 384270344 385304758 634689304 854152844 650538032 91537230 595072604 66533716 610484978 84509626 731474454 935239774 567964968 855306632 64434868 72105004 157710156 227533250 733367998 744048852 55968994 643812312 796570068 210805622 398872864 8989372 53269852 140071154 578340530 153254174 492673210 31579948 735625876 489496268 307325478 306572592 226186554 523315636 634837354 348702342 137974018 296167850 618118104 809389728 646579060 428237060 455052548 890819238 648004140 533120854 686742886 505755792 83637024 318104266 569458582 998533310 54986612 708232494 92603330 870486280 269875324 11086334 217272780 475590246 860534878 116455594 848786144 604178714 569384352 961578340 584767284 308769766 826816374 845934744 510717342 900146120 897998998 895503234 258288136 278451364 737533828 478304020 915969562 190423046 439062926 235975228 293200802 79687228 831163502 377490756 827952230 278482260 944416136 551667650 46983330 235692040 417909182 251260254 242954334 486339734 817257694 455888466 15933914 87689420 471021688 553776600 697358958 271356310 216205918 786318996 487436762 451539072 236413842 980087246 639993684 901368720 161897690 931560604 106428784 969574894 849237740 927853372 614720580 259332718 355072074 198105322 7799582 624504540 136865162 385094034 236649916 72753294 963544352 496347756 437956724 297235978 755055366 777675560 248469750 366624336 74181196 541529184 640278474 708388960 930852480 118606448 445520286 154900266 957441096 414319960 969366242 850468018 167483484 892485970 125031668 620426278 68379802 944662332 677114246 981797716 515919836 896271110 484925518 974301828 708625278 161736720 115084458 606713386 643290182 763067658 187989840 959622170 130303686 364797260 485938128 290932034 438944472 937395738 635045376 935405216 185976904 116670796 704668064 330063870 519637506 588667470 13171438 85384138 23269246 529211762 555074590 917442684 287396782 117254664 112845064 29106000 454433100 116225306 213261860 895032418 896500028 299733714 164389414 38426266 641323918 995339408 121392520 306542790 309900490 759864720 605421286 890546960 865348620 990103108 935063392 654234988 898304524 310360730 124962848 971066892 802818176 417623852 501600480 843353966 835828366 835992744 395928694 411015654 367116082 105927006 659985312 291258440 880023470 13773862 106080130 424665518 535706304 109460336 122527358 544026432 408707032 353762382 764071058 263365836 533117114 422144054 334733470 654006366 142685800 36409708 310315404 941838104 969574342 250190838 498148496 812927102 357408836 86872418 633123544 38687900 530064044 800170016 273805702 243598942 955173898 428011222 846563548 587873016 502305862 799345798 313568652 829349098 727696258 512707564 887895952 173242800 3470286 824117914 935339730 769789352 274224388 386361312 340751914 719334188 214320408 433512510 639807572 623257682 618477136 443611266 899911358 199839970 616164776 766007576 782301470 875331458 925883890 977901964 196460568 876320428 953825996 238141608 420212426 819873276 883184240 547628234 239016900 975629826 630799498 363198938 636172972 941479270 884806694 782502290 309527938 290567718 5266226 516936232 559076464 891327744 505377554 286073790 785184388 944857360 665621590 572448364 407515166 727399676 806833740 104702054 331911044 208380088 556229736 436904580 426626002 980691758 916300274 552327860 340300014 409012640 715517394 644856540 891671688 704768074 671934792 861614780 860934726 291305882 602812850 227270988 580264720 908464750 251981462 14260814 188127354 395082604 324298580 414458908 697504664 796283292 774846442 650773570 294232518 602030330 481951150 710154470 941501978 760353282 901019574 427979720 494610822 77630768 697649516 942835426 765637546 879620948 883807528 527712712 853377912 80172872 447879534 851779996 121518354 988404530 136654096 922624374 335929666 103660330 66460606 322306556 234769374 287334662 496281722 610576928 759810072 236696554 178149330 424178364 644972900 775640870 392390692 308904650 926630820 26069548 628449006 857171082 59488222 418828916 348232210 793520578 211378122 781947754 205242890 86472932 509140222 843794042 907209410 457831474 93751376 142276446 990290078 976171634 730760694 760439116 610902122 699293792 787515096 548261468 71665576 48058562 448314814 776759134 578050590 926562008 332780830 855689122 326495772 847028772 232471954 692972648 795728 686103716 722650586 868511424 4757738 579309910 732801520 967017374 885577546 305711252 337715198 260382182 661230678 917855116 701545156 3663360 129835770 829848772 941780990 389779302 679451932 895424344 74862854 454810292 825325212 555277248 452760768 437405304 235530802 500405440 602583088 419971146 753564866 402217200 332934228 616668536 366478472 991126006 665468890 421222556 215255166 936678404 464399506 377539996 699059760 911551040 592983986 84814492 987333292 584753158 454545964 863526798 127106552 835399284 903750712 591309348 65305424 676997772 512266492 238656880 624329686 299529562 540747138 239799194 249578902 104051694 383805764 737056712 560097712 749373572 66375972 34725740 345369192 214140222 128027448 966291180 406505824 587371374 862002980 652717684 24206550 686573998 949003874 409054750 83891656 348223136 890906820 874306680 569873010 753119968 118827044 308063030 994885114 811660962 702405428 139285406 696108918 837833574 787197036 606230954 679267770 486349056 513874776 714081758 260563276 122153896 243115362 165105498 799149390 843798822 18682060 214512724 958297506 590673526 783780958 326140698 831617082 883013316 228465926 436216828 491800086 692395912 636630642 740579488 128892360 958657342 923613164 978867430 217731598 875731042 372509608 93005956 365236380 44883316 875352196 719484396 995730638 485811940 254716934 56136212 36607350 217241174 610745926 621259546 113875038 14651762 822554950 349714004 675520532 165334786 489408850 255417002 650421668 76600122 86820590 15341764 94512976 738735170 147671238 886720880 760157280 537675052 15263790 772976630 927036486 870700124 53659544 357233212 692583928 218265380 121413766 473216894 202579846 558454614 629850732 930710744 437972092 691297312 721352258 133222142 147152020 636541528 35026094 327784840 885313240 904500734 362109886 581133060 417943882 300697078 856373292 690829302 524299812 244095726 990765850 184583662 494845198 998448650 772993148 812305352 20286782 543765834 221362440 670024024 690166314 154338024 851354512 886364494 431403524 378080174 945927138 391738566 785733102 217280124 426704738 74849538 666552776 912211498 32975846 122148746 193199666 900347566 630346492 778548044 532117974 958347004 545585500 638027284 478160204 529245946 408413940 923912404 313019730 88665248 172979764 112603848 538499966 384698452 527679574 39008380 540311616 347143280 30483702 661393474 62298948 406750622 169284746 879526676 575575858 762085368 693597728 715834990 212001288 735877676 214007530 37028842 734293896 313615780 935842956 863834346 111660248 518420208 122819894 513905514 381019324 301891070 888095966 138888410 340107592 514976084 449924530 955989716 310827466 747981118 970263470 539260874 268848030 349069002 179725418 502915946 378194750 163539438 880029738 940535820 810599140 121100888 775722414 500151382 442073576 174148266 917106408 8193934 176340776 716012512 933214404 61365138 196398266 949458766 133868634 705354124 889320234 298224106 458992756 577414220 931910580 616797164 795647534 767086812 655116492 11430146 887835434 229628414 487889636 719773974 216611592 675958020 122067462 976569262 259838238 986672964 667506162 345541134 942890470 926244632 718691018 26890810 36194532 592365606 798285820 962576282 318204792 594208090 225143930 375332162 757058436 620755472 881071718 963118024 22207610 982208942 723334570 197778636 503318306 887894818 648420140 123354022 544679844 322796564 837943406 676417956 616173844 654568802 695567258 773864752 42867224 532689952 519881674 242605078 214299950 900725154 483398576 57240152 9994462 22441756 619750960 497609950 346616280 320637766 998173560 362532856 461556986 213714840 369459616 731430402 570342132 584556722 353342222 671765140 921872314 635962586 660048534 997508982 748538818 834520800 825817038 514725648 839130758 498598352 117216906 176619902 880664874 915726714 131986786 985852728 242388604 640572866 601692772 705461074 385721888 287285326 703524280 729437382 960571284 655113366 195496402 282321682 153588984 935713130 583405306 894812198 911050794 562718584 300970610 457337180 774893266 937443704 795323438 836194488 582525644 632687778 806377070 503960112 393359688 300170260 670281666 685101506 129227918 93152944 567088896 722189280 8531724 378212104 360847920 377302210 309018606 140835158 201078328 775368170 693005644 970840322 15530860 423360946 114754462 650371060 311093462 960899066 136078180 860344598 94784944 621779690 815725640 341376910 246252712 299956126 95584194 416674778 493220946 398347264 137651684 846870514 241480410 652038184 722223854 578422798 230324754 310782712 816474942 973689580 751519218 989882518 900683288 821466134 499344218 621195448 747010408 939191338 280699806 327114580 645436890 205041274 946531380 284839624 225234286 29727536 901921788 348928502 502831668 305126900 384923818 825868084 259604134 27123070 405091204 264697032 773698188 479601144 851219504 882474566 829546774 489227116 826566072 928347066 611149554 401646222 974305580 269431800 189538876 493097868 721786694 5680744 630308504 26196306 87591658 546764568 644544212 607364096 232865672 60235606 468165752 664452800 573031454 523311988 985772348 289894616 615546726 46526246 131973176 796113844 207554000 578763010 280211350 593442670 613242492 700813102 364378102 230639254 444169106 202834206 495672924 529325808 355936290 544519864 626369570 363905548 526144944 208470694 719715904 778021620 758644040 720078600 235383562 222568330 963052118 637416890 571777858 345041462 553738964 429693628 563038436 594344844 873986600 156628552 869782018 99306478 759060084 823688818 425209366 400458938 755925058 362613706 141902818 558701792 66116096 532370726 451236676 919069510 125061368 639412318 377388012 413558316 986245598 861388840 339239376 136862874 264780428 425358926 851903162 113151544 470480720 383278310 875794660 172896348 609114134 833008998 115175792 185565312 730207068 367097808 504548946 391996588 964666464 667399082 987729390 495655676 215218836 313996852 673070608 338221810 516470598 233111790 784297656 911394326 374795870 318199754 101436224 572593860 592933516 637286590 551151640 68690242 773307302 394646898 685130048 798183738 110943770 634237470 591852208 456624976 913465614 977602542 605471766 180761980 290035784 252457418 213630260 215113298 747062808 621585434 716942014 522609476 553395592 466448512 510337928 191805958 157795338 358785458 526390906 879727068 161753108 925784642 219869748 695530668 501705952 82309220 46173800 733836712 592631064 105354236 416627470 533258478 713535164 854340230 31496194 721842646 86496092 706956058 428019332 655955616 921549762 193176422 813485744 419866010 395543824 107428766 238224180 831136930 377812036 987792690 571488066 745795810 994942152 877900322 398700790 538251892 894259684 642145468 787649316 520360500 913160214 894199550 220830720 314109522 534054072 32611582 112376452 974648666 793225126 793233348 265132428 191489636 407018674 959139030 9071266 596050918 533311736 947499370 538237918 206198754 879942348 638644930 663448934 386117210 910020554 687566490 533549276 387886620 195040006 787237320 566933624 508703680 828200686 135844082 60747450 932691756 188793068 673886796 666216476 87107044 182544930 421101364 294553694 281161772 638101304 425945994 892907404 865017436 314310502 564395096 183297652 338312282 508808928 98372004 784257526 961704580 657985026 422282676 737021906 144703628 336874590 202741656 589630206 637846682 50802664 170682680 189154760 724950702 347527904 384251356 154985560 782509626 378290650 566643700 560127690 86694882 46264824 151819776 710231370 178510138 960817844 883229662 702153170 532957452 645503848 165157176 788002328 931789048 565490266 267908950 326089612 854755342 912139284 130441886 480300536 446325832 892661230 486036330 783530852 903375166 931762888 929947344 256516616 668791112 20566218 97318090 752445044 130354232 99609298 262413784 409565500 694173170 52529460 342855934 749242002 421247956 258064344 31194404 802766584 206678722 374327856 378728962 587987200 875519146 759830534 178901456 613723340 227124170 418913126 120375790 673815946 901861502 143985526 718124560 730268200 938663146 779946476 609758144 280809592 908719840 320778036 332065320 580495728 518541738 203930248 14128466 962836524 386948678 828823496 304432526 448596834 980330502 751700466 128796424 247890600 830864944 247549632 502408442 948675136 984409880 982194392 561149200 557495312 950951870 58729190 110963018 112312426 812893256 629439374 311755530 526720080 926160810 875009304 739265414 312412538 476963330 540493110 544714088 429001716 579375222 527291680 178800226 631894710 481790444 748210514 966456804 320000472 268341862 58102190 40852290 176955570 502659198 39450492 372649284 10290482 111506252 686684802 549050326 574544344 632940458 505794238 480665424 284222326 699015200 17769892 885898408 682637614 295229730 113090958 202597802 287794292 125685102 861442788 297832788 90360842 724675526 814978964 917641794 542456408 464945712 6631398 948522416 587837080 387068798 664242156 471143272 552042164 327896940 929960600 14704302 726876416 192255794 923638518 314719590 147391852 233986800 454975366 407699604 310211976 814420674 637154734 713686842 221066212 625921400 626952108 686054340 244266212 350621354 960869070 550275416 783498112 735407792 48767108 84422912 326974654 13876966 370108126 901940208 120158508 433105410 461865928 767036742 742085022 324751278 588239878 152589086 851812864 984362734 671821900 783902396 168904030 523627732 887427578 724028538 881159298 306330454 49544012 825236888 570173420 363294014 942921770 506143632 587774030 512516802 744573242 563476844 394272464 906668666 245568676 848883744 661729702 590230396 916825834 860061658 8804816 25562092 18873440 782724978 4235468 209608506 630993162 514932848 307490958 562165664 252794996 255924128 260490958 126091906 243168372 386255492 967969946 145154370 956634490 923328124 475296020 955588598 582660996 71430406 986467596 936550734 104463708 536503042 982184598 317242594 86128978 204734422 493124036 773878380 501080522 461300044 853777856 616205446 634547184 955700382 164839488 890193172 289156418 549542912 457651484 935095046 975045934 708860078 965460706 976743668 727523374 88971580 924294564 614170120 693990248 67643254 117694364 503117790 908032030 360401258 650691516 307889024 984852550 312797490 564895458 546500940 920574230 370749588 975715246 401281652 567699582 115990042 424188218 512473860 537214620 141733746 14226710 341826138 141408622 132111810 333161388 268174098 146616474 894474534 272942538 402800194 822796948 448406608 659209164 85719306 667489398 306678366 548633880 910287470 376679528 979423300 317651326 147225622 799172160 477501758 689496242 454808910 482551990 39913442 567071122 964961072 393405350 304126404 49280324 932212222 537003544 886584976 39036984 942319494 557355134 505824568 934771284 490450970 751224830 269683420 839643050 852054780 63540886 487926378 358393034 274806202 755055660 176260096 63751018 623911786 788621374 212067976 520982150 34848612 863627082 47035538 93890924 812529382 787403928 113296516 203675016 117850606 339479890 12373274 896058196 173150498 798787868 211294628 13318660 277653428 713081250 855348882 291279190 397956612 585707706 863417074 835175468 58395932 374851300 19056586 237677978 821510280 765504652 888132702 212762678 952184784 959649044 105272964 814883356 91785078 291897642 845092578 945777440 140126430 824107332 12448960 74111520 992568818 689904848 59009162 205768908 884519990 210970414 88113412 41366904 219890388 901985586 231030910 971498156 796113094 395823738 568700446 209245430 818789734 829816088 759946190 451448430 19832518 647659762 258442628 649300688 32441206 451678372 347075824 13122688 120063168 681669652 31534404 164173640 675556566 934642942 941391232 213885742 110306156 833561992 318236088 516718740 551516948 454105272 940892128 937852504 572688740 622431430 649642886 728281728 437590182 625604852 689174306 347609474 706709888 102201990 31923132 993226584 532891142 458919884 963808316 16790198 658927412 743923684 520201786 953180760 511409808 297121930 627324120 338553940 732917310 498259668 498424182 655920202 689086532 564231650 135057740 435705480 464036600 401630238 52355954 667851274 850772020 613521304 827082912 882231508 466834638 730004292 211295216 856746264 798493606 208299970 902740204 733868134 916654542 115071110 120387030 378902530 562002298 140358478 410593320 432100824 654892192 805712696 582098046 635184458 49550440 470958762 777116718 980338110 294589912 569038058 325275892 194969340 790704718 683308352 606269108 360173232 138370244 797483812 74686584 979229456 667946114 939514646 782195492 288387944 185972306 68440046 609741882 760745044 274901632 899589370 602169746 808801964 838712626 133284360 214878226 530910248 443263528 843709620 323696170 753825388 942714606 318155918 220832618 224069364 666154302 698224128 225412510 1634696 437221860 930936130 566007814 692530044 683387196 557453504 400772076 457164678 164071662 737222328 789512542 197453240 864330642 489662478 531837564 613820658 457245624 186996620 29831744 611625444 800932584 781780238 806752188 221132000 321689688 128968724 588360170 772045642 593267566 870784550 351252838 66545350 413545926 408729298 349792660 632756242 331585868 652016232 675735064 666403690 765573128 517415762 14367712 506650254 56190518 822134308 53853360 751277522 952042778 487500082 545309630 419256924 593424984 170622026 810028850 998562156 654451308 740184956 196844562 536804228 393657814 905767186 687015180 586315200 692814180 76017734 760790404 417048404 993148138 193496316 598838632 665925974 545491678 278511204 433463020 503738058 106919068 63460880 188564790 441705758 819585276 93241304 82890894 528019094 918184746 240151308 235384968 452291458 844980694 768739140 632876838 142421208 682852572 636819094 93099538 744900216 978191562 513946620 49415904 927719928 139932170 153072718 617547826 732125264 742669994 974879172 961003594 292528700 925816160 86298386 917823390 538434338 763684582 724329610 44616320 351713240 223951562 361766234 862635082 393500096 169666248 534925392 414664582 875811006 938364142 318660794 800226286 965833260 300830752 708699690 561808858 260911628 479593908 292294862 941952266 146854230 509498190 674223048 729940786 140632158 738622202 561200822 942727076 106795066 348310466 104214172 900917234 663773310 741445356 573893228 626908724 694468608 475374832 901355524 778006586 901215566 441031160 855993420 486351416 904975918 254518958 183752648 353668872 109605778 418055444 31918304 561790860 639224320 933595260 559373208 656927972 430006980 398359376 188465012 64508884 308688574 807817140 976344294 141457892 114811632 817677778 168465562 509612216 518860094 980698318 416150672 3520594 68951404 78035938 659156108 353717096 384161404 76843782 87632908 815237130 385305114 943185376 725627834 919656562 174174192 453950628 805446158 457376760 449258128 595070380 590301166 861283406 630699526 890381042 798448386 563245196 506998586 337990188 865377934 392346576 389561728 364140456 44108902 721983844 684976358 498972278 388211090 330850514 74848092 158394456 578120990 428049696 618610786 859435676 366567810 956596234 299584308 132459620 658489302 289314892 620252078 835496388 597463524 112709896 915768752 286736730 443814090 214918480 276751304 428750140 798289916 608372678 633693218 968876168 645789530 452099136 492953262 875088486 326456940 744007726 512758514 821068836 669073566 795525926 666669258 333535432 378921102 589976266 46823742 640341774 441869114 71301322 233535094 380939234 470490232 147669358 431097084 274087592 941435534 834059328 812887674 741200550 419297934 954062624 365264354 603862710 934418262 835850588 928054796 351348218 341333888 409288066 621321506 425855824 393075242 664774964 451152964 326560806 769361856 522333646 510425654 115152266 207286640 764180980 113588876 117054948 2006118 777866190 676173924 910186928 170740872 15124918 305606094 329566744 910274020 16721346 423338870 844794204 180709006 825177828 588578596 571018672 670367134 644158580 452340684 668998208 88996114 536378240 584711146 301934108 91951050 964907682 809701582 752604760 250104220 574927512 505542902 226662742 152486606 612742226 646020228 284747160 211331972 677426954 689431118 351523616 977653384 923078728 734088260 146988974 919915002 715710738 778921794 829644430 825192610 342004562 483699076 182930514 764170608 401214170 137525664 714373340 450389128 790759588 149051046 928636032 876484816 80864574 413454712 864199398 953033438 946626120 702378518 579519972 29065388 586250834 97597734 477263764 351635042 112033642 178970874 14437124 672120576 109800084 989842720 934944382 462684270 821348658 250143188 775562264 158311488 624211178 42212224 29667438 31094384 122209314 257532052 78888502 662041374 952874424 40005860 256157542 546745332 942324376 326507306 223510278 374046274 803270696 592364734 59003572 392453594 445249206 653926838 937277310 70098176 754913112 330040998 330116454 447097262 880743546 983162178 667018742 673871484 494750568 855917536 57602346 682014238 848152228 47751896 72722826 15261162 636790782 291275452 355882166 481901234 752925558 496631750 393790868 791006826 751150948 989877954 967680612 466590212 628804930 904794088 440532580 366967830 329159682 321799384 473684342 304577224 44680480 849270416 117237848 321155580 888869930 435003154 39627116 834017198 397917792 48885054 993827280 253921218 877080346 91352506 349615652 325701704 698838702 168861512 615638792 394894492 888188830 426084346 451267500 893125004 918185268 928677856 516836492 364527148 659084108 466564808 662037342 690910192 243815070 17515942 632041734 23891012 398860102 208175114 486530598 787856548 677298196 225775352 918327080 186076592 7828104 240295290 482516948 626288902 615335054 80176752 154049532 545357710 189533940 418344010 258545022 111503632 88185980 482391312 664428438 684161976 706812326 906589278 734158486 709937016 60605090 255136742 443627534 496448692 416274496 701967668 276848070 736529414 77061862 262753754 179631856 140607474 458854962 989608980 237731212 254611410 240124806 441978258 565327170 830778524 584498060 135351216 475664192 862544502 975597336 295309280 918460958 188331810 430470008 907420898 336992830 875042610 532525924 36749614 863745128 643514532 456865200 564018926 755403216 56699114 159128062 558151092 865708640 749828456 884397736 575907536 697557986 397113314 477808802 315444170 753289840 453588612 497332162 548659806 660659928 360664048 659648836 73642192 255286090 567444550 666217138 767304834 48887550 896609308 513832192 888058462 796950948 367326054 59264440 160633332 169701392 374828558 33465440 538784974 542540946 457991906 406267530 265430258 930965220 121242612 462573876 359865722 961594400 735761716 852719044 248764496 671366520 216112584 603273580 809485040 860511482 546615676 301952350 911360734 969841642 661069988 208990600 135033986 495204572 809226288 476211714 988370892 814339900 610842544 340259672 597592940 334783740 990611016 415554346 992816234 565295780 903289280 248179876 523968060 886821442 844210280 945035710 197301410 550077290 664079152 401735786 379484624 114574786 980897598 497334126 524919234 313984952 358442014 523701042 480182834 272743526 942174154 590799154 177508370 39771980 677970110 177160182 247907990 359468880 755172714 171065274 438967928 594587380 489886732 186619090 237074446 973658834 851355464 961701864 595821028 857720708 478280826 546592858 386943522 856341098 774963084 866131704 575036668 760985098 893197564 80473592 271677124 624876992 204799858 627356504 999823750 184084794 916814376 263681716 295746572 940661014 71617980 182317112 294617240 96291286 526817004 253906178 745147290 225127866 172864090 51969350 774083612 462324808 796554760 169864244 843577360 811505824 366648208 944006342 375940746 94394824 579980382 655417532 704415224 589674784 523638502 664183688 593607050 419458088 621878290 684123168 851749824 38704364 529280402 888970632 673497832 120588322 271312094 472511950 427035978 17716604 137157194 293099108 694635058 508996200 619923450 196307090 546767808 604244146 295543912 686826320 744546180 125429642 624460888 862655062 554002270 29066372 697331476 81476560 173357770 872457966 34899968 58521800 505252320 508652946 543757922 951815868 231482960 957455744 444502718 167168488 148081768 751394658 631591362 533413102 845560966 636013760 835619888 324333882 4891958 975075558 487011898 201407436 236831044 656196582 955147814 792731344 884655550 19105032 243449506 747084100 4649702 207536304 465771706 303135924 226922816 266558132 387459980 975980718 33597506 951810548 476774688 814932198 850336140 504535166 717835570 520776606 317433230 311098702 542836222 776869288 595119694 888708580 570922168 787894332 748274810 753979778 158083060 484395920 649184076 319582656 433696120 881052174 618287056 674661830 294521898 130468454 452919626 3832554 573162636 986244104 692813674 917098550 610071682 502609974 801053138 561523840 631238338 826646190 73366426 863180386 878315804 979992874 648954456 835579262 20656728 764602286 487275466 238606928 240762470 968619494 943054254 553755566 441495626 107963752 177670776 624928706 173230108 109930570 384178342 154010598 171631464 593073036 314224 292612228 533659164 11477048 7497140 780021278 235993202 110646902 532225040 937468132 77048648 859372270 101092042 586510080 448001370 431496418 130665146 281616296 187434418 512543886 455169344 296469096 622862678 505226580 146794384 473003618 688512326 97880452 156335120 920982458 870879210 834226828 658681426 511211522 672848992 820863432 138459834 715059238 388702958 678329188 575720626 99003804 766902392 253852680 904030712 744102444 329719294 283347074 318587054 614880804 391857306 878225044 932473464 633279668 534177232 136047554 127233154 745205458 251659878 289640386 507399404 381265558 734523184 90940142 153097016 575353634 460566250 802464234 459017814 517264018 823268364 98931904 831438048 924120464 268160514 578181102 924690054 197214640 127032318 247179550 112869984 487148776 712619378 597252120 946695146 66345480 90648422 82250460 429360782 11283314 765583328 903577428 26579334 212057640 164263726 830654048 511012328 297636268 358926690 61620756 602849450 883636132 86823116 835217986 839560080 888976768 750548390 297663336 291130234 742339122 595576492 842737834 507375162 464967322 576826888 812872472 455146588 893950090 459005896 262232114 953112878 487573704 469083088 31499494 407430416 385807486 114759224 290638212 248104914 567729136 400044684 370765514 836061794 604681836 415975968 247457102 110156142 675741840 207890096 540831968 126865532 542539114 887319444 422299008 945344290 590844110 410632284 727927344 74311798 460661610 20624554 623991496 599576214 964319944 445675906 59776762 266957700 189531678 268736878 146549234 647314548 48850896 400855850 297779094 515637324 46153876 538744798 697072092 965609408 758854746 481133554 582749964 752571402 527276302 724421094 734649772 542670656 344382136 330492284 850489656 914616354 363539704 604296474 778758012 877197756 505024624 628076850 745475300 162015660 645414796 984136614 62051904 66902972 701378020 615903386 122163252 114418096 946037018 507024384 348416654 115177488 818415902 325598612 119692018 539199758 998453582 251296996 199757886 495362738 892448810 385180268 103813030 64553892 923844362 708126978 931061380 306821302 58388800 734655076 900437716 721696564 352621662 147018336 403245866 780849358 157118236 291657348 261484778 686105104 58594164 79808500 342990532 503972128 655515860 264873504 884355092 719278458 560619904 778755816 823840542 206620078 791539422 856636808 394757042 153579296 941497140 306771250 543029010 352777924 806572630 679522542 358116274 3810968 96413328 318232894 75946534 777971520 674736576 591761482 786129784 269638726 569861608 154238884 826954712 780313360 291756580 548178494 517027008 684949020 196635860 721246660 877548598 751176448 1197432 98469284 747582008 687035084 453865670 886908550 362745092 117092288 794698444 873186864 968845808 750265714 95566046 689347958 722255902 506126120 834138364 21539500 135501204 141565778 980537912 589561834 963041286 251915762 389330848 226395894 35784790 380554162 61783658 255812566 49877692 447298150 474399542 817144566 696963662 973241700 214160424 846778162 964048314 22813068 235337040 485533890 680749178 464802064 844048140 293064366 139131520 923277836 770637656 177831338 198277984 316615210 234403438 438650112 96257470 333584728 587292334 861089702 249635600 964872576 976050726 739388016 731756990 16758290 717136280 956356936 595104558 298212510 250692168 711252070 963406754 282481728 620154890 112771608 166625160 843784260 266431636 847163602 238208486 55277760 20634266 474264358 489318142 269688034 862074476 524199488 987345066 49563012 149466480 172906352 274583392 58694306 753388672 696821766 257822212 625873984 784403794 906142018 24406586 451325280 777085918 173997168 269961936 445368064 693821100 213729312 345588412 566861918 89946270 791607562 356577974 167828244 768574242 577219460 681663732 133574146 115975414 290854358 35364074 717975792 239653070 676421624 699009782 771252602 555808056 257832186 937472454 27916780 48228808 626087426 878844848 841063652 552011340 305995334 846470034 642295426 459958124 228547296 944160486 449016212 517746974 641424566 287177968 431467824 460649978 907458720 996076174 388179172 274304232 221192916 430156064 435613316 845601600 413725396 152432362 364417304 165757778 980630794 454760622 209554366 959005584 102206768 822508494 717829748 153593782 722789234 147861742 295181600 198823044 589440700 213248940 584408096 969352898 861503776 286712914 617673798 773018304 876564454 112437520 604401578 194716638 604762758 21741966 854383312 780243336 532388974 661495310 465548532 642494780 850237074 219602284 107725688 291477124 209285006 700043908 412675296 808183596 887103706 910758608 815703754 721602286 690189094 765302810 981152578 644030476 636099238 75375346 972291512 232053208 767963128 8937576 832594598 442881004 447221452 466232840 701534600 662546236 663770060 762794018 955333622 61992338 314734282 230423132 516947952 647300784 341069066 639915754 939510514 15859054 653393874 293945906 75996580 731777486 774494620 438397882 94990542 393139394 147137064 465369250 775542076 318658814 210113202 195721152 107600586 19479102 783438460 446319524 665409982 103074892 678484618 707571644 546931880 833229164 682909114 265156468 350258040 859146900 366714486 98559130 150161266 927449870 925746300 428462276 922989358 185116692 16866008 922853832 405089490 344583152 326155574 713817530 724390174 158506900 11660756 749414336 203504014 61131752 595282280 108447066 957350234 40125238 450931462 804469156 461179214 98017112 568208228 88159172 118890244 407496496 590045350 702775322 19103842 268127146 77343522 270996854 874841628 503934082 992264754 478213340 263679478 896050730 139165126 377022874 115249476 133194462 281441498 48844460 774468724 802054410 528235150 428316546 822822582 609320390 443541474 550049200 294902590 133058184 663680224 990207088 903464030 155903168 96408498 723607190 835473090 874638258 130408952 917230142 767187212 956739026 724226086 487780486 747918322 177161812 702785328 911135274 908292384 894778684 838101080 359914550 664568508 500720328 390468220 847586586 710239242 986589940 19556426 4309184 639245102 841779592 10521602 538893388 134426704 528948056 792929504 65841070 939542982 217477986 796275136 150278294 905503558 585420054 356126136 234573382 897841114 886684974 444021260 33257496 22133830 667836246 922396424 718429454 723742948 394963510 119310272 44981908 32523850 943895654 117191576 557008064 285967068 921735940 384705138 614457236 802083896 161733812 266399412 645102968 640764218 942582066 122273634 855001096 334053464 871969650 844023130 13034120 756741230 704626720 358777450 971020716 187602682 329795158 869775254 556650682 878785254 968722476 251747736 165294134 815980190 826211690 893577770 38126244 352031728 108684206 315671856 975854294 603333296 152596220 262171244 127506446 767822966 362829194 643781630 827311550 905164386 3654866 198201348 551795568 216618336 921005290 185010048 34228328 321327658 66179878 895340136 811860030 98498212 93565068 472181456 11296276 47334582 949132878 776226362 929114752 418015510 653084216 273432326 480913278 833637080 396634060 765690288 633724180 53623434 54520196 469752372 975851560 2009902 973653258 353516798 927958220 78217238 843481018 77858820 678009752 710672024 498905434 79714206 125285156 163917102 439860436 254149348 262003008 454511562 591324862 420257504 850657484 477283174 496282800 410610222 490101096 235668620 9643386 18633584 408067116 977194188 897134252 33342966 753999188 204376226 657707726 27357014 73530968 442636154 505032284 743212894 631635768 444199048 909705334 147452592 711820454 572398178 717177006 532582820 265260292 785201500 670874750 422462378 21680432 697095744 306279748 383836516 902351554 562215606 56242856 640026616 222375050 431558576 292505764 771838072 714730168 235087248 713141414 418764072 643255684 19125628 207680726 163440452 343162576 138579080 758833234 777789554 655147894 86291976 605404288 249334200 43373364 248139626 114459634 140342656 666117840 694761028 745919298 746795126 297965210 177066686 386238082 291290950 292855846 769355998 51192536 105109182 539112384 364905758 192755506 48830496 885245120 306158464 789432690 895353758 766072570 199926302 377529764 650197064 308418974 489925642 345658754 593615946 895086600 883680974 823450892 248055300 133934828 982777444 249884788 646533512 222198116 830546880 143291336 317310720 282557194 385528354 712619752 861496378 69123622 378616320 296737994 207874316 596669354 265519696 455080202 802491470 641613062 748138912 739256118 104129852 354720714 743680784 434656866 246763172 837216626 607848524 240515794 511677688 694113164 203304166 479311956 543483674 488373062 710056040 449991828 777771332 402533708 846031350 887381866 302135916 255149964 45723390 203923146 918240664 125716700 391398138 409433444 166661840 540062932 279654704 344822128 63688284 918003996 278218754 952661708 940730914 132459466 289550508 168615662 117320948 640203962 757632822 572551908 326484724 507336628 123596924 846540610 618603094 600740512 477073550 16027114 722252530 208461396 983515572 207284476 862110986 474386328 472338234 859344380 14618282 248183910 999491928 68376492 37444018 334379844 370108092 906764154 948522754 366826548 96903496 113963918 470240826 690811950 494497370 972357350 24157310 147741942 249548738 433848518 247386212 502988960 13777494 437388872 683931408 782419150 822810918 297434144 184093244 103016052 535248010 91861668 198933466 422173646 449147852 228956694 396288702 885745436 310966210 909921362 636135468 444396826 543780588 302457354 384762200 908726328 271654960 170384914 711481806 289149306 145076630 698440690 443929150 582182382 810022466 963042326 215991674 195228076 384891316 977963924 798427392 436587730 383707358 250516746 976622858 146339634 498559024 927540684 699651050 603843472 79122354 993276858 705227588 711205020 380200804 388925216 811311174 316131300 891955860 73675826 300074858 101020918 105497680 589757636 415723816 285693636 813497060 796435716 871347780 604591368 88184492 987133438 669531848 868782120 114346710 597806624 862187344 746263648 74966946 447666126 464990936 918704194 548345698 96683242 238219484 903541498 349123644 953610668 975741920 713353746 864451392 117543260 710404708 549953190 692348228 55306118 664749570 235269970 400917508 881609460 512358974 943095224 190995288 119763740 64423334 669703094 361213768 942482080 598738268 996383820 91132956 224097064 324887788 368019520 576126326 352739080 870977114 8881278 789762722 733463656 862754160 455795154 706754898 794358338 938132212 709340590 162734678 877023512 47387072 518809860 587735064 767541826 888140484 510427466 53759406 29921606 184355200 961357332 261846464 854068180 453868512 759842458 887128148 420947692 248280456 596676916 194839430 300663214 213120474 979529064 786881856 761248614 234908250 742302150 749924010 757790902 706376354 466135016 324668146 140631814 647774904 506683686 404742772 629892674 742116494 574107360 284995492 318450268 500327320 103334782 804658286 508864428 901607854 893793194 719907726 518858788 614465568 48569670 129749524 365670792 722036390 251373720 635919850 592378688 712529890 422767546 984887942 612460802 563308308 389775144 895846526 372182966 666500776 152157130 774568056 946833328 169875696 183253840 624162608 238874522 970200346 982158478 972515758 318989356 400438188 779364396 310213478 899674090 85339516 575723200 931201128 583880066 836111236 233889736 950606198 31593352 698039984 740340590 132382954 581632084 233652056 892785516 775607166 345399500 851129680 20344144 252476570 387373362 834514722 764856672 403576412 929943624 723203522 201625862 248241190 350751388 476667678 454797782 648112224 609027302 668656260 375771426 935451442 366670220 851108426 26324798 182871492 167088912 947504738 264111636 250536896 656873460 518845340 130375018 717579042 623826594 786313912 145801898 43105142 455937392 815555158 520926680 641804948 373484398 491775180 657140386 826080988 947140810 445566440 20912158 403803422 136357608 802901608 318195258 6453468 977828106 331559542 699256892 419270870 478686372 898478290 289147834 401291902 785118348 433814032 632752774 224333128 771685504 166203824 682087454 52500310 323812314 591726108 259421730 781649308 366078834 787131998 862147708 500792614 382949438 529597714 664357616 702488494 199248470 582856368 153675520 257845938 137694702 493986430 848476534 201075408 303779132 725790922 133374888 483726446 862885848 91663162 116864742 673874304 132774402 810587308 752800114 688031066 989485990 302311288 800043526 134631292 722583282 6812062 285718508 35136342 877670112 978878394 661660464 298429656 966271624 875139714 629793112 33579206 81599868 455986992 420610192 301037720 151851256 439466256 548353284 32385002 41558562 640924226 294120180 374503100 802479048 812216968 149100344 581358068 618449072 493182800 504982636 11475562 423216648 230847816 786191206 263688460 641023930 570900460 152623396 187513896 767153152 921074680 246542198 983090972 710169090 257354132 915910638 907680438 115639562 451541966 415484910 199216252 85800652 998952158 228288500 853612936 994243566 572607432 889488446 747814080 854827772 42255570 201987190 173149922 222686292 39555490 71744438 298027714 280455210 184831214 828406322 20154560 313252774 318230604 222830260 289692248 154018880 662145188 990236824 846984238 411389412 590313004 178541080 791329450 444180852 543506530 237327034 19758386 259341162 418985372 230609720 489513142 159362458 445399496 706461340 544729472 235916772 779330922 90265416 994745586 631932462 628210096 788600518 834751020 438399048 939252706 861583742 546216012 457118542 947240004 673314156 323847852 50882090 16150224 713185750 307718240 267509928 32570352 194398314 125060996 998357070 736282086 915840866 971349010 570150754 739529190 834489800 710211226 260100020 437318536 610234168 592449930 597166596 820841368 531584376 529563784 529906980 928874470 676459488 520646120 338918694 785406422 148218888 994575992 105626112 630339068 750856986 226871006 36635212 708361374 600920496 804287894 511830612 601647396 36895044 558015490 365507558 459446816 848085688 16785814 638582494 696668846 141552982 122895682 430345576 88435884 995925418 357331416 699136464 286854540 353437588 700602710 691291198 1095284 577136892 434368854 348215492 598396692 167002138 372564048 984290848 469098854 551691948 429759134 746392962 872667890 929222462 355147832 842272020 912023678 400324232 631011542 958123726 21745762 911026094 512839498 812685358 315834668 469740004 826868882 528473982 176765276 140492076 423168180 950250122 834996164 668215764 73715154 419741866 381608322 821577304 451325938 779771910 738360030 196255276 746913502 481504070 45524378 722423194 537696496 232709484 310547590 386197344 465581602 303191028 130002086 991633526 554435972 862516136 385662866 509105676 809370892 656415098 784994130 353250080 673414524 191472864 739418804 163336956 84593598 258520466 214476078 5399928 576348100 242632228 575779402 811812366 426648972 876063388 299435792 353865560 504848928 842827646 77479612 157529928 231039454 578009662 404162206 104694162 822764382 678872194 789580980 864984748 749692440 620741408 162587248 975200852 295809332 274189630 386171460 150925948 231681944 379480622 769964294 725570688 684053492 505314728 28549352 621378216 464139738 135196972 398590982 11892410 19887522 966913808 382314202 463790286 601388778 125054656 269412350 104419354 58655004 909333624 47280978 756916454 897151838 132410792 345116108 327754218 489884248 559402246 694503214 720217638 804426762 140586402 248634748 722102854 347760812 950492838 235566804 382457870 174005112 975872124 743145236 861779844 972609880 236389358 69127588 914766486 820886458 51559618 110333890 207705288 430484370 130726918 513076658 767177440 459931682 331164450 779997092 582587710 466563386 73431476 231483834 559048294 908986998 462961616 408089060 141657778 417896748 882639368 926040008 339201164 799664896 92063510 830417568 607745218 657375640 924754560 929384716 989267616 453034514 895970806 115038576 702330148 204077326 761235180 62046932 965273818 801024844 350680824 784344764 710447394 179070566 566216416 285814374 946107572 718361790 465695472 849537034 806122198 955971934 919207626 159438104 731593626 284864728 898526206 746621744 396410380 377710 495970124 225974856 379582342 816150440 908587666 740356052 301830082 906213072 893428450 158075416 244930128 844583430 298118156 44370188 254360294 537939282 937821074 413219232 756431174 420065526 396505906 272976586 625478474 357521278 885843878 841661768 276478338 876478826 526922900 582195264 266831300 653361218 516900468 88424234 658005614 392278538 722475530 393663772 715507534 285790882 199237356 274356562 356574040 61326436 812715784 270667306 475868310 468895302 494166862 891746988 918503862 88953330 656952778 783419904 484891646 49331142 203109804 24258298 106470066 722718740 587160838 598648986 405053176 317673980 624407252 105406442 40009202 344340280 269909070 95507604 406819990 828428000 692998618 689558698 270806518 236991824 665940446 870927864 678588838 299089290 316659590 732013454 698494480 952954184 739653828 111216362 113513342 743702682 683405734 451261366 66649246 625136198 148049082 150740700 797855036 162282872 212055132 164877488 825030868 587058990 372288940 119751362 737852984 108032930 991708518 491712160 449729270 325837236 738799516 804754864 663546962 915362564 537579816 294807850 865511376 99403170 453024932 722939530 491518672 43671702 836113112 224697150 364306424 498643018 746395520 484939724 283589866 643657628 763496332 656178638 793353862 757949944 351632396 544219044 308996894 349365562 735893830 82524730 359615016 583289162 793209962 223614394 713239418 267187504 946458632 114914024 342128478 200896166 812627752 201921472 942553686 135912530 835740378 998238266 972842762 888859132 141926610 542798764 817615616 596811856 236317550 492405404 745769240 347802516 782795274 577558158 364285220 935633932 597917312 663997838 823231002 182694858 85114500 421844342 145256008 739659546 655875554 896018950 904789708 559608756 785275868 54186926 395760076 788459372 399436146 419066340 829768706 41724954 668558942 47078186 106517342 432489148 518414158 538247890 430832496 202047422 868213818 388040392 883311326 172675384 777021364 775505106 631382426 983774418 65865740 816686834 892830776 277041318 471085514 764257180 579709188 223558474 623794830 624136588 993984522 578759214 364727540 481737320 245063138 28347884 905645006 552877918 70971292 811586088 781168004 820875568 25552372 605370568 437886722 625764078 569948728 213171306 924543490 990946856 706720152 780987696 256207630 673559424 190370392 904954744 11750448 425424670 788782014 89897214 744545268 317099320 195592040 610556822 773383792 667185176 103630704 358680988 930955564 915251978 319755684 875101436 657079254 525960444 661228650 767610368 909592900 591535468 411212774 235352352 897731282 91631558 41675568 644357100 353266342 531009936 623044236 755052020 818607048 666283292 442625596 769225524 235499554 122513912 983350450 494187584 641858284 202485916 861230890 11684288 616717038 259782 992011076 245534510 305868434 662401560 667392192 706750570 115556944 844255168 429232156 132558356 680499220 318507932 693723548 917980490 865688966 700250156 577657962 517222930 492762236 518327284 465886712 877400808 624464418 152445388 185699370 390437904 446570962 206413906 788615720 582058450 349538836 681447778 981397116 377146100 561439170 413627936 369519282 394736984 190588122 530010796 400321966 926598372 685497890 117417112 828429886 439958292 856437308 323819624 114739066 192389252 54308876 855866938 434349150 160716890 125708396 322300248 475096354 472982168 743056310 453372566 476397378 661497960 394925542 765627010 666374538 450150346 285055970 629006470 931552836 789670412 47653970 750620676 652823502 402524990 137627826 463403516 284991020 878893020 110981616 228305126 184755598 507177160 239738666 848964766 593396186 384199438 542185366 808346704 417409332 373661958 548227170 795599110 620574312 888645618 125558832 623063718 862485352 571775546 286569444 372577996 866541024 742780632 682637314 745620338 237923108 589885196 128348672 161044572 601717562 613735812 987300904 592596964 918913720 368624622 831982716 399213842 54383724 156604582 119660478 838314352 573281362 215199796 437478930 562898138 806141234 490557080 188376552 477453968 763173186 255931978 815782928 394807318 576299594 475541746 40317390 460333280 418393682 353720358 455126712 175314210 651558852 449682214 487881442 640397064 488002676 246090724 229700984 511677898 381285576 721935122 854540438 510433594 942118516 657153482 701215832 618555328 490048326 701040368 261721774 70971292 769073812 244876428 358594092 111042514 175920634 951497164 95483318 708199622 854883452 691489220 809744950 734479496 148220596 414928700 155585348 902868500 108210540 735263542 106392164 697906620 988687622 185857972 751512210 92973848 763273680 891678864 66746810 765623652 701137264 933735398 435054158 906279064 499404230 149091394 713837516 44689822 910445258 270284938 877032638 118243152 396932420 929472412 238354370 64476888 377884668 226130504 549161874 446292610 559888620 471030564 409406368 492303966 399363774 228318262 918741008 222679256 437990666 798784656 256230600 333798140 518933754 603966274 821086810 764471996 140619062 672462394 320387388 615063178 963902434 806901854 469598734 148199868 982185378 978015064 811928142 702347196 507893664 975857646 106352936 382478578 594786024 46766338 240604626 149085028 212546890 397847614 821050340 298408194 736194734 887309588 998325222 618465170 186013636 67165984 93615072 85277338 389908798 951392256 647286260 203256804 431059250 682536940 592726952 999221950 32812898 18992772 143776412 585891638 450377658 14670784 871352348 524049822 823199056 815224498 225850516 930812872 857338060 971284404 802749288 403504502 709790154 134797082 745760536 912499654 417666730 74437636 514177422 769978152 589129956 620350986 452956930 718445126 157128852 285325782 890161704 10496556 968504714 423651520 733025134 625878112 999716098 81405690 682792778 829056694 114653176 801272828 229176416 708576222 154786850 923200616 720208820 271807714 267835724 908230602 450238924 498297948 134866666 728543048 274545118 285550070 751393334 245091358 563644778 642003568 924246962 363881704 80809374 244880450 388164472 382610134 924959320 381173202 535953202 538434928 177269454 124153716 732812454 818749366 836347478 976555770 707687418 930634298 61176294 100139872 697340816 733923550 773747206 868090820 497870254 895689648 69543378 463125888 243248410 602925030 371472384 242716610 258416754 679957066 730753502 221505440 242822500 762632728 772357728 549952398 526456940 122556060 740578318 683213180 922583366 262301762 779274244 484964930 890288052 708807474 605926920 880606808 861138590 404676448 946547352 364884514 671950392 361046114 338573898 724538030 557229658 671015706 580118812 355845376 633549232 522780356 35832686 678917536 552479570 271780146 65820906 774061154 198665316 594777352 710766808 202450376 14355132 202491612 794784974 605708020 950427602 728198906 83821238 781267772 133206086 743114198 612197342 571902394 735911826 670252498 757439976 89811474 285304598 336378502 735637280 900610620 874895344 414409130 830404556 195704000 774358820 243519712 320189492 270507910 714769990 477830024 936870504 780456006 427721502 364055632 136900140 419160748 648737078 210765366 132543576 897148662 359788636 485199732 231702150 142041796 318594986 263184094 308646384 552322366 474802126 327293522 733291716 361173308 191863728 606503228 98047112 690673258 372643348 913855054 78842762 407993660 15685200 41846648 372371446 196180278 563088834 459852736 16308864 101580194 658863106 774351694 244413164 637464272 189315434 751723662 871655026 2987804 998453208 721068272 161538072 862647390 733767510 596329864 394242718 523573238 509374038 103735778 252199256 256114248 338022212 16920080 891470374 369074102 131826262 572250504 861766262 254672424 42146656 301032178 580172298 108664476 765935026 154941552 205672794 467984960 472164490 659941374 956802466 202140026 317358906 152196326 942127112 11512860 468088990 52232140 750834496 631828218 173699350 456559450 385996854 638318480 400054278 274741064 730349286 533444014 522327864 879571738 287008118 339619256 581911838 792993988 360246648 668075318 683406350 254580274 34153354 512985132 173960196 532103442 992388598 118278990 739446264 542642868 876190648 342129448 568140812 451883018 996395266 787469998 277266870 780158808 609792826 500562620 119084952 216474192 268296464 526319038 337860326 133425566 5076930 368677142 215541348 848124014 949827674 114291768 628824172 703414230 558845282 892003176 154734560 794168450 374183658 10499854 963004438 602099258 348851470 358022702 782004708 634262476 9366922 644937886 693569654 900402392 77349650 537339510 657875520 225339194 685353354 391181726 573426040 71563496 347607128 429100560 376914728 103595930 149598796 552355406 802683996 644654442 243490764 699092270 307962272 791831912 369015770 769173260 173261808 491895338 128672024 624829444 62032334 370729956 684595648 528226864 469858170 390358950 687556550 40199602 594777516 982648516 672768082 69980506 738876428 498542824 674873692 9722518 551170088 123275974 473352936 69734428 482055008 778760088 468068172 795514004 111890494 261609820 743149442 780843154 420076034 675291510 306631280 20956738 981841080 349129606 49760932 733779702 74684288 687674364 939399350 671901392 371064584 889949328 923715822 130953324 132604090 227046752 528515960 153855002 879236408 481816006 916538310 167507976 505987508 664164018 253511118 91848058 213496322 322278110 966460924 95805632 33023670 307513834 90495512 619720454 782695564 721213562 629429228 508946228 937698996 402964440 267386616 446776910 353960868 955881140 503572052 318811392 27237692 736765240 793314122 44455220 110644448 137780906 260359266 562435562 261347718 26509456 319549332 434787110 370224126 525150304 140997642 479428582 825773602 167626112 609794224 343517014 437317598 670129192 146958920 58882398 883618242 803482882 67742146 910488876 928693098 994674258 706923970 214672006 530904040 36813034 891593412 306226168 993332794 578809096 590468032 936199468 300132180 234786074 101275306 88773584 181049174 750831742 661671196 612493622 888478990 723683582 640206156 455554406 908899966 67726798 263762356 976755330 551124932 283819422 799176292 26294902 647286890 263153398 482629356 369624280 457542822 429723078 775871926 671778924 299121484 940698016 868212738 320272218 103752966 9891572 333174406 500388850 47872802 419708590 635878270 951905988 634033284 891288402 424005128 168155622 386139064 87915152 686817544 706576074 778872518 865037714 861972310 856877366 839984718 382587712 672318236 466734682 694429308 727050364 897527278 459143788 156054536 174316454 399272934 529778816 910890402 859087350 269406486 941711358 373530996 871430162 118658294 867333542 555605132 13559348 264633032 193463210 974065842 738885594 543733096 660118440 443098980 932520622 677005862 253174524 487977736 59368376 209714222 388815912 258910928 225997636 370667076 793010152 644150332 761177224 836724810 298510210 744737522 648465220 169546806 612692478 659284448 950022350 381020290 313400872 205003566 268595440 261961708 332084868 907326658 191485792 865468276 107381040 196816218 239858748 174423824 624072266 45362078 822530740 595884948 950709186 260323240 482190764 975652612 948236724 274850312 101899124 53189496 861401694 554722928 864086474 165681796 201424610 106339916 482243100 50999254 635165014 147062066 886194428 707338868 401100318 839595396 122928038 340794238 801860730 121002206 918572262 241048808 368515382 190974994 632453542 708155888 418798892 119031846 766354658 533507654 542516238 53714298 600164604 676953308 956129396 530830986 897372848 410163356 97911456 526918436 843037996 427851284 829973438 932035078 62161008 81809224 662495514 484483590 860835138 447922198 928478156 546880408 431401756 237633112 360217550 527945438 127319596 806321862 32756548 355031752 370143668 863573846 829829468 109069306 31523888 674362418 855240494 190539084 529889162 640429694 136570056 733144402 131036872 458710676 844585150 929086390 874260388 227516838 93344078 641993314 733501328 983227160 605861548 417942236 198445858 851869980 963154598 804569122 442353324 799588490 290400616 30632844 69370114 806827630 414569766 145112422 105308868 789747854 597675124 838150002 418261326 960468570 345150058 469865580 76183942 13198636 929036022 149485530 328433468 302151922 895237572 310560166 1305870 570178412 44810582 708713690 173149776 620106214 189299118 620411720 886004698 845083026 142465112 916361560 666583474 764823696 617659768 756689462 394796678 763623062 988133544 173189014 646849830 490822114 575257370 987870054 770311998 465484896 766725166 12205304 92516494 992033566 488402462 702765638 213526578 812854876 381743470 628660390 246893312 942658760 78310816 792196106 585870164 996286032 817337804 302031390 35586956 501462290 462552502 400253714 416979460 610303580 793741012 677657496 324646138 207513580 376357036 970153638 839825750 155318270 729991046 581642260 174071224 271217394 259973140 109620044 95979076 26425224 891946440 659463986 634369652 805054378 811496798 748129386 68681320 49302278 579282238 24455698 648546746 892470994 639929254 294120548 119315518 948082976 802388456 255099144 385706212 276088076 823729990 754044946 772763224 208931008 872009020 723621760 970068684 412957272 551556262 935932712 604971468 333783640 430519304 280970962 852638072 475288188 161486716 617725658 785330148 928333166 454302784 260954342 831046926 974932106 230741446 73462060 442227170 164874154 835069502 576173196 591653660 103171598 306708020 775328658 670673198 375277720 182096720 994120540 67125042 501052910 797911332 18434676 771169242 42844130 617049786 486425270 946291346 119950764 189575040 632685658 118486984 143634054 365668974 309306452 317773876 641978794 778115018 440707666 207270732 717716164 732142382 952375476 852063072 409646480 828347326 244210336 189456970 254640418 143700432 131164462 997827740 294205424 942144306 181098658 440263746 751822852 74938080 490853256 815506354 944315132 241556470 54414198 570223040 834812106 767773226 857119298 647853964 56519570 313251186 612094384 187988970 857681012 782284958 267087586 742141104 350101266 208187534 984035140 39297800 882919470 215437996 386379526 476976490 956820568 738787474 586024826 300581020 64519048 637822968 972325774 322409760 245010482 930050010 366455420 927161854 928602664 487713618 682878982 363164236 865300322 229897712 367392276 478715198 778086410 561650490 636665638 961298674 950203246 81160344 868409906 225683674 861365494 408743034 821550490 98935868 822439670 583517110 716390078 130594870 342411572 747023804 681469964 343064160 523627940 667577326 579312568 163120036 302478846 894300612 173079346 796171596 939604160 428467446 928271918 225345158 951088986 126073876 615459972 241239586 210678410 376996956 574153936 264354952 888178650 119999712 169039008 113170762 34587004 410626606 490584988 1946256 18520992 330991264 239902910 481332234 866369650 651251502 824302064 979467060 488588168 772402900 426785442 686955476 133379746 263172318 1477256 538207414 629082868 650700352 352737204 631216110 538131366 220263576 93177730 244822602 226227176 536964318 31563042 569199302 459400828 557601174 240704438 607952422 775041434 981199722 361429812 975850718 765806972 452734992 296270136 637197302 524075982 932688624 768303800 730110292 146346842 91748588 624429966 512004924 788791374 411653408 830463006 219695796 337992796 738838146 270707526 874093216 545838914 668333128 867698616 151101810 694865798 629827896 703694918 587521998 368235196 117163740 220754428 341815796 110121982 924026258 198538754 942796176 851871226 540394906 446139154 202508654 212139868 327703412 627114300 81805890 472454228 252346878 88115006 759697628 750292198 983603706 465780208 472296398 760904874 539625658 810169004 182190954 292542254 959563686 261294396 684535420 284020804 104866920 870016384 540916314 64423158 818086828 319331222 942123328 280894298 476725056 704930194 141818820 327704490 895938806 289165652 830353018 686050954 133335668 570349970 833287312 32067010 164554404 789286870 941653128 968449930 266526858 686203488 764473516 58646236 249095754 29468804 87229966 569420250 20359574 887754002 577250878 965301644 760424826 728958056 338095980 60159404 213778384 335206202 338464984 9332006 278445594 784191508 683843004 378384954 32539000 724852 700556988 604327594 719688946 703400234 808555394 442269868 770720198 557668126 239254240 256120944 713745458 539086426 159950906 214176546 270844258 118229064 85973030 434707798 356638016 53383690 548769204 856546322 768246712 161940808 331910832 925568716 849031662 650438198 482487008 510529544 304481378 323757242 624331880 544350784 18061582 262952 854547906 504611250 706123694 56804678 471609786 462304338 679160476 691937414 789089148 857117322 22380758 315930968 165957122 217627894 244993416 869137444 745622998 223498224 981950908 359653790 793027364 984413604 642951462 252675714 720064470 846396244 501613742 751963012 495506466 12041146 959636628 318324998 72639822 844689860 602352276 613075162 216307340 420492684 849402268 741589118 156512772 562367882 569023640 726784094 486299364 63399794 798363600 627882324 89147074 453709804 278104320 125292708 548951608 584737460 746419868 173962354 263683702 635961192 211510648 536694126 843880980 619234864 136367110 123396676 908462842 512776294 133128370 613490224 86898420 119157748 831575548 435827460 442878410 69781094 624432376 145082052 370931666 398990362 288784686 643625286 756387394 515354026 922191442 10898590 923774058 3661518 833680788 179602282 946229544 563950838 485689916 6529702 775273772 233363348 976115588 836672408 889607572 988860372 277308140 497546730 173585454 535719874 961087290 953737912 349114808 549398634 725865916 233829736 113567046 460165156 709704398 986616930 29424834 222244358 192755412 41409984 359884620 312667864 931729418 758110268 225056490 270763024 983856606 151692000 620254666 870894828 535347790 221390486 936766422 146067626 979793590 292764500 439944866 788427884 949265842 885841536 740176742 232787204 570151078 601335434 46843554 730111000 87646200 158785588 691306710 918113536 894224648 565184488 236616272 10644170 656615922 668551240 822398576 105813548 685610488 30822498 708951988 25093232 484936026 732406450 923085150 939927426 946267754 834707502 297019304 805375504 394749800 410018716 252296512 558491234 141028738 564381350 861728342 575356310 490879182 67123054 489733806 24078142 227519370 827736514 807555100 755666204 447790542 512174146 787575302 216640036 80558302 386066970 346761292 699742574 424896584 626788390 375713338 233600646 705525602 153320496 403553512 371268682 242591332 340119956 134170938 871259956 242555302 178947398 643898518 447060942 154660376 591328222 975820368 564799926 164689406 802600960 205605808 43910894 295468750 468267282 488493384 348116814 312422368 837219298 788679444 487051826 679583408 591548732 684064054 590208848 724361250 543750106 246639172 443256208 216742936 66650868 156487796 51738212 777742962 827971168 624962390 36886324 702536916 936589098 950217244 91158762 931207118 155478518 283522544 446189444 751332786 896461278 142891574 451508594 513581108 477148698 118234168 886361086 491529788 411411082 152456190 319611542 956772418 53648570 345463538 623232348 730906550 75005816 150837888 91193840 117561890 442681474 273625948 831471130 265035752 567517470 102344824 267481448 733791046 954203666 752975336 909558078 625227706 783414730 906621624 167721246 328573924 113905784 138728084 123275112 121594870 11066074 868293544 119441320 149457382 42962334 68703088 613950244 724533080 745870104 335859480 576196312 351005320 274686186 529642186 156323034 256043388 359309914 820713252 875794666 874313806 690353484 788332136 76941196 872873268 261443212 922165018 212711920 562511846 627307048 15419484 483839424 878406054 374886164 83776476 902425464 345151120 447592222 564301630 156175568 148136188 294259556 325189290 484893720 274695472 748920774 747871438 278548602 745537508 807746936 711259700 703234764 666141528 495476284 658880660 455325118 209469956 397379454 979284658 406900094 634013696 202394366 83092406 999672922 73493324 43605174 305630580 634854188 409671880 271291202 17598458 182524982 825773016 102977728 370516894 678244018 441327620 617226380 193095992 867363060 663596026 125568360 567879948 940896168 758580094 566213202 225403922 469744116 414028864 459254396 261266664 590954842 116410198 323916332 582922622 843795418 349402576 169544008 941871554 104928718 149037698 316269512 587659078 701344198 694691888 909415554 181019938 990233568 942925598 804745738 889979116 472028552 101049930 211535776 243951470 983963230 252741628 477306034 256437964 127307464 602897132 391287226 524937938 879433374 243371790 413300542 311930328 941003578 105962836 236933752 115469402 859518736 235837810 102721702 44799636 861174554 750903052 132455954 468693456 243203658 268676118 798156084 571719416 247417092 522138900 217940798 499875372 325808010 197213386 152295140 521334628 937184548 850051934 266988258 239409468 291002580 39776628 365107284 366398722 100739230 602662080 532249388 111586230 527588058 295680066 336472514 520495814 178899572 214653662 859746398 996200506 528678776 72714350 630253910 690221232 155884366 301912966 883864604 23799586 134478568 159857932 271212520 49639714 949840286 925476900 757596356 871790398 607482102 22677514 628924234 795785350 35165996 198492608 848479024 851159866 316217560 471459208 416073838 162471146 737628504 50463214 762173436 47444842 729537730 229391346 540064426 193526352 519516080 739361038 337341032 873554070 907953996 655591186 631687276 844759458 455470632 487826840 719182740 894024374 960291550 516497786 138321666 302366366 533717980 653853922 716614864 77276368 33265950 88998366 979352704 853936800 548843830 86146278 506670584 466774958 842522310 449765548 95615150 410900802 254764822 191299804 772884612 374384358 302580696 976953938 78098514 573061942 670052170 202200434 117022098 305352400 81995080 993989072 368901378 761146926 411191608 144660590 621950 436252134 691183166 431855660 982878960 30985222 296445070 140930378 203747886 693010186 765461586 876207140 75594970 852602294 174842404 605452068 694388178 289010194 935433544 14391390 727169852 696255530 157713162 614746910 452485006 953019306 114298188 608788866 955475722 270597340 342213710 572891698 904701632 940070884 549328974 406694958 562383398 930113108 586917880 242767932 96364272 393038010 793097188 905239962 48061432 818318614 48946160 570661670 377924660 296647120 857472398 799748930 954001916 62201064 253239940 345195390 38500916 111616198 113634240 587018428 642910018 858985288 175624424 828458766 818698286 758296074 121299162 857970874 618486074 862132682 87973360 800228470 641166076 884153740 871836508 621934480 337867714 214498948 93167068 624234334 509240142 15958982 377655058 459968670 253469750 94169860 337925754 851577140 818952074 593248582 348712710 956689524 727891010 991045648 584617392 851995146 165151392 866929704 289322874 149625564 273601674 544878638 476442204 684299638 243811636 482092118 689387298 184109166 708388524 81796202 676530244 15076826 89384134 874487036 235912802 510731180 540125420 646709124 128076254 37278968 650689132 500195412 301355070 84314526 632466966 653709020 973421984 440790242 134817816 745639496 623364994 424988106 975523666 585563798 697225752 958960968 447416310 761645582 670739546 92324172 881389224 72317736 559955084 916352564 601069738 918970194 495154196 341113126 270460754 712755798 161396654 728689720 359673848 558720792 663862060 672044238 352368746 235885932 122984834 83163502 593281380 555484832 54788984 732537608 219382888 925464440 290586446 46658860 329890470 410956530 162485308 582729278 1931516 341264778 176760430 357749486 396448078 706525916 157069074 785387432 547470778 672003466 848748428 365343724 170100832 711521630 844016268 616481518 227983000 831015574 707244498 611053072 923681666 11554494 752046848 752747556 644679072 403272012 568008830 682523890 543768342 64506308 522901878 967626310 614176252 633775610 349580954 203480814 756261936 468156270 767056622 625244792 631230040 41790558 607350670 806636594 574118440 162369642 354950912 667832458 375109362 737453742 958470854 628783056 260298934 426691676 674030232 314256464 132447788 989240134 792383868 522674276 590556340 124644382 928969310 8075308 288594464 426418996 935069410 310290432 358616254 451674612 676843532 243173854 12786956 896689894 688893206 87765556 999793246 630572380 826996992 528146696 256406584 123124692 738617342 101906782 980191070 716038696 849273162 706188166 527083630 738943860 625746508 859590432 255157388 482598980 834838584 197577352 782098042 520881944 319263430 906872488 370894838 861568086 256910572 674446956 341358112 103634998 510171066 814015170 455093424 786022782 467536878 589370702 311676782 755834506 20332472 658838956 941237170 332971536 190168428 610940492 110809462 382706462 783270760 432039442 948110078 17802738 910756094 819300604 735235564 435317158 709101936 155389546 425375436 763283758 705271014 570182552 952062360 772762684 29451842 460763966 165184114 894067742 51099658 92655576 353901014 874273384 390129260 644549942 712909192 975557536 331435820 381648520 152183000 768326186 138832714 568078900 581331446 193819724 621843570 20734820 532142002 657950208 351727466 923393674 344855412 935229224 538055636 218661830 506039384 240007468 772157298 15530216 54105454 270215508 56427274 116848292 170948378 440372776 889405922 582409278 691325884 355996708 233800178 406790434 990158514 382612212 817646158 168297990 47961018 807525110 279000930 323247068 657653952 505955878 510038510 134806288 947044152 639641774 155260484 630796836 164997954 886329160 970481972 709795760 184634862 879135950 301874040 266082678 143161182 336699078 708225060 41458124 67065214 380306238 53128746 624399576 920580056 6743678 211912234 855373938 269326234 672894088 648355334 525513638 807113370 887419932 280572998 956363280 748436962 958827106 278640222 79302966 47006624 48228514 7786736 795052718 836452278 234290382 384747694 256851840 634525710 548825988 326515310 541081248 793112132 563065968 134516768 560278880 328205398 75500318 371542044 564811574 591696472 613753664 637966938 116296554 892974868 511307334 51788726 962173026 534052634 759273674 60938272 359577632 557065454 163366250 473033408 871114508 503173998 385245414 167508812 908458006 796679232 123885460 866259920 350388636 905856830 546599566 453795562 578669732 551447464 648585588 357792956 858899096 558694022 748246714 629119508 799063124 323154200 666987898 451175912 278481144 552368786 793236568 182189538 166567432 110043868 946715846 280296924 539172932 3280974 426895232 493760276 580884858 194735598 218939124 280660668 792212328 306620672 485050876 78563088 501754440 444121520 657878906 425546844 993309888 16784446 562579864 607948606 656418486 106508702 648930752 978948180 392948694 811088948 864472882 813938368 349094200 544926330 834269584 547789370 250059000 134978092 673197278 900184206 413007420 174745652 248045042 798333764 127672016 909337840 708577288 140653092 717990808 645793326 874300140 23760546 356141898 972871520 48965318 297205134 628856844 536792520 657125678 720500290 485838796 458499716 585557094 516014222 512459692 759888322 692246356 224216748 27284806 282955802 736671300 860814606 887641952 719989744 919888592 404321372 239568162 402423442 348362788 689667182 766173640 95564066 664000382 944981060 565188564 375490166 44421944 498421858 427246034 955962508 548169008 138216538 15651270 147128668 716933026 810342058 676284416 328163054 126796804 680143318 644373682 119117690 133952224 523403994 532512898 186823160 753234236 496919796 574411102 185916808 593110632 160693356 641202412 927210140 854259322 152479394 334607476 268394416 74775556 396993558 688791322 982199748 266646038 904240232 850782170 373421152 409051272 82176690 394968162 409765836 763487900 431127564 979517072 33931538 417980844 635638000 634502874 566575356 991566756 985106804 586387482 332876662 346819478 550625516 40740076 156284714 651981370 103082348 98422980 966345804 268508618 733120888 854662944 487941700 719206574 238442380 490961356 435791460 762386816 276902806 77542210 77607148 897088670 772860878 34787262 407433664 305600482 147501078 745280474 890232114 35452988 212516992 84996088 171244646 443595664 445147504 190346608 257199432 671898350 773833438 528738410 162833068 373493182 868047806 716367440 216217318 764628922 647089846 23501458 600983010 306909196 923675030 320762132 619624578 71235754 151117700 14729766 832135616 792183784 197048558 832096844 988262048 389946138 344622724 532492082 971269980 283677544 729617658 621098894 975409588 537007572 592323184 387070184 728558176 675299254 768583590 891956384 804547494 978594924 201256582 443608588 248541358 390877468 569258722 422205206 77528170 478365096 702792902 990296304 425708896 950160060 806873668 138693276 322928028 140721858 319190702 498729360 996411890 515192732 901618590 847618146 514088304 468133988 75036416 987774410 656850726 520772322 902117612 6106672 971556950 262263728 242728724 270550734 197385752 318135814 985997880 289921850 656722816 355049648 873611992 964061212 10117304 870325474 440156348 191085576 816004530 254668370 307635626 208458792 772052314 446538872 801499578 382438544 747730480 452551066 349981878 231614902 408314236 462079232 405469248 723500766 701086044 464128584 809521950 102623278 922360892 245847058 781066524 356951838 324027150 733022918 825167584 766715276 250985056 107768502 911856508 608415454 218332024 446430106 404611462 671873110 463373696 673355276 573834468 254407232 428484854 636109840 406725962 551333928 452727748 837165278 986455252 779706912 500881418 287261578 927262550 959346880 63042422 402784336 108603286 291448704 263464224 687410526 125292284 63308628 806060036 760785010 743141840 336566384 685586336 871499336 668559206 80611104 882622460 775885470 749055946 158563906 638600682 175895700 369168274 129548112 273611546 240775464 255045006 961867714 744825236 200340122 336979702 279261480 995568446 149369950 428162884 356118360 206833242 517476990 402855218 889735402 714435910 919168424 462988620 31385682 279156064 663690474 460206262 563094128 360726176 696094824 404440498 555828832 54223300 718125356 416506054 943192320 660274732 944700200 243437652 359035982 745203988 70921164 903194310 691847382 964142704 393400130 133760700 57276012 683149836 692582334 505079886 71406720 304078676 45983676 754165134 485545574 910296954 354261204 849405266 766952132 748004404 430574444 892556848 636460614 735243510 923828256 615275240 268491316 319879448 783320610 142824084 568600842 680413682 179486296 569542774 956345746 488466818 463662064 827502210 550153088 454330356 297982108 264319072 511975288 578684086 677805326 373342262 496003380 694487104 69306186 780316868 579810 7043494 245353458 572527696 571038270 781594648 552148108 410591650 769177978 154018516 521162596 75412050 301903360 853650484 354831154 762407154 944218014 852617174 944370626 922146356 643233926 234254998 805373410 916237966 39637660 978098052 258237304 511803142 630943172 272299718 889904654 265616262 45488050 55873954 930162368 687678262 208865794 632040508 740358174 363506812 677167486 743602096 394173612 357961304 426263354 521742758 1486492 745863806 998772300 900790780 66641258 72852402 425112306 953229450 51749952 232880146 125582058 897081022 744049726 450500552 25157202 310864452 661200540 148163180 263003068 652108908 39726544 627175160 332828952 3360230 501686850 708629966 948666388 546533224 639582074 657392916 938980026 777123324 704146488 610789504 316947694 802246620 459252720 604332742 928747540 183106482 682972718 728218390 265439648 695582398 688552656 797776932 488578166 984951562 613415352 713920398 426275694 429366660 325534076 861138454 9385886 353535528 588714962 371736292 707806016 169962172 657777854 758491100 436988066 933249094 968014092 868652816 317587210 750856242 470135190 543274894 434023546 465492952 459600398 234049134 943398456 355693758 481441866 91730096 600331594 307210598 278718752 995596090 616442170 956819690 764496984 287464514 207620994 417422800 690436420 941912942 681493936 72128678 741698752 430342828 123621328 774958344 674029226 212788758 966342530 582938978 500515014 71975510 816040832 791657010 540248666 471834330 419261370 803115508 324966078 487585088 825914688 10673354 787360038 71692176 842001158 424525372 674754994 145186276 896703616 84464396 750079198 27153920 890807410 139569128 208041876 163370540 978087974 229456074 634886244 313811172 198732576 496470374 999427422 880914364 648148510 551338846 204038614 249199626 238720334 621573614 414215262 99194604 321495062 694664698 753869612 98270128 15970602 821776702 843209876 549811876 763815078 954018564 631204904 57377410 923539522 610508394 552185422 182293970 613034072 969273150 171157834 778320502 62814306 596838650 497680322 124461120 955843022 394148108 294167420 821237896 101410406 882640852 407027218 105122806 481396752 637320744 165489762 480821760 869206278 80460662 82063724 40393882 74858584 373282120 299434880 67649938 186952084 287869922 410271386 459811276 913057612 15360844 570533280 924658320 888199372 85092054 93428464 920555442 236710122 143517620 984131112 488426232 303293126 57586650 996777402 554996742 31568672 445666344 673982860 210987858 945122560 53881882 786076542 246774868 896552940 975056478 984383078 672426360 594845808 212813536 258193638 720914280 397022754 739374822 979906468 839904314 439465464 413287760 878638746 869867180 282214446 550310358 550364566 942459550 212209064 571133860 912662640 984528720 798620206 798148462 902774118 698348362 589819118 651474432 9054334 550145048 926473348 399706246 775906228 601013944 609774898 702334990 608335462 940807706 71300098 54339602 704402770 31131150 113748092 990595090 341574366 246335756 271814204 507538066 388318274 881731472 368086632 952151344 155088252 456522544 594845302 116465484 317953862 944835680 898297930 389996230 128313198 625788192 463197148 186111076 445956106 974087300 346735218 623478906 76942656 724432788 423695900 13419768 511897122 708138958 677533936 384512710 659259182 630402654 226949682 42810970 249949354 14993380 892697746 8014486 421487088 774477060 505113920 69257836 737041300 232096618 643522512 370123382 237131526 763558658 670255756 833704830 606189140 175045138 749379790 253433790 791399384 337441542 489324658 489551910 892454506 504695026 654862386 443589846 527591152 553390568 405338906 370751068 538540690 135446866 197365152 582796234 5813984 784457692 58971858 901762742 425724318 297686432 123761780 599813138 815766708 638458786 548645120 993608442 736169130 111055264 6993180 88893982 924546240 554759294 403803808 79168690 790477294 307428532 474455010 478985648 973756516 714117878 366652546 993232306 769835490 630663460 460608898 62790928 371470930 865348402 552389232 553285218 749541484 906306942 870099660 387516238 371667392 964914644 40566268 896960104 735572296 345276630 893012320 363980120 801775144 489937934 868451166 749067694 48473602 187608558 675683184 444069970 449302468 989568840 937086356 251231162 539881066 368161274 421621600 419687116 860191782 532998142 457193034 92549320 331689324 747842162 37845286 854055642 489886462 137540428 293783360 899233948 958942606 518115710 868714696 842037200 672096168 774881724 920299842 463487090 557916596 210381008 419894650 379525922 35052842 333450022 266389508 206152648 530229704 315209144 351070344 273262912 650645598 665419614 911360358 495088552 274981082 166129872 762950728 716246438 455729404 225494788 664397142 362409984 553170598 898160506 204335036 726056550 40969966 904378514 414859566 942952860 683355016 193229996 101987886 910424752 76153138 503972650 814188808 702713404 98480116 919652660 248084694 495918282 327038528 165909254 279745020 510414316 721072834 4305596 928629560 456600020 309625968 229661056 557761632 975649208 720080162 525278498 762643924 501071586 612597250 308619018 375325664 126955170 46981420 947031960 83288260 498624712 652039422 607129280 988305100 346462956 59834762 273784624 920943040 944207094 537536202 771627986 574385982 996577840 903293556 285611930 543526390 218922368 283356678 909968820 611397520 451041714 624184140 883956356 111417940 322578468 39369212 936570778 668044106 735362492 882757902 923122622 118794518 630747636 38166742 418869406 740669922 748900710 76020278 705709388 484241572 868030294 71220222 260787520 686164654 752481608 401502340 922647642 911848188 841923350 863571068 200691580 748541154 850834410 490871820 412688942 977948932 975055696 50578838 960112442 777255802 433010972 737310398 973716960 33175390 986903848 461543728 669604800 34419246 259331130 651571042 359831334 163516154 570089178 648417496 936349686 4640388 349784624 740494800 729340278 746480642 722051938 579106074 645266814 538562468 649470190 101734438 81123770 563135188 251738212 4438222 927684474 37733178 982833910 460441236 944190562 959500270 183746344 638727714 894668310 365637444 894016626 963484108 553564386 621188648 858852908 392252210 195315876 219984526 290095242 587980716 353838812 836462802 855752078 904292868 267527318 906245436 874393808 592571700 416721922 307766886 656459590 457524398 452953524 251407054 252917652 269636582 999588450 525684388 118606220 763920194 227757736 521714676 355692412 594543534 195515146 408002974 115712490 493891546 21072952 539303128 650454602 280911694 779453756 958482412 360123354 283024058 526471098 845391844 608825560 564549164 643261962 855525376 619026870 813575836 962856396 514396490 990234798 874579928 341406100 710219238 923085210 770897468 218631562 816015116 45809428 538385868 146651062 433983622 954298694 971757338 932078956 354570110 648230154 518708170 755477098 191748686 587839542 744984774 772968650 327628796 461636482 99608900 889734772 82227920 370379360 386093688 851115418 419111620 116869786 664649190 181496388 115895680 956099262 151977414 117614286 898925992 311880662 627871654 162621300 981231156 835890268 823103858 515889418 566740420 80790160 663849562 265359328 774118078 741910592 576534034 730722084 625604926 319976038 900202004 361610532 769657236 396806186 53690904 583656158 872636920 201477174 392111740 528835398 99504898 106468954 851565120 50665896 220357288 129144734 509481812 963077314 475061712 581625702 566409258 540148378 887392122 916336926 803486282 693986182 434530954 819378522 366659088 667990614 638415926 823605982 582857730 251646540 448384418 896393160 842643282 817265744 715452046 211440914 607965498 606257840 153351956 976572822 655396440 872070004 757700754 470317934 207784010 718060016 51880072 966159634 976335348 120323658 223907082 904803962 462459972 982569490 139836870 320764636 2738170 823764082 193048956 255716888 155902612 259568166 694296168 408650876 689445122 588100632 958527072 556703366 235249558 359064424 429552214 649788804 55508460 997328778 508998728 546523296 156708630 665574590 108769562 828455820 623754354 376858154 869718586 749977244 107743984 416527640 89244604 469829884 187627722 92572444 994599796 506229500 523567918 62142166 4180774 301630694 82917734 746309008 972320090 484550824 219611518 305668422 367211000 598083076 269004074 227275908 882916506 758330672 961448220 332340508 263866636 299152472 832258288 453704992 972582064 176326062 25862902 659480718 105867672 315523596 209687642 781822562 868743744 124916590 731147934 929636836 200045808 638301622 539105402 752037038 932316820 454605812 581158276 267752652 611315478 484308514 330853948 971379090 323818122 791673616 822234986 838080150 355602592 839276464 608593256 4256182 514284378 467415338 176330936 225750830 100797204 96756036 221025748 533356494 398082622 819853330 969086160 485065014 591779846 376590564 848788442 15366062 159322276 384412506 404520016 188152962 208097128 894382994 696043084 102522124 94240234 470600256 699753014 508770330 413818682 938741574 978565104 881392384 336086076 528277814 601542534 972384884 383067458 839596488 888721294 841945540 504696266 999506634 919100710 132128446 186131034 60348632 868343256 580924380 889297836 467257500 436861266 36425778 146621304 505878894 670359416 943558576 189137594 539320030 886021898 479017926 139641946 120205640 130106018 565948066 394495162 643282014 363884748 383139130 305962600 856046758 408016248 382455250 294933918 869766710 571848684 167646614 700752622 80458878 429268752 680456746 326577186 308454734 32076596 323872726 163742150 197503698 121840854 937766034 406016620 343731912 895254532 250525792 433187940 43175532 200925944 775765184 87474252 893784212 155154908 246923766 892946334 911516010 149080134 969073992 257840026 506997488 447967952 821187510 380096094 100749418 107294600 465398416 369929032 569849660 614800750 349188766 880085440 302873504 611382908 280119982 278838714 502076720 513280894 248600090 571161634 898271876 956728176 319693672 979253266 218271326 533853944 884907902 209414220 832894744 558222936 441743452 673940532 807962026 527719904 589046072 132446350 952810100 550619608 136544748 141635318 204393388 811026174 450527574 383453890 634809640 547014212 686621182 38269396 825308072 914143348 667691950 960297650 542003138 739072178 112251850 337074914 501527488 258539612 166366884 890334082 772808838 890427870 66121698 295812830 749294768 274598144 256311062 828542922 250421430 420242642 650144060 726388430 590198282 903466588 720188596 970214510 335599386 959224344 902579938 501807296 57729502 178559360 576159022 347724244 695691180 263900898 599997636 783928626 500776032 97490526 617569446 557866638 451402474 746367188 939963492 48719640 126888620 643873338 658472774 379057692 865659258 351909938 275196512 676523654 826179598 547650448 504442488 160521142 626738144 765123786 873362272 744863592 918261098 325332810 316884716 682193990 596007256 716509730 216923474 909468760 351464072 39069722 635058138 548532970 30184628 473771672 888332742 994066778 254007752 51416292 416414188 243754434 385206302 253819748 727176234 53775256 243413398 220731914 460392710 189847778 293483046 604839226 239298220 317282408 862828432 465619616 732351508 433748256 855910940 493194298 161919392 311062128 870706796 491796268 278572398 502057788 731114310 406359420 411955164 593490482 645889062 774744322 807319150 811825400 538494582 707210226 67504756 712375374 654909880 788384216 996827454 684130496 118631030 467776644 866437192 436464040 167309568 237851826 909528696 229210374 968079962 368298144 503076066 557892002 249493888 400607518 427449390 108194752 589551376 745255534 205128388 867654290 136566954 551365360 453795220 327668868 98939342 871562552 240785916 21242062 798496534 718955778 824236656 528603128 388824248 789881908 977259180 449551450 826018866 569501724 523747430 103959266 707821490 624174098 937584006 830586844 954714992 348057562 979153822 90165192 950936052 934015788 906641544 90059614 217112314 157328838 368098470 970460820 919579998 227363368 454329480 350793134 52026400 847796692 788165406 663834852 679420010 834237764 703181906 805003884 246340424 890456340 896874662 1327742 776784758 187562878 271244980 1448148 886217150 653015610 176901434 798095418 666568206 158556072 981882464 915173500 459504080 191991630 724346348 451447108 328053414 720150642 426216354 441948386 538274578 378782550 976402526 491224900 573428478 165626748 976429288 278034592 583758434 296200360 336729538 414783672 501865412 356041664 173912534 298508850 553384716 454300550 303438178 74237650 673376896 768044354 96454926 293788810 104722240 325405656 168379616 766539756 696799886 134891116 183534158 882202924 13463116 887483670 736661848 978722368 66986324 868822830 317193430 819194778 817980888 166797374 868865908 869764408 75405354 618438604 343039324 929243552 409117356 182493742 730505286 981918242 683438998 323084362 246045920 982642218 732285490 784996810 692993828 186110644 417230524 784092464 738071712 448148176 182695832 329241542 689085542 700029860 665596750 18695692 876797124 516852092 699656340 143650958 119471088 789501508 585260362 480154548 588186968 902744356 647597644 706735012 992014730 839887322 603537390 429037628 255126512 273352548 346271518 879017040 561581634 604075030 132530534 699946822 483135802 9174504 658468000 367219452 623613662 106816570 160082120 313026406 691800832 515759376 210623270 739839346 795200406 354157478 283575104 891076042 154784750 984594358 400080226 758573196 291541928 398867336 38257728 176708680 924382982 506497442 728890542 485587970 716419292 95868038 77533692 326901620 38374352 438175016 962814982 632426904 348088168 401428656 645973360 307956884 834955636 655235678 242938218 917551652 140540638 976242942 892915220 371078028 709766314 841246998 233988454 855118572 358681004 697814206 882863246 188299372 393322812 563802900 673611768 473134364 715684946 916436318 85788134 501170796 655239746 960170612 301494032 84533330 69860584 624774458 152940386 671409282 741388964 519058034 815510552 457485844 51353506 153200788 162702022 306613824 610542764 466616366 805221178 218142774 954172800 159469828 653074934 75657958 976513586 634167928 191630772 114671114 154579630 64767156 39315240 805319014 289643498 620185322 454154552 607785168 711424918 51078650 907212158 219008382 414343174 428922246 69094698 235520046 317512874 951469888 376965584 168225156 664901840 433663082 412035004 827044234 320653402 159547476 34171984 69615426 813264722 493221780 484130656 488578852 848011628 172579644 101412936 668668568 788505398 35384126 94680164 792625504 348904882 174800322 230789720 932846174 582816510 25295758 993957386 894969384 554214322 284604580 261287378 392608092 662940260 685181686 463023202 734637520 78189686 420371318 293861988 833514342 684208526 43611102 986444122 993858036 181732702 421455666 438291138 704319706 166123160 342998490 240624464 959240426 560449894 449655670 733881440 629019232 615454102 791255568 999292134 333795630 398744046 136473096 534911648 749323180 80083334 730600912 844576132 931602986 722990114 178643006 759302654 570501426 654429304 794084224 971929610 840817968 869487126 565532006 627285624 940880556 170117850 204996096 628338704 932626048 676206498 639733166 812697238 22261586 121017384 515123326 116791210 435837552 292588322 885245326 210189530 481632710 62857022 530872382 511849808 475854268 448767576 110042258 416393824 984162526 859375322 818490274 892168874 794162330 626351416 587766038 707562788 616005088 174219330 874224172 350923340 215334976 995391348 459643074 655462006 349707752 176145222 676114396 995595418 727149270 482863270 313958996 278107432 247675534 471988154 228325898 937222378 543409776 487332744 362992538 638747148 624657950 832023802 675597968 83861738 133301066 458938422 586532950 77301018 469190520 344886838 771449948 647879752 381053082 798929906 640650864 808100652 146355930 767705916 928724748 741669004 707905730 923226050 311809712 130720790 662723144 299993686 818925864 863568038 783497710 563665874 630367794 984411220 996463594 207796830 872845350 898485342 923719110 474831920 679651504 656373830 601112160 757737986 533940088 705367130 538609640 674319878 818586774 48928520 618393058 358544982 789144956 483026186 269898316 974539710 136665128 213919378 426776336 343801938 967310560 169331512 117479574 563485538 253242926 699103742 154360276 236054216 38106566 315087602 753644704 255880730 991948364 482766340 799767822 748497208 607971090 450312854 13213786 122663184 543099652 447491830 771843832 53188714 393617574 996473758 471268792 69035598 96697158 83570014 680399438 569650200 824060754 420180932 330703968 650333776 441800622 712463706 997596698 991270048 403099426 561007914 334487450 865066422 383873292 237361530 548428840 779570752 474913236 793497838 624042804 174793054 224540050 11426638 496726070 249359900 39838962 307694684 791699572 957138476 381078938 476993838 384264956 213335254 796964628 91456078 689196212 308353192 767395428 176140582 37101440 211500928 762519904 349462246 487360638 599193708 109994150 748349370 922061244 18826602 849145514 202117310 14386734 288059634 954698272 576170588 434250500 257521138 640947774 283133648 17032098 478835470 533172668 566542118 359607652 919373456 234285476 571567024 264364958 608572214 225343172 385873808 915383422 299024180 540831702 399880680 772094464 770020620 249525084 83611974 742382916 912227894 961019152 302875328 933695314 605083348 563571896 585822780 975792146 355903294 637405742 468923386 542419346 317345748 171342160 382165388 761870476 696239076 612644630 597074664 647981022 771048060 284156556 825842608 783336358 972384264 744848116 736559980 432077972 671675162 37846182 305570666 121098964 771843388 278910264 298522108 304763340 475332132 128327632 26629874 932657012 750129430 619530926 457032752 682479534 610278102 390061918 498900402 81572226 779459898 944224698 607181222 770623372 924891370 801228438 818868928 30677550 900739930 436128346 202448536 606654254 440687596 262174594 865846056 198340852 883045918 217718688 577501154 323543694 503336470 572041202 251620288 951671468 327478352 116972776 103589302 494398442 696748018 39995178 474909210 41394828 474877182 598361436 764286728 493668294 98038420 820119460 356041010 579662300 915176132 751450198 955232018 139867530 686004386 178560164 520316506 78403292 901913106 869567218 696575424 978078474 432369770 448723674 986753010 985421880 314233608 795710064 965012156 583332484 941167536 444483160 532413490 184620922 736759492 934484484 788529728 603145948 639289128 714072796 189744786 928808926 443524118 651854814 180645382 543004324 11033862 953424850 87975276 791826928 638128374 677443424 424385626 332639914 10429474 458971308 495048442 523516124 115131020 751692650 420139346 289708132 267730042 2410548 568104342 149523454 453891112 693986034 535515290 763832664 87767532 358510144 452749122 801892948 355382290 618237952 400042746 605907450 338707332 146647198 628948226 415463110 162627990 275199336 500432816 390929994 314651936 256743696 499647184 861202184 922745420 227789208 601610040 51796516 554476886 106315756 634549576 299483646 670312130 49779552 594106922 611396720 301018226 344531268 191971720 297368598 969307028 249100662 747162796 173095354 672951426 203157980 942485712 223072360 189083278 31964220 858776644 384680034 185476354 390548924 185635552 82869624 938428434 514927482 840779340 37935270 237766974 753902982 419642408 957794166 332112406 605666936 907928926 610295376 80894692 445351550 277317998 506109954 711411720 631843096 725350486 169600130 493734022 210579122 249146950 643083804 749730472 699440558 860244810 360201900 945655102 515828448 476290172 519183970 845600322 497819388 46116890 678231830 254597614 696619402 232759380 92562700 689821634 595097366 574779340 369564202 317125674 277359394 198406236 399967184 113910998 216579654 43587936 541486180 358325196 136193474 952335082 389535824 313893672 477776640 637026982 717425538 211719982 112498694 889891326 473868354 804950248 766639584 959605874 754812914 59504196 590504120 144128466 685516050 720905840 336468136 36315090 533477204 376454722 46806156 453456640 531087666 61289684 794931284 382362702 707223532 226358348 558102530 596546044 174169362 985274538 351670320 175684144 252383876 476897682 471598414 987190184 922358538 90033470 719922114 259077164 913869986 935266048 813602078 556462942 232575834 731684500 616211368 318199432 448428004 292074856 678392446 826650618 849903506 611342520 354182796 271379062 686722290 528036134 753580050 865652400 313230852 945356654 375697238 41138808 522933748 494946754 241607656 15589852 477427300 896049758 875766036 285741184 80790142 706947244 584049958 721631810 156436916 268794546 328422738 434513364 511617608 556280894 811812084 386612304 630190178 442964126 448576662 991521160 353178898 432312010 640184160 624826170 189711522 503589068 225140828 29961114 641386792 201059702 469880712 441796596 986872354 611243510 33705596 532741692 842388562 340262148 917772862 983224344 300590494 859296308 495845048 724682258 200038732 803643474 384178130 243818008 791804646 657530874 470088328 99378478 796765412 728674324 574941268 411978092 691021624 60740470 886927276 567383688 298055820 231210904 657903636 436373456 944647096 847231754 730928046 793493578 862310150 703578470 283770722 971017010 670971864 301533812 837418196 720644310 388494452 184365472 146516644 275107230 49387594 51280296 807087738 684488740 76497006 742142052 830607172 896298450 33332872 805896914 30857054 713773562 885048982 709641720 219345208 934674652 171638546 614209016 13736270 168092480 477988232 797897804 842651306 165741520 407939724 639895544 655261830 546938614 283897292 328292348 112191802 935877726 835776666 697237318 917681540 139529506 314096168 531012982 668821496 492685986 424990194 135749686 33797102 734963620 600812222 182732458 796179718 926060052 66586708 798291704 503359048 485623106 35050114 411652174 939611296 679027692 870098492 462227360 419789196 715794858 28853602 887397266 207400578 736836468 876244018 770577282 685807712 619182086 994114444 281909628 640958216 824747384 344693894 819121914 381581484 393706324 911910072 925853354 262898218 227753842 817823614 992454464 943770128 525295102 947032832 343547998 158641416 94819936 661063234 471080484 779679450 518574836 657714446 992946854 162426322 255721762 975814690 663023292 308155928 764454826 397877236 474764352 378392288 654606340 58389204 933528366 144949360 620972258 835072626 193200634 268368806 6619848 237574678 877679314 951534402 340462148 654580356 832209066 782744434 367537898 311863146 557480834 988874090 649639488 204326666 962385600 988816832 912141212 591723378 330252992 851883208 1335662 754405422 245102216 959147050 416471772 225933830 398087062 532739672 658203746 901049062 645543190 192085626 804968200 262867416 128064700 853380594 806149264 641384990 120611122 916031148 674233472 417590912 775689830 302768890 810422698 320681068 322590474 607678694 231825774 368200916 296995438 735927560 234446278 132387816 814079284 667491728 549959682 190156020 877315988 321960846 579413302 342553320 939555292 758107920 647806608 309782628 757117614 672796246 655996166 371632776 289237608 237879922 34593024 411813528 436631544 249186876 107560826 621412280 588834080 574615404 691452502 778915834 622363698 229750094 777309668 490719608 407937034 764101632 539922006 976023624 730662740 494075494 109139762 283855146 699629572 947534670 560292396 35228414 413270198 601309350 229311622 555798904 926210758 997855114 823013792 520987732 100217388 169582458 21163592 793508398 424134158 245264672 412621830 708213074 363563320 429898018 17429126 182161246 499524858 265313492 563638604 345047334 343930496 452437812 635608206 764326474 486606020 399811370 808400784 213235108 605276164 546442774 178947484 688768272 843739568 188578588 730780688 826530516 804868146 728857134 721363604 642723826 806530318 568127384 151692526 534290066 317581364 149154340 171145250 909191628 315324382 92681932 756383638 656260904 48138546 24869362 640372502 682366372 815453264 382084232 14958102 961580300 263364544 232516952 545328424 59494998 316433696 292888062 922862904 315429810 899627300 230826128 313235658 181537120 69631812 61589108 670971504 526107556 13178044 16090488 365332940 103167324 695481740 856693468 56050664 466784662 253515166 483663344 229331064 29485758 883060862 133627396 867838950 60912240 260629166 744145636 486077760 530059668 225380698 49007944 828868056 150759364 484221378 494325126 195026634 593983822 611866622 948923608 220194192 380405416 347463220 611976072 528353278 923950106 594279272 565588486 449061154 15503408 589907750 962684432 606143752 246662420 173490502 444789586 343205966 190605360 958712464 585358208 994767398 782077660 421543550 822499312 624720224 619270824 850765722 905133732 951982942 420393512 739596132 527815870 168579616 971799302 402477464 578978082 695394084 72977322 924697878 143438078 860857900 661324590 12200536 893991060 688431614 868220398 229542614 431144546 242484316 892019964 145812984 865721700 753533330 407532564 360899342 581969080 891707110 699995636 290115908 119349554 813453580 166942840 562786046 746100108 931233194 216771822 691360998 134372964 739210422 962018112 317660038 571367158 165064758 478834588 559234478 589334536 432577610 36302436 659426406 270555120 716366372 646824280 521301686 368109666 281548792 229357202 410957222 69398964 616013946 207176250 461494750 224612124 868921066 882894094 473923958 998912056 312032132 150160622 994592612 29545716 65872700 701654340 76476590 488721342 861347732 981538664 261791898 497182852 918965278 188523662 467591978 36297216 255625958 868829284 657575208 677944640 24388550 986660328 724739834 352413278 531806562 486045592 217917620 410713926 393781486 366635468 853080538 46601556 256711588 309099368 740159522 996311120 288627606 519890836 174932488 981104222 757599380 662731644 473887072 564764162 297383178 528669732 723413702 980284146 236874800 440338418 949523196 742028470 675818674 353032732 718523916 983867380 491244238 612637852 585995844 716300264 595752574 339406822 301161000 384255538 638578544 660305720 705795356 905439916 980525790 112739444 665573322 46033312 937553534 339341588 833442516 128799546 32474936 578255630 190693304 767609422 238258194 813866830 686265964 96657926 861554086 974375798 937175164 817074718 987702750 298012320 983863528 765277174 447498340 438707690 338413660 878774304 568769514 148421620 596583124 484856570 957875240 86675044 4766444 709462702 153216054 326509410 926836848 665860058 294066104 193384072 68421988 588548442 861275924 13342090 840410450 483334592 22407778 215331064 774919490 891424740 367669798 443343942 536289702 807452840 261814500 258022116 512597806 237267666 622698918 189390102 76262534 844456494 348833062 326783472 467540080 252596276 312429370 97396660 868090812 860604034 358637662 905765976 664057860 410665164 656070384 306100196 170457004 890458652 795189496 147052566 676570558 688344456 889117048 511092130 994518118 342967132 335737312 37951718 248786330 843658264 891545446 328096062 55079310 961742964 981971416 571124502 529524050 694701398 491906952 334775488 658462314 985655166 214379136 226654614 821001872 419883132 654077790 48062838 738178770 507025420 641813036 391925606 312140786 38668164 819323228 380856232 84142476 720104562 878914842 598150076 922676552 490036966 20184662 36695912 225843138 616980464 397989740 622856316 406872482 644713776 86811224 584283812 434511640 520187976 366174864 82551308 264899856 316366476 519053826 101691472 39603642 261662450 986622778 247433986 788809398 714491656 2184710 998702750 427310912 178435788 163976430 151445448 745249890 794554218 942711260 773677142 362517518 913688622 209705522 955267584 324132178 808438390 304422154 429004928 841072442 211747864 252141326 950010898 61787584 389299892 173826152 689811142 605483666 50880520 106366278 535337410 391622286 384504232 425077510 452476478 837909580 451089214 744657598 533862152 684788616 875895876 8233556 825962334 345245210 389206126 218879082 658848744 166143726 969425866 407816462 263034434 386523498 817826216 443208884 333027836 50160740 115628518 881335238 844233684 615005082 782277432 269885480 951276248 150739850 186185046 560430380 928174488 504632430 970197834 35892758 898431542 270539462 406977470 975167068 170535620 761796942 140589190 451906906 708337444 561581982 603379942 191972338 549733806 109701242 430639700 807711124 275143944 612406170 945084256 994376548 842963538 515915568 585225118 792488616 85171594 678332086 685593778 899823724 660173654 110754204 923010576 959569382 4186930 343507732 576495758 145675582 502968512 533272014 748753640 947577068 866015478 50035148 771755886 630961414 53324960 772866176 569797236 794056638 220418718 444858484 675282112 786203394 231191666 475928946 578008958 965103090 803593070 496983712 894489412 814928550 457881430 295942600 617550504 108002714 4075824 285656218 982995572 686940094 873308866 410391968 132496836 5394874 915991166 597946372 913672506 80082968 943755818 570295820 877558258 987819862 128847676 324772658 743591090 731230212 506261434 239601222 176804092 380523924 432464252 832814894 144936908 510901312 881700866 319513646 122108160 179151610 524000484 946109878 89576792 269766560 313187882 509287810 989911646 916458706 301859136 245743026 489072588 15063246 936287532 626203920 145660348 285112370 563070160 193666830 69175478 881795692 748254980 90767772 211812662 818792300 387190516 834001962 139189058 801554918 133878492 823008762 534120576 172856312 623462830 453736756 523567906 758239860 116429278 790229806 376343918 639414946 641819036 53501530 159532444 51955738 442228342 749201696 664257476 773971196 773118578 532377328 17890404 834995898 4778124 132860766 872043022 722644118 515575828 282902070 254016390 505582048 243115900 118241772 475236376 780186000 622657004 777061588 867125676 353082162 856563856 503458864 729188446 154031506 752554954 279037710 437391032 960894956 276703602 585948562 908667062 673075294 405823886 364915438 303880572 484655782 824767530 696268760 330385518 139768114 697281498 612952878 160865796 316411394 997098012 208647290 55241952 623450898 47644364 736373802 480462490 813777986 24812412 795093888 118871070 540665508 249538116 189570722 121185368 192257364 649178282 307722510 313843520 759294122 964773190 263043448 59588386 165666810 237668908 397104518 383438880 818858114 870778866 692875984 584030160 3091830 263199548 790252000 566653614 217920558 89061030 351008834 347815566 349984598 523462556 311080582 12779360 239735542 746316852 209144272 164235292 76836972 300950220 976703134 112419372 27661740 936333242 666095508 491686588 397311902 412327766 917679014 892258122 338293012 1193068 196762428 826705698 784315336 363841734 704840238 560622176 398257790 694399032 37877944 367619274 815081924 196645120 912399284 144754474 32316180 200777376 901513202 425459032 100058296 15622422 237000674 946873486 972403174 876493624 330476116 931428534 891508196 101018608 483981212 314974418 761454508 892529452 993680644 382055430 650196868 186660462 149369622 670754144 731982726 677715960 134160108 259541820 808121270 792749888 785858356 467537650 692111746 969421562 367418728 7580832 970245002 583279726 700596862 893994004 895816672 280754366 794493140 762457402 831280972 473746262 450812926 625499224 539669570 111743046 504386010 680816124 898602612 165267522 328663712 816193870 121317312 391110166 7969956 306987280 115135294 549987612 382945582 862050664 740313314 748020982 196805896 628550228 629873622 150749724 594599642 226246686 489481026 282655530 152153794 197185942 280425236 195984024 998724242 32565988 493919596 680069252 297279214 851561882 783321276 167869164 287525316 400653126 558823918 663207784 679922806 386538000 383457440 834508274 973450002 272076258 900139376 994279696 705887454 196498480 185653344 319780336 767787736 747430078 7626868 786624076 991808424 456553646 944123792 793936066 59228984 918092114 454823638 617697034 286998370 731270310 134066314 497685174 903509742 945216456 821257176 209772654 146434894 499918296 710138082 605067410 924393928 540716150 601838822 309222792 830387788 20946460 468033968 350194594 10889994 98110174 510357394 890438984 211626860 706617906 866268518 804354332 675847428 488329842 139234996 501682656 466472282 362626878 226196810 990011802 352747060 923173684 821689808 611779740 222838004 718252866 605433638 220273072 707494490 73354652 917281794 838107374 972199246 267449326 570878158 841450212 313567914 795282526 247557976 460906568 795936884 459860766 209736264 903052164 920675228 791130310 559715062 130934598 120982480 601078304 654761648 984065692 350475402 743917120 376027154 148924964 849115820 29410652 932314582 707912986 108110858 591026654 674555124 456471964 552545460 672971112 452649754 558492040 897035316 719456882 665368086 716536970 757878136 507321412 486181230 239049072 773281972 516294542 206082764 630287570 621283962 912317882 555312256 437610686 511750658 210471748 497669500 100486058 375847026 622343842 236245616 243132210 317889780 174871484 320474426 741324248 814863344 342703952 215220762 258323828 668473964 20902318 603669094 833888600 185523184 530441278 584654878 619963926 135569306 225469802 873600340 569327164 949443414 486183464 122666982 495288982 72029976 73669202 949300358 85093034 207928270 868432660 190954312 80357588 889670870 521573614 453891508 7990376 152228908 136373328 544848280 140652320 990693984 240440812 129239576 973073090 925760096 232723580 599979468 778268888 101077064 606340304 434728154 575402410 346947766 400433816 983017908 416826108 445314548 149597354 636421944 282686950 123280348 522150396 24990486 138681926 33847122 880609992 707864292 443608040 366172924 561836506 587468710 115193522 568366698 261560702 715679230 393038270 110463710 100778536 185665456 806536622 730998624 376132162 267985600 327366814 627910114 265023756 666826946 125704238 501904658 202843620 218116978 774561096 732243302 491869856 767967786 311090780 768609328 752519222 695394324 185656164 757357970 16375598 970962730 603408658 246260180 168250996 427656062 902608434 959179924 11845172 108314508 415047650 321122358 452130110 279559934 791288594 202386652 881713828 537520230 542973888 352279978 489479864 579486278 442532330 364465406 148318876 990409256 214245910 850015566 12570720 69101216 220793150 581827200 553118402 99161456 20536684 287973598 600627606 4051082 240820530 701986404 172341048 159802392 540354168 987237228 631538902 657048594 479828866 42678632 109895038 937992780 732414470 631407226 508398742 105007872 199681770 727825314 948280612 532717008 934258658 509805522 652808232 230211354 22652052 584509830 146761200 180664036 158618278 670006098 261675810 961209442 650954070 281209760 269450398 354308268 227679038 363891430 292961126 513765698 229340290 478817828 547950314 356051712 262921142 673028026 423986848 609002220 933300468 431123964 802022582 481766568 967083164 760678320 679981482 684225414 748765854 398590354 233668122 873935676 534527436 748220784 634979604 270478406 712613092 178090990 490669908 94539494 434818748 569194268 994678580 85312838 608445356 542170826 572395860 360382538 119010522 581334268 100348896 288839326 22705862 634360158 778576962 314400612 148617602 754710590 622934856 877084630 628508616 109683148 868293454 989149872 73760386 611471072 116255812 941508646 694206472 305112418 223651080 272565668 114069470 278783164 884866436 534096938 905673368 782676262 674974112 759439774 442603822 837073152 690474102 499964444 343838850 297451946 352273938 242408312 445897286 470124532 847157052 772387898 936377194 854728726 526240272 52290360 157702252 958602994 698320358 208730782 122070636 755812520 694255784 670698270 397620252 905351780 885350574 753399558 108315494 2856690 411881696 4358222 895278340 746524880 109100924 432456770 661996652 325761578 114574620 219924186 422344928 907400630 516009506 53849104 4724030 598800658 241024884 895014962 237431178 715040806 916200550 362416718 84403684 170923646 868019630 711232836 719065496 907271848 211122220 360410540 861486592 901739196 179502942 34557338 24842234 424910020 361018152 800871168 835956946 242258250 564670694 409303146 226396834 539296956 859407728 351422366 416494506 302184620 762415246 585048614 475378272 866014950 781955376 147788478 81224428 503656752 476521124 787343800 391299666 744477740 251820344 118807064 769183774 210286096 233622628 173807958 145441846 918391824 454664152 235231138 769976214 576657656 97381820 620336532 150854442 129659548 310460304 639098500 770199686 499752194 362032138 538090962 648301408 706856600 6436176 949265370 922699776 854878054 120466046 839510062 456153204 117103500 481653870 133408316 66272498 473504378 564032656 162258496 710689116 913513086 774202298 653396430 889790436 285052834 480469078 10782006 540514474 365675624 10899008 623335608 905416738 691683514 360072576 349336236 91804050 786110062 670563772 821187794 660099842 1644982 107540810 293908332 957334416 30667894 463289772 856136552 877864728 435730418 764544684 379477030 276858932 95947244 850785920 263742424 605645942 106290622 372909512 867754106 333956586 459322294 158256148 787669706 301470618 111356834 141449320 499774120 237018000 890190170 171024674 899895904 416234490 390500226 358063764 634380030 566421830 642209938 60634140 500127396 7428886 634223640 887938964 176658474 602045996 248248824 670888362 84049944 266256338 900606450 528239060 569119454 229944826 60413626 877585714 340410816 13764796 528501252 842725662 722858620 392816892 688407666 707220318 952309254 553157226 126129320 212169422 551362976 208991896 192056970 190772320 611238270 490109548 536691156 901452924 838801370 830911814 773003846 649188940 515045344 768939490 931244156 690129416 691862670 198546198 599278042 766073836 289922706 311305692 218707322 234254018 756677242 997517152 544310010 244527166 447924872 866798840 554860024 978086016 84135050 734385692 946155420 773206786 148901472 231637302 408851960 839817012 125359444 409513676 307852176 816591250 402772710 125260884 547359272 891926224 622389698 886374854 528874698 656969466 539425126 286058036 696594968 938071796 520010094 482087560 805426968 571522710 513003642 184394538 801574136 289667938 175352602 138323856 351482452 427011678 963531288 371038698 381976754 333405988 857210028 226277288 933257764 681130750 223820338 946086982 33821644 25834508 94616980 55631902 807711218 811592944 225232812 776035012 380371266 985158574 15793144 912257758 700379346 861826754 581762450 208025698 846362294 325603940 278145140 818149222 702312262 937926520 155535518 498198688 482757486 410182886 207451608 581611384 783072362 641730584 509796068 860706374 673515008 659728768 688880322 9007442 464206048 753251498 434255366 228695570 502502884 152133720 360071168 373771588 917794284 158956698 348195882 349379746 965240532 121081296 406487034 16991370 547575688 702978850 732862530 595764674 665406208 39320244 560248792 480174420 962552112 162979302 808910216 896186650 730556598 128382200 518640244 342006562 696021984 568548276 49080868 461729214 932391284 180526908 34458908 708596884 161239426 161812364 230846526 153996014 30448646 526128718 608291296 612064300 747534058 79360148 353596994 901429152 914187306 531725246 325767588 436089880 448674896 451845918 518151600 539121790 607281936 780000018 416104644 197212694 429969884 735329170 687025356 864439970 720754108 326108044 373121682 266469874 798706960 615429994 111994374 476106192 240336432 21447192 827265484 51986396 76477950 245666454 987965590 233417978 218636788 474068500 44686484 376899386 437880166 255155326 680471170 790691576 800983254 479878760 842577706 84504426 184593404 774499780 233440248 156166470 494671106 646632562 988553134 838538062 16128976 370437596 999860248 207833030 310361596 492425024 308114648 537579604 855959668 631770382 461405670 445072286 63824160 495600224 827923344 788858608 95092232 617883358 797300196 708459180 933716724 815259228 106845646 398278094 314108604 626226466 877541024 232386124 648779700 750114456 19713106 172155848 613383688 203532166 995626668 585353788 196423362 705472024 745472982 463940022 430314450 490892040 945348336 976074292 875194582 873109708 171976804 432374570 41742884 199998058 250525540 301219184 895462702 837828536 446748244 772813622 7083576 703172124 73343922 723608172 924648778 718958446 217724784 989711402 469587000 975808178 126863914 874324624 421371320 792280920 592911504 287366952 898766092 776487400 55364670 237044426 467150368 870112222 82689066 162420160 530329988 633335944 825838138 386759272 62448752 860872370 89447188 165585948 946996048 490340798 441493692 992771900 957254058 939229050 779488534 418238284 861142490 532136940 498878774 680502690 842697324 335753978 911104806 335818482 456947232 63317142 159714900 423726344 400031234 284928906 465051968 201142970 338046856 137114224 48940360 258876782 381336364 991238692 850853462 117945616 510440080 556633074 826979490 529740402 501166044 237415058 400615980 52016672 49438672 828825948 393193812 183424736 253014838 374214238 413879494 483136840 747514736 711410760 889924720 726173528 602012424 254724690 799953420 901400240 908577764 753911360 77279484 296796380 516975246 525071186 267974440 349462726 226062636 196371080 77973000 931134916 968378812 628702532 319582152 610016440 164987848 34619266 373027820 477698326 555451540 544211698 309828314 178418140 519728044 708233302 650955486 265923946 684404572 619260294 838352348 89352500 96527222 945521448 130940298 524980112 647420336 304362396 792734532 632929360 174391300 119372 842679004 724551818 443959658 506430928 633618826 297169368 946417418 700037266 351105964 887676518 533257354 282167658 598212610 302471642 265046340 451159232 881926492 340043658 581115704 657039326 398920822 396181306 475708728 451632470 160151088 944386640 581016978 889043620 878453986 642745468 41164134 335998552 633155326 521713562 232524440 605092354 285987098 571112674 80542448 981366656 366070908 370400500 674105184 348671138 263762286 574491840 821921264 442533022 31136196 927756 484554838 681621138 248640828 635539928 81750840 469062650 563835904 918380742 55584632 906985438 837776868 759936496 549920436 310913714 543261278 656263840 468280486 606405684 298780690 459686886 943721644 853774570 402532922 718295874 435532268 444647264 809327032 393047774 439023396 771962056 417459616 835492968 647399298 196479898 753340254 694536582 141191838 874635810 635570954 695186248 967480418 219534978 843965854 361273764 61490890 618159108 316936248 701115622 475080120 199095016 150022152 126058374 681064656 767115766 978965202 534486036 198469966 715995850 431018450 551853404 759431218 907572456 734236688 757610886 169298226 63688166 530458196 913549804 965379856 257311582 400354662 460538294 701451948 547580914 446655684 233884566 844282974 119250308 351129948 974339340 356805722 996156018 693179948 363721718 802775862 607098762 577346430 56092182 686073138 582392074 930257564 194829270 517566550 939459262 160523696 212835880 741760314 483365398 726466524 202949206 971372702 507351804 530186922 728229294 186384258 540895500 250360490 998373454 667218502 954488110 610735428 791457744 942899194 526743566 91436212 216407868 651675248 344540410 408560620 930019612 36051680 285699394 112560504 111066938 297646012 533247580 270588322 146248884 70660240 142703700 237818000 852634076 898083938 85199528 445892360 68463734 769218948 640948342 446281116 415641880 52455152 811504516 17155036 990991912 448731840 800252250 846504310 826272330 183870088 838414614 688651642 968366914 135825916 21629096 320189720 954943854 818186348 664604214 535568658 60079184 22545206 177852422 569655884 925402562 421575976 167816946 66206330 204462584 316569432 990037046 203152772 136984844 502032938 68589702 242921648 258834868 759120452 868480778 239741178 444210876 857081724 873420508 924172904 7302284 227913186 148072612 19455482 278128564 898900280 81737376 239520864 295418320 619512092 175837776 117829542 392881690 836057146 334182412 12659244 879006922 264050616 993920036 258025876 835499962 923912380 771390386 659530148 478970980 84238528 999304946 430949690 387348202 5710532 765598052 468694250 61797564 288857578 154455738 888444664 216640512 788976166 72671368 345275266 929630510 446379308 307670084 597880812 316264242 24454600 744391432 619527862 803936212 141335514 338153722 748432152 618197510 455108166 427822854 276486914 50713004 490892436 63431476 276793298 288780328 516530390 163147436 964175084 927827210 783816614 802180116 219994364 672055370 886213792 980437950 853312480 332037066 937411512 119725056 522398752 668952598 529818904 538077946 987425556 467718390 774872960 917016360 322531346 806901534 85160428 848676434 211185040 338294646 80476390 616063634 784878204 723899984 6320556 81767908 520168984 519336240 872174394 701475938 708655786 14034772 854765702 264292596 663160852 313858716 94683720 467323972 228587204 869897498 751634464 938758666 118337200 898526308 86914730 599991216 168710418 672563414 525136716 177181360 582085548 582500872 26509254 195793212 383913760 944377104 912084188 133106440 547698310 399870458 806848484 471501272 512077240 261260884 565822598 275771118 500455394 598132108 921912168 314761548 134069918 523151840 635733890 534036568 721449372 133821200 33180042 616624108 237708648 867165086 991314642 650710126 419327112 203154318 895507754 557560198 976375816 765933434 666315510 323347794 890496556 385181542 828710826 746918000 903967114 387276736 851157570 773745668 15084002 734997314 741399608 96515386 828161054 905341156 995692018 436824790 900584948 475074502 397424030 301254772 570303842 356049622 657565856 902221918 836065682 254811904 41897034 976003396 792049126 372307830 765466540 470178960 566291706 936668444 635879432 279017624 138043768 303987678 411048420 810365790 486696798 141891086 261575114 471405524 288083888 20597572 680696516 572102740 865932000 862666094 29283228 716717152 475663078 829582680 509023474 678189628 803573284 365054166 191843082 868827682 405833664 31808220 975883364 415903268 595773628 169589212 924953460 374114386 298431604 369122732 113982178 458746696 927311010 290710910 617874896 488464776 540518062 825071014 855261510 625507718 978852112 687777672 687390218 125100248 444504888 181643364 84219700 764835904 789522608 389708926 840528000 312786884 882550682 636223686 590788664 861022840 785557834 562466474 7411066 396089892 554018514 924813632 796786946 935659114 177227860 296262504 137423266 599869586 162800088 683282022 208778580 529618072 744403164 930542172 393342960 626918330 369130372 272377520 819814712 309370760 771928534 353505310 794302066 443407480 544895024 605892246 807440626 197956424 580998632 723778622 690925058 777156964 4393296 81120646 117320048 140701774 656545560 289845696 312022592 938788744 442397856 397293796 974365102 778835866 467834054 41921968 246244284 936240680 15850886 915043202 7460540 717652468 972117976 52605782 984576972 1640610 636097028 149870544 633023608 456600212 763968880 763962608 994049974 770258280 567912038 438939480 352235170 507114692 595077144 641410880 402622888 992233666 726817092 810171140 965098642 803691674 372191086 395728420 743908148 101441816 58597312 926423668 630175334 740770340 991077108 846060048 220516244 150203764 41422598 677846210 614992872 797965090 836050310 289936594 606731822 1802570 974741696 961388998 462302794 994791398 573325132 120512592 570429196 473300356 27998280 953370334 9483298 386694342 437046608 266695318 40227604 876818432 571005596 361432880 619388216 322065460 652305626 492991914 380230790 950247994 474972840 597550528 608776418 705403566 225251812 417635054 576419974 888170574 327951116 891473330 493487928 368721500 269671260 521978746 527239470 143219796 276027850 391426734 378091630 705472498 74786958 58854896 233617962 541628862 16251688 188320144 252673012 539285212 949648186 69136812 825482682 633633306 960247438 866911120 837189032 785293776 20291610 161126888 362970196 142582964 783268394 847697070 845985506 507966980 277999570 631525078 815752064 367635820 401491348 694226042 212478418 511875552 219779058 187415998 424857710 800577136 203988054 876461434 823223180 48091254 348176318 604501580 86620074 59938018 483889240 313508382 679885932 820077600 159167742 787325076 967585000 362828924 397247654 829005340 219364438 756183542 91634918 443723676 321714776 896975120 970674862 70861624 574520254 196866976 408171138 30491690 270584890 6365214 418367476 907164746 419075788 953645292 686151562 890017580 167396538 403258198 460777706 412465680 581482746 512065096 758417428 270901680 750967886 623318060 852894710 529854636 155573506 219856376 979939594 482897208 306472286 784828248 428129560 681694398 612370050 730782570 540083960 153151982 545888616 84022800 403554716 729846426 996099216 131711352 853209702 404954120 17273716 207798214 955956312 766117176 194194968 235707686 231118824 657644060 169762178 30045920 994547632 264156816 799757556 64035866 632755180 731333816 925667812 227293148 3749666 943724760 475795722 991182992 939753698 658476296 127528710 128667950 693371318 895534192 185792290 733950498 931166654 998487942 575375364 55012320 169383832 116552846 474473750 865076582 791560940 975887506 26522464 832595696 584171534 556414414 114778018 266507078 398518360 891207812 908604720 654672766 887446162 313785366 703684294 696559408 690093898 652542892 999355666 564491706 577149444 234593080 519566040 940840294 913883066 200700864 325880028 625747824 291570696 24813356 227064166 800106478 319203462 219891246 748125792 99415524 676027754 995679840 163488892 711904438 862905892 823827074 149610888 167305812 761016422 45658808 8057568 21845696 914387948 512391308 215872450 676721822 457951830 922337618 883357016 625086966 115801320 676317782 655845220 577925004 727464986 867965168 284731020 17717522 527454010 125760126 273639962 786045818 546285254 510726600 917650568 327371448 194740894 157873754 786141218 234762854 396259250 442893266 435254754 669728990 503352546 252138642 887996614 248563636 805049648 314583226 336302326 727242498 203002366 349282482 313820906 988076556 815993918 748762334 548150438 148699170 601890426 150361974 530167834 943451620 894373194 768074794 264141340 975054354 509327620 469880340 5452206 934243972 338138572 328260510 209505622 861370260 969200896 709945916 129058224 279585618 694376382 622850836 304487644 348840060 823292328 288312830 875464152 669762012 163834258 619899146 990225104 938584356 809772540 100143128 733145704 507507586 537937498 238717972 885949950 197354312 854932508 668826810 411874138 66392878 379908852 877859572 154978418 914559436 841542900 534738088 95347580 745649896 381609408 478041732 903788934 814724902 907084396 399659394 33023912 790517746 665134768 506958136 934818606 180105094 647203006 652018146 427734986 29374064 193387510 229857580 198402340 515027786 847995522 795126458 261114944 347826244 343057956 33695196 969076236 729685352 455651470 636129656 493472586 808359266 647284728 79410496 245598868 103592468 220634812 501176434 102636064 168519598 995498006 931333690 245398542 219934930 479308168 453318224 188445448 48364104 652996708 738997528 311150242 536635814 653058576 194684718 911206362 342619970 418431652 793715184 971460314 372349530 580923578 74949414 855561320 737293048 771297374 731758642 161087336 83635902 432269940 659800720 397482160 935401170 383942716 168037068 382221248 99588938 976568606 827008768 101261390 660014204 510663750 262035086 354805480 96433032 203452834 569832950 999344268 902598566 974751634 990679910 616189140 79285946 423872832 559034358 603790932 715941318 257412412 154618946 603123122 28852082 608742682 581586646 523962196 365971514 8012468 699289124 183274246 983264052 476841578 5638732 857860358 908609148 714221544 511260552 723764904 164289866 18921794 504479150 976508826 440995958 603746970 430905598 54319920 489882936 403696670 954358160 937276620 178464812 584121784 315442122 469407588 167975326 748404516 889627564 365029746 803992638 875622470 413351806 800565258 57218428 189130670 268375390 588831186 927623488 745038032 962582878 558284196 966017680 549298242 445056930 955235472 186323054 417639612 618348210 21256050 873652572 172832816 941036456 708084742 380974326 817176950 58933174 199735472 385111294 488100230 985807714 60400638 303381420 625774958 735333428 351835590 837300012 623499102 858989566 194641474 516574242 744789944 759951180 134408952 90724078 461166262 602394596 241870382 473592418 859621022 899899364 640285278 921018066 247514282 930062050 533859308 999155914 99580430 315446434 901403498 775223318 579460392 151219052 239742108 87042164 888362222 328676830 970879030 833671072 773087576 987379484 595473658 84029290 712627454 150601966 280251608 14650816 176877320 209312556 123273966 774542294 814915864 823179162 647913830 376389874 377323734 184161200 410875850 666787218 823383942 646647944 479526232 83901016 207482502 56821292 281623844 29951072 835027982 91963742 237705632 386619976 361793650 422674578 31523378 62154732 983039814 514564254 61915588 410150122 553713784 404928508 431839408 214598792 952219696 481359156 986866218 471579358 969398084 616311036 256391150 134722104 393650472 962849038 512590666 473384940 519515106 846294866 868910648 495291146 460068318 689180286 353944214 647249786 982515256 924482572 497163400 446210496 71928144 381194852 734921214 478912876 561093850 996421534 584144132 800533004 742171384 605901984 138625902 109223086 870412942 798617470 565471440 57167058 584580270 60022154 886938758 878661238 875948118 24003298 552666304 848205760 913888880 242152464 844882698 46999006 334089544 750809326 293189980 141206882 378114600 734747940 436682478 78711000 49648438 837076646 494966244 713779640 375890922 395622450 56515692 914706254 604365368 973464886 484303222 975255270 722184884 600093648 374235014 830949818 604934448 952370182 557400254 92406500 203201742 178285770 138383406 247661060 264851164 955304970 643220688 185436052 525248514 11252506 999744104 973535612 592825400 30877334 394386404 338567090 654222782 177609950 636427244 399929146 139088402 968292772 286881510 434486310 560362986 385000384 180181090 243522226 283749430 954567818 963481236 535220794 223717694 824711458 648413600 784221642 288313478 68500378 274676 858285830 168428114 950242190 771435896 642281370 852453660 343313186 388618444 778879604 912242410 370290484 125763740 36982346 948623260 478621960 678787556 985864076 891203662 409061292 809643070 704228728 241564478 342855284 663678020 478985384 863855862 492774960 88907604 723030600 885498164 197620186 128021508 682221614 498411978 21355968 442579724 129559764 808661002 360104150 847388000 691248214 167854838 692019370 396736264 682778482 735959526 618634154 52327498 384332552 313271782 267034864 446237376 228553132 695794330 38538962 536926474 469475932 158331720 543315014 486728602 225737168 439328408 942474094 966626918 177414324 633716738 727813760 693827264 999395640 761241104 97535192 791446542 970841614 234816964 576472954 313626118 302219540 923036608 110096898 566666520 74735814 166792694 210949394 872243652 890126498 184885912 725394224 680934770 136500604 284076216 730507354 425545956 365579278 491090192 822245264 733659498 830959258 743338278 941009778 432067688 845959908 721876684 11980468 43201202 989863804 993741888 646294544 841681902 318071928 803207168 82797096 266872626 804777800 440126436 619227934 982191598 262005782 568570690 37808792 735150558 536430972 847824714 773404484 615968554 618656090 67326994 48463376 998380802 75147612 239322380 464853426 746447608 166270004 827936606 939307302 864082816 919447878 586701202 543010158 550476700 101572920 733151580 662790854 890080300 218188876 209119122 788465354 761747380 400373362 864166316 593308700 872429468 345981418 541955540 684309436 621566258 358013806 377035594 131932984 126920562 46146972 294081392 390020470 460158940 965023872 552465116 751214536 855321770 523131258 758214096 177030896 821094374 109673450 993493748 156421200 39319866 388783468 151075620 420117174 104159326 891220218 946648018 750978430 606240386 174070924 772159494 895393132 780095128 2743636 184429054 664353152 602232892 134643588 603241638 369124264 248764168 594537378 675150488 492069610 421999402 307526824 418234682 579320494 108550054 970037808 757072010 489367798 744015060 185795170 289063794 808966028 714387690 445731886 327486732 394132878 133425826 400322696 922870866 437868036 936071486 542736714 153530658 343957774 300142808 170058180 560785540 233926154 747061790 701752838 970270488 17683024 474296794 103165866 731193124 871145312 260954806 637944274 892675384 908520540 482518334 237657610 380803564 779462346 653673800 519342338 166496662 591958264 558025202 48285418 247896188 450095740 971589582 784561290 534223080 889042162 761340180 199019668 579070552 99284048 342530190 151266444 905784464 138698036 53851522 197605334 812399922 650306938 325418488 117087732 156958040 697093732 518964866 536182288 595080300 214271394 6921014 356771760 22098276 82003154 10391656 665613232 254646974 530077238 135382886 180586510 359736172 736628010 243782694 634723970 311933550 329360734 993023364 707283604 912566844 83954562 925122018 370110516 722985776 59765326 398175510 469958084 877279844 205569002 101218412 161496712 391695354 181223692 736362162 172439892 983477608 758502758 504724260 613905030 15574400 79161210 387219920 219871786 576108548 335386254 862782840 210818282 312696398 49273150 267974864 835750678 769629096 396118820 899469398 581933824 159753236 597312768 619003474 130358244 225200844 33754446 58590616 278723736 577275724 540764188 52947460 998070700 719520206 18775078 821436068 843771852 223332720 242104200 501228038 68774812 949921722 620658472 16525276 7770232 263822958 512719510 624121158 689169182 840590150 811665230 676375828 813564372 890851068 797977394 27901554 14749650 344244228 654026850 133787782 676497866 667952672 989812634 120811822 238314080 235762070 977574678 397449398 83709062 598993142 448212026 418935832 395752072 768038460 927983484 100618506 143792916 500923732 813155636 146524614 169592804 224243534 7305954 972187214 362505262 31101872 831064862 998149666 212072584 498307204 323608236 229538310 961077700 692639478 511095352 626095890 807520224 688668764 806936238 392891738 816784776 401046968 599159990 743004444 132862542 137838430 858526290 927059624 373584770 567294274 668040094 480028348 716008506 982381212 192897046 734445976 855933712 879095254 583980666 832121582 162982528 631825100 764687644 900750852 910534356 316867314 807413150 194337616 12336698 449590702 417473280 190983490 770276950 226120982 491916506 710873710 381564268 127691042 598211394 122821900 704497968 785882102 327443624 758794998 514439698 757305696 530892642 921635824 232514260 764886176 90143142 216095896 292790902 293954726 910204442 644916090 419009904 604382612 948406186 901829754 670918916 20009348 960527026 447169992 615713388 524533204 690599210 107205436 733483572 613351388 210781036 478834722 455983830 985047742 969980686 893041358 368417362 791209500 492502322 647529744 862849340 739981978 961803682 857749504 802387836 341656714 713241622 157516094 548046920 559694902 4348970 237077776 859432342 295019564 281633700 400493476 221760038 982296306 815397676 202672494 798909302 821945854 93023380 918847954 737572376 294175208 116169522 11661134 29978904 48437882 474578384 989509924 311836856 993223526 442751386 908205522 921786638 170925672 294227932 14927610 977691504 82919368 109533202 746158278 588434516 173622992 290766388 521306258 80290504 865450740 662773520 60997588 891759126 42273162 504579538 512519202 731961312 44843604 747715276 643847026 129112818 741128942 8667072 384863710 408480596 716182820 38566370 777031274 332661548 334104594 35312958 407787660 53364184 161232818 885524456 42139152 968089196 497912928 742777708 414942016 26219292 191529806 976527250 866055930 538415960 690833772 873971658 828403838 951445966 980961650 306346026 990490836 50917808 637898194 884740436 755067628 260779722 793014636 957638000 979821526 726845022 135312102 47721254 536821082 537143890 385075702 495898464 312249152 259756764 759562962 61481428 519485192 654924746 821944802 216906528 81807848 708270562 269890984 19311662 367848190 282165542 769531750 727911916 108170252 303687992 927465310 33272190 353829122 935131640 801949012 214645062 959749098 79665408 857349310 665452308 341747466 953309824 295631536 668078944 461298986 869985710 376998490 89425988 308113208 243703320 727551412 207173330 171902984 136720088 413842482 121072080 16852726 273296120 397206326 693169150 996221064 790667482 755170148 835391402 90897632 374442286 82445228 933969066 713598486 458298218 96261792 958502958 978104762 170496744 756016726 945507014 732923236 204669950 857819028 326500184 684007022 609927014 15237960 794921754 121716028 254945774 818706292 144415824 620205566 828111076 891590222 692548250 607407370 759423642 514228786 369155450 531400384 7544210 229839682 970446348 244931468 214107748 878362008 2923794 667051924 571826252 342534346 163318754 73967084 628183272 828209684 72208206 730947560 515225726 186939170 492092580 541535114 313384420 200630444 603522652 740392452 18700 649906224 217964518 44878194 913390280 566577420 585702788 489436084 248594884 298594766 583260350 352426066 25653186 549868860 3634030 257376486 439629004 849864870 235663586 580901626 749353840 594688334 286972982 123696194 424771552 422901812 103527986 87630448 842467172 80950676 407360290 646254318 150567540 278515228 491693616 592495534 510441004 746760690 318777110 588770154 935272158 687354292 802651768 703645872 494542994 865354966 928674996 582141784 259576908 447665124 815709748 65831620 961886690 427559004 98608314 273186642 290857402 224282656 798803300 855196328 887485434 224750290 942068948 117765544 534945700 274767588 584009314 236088470 106047428 642041068 811971996 643796134 617634234 385966700 996020384 425945904 773916980 151356726 265733980 244338110 379375832 23453686 356933178 22276660 942970514 870711096 40924552 754469336 474486638 832508974 694913436 231236986 987185502 829430622 793742800 568692446 236342644 607751972 560771036 560364198 840368300 909865352 210399214 867045104 244075168 239936760 778701522 568555518 15100570 541927746 895240432 620344100 681282828 832365250 551573364 682824322 816397842 634665216 465515486 445350704 4813966 538619274 379850408 572490378 992016474 136587522 440406954 702171442 372052190 683034526 901242574 61717796 187960332 792628892 454224400 785296076 790265436 767725550 549398768 305170686 709011134 521645178 737589342 625920048 811075606 526749836 346053958 620714266 362002110 719950556 710379218 524614296 24872792 473102764 275834118 911791806 138920148 614029188 711839678 784661588 611216318 482673218 703143150 380451982 249325980 623657866 941558032 115922140 324503742 468976512 663919660 402589516 985706124 204937492 915407148 881974626 751696600 378297874 423212952 211004138 272879160 496572564 272862328 810187142 81685246 959014418 167348532 144352346 402633950 997375886 128363558 189544366 784440946 887330752 365519320 877130058 494071652 105224722 695961618 435240790 513667902 240396594 771081364 978382102 381324706 887737378 995168364 101161920 135896406 605726420 597119570 442692000 976510702 654073720 48265524 623359948 756317390 435815378 518504174 688254134 318532878 465525188 533984318 767855420 460513264 509242132 605280248 912757946 420840514 663236384 976646996 844321756 67962942 48179398 313421724 837619104 251708234 265742050 92581940 913567556 663854388 976300528 698817232 338201868 975659792 441212586 448002200 105201658 999857552 446196946 867073380 714503152 46272748 855568260 634709050 424647416 253742572 391629874 903320838 236621316 778426914 286609162 590994738 126304824 201003700 374555444 547140822 761502656 646548408 891380890 800337728 336979710 238317610 499810512 580732886 820291736 967581288 32642582 105149064 999783580 910577686 184712636 944419676 930514170 944872064 868924246 508695382 546601342 663636864 354798054 376044800 93151026 578895016 454327670 212905842 92098098 337522138 76637152 194106126 515025632 650929000 885815122 427493786 301810310 351552316 420500866 33089090 291750510 579512800 981223322 944642412 40578746 308754434 39679756 370297964 674068640 612509530 474772338 215138432 508404564 954614400 607685630 776565368 322684520 851748264 704994684 681944158 599507002 273268998 444655506 646121904 82910910 869066456 595432524 486488324 305693920 663311318 954821868 885092528 701833064 453028128 372067112 463293458 944224370 902144092 352349768 97081352 718551442 472346428 710579400 376498742 516980144 651411768 34986956 576766704 115145442 994450706 254791786 427384604 530547542 413098240 243038954 314075502 872609770 184563586 593016782 52838758 50387342 905641346 265794620 210515808 774865328 385134930 676269090 73955118 805567780 985887282 982655650 652815568 51528626 239953410 899110244 638189130 547588126 339893348 587155512 146009128 386869488 447694358 523254860 247405770 130727302 257844078 174256810 301829628 390975670 608347260 707356618 989194428 804520880 353059966 14340808 858609200 401560760 239311572 134879168 532643478 620296000 546332482 44536494 129512112 633531920 502580278 444496580 514345804 769342884 13259268 240549048 67845346 1812942 598904146 472492392 524693758 655195420 214776136 132530442 812248188 828752868 299787374 561658100 888417636 636985176 683588584 263662948 522077536 924504974 450801878 551564688 98376718 471537304 86024302 274251738 136449018 826128544 936728740 424455642 366881074 645713706 276367648 955616122 937235458 422349032 579910978 76081382 7999492 484380052 961486826 273081212 290127496 960893776 590045128 635916840 716348326 290714970 824137732 111570238 611676526 937172936 983520278 874015456 528479380 799958896 335025524 607588384 104428106 463991920 163486680 397099692 14505698 618813470 431077278 389281194 817545978 107980976 488514744 241667636 793087718 355614276 186361732 33280784 716827658 634852314 753337960 75112902 156303950 455662360 89698504 206545174 72241680 302266420 765361768 714145914 310500052 483161932 633076904 462991238 63665182 662367756 690036424 265031184 293069616 999360894 785682412 692919782 888564720 181608286 945220682 735795382 523006294 663101434 636502860 640539620 584075112 585133340 688113278 19314092 655356910 315605206 906322122 90899724 994325382 805719000 908066296 767778774 587530826 432754566 112052098 2806010 750614190 227131404 207817484 575891632 916532276 199223440 442168442 652372824 675668352 475053974 667404266 587141686 384505106 770537118 750992518 679617550 230274380 303076248 479869016 98000734 523168340 536138592 467583304 977707232 346551854 975506468 337867870 428948482 47950450 421215066 874402472 554598410 214634764 328253018 180849000 217328090 531042732 467991540 241449602 429042286 68316260 860022124 48383300 567933652 95673060 859328726 331514254 863471510 807757996 779325644 23353850 402795228 875204478 984799840 428984658 681528494 903218310 922073654 589823620 373984154 782852934 23233362 467459640 493000972 453683498 839870110 637631830 347063032 902301376 956392818 745963780 372930140 630214152 808803060 29669826 540303280 465810426 954141704 703899896 966857174 961272822 649679414 922790440 468702820 51722448 451328884 722537468 820878984 380162706 126475722 841975688 402474 809499652 802583342 221507702 524937258 476915198 531024634 612364866 506572822 90535748 165790568 421659022 272672512 596056132 731783518 506725620 8273412 488178396 156754802 233310986 371439160 439950182 97770770 355596296 698586930 372470856 442549912 680889342 319231694 441267012 743562032 905019442 388292936 575562138 507506340 437010040 874327552 359086116 916768034 980621442 86306584 670625314 257264076 798092844 824310168 475629856 637024974 916232300 277106802 7661878 360414072 323480486 286468408 3623652 801389254 257588802 182104594 766213890 946406102 652377918 771883652 707189836 376741482 883350948 337791950 2523978 981518936 698835812 176905534 11891530 411947342 819569596 29570006 490459300 739949846 806442208 889969224 398972570 971940506 286567062 284034436 195009298 415797292 602824884 418975996 947521258 470965714 785287250 260464586 536172466 246499108 697529238 628900710 454822932 475851602 140889430 782213840 46803190 669988710 497397872 142880174 143683752 291610706 491408528 808192790 487548680 109191248 564394480 128936960 470622258 829033388 408454764 336798690 692451628 987702246 419519210 571752846 720923598 763130218 492471316 770898176 976713818 627150246 850925638 724289400 44735776 499653528 790902092 527437936 712485006 92301488 165576966 203992372 166904592 189062010 806155758 43322424 877107230 155483458 385088060 694983080 816686660 781021330 547457032 619500232 866392582 653120318 726844242 793593716 949783290 595553470 364853802 245126204 932442232 284135252 798046282 836244034 537542048 568326994 15012418 954209282 643113364 57173424 679999598 926322836 353142502 212289846 879346084 639209044 332860630 80579334 632572092 823661190 890548228 744400524 143491484 887366834 304119506 753466112 519287992 148499554 108074756 950620312 424268390 496004378 842517930 141723850 514437368 657053068 548973496 257580282 366603144 926654412 680583942 40133036 981546424 957529672 222709188 718086610 507451008 910259860 1810902 98281970 252206928 974552474 476158806 336613664 327981662 400229570 314253634 111160798 301274900 811135876 943926442 80970660 15290360 605452034 266984716 572804748 771330010 686603438 300157552 90933836 532653018 514239898 487604780 175189716 588114334 792842108 592490226 424018830 442195708 660038398 463495912 736972390 591266796 383710142 899643284 399533384 436954452 970477430 651292456 55178360 389266410 715139444 111384188 565120970 223586446 2158890 336695594 290097930 562178166 893146190 76001774 469925096 409308312 604295068 536312546 213603798 294521112 446233598 996190794 700402094 542334908 889606968 543132796 981790510 835238980 852717282 100485124 323867218 339674210 96060588 893654262 159380726 963872152 817705322 469365876 543674290 229842462 787500422 503283986 994200886 807803578 192276768 207580638 262587364 30212822 946174078 123234648 138252754 434175658 351926484 609196636 162321588 859454054 523340088 507626240 496166784 961843462 233240480 516154638 15469492 190582924 922677092 108663042 669482838 262650044 730329658 222363340 511982488 546463178 159607112 980442772 41157362 993472028 182457284 192533330 418274490 707876254 564251564 298931996 872547250 156082776 193682530 958573430 174239294 581300816 663427208 453176594 680913122 517412694 656822160 817985788 750707366 867818780 642413270 379793126 850980232 188805064 581977946 265265318 626341092 746708302 482559982 68360186 596764218 457420274 972410782 848673186 639229742 468848830 696972136 529775280 760796416 879217096 521325784 893796058 744873408 725084750 975605554 490547624 426131686 770438308 232066502 692743398 572495968 731708920 872548430 605655032 975379610 666294690 101573560 749594668 799510396 453048366 373057146 189392118 821996036 433539034 692999962 54989216 567781236 319589324 444500872 430154628 64491620 766960970 57989358 557613250 689630992 265136686 693808828 141321192 922545758 672278756 432549198 742899226 652242 374480252 942216880 546605952 685690300 549292588 413275184 592730634 282974762 174091170 624597158 100519646 419813496 765435252 241531398 130993046 642238676 813546624 586877124 790546940 962621540 389922758 746361510 646530500 799457876 657079692 626503776 939783012 584631170 262653996 45951344 840569918 149771644 887690752 780151182 334565904 822443446 687540398 776790802 638539300 407183944 659228718 912655320 442147786 493612600 499463266 685843798 483619148 316851846 630897926 749520850 197747162 168267698 375785284 985947632 605318266 874042278 956841896 156880236 616545056 124906420 198535938 915155018 707641070 483356340 785256882 848158332 142325910 550340740 368866476 542866500 826515280 30395424 395483068 98263324 514557914 613982876 447492992 539573324 835277738 898049518 129576418 216927784 135598314 450963304 718938318 71817846 610846474 932345078 309970420 869791410 66722348 203093588 115868794 915952322 756621176 82985974 968026016 421364534 533152756 157792400 840471362 84210192 835140260 940929090 788836666 130618644 181402366 501746032 940152488 3936510 532768352 757845330 390444412 604436396 252036948 487943610 206683456 512865036 238309538 326799496 120700406 315195156 796514600 338103124 653708896 272605656 788983482 893507298 576819068 717030522 647953042 249362784 729694728 33868256 959177068 553769630 744752154 708037924 501728598 140582456 1282542 73866876 935544108 588788648 402029986 354448948 966083820 355835650 299143374 400567678 627294776 28598032 96346550 242592730 845514744 576852602 537786614 386356626 779140370 510060818 119308252 170337680 422970970 319570864 497410000 95837518 965660532 282152096 355763354 307701484 852929442 416295536 949885158 67457556 847614964 812709588 730491748 432044230 191406970 375355974 432477060 542919982 617046348 632007708 243055510 232563112 279158836 158491446 10252910 78907598 542116102 817865882 465393988 762730412 755200586 508789244 158972276 368625862 815752018 598361390 91587532 730482858 636939970 812820156 905741450 646329974 179782476 638236792 259433064 441802320 550810890 273931070 598608098 80954776 739217068 207839840 506684670 242977954 861180572 251110524 584171932 251801902 752176028 489493680 664984404 701215056 123596360 409605500 717955108 737152246 904272014 411870456 568296374 931166250 767384838 299247068 189739102 735484018 401200884 28807934 508774952 544966924 426191036 771623762 924504368 925532516 513343720 483175820 595237942 196761538 550519874 723757348 609362448 401781926 643262400 307178230 283452826 354200744 776237220 61563948 459469154 371717882 112717968 998232780 849822706 28127072 316801640 585096880 118659938 670844286 195059286 599976112 508571230 918444694 655751070 925987556 846299596 674045148 768668194 968807404 345774012 124009024 785463796 356372494 22431788 352832046 575877808 839687840 605052950 143430580 689523774 455252058 566132864 571652022 388877452 520138838 581328552 504028352 678906824 437067668 502286604 980921424 57248848 846191698 611036830 358097430 24691890 162915462 427707782 363169214 660870426 634795824 384536812 590118968 421289610 805049980 107956410 238481658 713675238 124061350 453198414 243073750 198170800 419251762 409026430 3417858 674762396 734758976 282065284 228877266 823317556 710665418 878924638 76330732 127455550 99760156 693432268 858637076 558916084 612847744 14194912 633329750 526944588 132013350 756823008 35344664 174617098 770293320 754776486 843440558 109707382 402037040 913827762 79155176 960957072 527738632 667829176 359930424 279871844 764653880 912652830 632146378 773781730 285461374 624195552 313799828 112124868 430648498 974550618 403339770 818283858 738107996 275328932 937387112 281328290 434939344 517127684 875951308 107211904 429220854 458697136 193400488 856827456 413475298 109231774 664450524 391190820 878132720 128618076 230277494 182240584 414709918 889781398 925357224 340856040 491317960 805068660 262787392 878805712 853203192 55296634 831016578 988696486 870731898 121910710 365604208 981025136 624561280 714291596 596007282 971464676 891481478 54645258 828779650 198325766 595544570 695680922 848061864 398815964 121103440 157190970 741473604 384138018 651785936 569816712 894805288 365481190 651144624 617723496 664378260 642658324 375156716 875456532 364862256 543737224 971710242 127720268 746542838 882237292 213112740 481625636 519471984 652514034 562985204 381384126 861469228 175673850 362768044 543151398 490101286 391154358 769181480 604071610 241759112 888235398 430003210 950215540 911511290 72263676 474360690 684410104 24293602 516439912 555437310 653310002 896043986 419844796 85143740 821856120 886555010 871487090 12742346 815707664 805791866 301093418 323660456 689372778 457022280 594732790 436022624 879766762 908699660 547483128 476617728 43178052 295540036 365080868 332697574 813050346 563734790 486367592 608297760 149136898 563139420 868235190 61530152 939179182 297823896 13846992 77828192 761483602 997654630 745893170 556447020 403547734 217529610 780112716 309896588 590462372 788381634 750305516 604729744 43602704 997810702 851029954 703274934 668181106 807421630 995265768 143667444 228991700 419165412 383283650 496513580 637128252 561656690 634693252 335077572 975846578 336033396 754823570 194376420 368240506 599022170 587412518 188290528 212869140 30192238 986020914 688788418 856163132 467428638 43347200 834304750 732825204 770414976 62785510 575774684 320634426 808703846 900150908 971270090 293132246 251829718 389756882 68383282 650693338 905363128 880379100 796054402 815806978 779480704 873808378 656520636 606389948 129204250 907021728 583209866 917854806 142034844 558346950 622812654 941805392 380493264 392231366 364240394 163102050 996273762 183221972 645490360 752624000 366688654 797611032 789000548 12553306 54136452 392167242 766541918 559352830 4267996 896284292 734105700 218928324 268744828 712109080 277207900 882387462 446199478 359039638 266957052 583529654 115795658 536955042 131350360 763054726 380768138 316905254 104725908 569688940 185867578 457358518 247621386 966090462 237174600 836273866 539930046 827422598 605957958 358714948 310648442 916805622 69782782 829163264 223552414 789361456 36175520 129490076 595051480 879057308 442022734 510100214 973600180 162075712 770643936 852129914 305801350 687017970 902269036 573799468 743377066 533969700 607546318 254607856 710931958 420693006 449466642 27621032 477757858 555440418 721330256 473830572 113141816 850380402 938240750 942349292 481674054 873471746 456629198 288354492 67620400 617464910 898070786 979010522 571071942 802006106 809390972 242697406 493310156 523484590 834482852 963918888 646605906 520399428 71940720 168526952 725471862 72950700 653917896 319069830 290907580 678282520 232058506 197109160 576060028 603739882 78025032 214421734 575269988 902557764 289512704 892798436 433722276 554052404 171765338 968974818 975842222 271817514 579566668 147528502 99450344 198558586 399287320 605649178 779928942 760216226 584915400 260860654 506446908 303270078 342742370 605268236 474248082 316715406 797870494 415284208 181914810 972200672 748396890 602386666 590426330 486122048 415941030 80583442 768504014 826838948 618007480 405087816 699070334 261101494 362643920 185019408 686766486 190822290 525620206 181488238 937822258 165686684 676046642 415334368 409699802 772852554 860154018 386652642 578273400 216858248 98466482 446376180 549573938 3554936 767781090 508437168 100234482 721826710 330635092 962371672 523531158 898716544 477441766 262843808 153779132 171998006 668170220 242028690 875747686 915214616 31309420 770118206 708388034 862725738 82244548 559945854 273085106 473711646 114240938 596414970 815478520 253581358 661236558 18349874 160938864 571579082 40979170 997265672 781574396 759897086 267393062 20542982 673895904 116936546 497437738 610944698 220665084 580518136 913399604 139779172 395407316 23683942 342010694 446322748 387245520 122706048 73866100 51427030 216277974 11115708 426893034 289729534 366418834 774141850 50945800 58536690 772106790 785007836 706851066 616010052 797649146 269100798 866398692 540639632 751743842 839133560 195562334 975250088 726495028 558958688 4499990 430947472 773718186 451079702 874658722 630330962 746858416 851303498 191029002 675986166 216803954 214964616 945495254 168445218 58748614 222477798 482725382 360515818 168623460 94097980 117274186 514786794 725960426 972576236 922390330 734118888 324545258 34492338 155680026 61433300 222548546 823354766 549240142 166533028 230074876 299187264 539584644 823829546 672267438 526859206 438401704 204992332 918494282 325453310 343655160 405823276 192646344 807141360 992099888 240119532 149015960 732365470 184352082 569495948 322333350 580756600 440282832 597427024 313603646 84890278 184218706 565947834 315908556 985909574 663934566 248025196 947016944 80052650 606111310 479256520 833638482 912868580 104607260 248611448 534491062 337301310 653702060 704284564 160879678 274793058 492900846 847034594 143950626 623622136 560994538 750114348 146617028 485315792 405088378 889739706 799302390 226436870 95237312 379317532 928537810 965406250 960392938 906612600 519862788 29740618 110569486 509491926 460184034 759594520 820918486 767716384 508596406 724753174 520398216 881304576 304899872 725241040 773977420 879781070 528835174 753727996 900848312 660118586 795748282 663517298 611800874 459564918 628782972 484033184 452167678 118360654 915645258 27005360 960363480 625627010 107537176 884714432 125405886 817654910 401024930 330134676 247244836 561231970 255972280 504971698 79306276 396199608 302345870 840869042 842675690 853539404 56554772 570783370 957297206 466137674 584237846 865315504 248894930 752860470 524050516 720409806 271886084 81719986 127329416 339762890 104234214 983949764 31405192 495774928 875351782 21520668 559031166 327772140 444113752 361427078 730388350 713184346 552675026 903258716 229489156 335384620 19838550 396417264 648030400 133237642 606644032 643726428 722448446 430426632 107606536 288837042 334372214 439363308 116963038 569454638 610326720 51284776 555883858 791087950 711373538 714324678 248051688 279310562 894804088 823461530 488672750 518692744 248011854 654592248 978606728 771977262 610751204 676986448 265721084 370170458 643304952 874278452 94216816 520798516 131081940 690156304 595155284 725247224 190251176 738014980 638013426 617020534 638985812 489965094 794765104 336187548 130723570 447041580 670805270 512036356 290240444 525354248 212961826 92375598 442969038 576949728 30586420 468966244 952865148 440333360 854184564 495539128 826172476 769598318 127535574 231844196 546794696 459589074 347537814 647474764 45578496 535582628 367275348 393764338 355656414 772695652 41359228 334593836 294256336 344709920 281699388 259959452 545961950 546073162 760358054 158253650 832363700 505855298 62613350 249408468 90386280 422213170 477062230 310663320 528742068 930561174 65538946 241705526 461768338 312822360 387762228 923577246 322668556 25660538 868458754 445842472 14295908 820682342 445746560 157206688 107649682 19199274 492479860 922498980 418195942 687707812 227652760 890723156 598522024 588261862 972504618 352546052 945591228 640909816 591377900 33167954 432423564 506915788 875656084 308440684 400547774 353314404 415854086 320058724 232861490 994904640 844194422 153688574 528850880 372761454 302522810 991767216 532744428 618223260 960156450 419351922 96255152 566462822 769750338 644536902 386571992 298246682 867630344 98743342 407043520 71891968 490948690 847647734 588817460 913671250 255142458 180415774 378977810 714855734 305077448 80555974 208926200 810461486 153975640 376351332 846092750 42896426 642882292 63566508 975839998 910995408 465838726 972373536 939237366 568583776 743818154 84953298 84323524 294189514 899642138 655251172 892059642 167129976 570513604 15512170 918425678 601903432 605715622 986798420 468700868 270849624 806464932 958229116 434107198 773510430 103841082 672213162 643199442 72628868 649061302 584099972 769955976 961277116 800573122 428710846 598225434 288875788 399461312 405569556 203229872 955121910 535612810 163938896 626693416 687563684 377094468 978142608 700580404 176329998 838926926 401594536 854674762 760075200 682935616 340608156 671217038 324054296 703159252 386156502 619594928 410327110 250880020 223724054 542885946 662685344 756157176 637076334 980818400 313312748 362953152 114202282 430436308 768866458 811476802 296520314 675147030 934759696 883355032 396752466 629326394 400771682 2383322 685727946 710862682 90361170 764916950 709612864 590062140 341769902 268181494 800297678 518828370 477013196 750724192 376274676 590158568 37116140 872787758 740212318 507332424 523554986 191315148 847207858 46692492 655753770 160341440 415048782 960984082 587837830 41034632 297224638 323007654 966729400 793271458 122953722 113322704 880966922 308106230 992136838 600993890 383561806 134760114 701203410 977585214 820076118 790566026 107586218 56669594 109548996 554958924 377848046 156327988 399508338 762446090 319762338 853609512 18775096 336858040 79180876 454658038 852038374 65047816 324697972 963531736 617647262 563975792 338002264 227090006 941666826 647673686 347042762 576929908 589817362 88584800 510966818 466570252 514901708 402481180 812611476 498158718 162696034 310171582 935389714 255959812 547485350 563564868 144640486 405150438 368064228 962645334 577150468 494906224 367727290 734970042 688877628 593324138 987474474 394868170 614274846 778531896 49786168 148323262 8901858 717574274 917501802 198796428 400584198 862870310 384674734 379182414 481998694 490470880 241327388 926236 621793972 762064938 970001284 26554026 54372220 596900718 467245364 297272560 718014180 919398738 556396570 722911652 398963708 249841970 95407326 794973090 674744752 415546626 782471250 459170842 208990084 199360046 436820852 535299228 874870770 768139632 809709480 896907338 670403752 197585734 150243024 500050662 60432490 419991604 113301202 297036666 206937660 775153020 769399214 575238498 943913488 392685048 856644812 840217936 369172984 934042964 160605324 40394468 561012260 43823526 530474136 82314802 218554646 304722668 956817306 949682938 905495292 973756042 554750330 109595610 894974164 731024916 206358178 756270810 952441406 279436112 619884038 391631568 475814404 369951974 24116422 423768758 275708202 916239172 372452506 637219674 326692168 597793006 140707524 740979944 854940290 312125436 132989638 838252552 725743880 681634958 532572000 358623808 651990678 79187298 404985756 548133106 434532592 941525092 35054164 609749860 770604516 639451506 547252348 583488338 554051566 269232212 638707002 90494332 54759600 187075408 460254456 185082206 309701144 147192160 147223814 476834680 974327390 218331450 641586042 921367106 830911510 782562736 724509304 647212478 623363768 167685580 936469322 129053194 888272200 837418748 449441370 530683756 883408254 742882920 484049524 831419086 434926796 405994808 85726714 727247942 63974478 524411506 320335514 732435530 540469208 969860600 718998030 181241724 107467646 748107354 421987072 325714734 228207380 44513750 638653150 435083066 190661586 766828406 156592336 408768694 799529614 343544160 185058648 737699134 99724782 774067902 396279076 593062860 147635296 277457516 992309950 507858202 135587362 388495772 90163648 634329528 304868548 793252450 114609598 669385336 398939242 485407028 679159850 654845416 604394494 450982956 435786550 598250802 178304330 554882234 131586616 97023788 683519202 380129530 465850102 234535862 707099046 908551538 232409354 199231704 720674950 645719602 12547092 291926160 621202460 890652242 174920380 822442226 700386856 374247046 748141974 89162218 838296074 88837552 747612658 644369712 645029186 894235378 558129432 495362728 175030618 82500620 410176940 113692880 94518418 833751316 348456936 79739036 231742054 293222904 787156712 287678810 871083092 392804764 438861180 143454342 547830102 974121156 523067774 779903322 857815380 565907140 282057242 123513382 248423214 641295324 265391044 486957166 812674438 616355680 615800502 209282946 877470416 323064360 800283922 211532966 773913842 961099774 114877646 375379264 173959062 365812774 229782084 569946092 511887938 153435118 385577504 325786590 223439628 479181696 450034292 158608598 92774310 182480738 93633658 489197656 193886352 376185182 620399028 122342298 296200482 117691296 479494150 652447614 214668460 25994654 621453808 535639194 324885028 906097536 866613862 646045134 785706734 975312878 33671012 872630832 156363578 700451260 317210264 386325946 689572824 959795372 786646676 170661438 951990240 967286140 299949398 575670142 333484362 636648972 530001952 744556916 128494768 361153220 684798160 187846488 941511184 784949096 319256026 873082810 281548422 138522208 207084202 349607286 354275570 295866878 471867168 140982036 172949496 917666862 36692996 583291686 107441176 525085212 790635226 186029412 349351674 324296814 884239526 904269280 578452764 119640524 520110756 703622546 410317024 18061824 969793044 677498344 949671992 15926472 276978466 793654754 428361424 587540736 747908218 451550008 611462032 438251058 338208006 243418282 67099850 794881172 242240392 990095030 111666136 610110844 854331172 976879646 616645114 730948842 723244436 207829822 221372718 738375022 638785738 620281216 857732456 128965292 273763024 517956562 981933874 455185980 627458150 737198282 283790370 88978582 894381322 187683284 422857722 668718154 89672460 111218976 192136680 367970532 112065962 93318852 343482532 707463260 236032006 464435510 990702426 177878196 904176560 407725748 473770768 798513148 417465000 691200656 277914782 549012486 62163054 951743796 245409588 128705466 262209610 766038958 970062768 67108322 751083602 28881950 357232890 13925422 352790348 650248716 872981774 323493348 676915962 315805326 762798466 890279846 202151468 401952522 788636624 178799356 476004342 559482322 803472220 878174340 549711148 569050276 44500668 972384534 783357470 688333512 79996000 60638972 64061458 966187430 749526940 201374446 670021998 781784360 7440592 521458836 193186 67070364 786430538 585595772 525682758 748636566 440170028 127221138 679682776 680840540 399739828 562844462 90716416 465621914 110097742 47895266 1639864 310332614 14127278 397909486 275167024 180727628 527819910 740702236 547899782 63674540 889945590 347024726 972495202 13653166 366555012 923734704 531939996 517710188 196278288 876842336 57043064 191494194 44271770 474322570 841177092 228365928 813904892 80929166 890700456 922040958 207428924 645530516 749640130 215872886 600367890 416453134 727868152 845019228 494847820 413334348 214200404 461556984 143975884 581231280 924865114 552398830 304799086 984291782 351595174 466533996 147172290 732750920 996555504 586552952 640424030 876887238 722349690 943294758 132889238 911016020 323323970 591721076 864903974 575113198 99247168 820330822 106887442 336453078 687227248 701167306 298579952 832742918 634694676 990253378 285393698 90958862 942565870 878677340 644917914 576216930 283649170 148590446 794423302 31954250 990473416 293495114 401706962 466450210 328518270 525704150 859893710 703120894 111403152 632596260 592842148 717558528 405298784 125191734 332339238 965048906 934409914 918950894 726641408 85120790 3334862 924892064 737773800 249755056 726086682 239694100 108729240 738683586 531538310 511869166 479055876 17287494 708318364 172312224 528383562 739973598 283462176 124965788 549015280 119433390 175574148 395853432 188106108 751568196 974190298 709174016 756414338 803601060 545894792 787813138 520730810 299332910 228512538 40016042 527332106 911225292 226138128 659811380 449376426 34119804 322243040 903287642 652013148 832502374 320526638 735913796 274393842 598039562 825976294 455122982 533466430 872770630 652724180 60352248 872512192 952647552 356401624 107742446 368381836 208217280 602160158 971551762 560295062 13199366 490576584 743638570 148354638 865219320 658739288 444759784 864823898 238455664 699908450 557109598 120429800 957878818 947385232 162360334 963557050 809027156 903652688 477731226 44066764 437920338 616741780 249929590 807823670 507165386 353864744 612323436 822469124 615940590 995649804 626779318 160056164 7171906 454947288 116478170 226870092 543736316 376282754 341445794 9798380 380233266 806245436 927746046 366432320 549505954 757282090 364381986 456800360 747124356 634869430 767089256 637281442 651454066 513565914 542735756 277935326 434360756 25415068 461302538 452824012 455421740 556077630 780603294 78275410 161678412 541974648 539169640 98419116 678732364 937407360 958489270 863124046 687573970 566944696 581686470 247251680 820108148 380785034 648425744 201124150 748714450 728963664 517961024 910200008 694946838 634176164 108196806 581169054 523100454 869569464 864977220 817208580 368648510 853934852 672729920 364628378 56144624 916408914 440235402 195662396 194447410 23931500 20716244 28833474 92139378 90295682 909696134 305377040 637097342 800447630 536414062 409754946 45727212 689449122 572820124 46792614 510462508 170245584 354539574 861366578 284554954 128064626 624183644 181000210 599574402 510122492 317472158 805015734 793575520 481194428 550182104 608586054 871765350 991359986 978212182 60020418 447975142 491789430 10100702 953490458 113937418 666014994 670458126 843379616 236097624 56684660 600794408 30816110 121760024 717799980 581223946 737225794 599786166 130940434 473307500 992994604 531812038 672483210 225249776 137823214 322928634 537870836 99123796 553105810 883167248 895117844 560995780 558329744 958663788 707261570 242866128 518983460 118283148 886142620 248396856 67148924 103044714 580422648 710386364 376398166 457479488 688150552 429034774 933866436 577738152 131039412 777812872 1021810 123130138 255448992 626610714 592833718 503122126 365842882 965765958 284458192 163192332 381137772 956255014 262571448 975362612 286826036 452963870 806194060 762377452 524890232 650351746 863526692 863980678 471124106 674286030 11874026 882886758 252287678 372302772 368100102 145945314 118129012 653609548 528222176 649497342 26165440 132663670 783189852 890259088 275283132 598380266 752226524 599122682 308581146 295130098 602634236 879890184 852738292 759105608 919373742 275387456 103686978 725065760 123002336 342975546 627292682 492035164 418071312 459606092 295879862 136233364 734127628 309941926 94135556 598784982 957047384 652705652 631507170 787876812 494160012 656623448 971675508 78604644 917244936 842178754 131486952 452647226 627888184 45069584 108055302 605885812 612292194 658201014 596698424 633278372 842415962 81477460 623830548 228620520 207777912 619741478 832706444 531302126 211506796 956602616 959929226 946186380 75521208 418777100 523990734 943142658 386585138 332035958 244520936 244039026 235401686 844566534 197195318 615497584 183796002 130244984 5329038 276451992 464390086 239798688 199736716 123323930 814049882 87335976 320862628 210846964 156236310 57224306 915882202 988801432 634231684 530169900 294724702 594025834 245860378 467559542 815473396 889864828 575106474 665970522 338433484 819936278 566842474 861824270 774810616 202866798 781342152 102692386 465512824 847868054 361706858 619709954 292864494 738703796 621589026 559844204 727008872 640193238 390203924 586262550 658788552 531330780 192147786 201885706 416182738 646978182 487192164 952231234 82754314 509379362 557349844 862065630 341665036 76946948 861394802 13715402 154097946 648940170 626537976 603704936 849513710 186512672 414262156 910515036 538374386 720570308 101380964 599175682 577539378 361555808 719212350 668491356 150756812 60583370 246845526 129400916 131235650 21702536 550073950 282313590 317468572 733724862 759390332 444699322 484538754 941058360 214877430 869957282 553050538 727244922 485392152 77210168 731884426 177413128 750853752 99013080 410991792 846913900 974199242 758109906 767923430 517784998 341899612 650818498 258543758 35988824 360050736 295243600 861985780 478347692 209749140 823940670 363303342 458023068 855344104 145086648 701290338 361585768 418429838 872925278 287354974 554705034 318820358 515251618 383116284 546327082 758642504 971249860 186553890 238851814 146292028 973018800 155628184 726129532 879182396 426575882 776669712 91569118 591662338 522656424 519520634 927986656 796600420 167592168 951659856 60806460 358701402 975715080 630414482 726064252 613402882 252450806 708627706 655118184 103841394 117567144 918539482 378830068 814247344 367989474 829586156 346337434 27859240 47701428 208393948 673799150 163678322 984557254 617207704 78778374 866129434 522509252 254602978 571328566 597196140 45183084 607908474 601380598 882944818 776945322 294723928 631752642 985700458 419950278 292300270 636235236 503343862 339345460 953932642 869734554 742785878 934331468 677028558 814006462 724216766 678471730 192252498 965339820 442006870 824503594 534586220 202724658 59950678 93464424 373166350 980415700 301069596 332743530 125691198 195139572 381790442 302187234 647856186 379427548 492748882 986241758 376912682 860735672 858504944 890885060 390226000 147130274 145456604 471961722 920205326 729845496 538601490 74088136 175082146 47265684 918545552 857232696 359152716 380973884 668232320 357405152 850256386 822811362 487533338 638439078 561038624 691562442 30409852 457453860 285001714 795527408 88799654 497848444 25677196 184958504 349618542 995889080 522950664 50378428 240069746 170913738 222754276 918667472 134760338 154157900 913861140 921433334 604545012 710240134 292253140 741874740 773969786 29585596 624922610 322693160 730283908 274581438 221850420 913433812 369476002 652174516 537664850 317661914 690741576 873527296 914971802 618553222 460230860 384571602 886499300 217111272 113686 350133100 834211566 519849580 890555198 673233390 786143986 857041488 263304022 364869602 107032368 504822418 934061384 5151134 774079146 26721270 513939380 200928598 414252222 304171176 655424140 955074830 175745428 683339064 420967418 886530588 702748576 559044042 784782728 367624646 71727776 563139302 425009022 454583936 611453796 554779212 205564170 544300044 646645720 852057292 74956704 58401100 732683420 755231952 53904626 598619300 954502676 65604668 847582632 294782512 169116850 467226438 24155532 567979486 839702398 217095600 310226774 265241854 256523832 407706508 573741256 833783134 771836856 194040278 876608106 19456950 524784282 831567238 648336054 517950226 879029992 393178238 101597338 379248928 795328500 19849132 359177858 163163150 774126252 867277736 286411454 5119540 915758524 272024860 409481186 242557552 767065148 381035246 612571480 346660086 769838478 731469020 203839456 690082928 326003356 338906142 244336548 83893872 749359930 558362270 741947844 615171674 132181596 283549526 432117778 888797484 386596086 769847276 288000486 564747016 295104726 447041638 464285760 466664670 732591814 60109340 483182028 504271204 99513522 441355408 872405578 387574010 933368634 784688180 830414418 675097920 458215038 617211824 439226212 313312914 24755326 651576700 679442018 545656072 415768864 288653642 447805196 685638170 38413110 26807262 916554320 180806148 947080920 576674628 328009974 770437778 624136416 774925116 595204416 51557182 449177740 216318518 618827008 202576368 99348228 289560062 609886882 647904008 138959820 773035096 666847194 640964698 634411216 752713734 221362412 938966468 676304854 38784382 500234532 818960814 105903900 523639742 443910 267175958 446869076 2494666 941756804 998925726 357152066 111084480 562426256 100087246 135733654 521229136 257267004 501719378 904425362 571675916 959597898 513294556 536692962 356449430 302831060 613901270 442411156 709910060 303401050 591623210 208673830 154986606 426720258 394762942 305635776 168230890 433080960 563686202 117327744 6971230 52512914 13900546 952369564 505962634 733936128 58598054 412622054 306812840 182543748 526164314 541875420 535772608 990826736 966678076 357482506 852339312 259904110 153333760 119180022 588210248 578654224 231326404 107108824 541937812 54892232 842135044 874874434 116502736 46107964 91397406 197450776 494880976 679776438 985330884 393448118 411952068 400403108 647414110 866449254 172084166 49898052 508826636 408303164 191695854 944038110 37803446 123451826 353146524 754110132 984556 866484480 337531252 696783966 485299474 648142978 867073718 648162648 218996906 995757202 474901642 284602828 788864148 564753008 478652884 86609402 18988822 794408896 13503960 286985190 722893792 18414778 279081942 274266644 413044160 250772224 461021970 242503798 754661508 290875468 707343314 153987830 238508280 816448118 513183172 102409998 127239714 719835314 344531294 223880074 638594250 502802646 226936450 483364762 804620876 858939416 635656776 862490642 922110096 553514802 339755108 741149494 709822444 576605774 773729892 722123768 392951448 90155636 652964908 741128038 590431120 609617772 775560662 110990650 255887720 4311944 246692632 956897458 668359518 261601630 148477456 261755638 439140196 287425984 619702850 820861288 217119148 993752464 365919198 208238370 160070246 7577558 689721742 629093470 368978838 662216362 625815318 373059804 843924170 258380882 114974538 760411320 634225322 785295012 776494556 608191272 417377012 916649640 126534910 287840742 878307456 50814004 173206342 566083372 362551844 628146382 945409342 435302754 395104272 453957862 722526348 589139856 880816168 842557310 742561756 514918528 553825730 540382210 400941558 919573064 73491816 508202280 662775370 486569828 108022180 823244104 744655270 494214226 354778988 214274058 70084160 717606022 280014250 105680716 917600886 6929484 101394044 612666248 610427490 253505722 855741404 850966256 493185704 322148924 663097880 418800402 704610092 372723374 294040424 979816850 87130706 277396826 487292988 596606288 888790310 507571964 914713286 962561286 893837536 512282530 554486246 234000208 572730558 231324852 139652750 160069574 392336246 724527230 751586502 38355294 811121370 578684306 719093484 623331766 303945568 939845938 690100194 839464406 92665598 581449766 521536206 119741146 676166330 266287184 510426084 898750562 383735002 193599956 113354220 360151438 695473538 99203510 409237850 374149074 536056188 475713462 121695304 853755538 416771454 526197696 701522108 239936546 940884478 26520094 84103166 728468564 393709900 411344236 537260886 361523830 876567764 768882804 645054370 208915876 972632298 186146956 793062426 897267994 562897412 910882860 725984358 816322378 571172400 967399056 711059108 254136052 966603994 379960214 103463174 290918014 359118116 676220622 911457428 419693674 118863016 492349744 324953352 606108628 384743088 117936540 803930032 944245342 470927960 453310878 65647332 746541726 41254580 331362768 429883950 390599020 380887626 110310582 208418700 923685178 578571688 81395976 479374720 119632596 597703250 371454866 840924424 379004646 591449490 82216836 383919066 824154890 180374796 591985548 39419852 861371768 125075618 872380352 973850874 822498808 592724364 961698650 78245998 125096616 121636572 518382740 253558216 874505184 754404636 8211832 996202380 145934306 586021032 643369008 931904778 870831646 542370226 645584168 902045076 122175402 631288000 538858828 861806124 712197138 929568062 378465066 961647708 403633944 309808740 850770048 932746806 57597204 706872954 922730854 829971362 457365546 535722514 323989112 315041384 871297164 16120850 927500058 247279050 539118638 116551050 547587428 668057692 879455424 572959090 449351968 439793518 302340928 15326278 984821918 676098892 141322450 458325778 907955290 138335340 712979270 615367740 54650722 839542780 145464692 951713272 853821994 636225922 765438202 631107972 801391718 975432216 344111384 341907544 998109256 767341682 488247064 57705970 502052922 633273588 692723382 565618214 217757818 469760170 533179944 653646954 99096702 463619144 477734488 736911070 908540044 758420840 443919352 991737266 479639056 560862266 137753304 108717132 500230634 704350420 825302684 592307984 426653018 359793844 585403542 105846212 13317842 684610090 818967054 610625118 55316918 703836036 177335368 142044208 120376330 430529612 564459222 247510028 860799092 418251594 241588434 683017518 32253990 425461376 880361074 176110902 661211154 851346932 267574890 287037690 374106842 302609142 195631730 649120754 286498378 451372466 300061952 191330190 858307908 519610004 891543984 535024538 182969474 72021382 383067018 931704304 447589796 540202348 9075606 531594272 560006820 989046364 22674254 247663970 892255032 145436894 469341136 809715910 566674984 889120724 605766808 219609580 687999746 256015172 582326256 495394300 452370380 168116806 849180828 977690992 116635102 340584700 368271206 694765704 450551472 857391672 423793674 821088890 253946744 637603264 704255560 419908044 427554260 947112568 431363094 462493016 470881810 965420580 126793738 703702758 250842630 116028946 587750722 842585414 468369670 240399292 297024828 80772128 826064562 873514810 725675160 888048730 143508078 841920664 864620906 958568630 876107992 399936640 91231764 643563164 235456004 415813750 548481626 818307460 731636860 472034362 932710552 405354072 24919120 816370382 176891852 591772776 984751534 391612100 626023942 5959966 607313468 591521450 667515486 202776488 884262684 769077204 852839594 935203936 360482198 736308004 317329322 475797978 880468208 533380000 191896396 397950556 730319008 471824522 893361070 480653566 670565210 23425378 959708398 12363072 77037400 744098756 35117234 988366974 174295986 535257964 797229604 506846404 434688258 193532908 62334072 958473462 500322706 909340868 349716942 504142810 153912384 427559368 497358758 425882116 222461456 505748502 731119520 471439430 765352546 77310702 3250014 981541890 100984466 841868830 107397016 199509022 683161298 107343984 382256510 719744112 752491540 177316564 305447912 936195346 631647914 579935318 465575340 483662366 890433074 331393156 938957558 472393732 485026950 832493600 691852936 866469944 707676484 778909928 87702186 787597758 177032812 717252138 236583766 103420698 182868354 390748728 245846386 400743166 666939814 238463152 11870490 865259532 591261934 270583122 550756542 385095746 668765884 543300502 354385142 207107726 672151498 449271548 896515710 571726592 25129250 755667646 841890662 910479230 494156504 631084080 360238032 790437084 298492926 766607200 869698032 640191846 485040920 492992862 383105258 544573360 260229274 273118454 214828584 549892466 78031380 908649974 803060218 605364062 551026934 359219164 482215918 249648086 225083274 689748618 814788748 760457266 619149300 790162314 689292164 749663992 292803828 68359154 344332448 303257500 376560040 484866782 335038828 672350666 292183902 330075574 554538568 403637448 140130358 383340900 451367552 187799782 150209140 918385592 851939158 158673610 602269974 31823594 291467860 172167354 451333042 560340262 183928458 580688292 938117348 534196766 857493200 452266562 420542996 508198802 907501212 407015098 831123576 504212294 604249180 68311900 98672058 8483978 14845926 347654066 488183050 539325780 656723812 77410198 996865456 599384370 123307110 17878252 604775268 123140908 968620976 288935680 421164908 545955934 907220164 70491746 142242556 551471744 160656730 747742222 535874428 28945142 731734834 472483554 924120306 372323918 35971482 371235972 244649874 986349988 798329712 313599754 222742814 871725436 426276184 776884990 376103936 114824644 851303554 442171218 704602944 522753476 584999698 167820738 745140606 185553468 542313518 171206126 849350644 513027410 956423564 258322414 992802460 899396310 745276748 448957712 341690050 672153570 377443970 344129280 710047858 547909224 713480476 720965088 42705604 354542614 459367040 962171446 288162318 710968662 429606594 995026806 774823776 998409804 401758940 79723488 932703876 177233668 834165462 848063600 493009774 936036966 222463190 926365642 569252430 815474994 972978124 499184264 678832860 174325616 787713634 40998338 717896180 335245592 458322604 461589632 35092410 351751108 509790218 556797476 825839920 233104214 269455004 283264332 175845492 906711428 39223884 809981698 457271842 799163654 862169720 67763672 32196860 845614314 321654484 125608928 917777916 567994818 632183394 601935474 685672066 542385786 834774050 926414746 846399010 982961562 252896572 856598450 597878574 177199474 908514276 219446090 989932682 156528806 631595240 508044856 263655746 715148636 893854410 678082476 869153286 236221056 40044742 313695874 300776866 620814192 688229002 982822204 427978744 809706002 215645920 533259858 855713998 886620710 367484212 359099436 568502782 571020656 768182796 988411620 220894946 970300984 856344962 879356766 217457106 135254356 889910244 583331420 143595824 730351252 171490002 654018612 446115996 44691672 76541340 809179530 811270426 380375368 130194660 491424478 196574090 203695898 890272384 175156826 154255160 41677558 45761406 167421310 105199212 401751998 673399906 855113846 902396544 876541076 578263462 603296188 36873924 410293714 264493286 574907398 213460638 433702536 299855522 702298572 536771940 834193472 905345846 605057204 372064238 874589074 603298408 390309760 256111538 648462284 435026292 665956034 371987148 778209006 464448020 207738146 485043356 371696746 213836722 967517160 295670836 109589132 420749720 955549052 587665464 340801442 221371658 968036834 932742348 38367304 529988924 236289490 427964812 339872750 513880794 759160090 972174744 866583540 653732746 481178188 319302680 378351650 874327162 241463138 48742960 869954582 264792464 683175422 695543662 331994642 58331490 238477348 40422408 598750874 116005110 193958140 115347952 459174526 354780608 102024138 541140934 776943576 381510106 446757230 232221538 341076888 489623870 697871982 786772126 360085116 391625442 136883020 194153994 91853292 549954960 661987562 414671818 237494764 407516072 405974156 365377698 120149836 936661338 586509260 58581342 750899198 420664166 302939744 447274524 969430090 661803440 223148170 156877134 633901274 239589954 657336222 2899856 856540180 127650964 375936836 239448498 52781542 986437684 397212128 778156454 920714572 800317602 314353518 776742530 493288554 814671160 517688542 424720726 54418362 504585404 680091050 598028228 757845968 720097858 27218420 467989694 181702380 240317572 555024856 802207336 729429104 175427572 508641282 156788830 326015838 702400674 813433280 652462114 392860438 995733610 674668106 429642082 435245386 424856868 353946008 788987638 655704360 520302242 834623822 405971228 421507656 641153678 864066932 840178698 787996074 803220186 387570496 897307288 284590990 287570150 755054048 310585298 775808788 358891438 585613998 93423130 193775392 540360332 632884514 675296634 510912750 266185172 869907620 198722330 834983000 497316844 321899788 873863794 880479400 950200926 283052150 586223608 337255082 79095306 785149682 13693250 401509688 345895774 771438384 450284766 878531002 613796250 158098736 21597692 428498880 102640206 634397622 970869340 484836174 57175672 87294274 711261758 552535700 446669538 277048548 779932684 438818566 141342066 488766402 867704282 990422700 294116748 861066250 590852580 865942430 153873212 645298772 346330280 224100484 870074332 902513830 56035646 33123000 131855948 638538638 207491694 82005644 834029350 533951970 228845010 188933660 271071356 132405722 207863650 680221022 726968642 267292154 534726664 636235286 699025750 336192200 88893578 417412832 318567106 685481700 987731658 32268518 916800486 230735642 950824432 329434812 220645642 429279498 234524032 213004696 250540754 36183344 570677424 896669412 156795846 346435054 127172218 211957306 603211864 628054020 839833438 658489844 168632660 395851246 858644472 461108884 846588528 200766338 145625184 326494174 655374124 782467942 862242376 572278676 596435332 79553906 717182186 702391586 325046952 563428924 918687638 267290130 203999320 66288158 751835558 995954278 432557280 657202996 571755500 641121156 833950478 658185286 799768388 333737146 165521122 359542870 787188998 165643442 832911468 354279980 587458206 323219830 928344730 99593538 633042390 568035032 485959918 533070370 453186050 62195972 38502978 71920898 416708242 601107382 721108350 532834938 155905138 166259084 849049134 657954740 271545186 166022548 677452658 135721934 399872358 445104142 807429464 610561040 384746258 631866552 779542692 459058516 574886348 211456836 844374410 699969956 646732532 141666426 141616094 845971738 998239754 255694466 780643648 836497296 589414494 379764022 436478300 988693950 618308596 624483886 532584984 274099662 573161876 473041776 527406686 324202634 564217978 238323688 386498450 934673154 365931330 491725420 144967908 181275798 261111878 937477854 144716732 335656282 131813752 350903968 136083330 573558290 36897100 165672570 76375214 181046202 288414656 294678088 195627208 5784262 575208090 689265784 907557434 638309832 153008792 381419012 847319174 576648606 226772148 949617278 508892730 330045940 6552568 187490142 967737456 282089256 310320568 47585426 461432264 939890014 50031538 418279974 480557982 269460510 144816282 453127780 882815770 310807988 542145970 144845842 345090694 598486790 25723580 756989764 607277306 840585318 402201978 463391490 354866262 732119954 768872600 555635332 633973348 116402932 424876932 660032618 708039178 287833722 873848926 303134332 941682736 141518254 190615652 271383734 514226110 736787884 681190868 64168442 737664870 275541338 899906104 396422360 759437366 528661762 31258474 823824418 724174084 371137326 193439302 822896686 331193044 43097742 116488488 274918084 515045626 627428596 150419658 825847850 34307820 278881604 902108728 556867812 260203422 114602236 935856634 791718270 510670616 63832168 319526172 364788244 551573986 823253400 69648306 7761414 89698438 909201702 916560456 369725448 38109220 78897872 441341216 829781844 197766282 131305838 721763250 964650030 446684056 133503986 67806894 453848634 711250126 822795954 72791982 708020522 793945474 967764902 616794758 708141962 626317594 896967974 187830256 483365778 510266068 551881568 680724792 574472006 537851216 686553402 938175836 794703468 218614328 660271222 794563104 556332600 981113346 149747812 241563248 734099220 264745702 132692030 467709508 260896610 445427804 964811672 582845646 223374964 498453442 791228554 350875288 225121562 140552418 482908670 892545752 684281782 601852822 997678476 542285634 509738050 585882856 891085104 279159938 835882542 638680430 562857964 102034760 928100506 747340642 935961886 170022716 422367758 126750116 60840900 802189940 964007538 610977262 740182644 662152556 50684070 867781348 774285856 213309556 804195440 678720534 957076882 130457678 142819836 141651946 319948830 515906576 231055280 355749788 496910784 399473400 330743364 811650998 643335130 148847058 910577654 661265818 171693138 265144436 986093574 16059438 573922744 906858652 959264334 229193482 160204284 293427386 977422294 641741526 500097548 629807810 531361324 539521502 717023670 342146268 899487684 626479768 845368072 216816370 553183208 818491672 652599488 524431938 984689704 187447302 783520576 91822326 473602358 78761628 514396638 21133300 321469446 415051786 742375140 973041190 275149190 523027140 527127576 1962040 960826206 103807336 696872398 194754472 688001206 753610494 780783840 154766126 165879038 340464544 923941876 980625882 21988200 338518700 779842364 247050608 873426308 995068172 686441954 765677786 402825416 206563288 993658450 678378980 167122720 495431206 798874776 325012206 517093752 710246630 474967236 954917898 995584116 408965700 657748524 178013306 776094536 674535514 752594412 680219262 838260378 233184872 468866154 393916750 186499734 45030870 578424492 586770324 153645790 14969628 839305036 841947516 817099420 760701192 908043942 112407510 832033038 205925130 391652442 256067650 107886994 141317180 396394124 523239736 548989240 109451330 853784514 650107006 199027546 392034738 358754478 17491722 296588174 1929184 663286426 765137150 450609322 560633174 888143106 468812486 826271792 879592256 359618900 1728910 464183116 841034514 660159320 416234666 102870716 958427622 415356712 391234744 394530714 289995980 141368846 58160510 590934660 24571592 106080688 962541190 383001696 623738640 213816576 671138368 41085342 272109100 432267010 701058754 187009370 495160588 599094212 133997362 453698510 751639550 230040808 752430070 935855790 633458258 8779726 574591302 223862444 605812424 514806910 464370646 290066232 309923260 413365064 343814802 408462762 465675820 62675332 607930754 800017556 939951554 360905224 843081170 291731398 664048984 794270608 34190148 387271064 604600416 476639814 309000426 72233958 293442022 997979180 21322224 430566582 776082256 333634008 695184876 593591332 82207906 830088862 163016566 630283908 172323570 691646660 29475098 653324084 419850334 287575944 334032828 911778728 330472386 44460914 974083662 258547880 550499426 710429804 300360606 361259180 968953190 328414348 247201794 760139366 200223328 917847208 321284992 977195452 174926626 878886246 895557066 887780846 992496502 651601930 859628136 541579320 327709418 840123330 323101932 906672742 987520034 195683124 858860948 791256904 719129802 862245032 923570828 760746314 531127490 652846870 494910886 816933224 6142838 10941912 903985164 543519866 623888068 830805780 570096328 715558348 885862662 616501698 89422884 613176622 884204680 373599132 39811528 854542346 729552678 970654214 149609654 66121932 175735874 567357120 912639250 636872564 982348730 709306524 866383346 43173938 389557248 826979658 44016360 934970590 768679296 783064510 38654738 896473026 609508716 252231476 672795808 817309290 807318640 327422994 614756950 824723656 396267860 361866458 90433374 428039016 943546080 481626732 90082660 777022358 967391434 580120918 202770664 606692320 921713198 537485296 667936628 823090920 173264578 978784154 218703242 216006828 749124318 179142312 253639260 535001158 93578104 720498418 321316710 288489328 290344156 958675430 778611978 839659506 140512826 43357888 287122392 400495244 39367658 800364520 715451740 812965152 866750352 421516000 629107690 606580122 763166950 911065280 624951590 896077758 365343934 20613150 360213656 647266140 424514144 302924430 577043098 693516302 724622010 81879376 726049410 370478804 68064712 432082690 954827912 397519946 264946710 495132316 178866534 893374962 132343370 286195334 339288474 11226968 372175676 274937136 192041056 412054288 620637746 566750794 564549228 985379406 931640074 948243204 386613152 468805592 94588372 426778654 611150756 478018024 514547722 960223294 533691264 873507386 701346770 734224960 560667580 378690812 317675508 260018068 3143886 665976652 827611232 825752824 781204794 175316662 797721746 143026474 534161902 684270186 964568868 949661754 624567816 786453202 496973492 986139218 680169126 756763602 88809934 48813466 825808238 17514802 804268800 344131336 710104066 790238640 403139778 707590760 400191950 332798668 586549508 672590582 256941632 621478340 143274184 792924024 639597214 67299982 623457856 842154896 982351344 993004112 684124608 189928044 659120318 941396610 17063778 432402612 804496660 244389764 360979374 432550284 393057438 111143366 307555134 179624052 783045334 493185158 990401848 225719070 779084612 767539430 454143262 799336590 888243412 69232644 654383226 806456448 932056736 45293034 784005094 21155264 275864526 480034088 558086462 259288440 999837690 526323610 729017532 619708026 758228014 596195064 452682678 747719452 809586826 482608704 107326846 191972250 781905338 420955846 226297652 679982248 82681866 372116192 437220050 894444800 693731686 391023138 137347940 220866660 131364286 29305766 270807964 138239882 11932928 978318986 928745022 906004602 799774862 284563768 674051628 187880798 288645674 937134092 772525390 169197986 362980832 589608728 923147886 307141538 335426194 203008348 278384744 419781370 259182202 661347630 396699658 552602374 939998302 156253260 246974658 568083292 606373562 882015614 901305362 104525384 599585942 43764354 973269132 212878834 638630580 162584820 156919660 783968352 586086342 67781752 89957594 201549480 350657744 222542790 489010182 377427918 116189524 278005494 554550798 410551798 79618348 758371344 976447698 186537400 689168128 397795120 130207872 890238174 89823674 280509700 15303502 20013496 889581074 513042068 305519004 358851444 139113892 663503492 134634286 7842330 580010120 197230428 834165858 197257776 131595058 427966230 950640232 120174252 791229398 650182730 772886364 465514132 502848954 850236450 951432238 120841846 865032032 27943312 594229864 791485762 71259718 647406646 200372538 694126262 95462432 285502146 963943608 391744762 657347960 825836548 114534230 437151376 214692520 17983904 452387308 915921690 606132652 425356942 536640874 775515018 76112450 284060988 889629424 791701412 812540980 656736792 339537736 922407900 583129164 633629608 884601396 811890692 286597224 533588816 393826224 699744880 920834248 479573588 564283474 529738902 879578714 7318790 808643756 55067414 933809436 936781822 13170426 767934230 377582562 513006040 934046074 819355262 420497606 639264520 664871456 99304362 793645600 982782726 945060822 691684006 594182262 26377680 816410372 334818976 744751686 47251412 458918444 540559092 956865604 681621142 271998140 982078030 889880986 764780930 154145386 14373154 216994460 410358872 363068110 624115270 468780944 475845882 336765018 691100148 546454318 953255400 33330474 798700674 573387534 603852346 838909254 349336870 34985858 840084690 150993690 517997086 557283592 718778848 804678714 323615778 701773486 210136618 334365224 450073184 31920354 299980988 342947732 54467836 430714884 220043582 58967822 103165112 516460916 11290548 22757926 515280472 895179548 269890706 84581122 357560316 749194754 70311232 678454116 817623068 630904876 98539908 979033882 757490746 982591842 701962388 407031140 411490402 723672658 846739780 890602556 529096582 492421178 462471794 800477834 736587608 922000554 663089270 412806236 990889620 672132394 540576638 187753880 114847950 746604024 974104984 186067660 4719406 877085934 569017908 652579794 583699486 529852864 422798744 112750910 88386882 891361686 402127718 998906672 59394638 658306940 644435990 933690480 409111504 173668978 546524244 463009054 981706972 952409920 997911548 945943176 380547626 932549820 897562996 197545246 61286114 867730252 68227512 224199354 541125238 478704466 699068464 387012126 580229998 243925308 774111922 168817816 306597852 576103328 918289284 955267206 973246512 838844036 665169710 664560290 283219212 382091030 197215626 699573830 978783788 120828194 168474298 696835508 829116822 136787242 276166388 761786098 784684784 75067238 573247764 915879230 282552908 779559922 583256004 36474514 919918548 209407348 663664228 19526042 775150140 436055476 660537356 426338254 940225420 995519796 860160892 629327090 848661766 784432712 753513132 262316224 678886374 736073932 780488256 601238348 861838260 660903128 960841600 971560376 717952270 872227960 747669172 771441060 967329538 786630814 981801906 670066274 745446740 511002954 687059296 728594954 285123300 155108978 197799084 843236760 417511380 378588466 285998660 770619372 710910304 543354478 364900526 344499536 65541656 5042404 693890050 913367362 803600830 167255418 822271350 714117026 582300400 369737834 622775514 105413194 600177746 508750194 41712154 859252058 610821072 735784190 378778584 904047938 747866298 239604222 74752616 59850376 338250608 24055788 658002322 314957864 926348226 620512144 150133768 572539246 532154480 874351062 27615918 307941558 660788090 968003022 91620732 653558588 216076564 337156238 394801266 172772132 906100132 25561840 233004056 565312930 81456522 22301802 115051162 103060832 963929140 714110614 650941596 582400766 141029286 247108226 381987194 971191244 915298016 817468638 678064778 636381354 935535582 374506374 491215460 821295370 777252178 758950964 487842102 132449872 225955860 166659300 30182806 122826826 759698714 918444194 863407760 904840306 788548418 484227306 358720238 345049410 385264006 165484640 683034456 48725602 529970826 144594864 484927924 286913914 76783190 638039780 760106018 520378054 291378928 382647198 216308770 562429986 650363756 913067080 106001870 75698406 756799602 883481056 973692844 821602090 720055472 516971074 214120036 978213512 728975058 308009774 976637002 126110270 515771848 767718650 258040198 133544394 140012552 90821306 809029642 70545266 714931076 219905548 93359594 879624150 731010490 894048896 467596448 505509258 808535532 538624628 779240222 142017112 498127256 521926336 244753100 744655416 567842246 525174738 865989982 292919170 233901644 676496698 670948980 975882646 735154980 304247130 114702396 904750834 75453364 404430882 394137072 638446978 576926628 343478060 289830596 485558986 159914624 971288566 515997120 363216354 298202876 676523738 10872244 410984566 905720716 313316414 281663600 400135536 875058318 671519378 626828452 550348358 764516222 634029896 331350892 5044344 819775410 71899792 337872246 709020798 972461318 451697044 88423680 513066764 448251900 497513770 524014884 852156864 986109866 943670388 332093570 922732050 675419672 367080584 292573296 481816012 949324910 90577064 261558914 892529892 355718472 190152012 55026866 369296984 130487638 376357430 21450604 481831392 746849586 846328276 749887366 100475392 140390398 563258566 608597268 125989336 466996318 536889588 544548544 622555450 996037012 968077266 814550036 629921686 508308870 904228416 415876430 267630142 632339094 522052510 131059290 670604636 209853058 758535638 248677784 707055836 713330738 363489564 760743218 638305306 976463992 9602806 973329848 550878398 242797840 514714286 729199282 354358768 87481162 678230264 674981474 228009266 911712264 888315578 332264284 306803688 991356020 47318912 871353822 204104536 860413144 371665236 728793784 461631050 313984672 99011888 665229244 499236976 807853996 973807786 890373290 963984916 893666758 906046428 236929102 154655782 46259414 169387782 55734650 166465964 280497494 342012394 99397376 228649794 838986020 965095514 562377348 7613064 480622882 696129128 283103844 278397270 344723052 861958990 447666396 521398258 137498958 50435096 744112092 87416414 917603448 48737958 89763768 619612124 263799854 156253514 455883790 604146320 35589870 864236868 503724720 934527448 814988694 51412610 678859454 44517730 6929956 92749564 821887272 89455780 625896818 876925346 200434000 849488770 560480590 339865330 326710064 331690894 310423594 720083140 2458772 598095214 868478850 950372084 316842870 605700116 510191406 21570552 932652120 820448392 24469366 232758252 281791508 997182810 861801172 436716916 331715648 673625396 650006956 803183346 861884520 449862474 337721608 895426252 433474834 234274956 775292412 740713738 682683712 628752190 390599000 311676920 578828552 194931616 305798636 483443824 789816010 724553352 704636904 156755210 364611082 143396876 187281932 474773178 454384596 285559696 753323130 844999180 139214028 570095152 135771786 629700280 23755152 433043538 384397822 638830862 904420364 968643592 630367406 510675542 475896754 296100790 786737100 746914032 908120410 874320126 198323622 499110510 804403026 729157944 325141698 724603116 319109204 594024902 202796940 749024910 892102302 6666940 482122700 453830958 322295250 190999162 480749976 321490726 656113898 896220192 648767284 724323060 513519110 619304954 774280326 476380762 718162566 158339020 339170192 285043892 348388276 700059774 532755068 334200560 880009390 302765520 792562460 363333152 982354478 676227180 498639852 162712002 908591298 74120420 925437722 475353240 71143490 339348800 577011640 832248280 316875660 635829380 593306494 665004648 716344008 744687210 235734770 186073984 959518702 827517444 694655492 225397478 7047962 989340748 236470342 167235466 721975632 253651894 809637736 498647346 266082120 336946826 282995308 330579018 7152798 666452574 350366494 585950366 605068906 219872958 802151658 293722246 245558122 471418720 532380996 215832982 780191008 390802992 37668970 141334352 818586062 927250334 988091104 904264764 166071412 398212528 490530748 398703662 461849838 207625206 416995278 521654496 791097298 684164708 670860082 829300806 653737054 368668560 392691438 187201366 995505970 185520244 458495780 52296156 266682290 180206004 654510358 289699996 34373608 43498200 830884058 109656288 785253210 368803444 901356486 340544906 318731960 219548928 202765370 884092866 398087484 486820490 378634824 697417284 737265534 940533670 746415290 107665092 264486260 741296300 818747226 829001236 568070490 273287460 696950946 596671952 485718680 456474490 498337504 108030714 813335254 700877218 453364252 437165548 792715926 695521212 299160098 714767804 399459414 152552116 924089480 285588798 539182792 166404892 101840558 950374390 651644884 231936616 987366352 168788214 18315456 516728254 833313784 902329478 344067680 904853512 192960186 625117636 311289580 21542960 797389182 132332192 634281192 237981816 375389318 124451152 809623180 225497596 90446774 556716658 592753864 594165044 983601752 680315878 295822372 104666324 44415698 540326748 737116858 908921792 402071848 881716542 776564590 968744398 95526332 641565464 115573840 20989066 333312172 148561996 444472858 538802720 322336346 247555084 72400016 472663732 881552434 902532652 355237138 825726482 304979890 619044992 597897784 288263728 926946436 764929804 131807042 696859800 457090420 466369402 761485730 465073890 780566878 222907722 119223008 14752708 860275132 313090268 794937082 736322150 219071490 395536914 379544392 22358622 591753694 252908110 506678324 334924442 665072776 172597198 431075772 894561144 731105154 518738928 45368328 390748202 526326954 36228972 602567936 241188774 685643894 210768620 850276140 792652434 489517376 65788296 247017604 859282648 465832366 789388836 889183868 326641684 205574012 64472224 693462850 105251888 221224646 49678260 67201040 139138158 667638818 246366084 876445432 333297772 577808738 396007976 908655588 678000304 738817898 577035078 161527846 705485962 790322556 796573736 953003940 975879278 102639742 150358408 881542436 925003014 391577908 62533226 574965284 951553900 668024436 259307118 963230118 739364772 921176616 743731668 528072206 930896112 243997680 235775596 791144930 278780888 463572934 310081208 532361300 630122466 556167254 653422568 100328112 95559376 685656804 250657934 824489584 362249134 112565120 274168256 518438758 27176502 916848840 375456290 208404538 484252406 33137072 594678842 717973392 248917166 622342440 605502354 68293472 572807732 997339778 634934192 682553716 686673312 209757298 902556702 929944756 300824906 228161592 522351028 534788450 382084524 450780998 246806042 122743966 132173490 67519690 934947404 312054692 322241418 367181030 206567822 682931082 139489370 873802688 177986374 695802258 793622448 993545452 617415512 800487798 529985460 783676804 898611086 482729238 746003518 353592042 672302024 886578170 72179042 781848948 379986486 384720272 390410276 958217636 101810354 526376698 925368724 276636328 30519802 960240256 517123306 200787906 969211036 577024954 292605040 486305634 76098286 364073586 430830672 264302048 824283796 292935196 69918264 885213000 974137226 868811728 368334284 715821664 976790304 943022456 673704786 316982776 814054036 572518782 398965684 357513990 89489122 505506568 868527690 466584708 567229960 595559658 991133248 787857088 180606582 224975166 78923794 143108104 448710490 336459998 800234018 558278882 628782640 874652874 922872856 650526048 839723512 119910182 994811578 751393004 456200834 860585712 237304936 558007892 159859840 371361324 458789064 265385712 816178622 816472148 386035678 940722690 333376772 819286416 623789246 334723826 748878944 303264592 50478316 10147852 931964094 518006392 771485926 413620508 202914032 626469902 282240152 685502230 731992888 33994364 576394664 509600370 964186400 613645590 476563840 886545184 702789712 220215280 35709180 521230026 129144938 268283588 207984162 652344432 802978856 623284776 642744016 121195274 222996514 102949372 718526076 829345688 670836018 693421056 929379508 765314720 954704466 857329994 372929130 41771544 870720388 304730598 887749556 570249560 726920678 78251330 158299788 720060966 229670290 82776930 288193922 756665626 463500862 798621268 829794920 923097274 813667012 482978360 536790358 558724848 31835748 569883536 499443210 690891014 919577056 345156828 611874200 737396728 536155958 641526442 966891260 629192468 157498110 172736642 590569164 646429250 398949178 583911612 211878888 138744936 303346364 216611080 328041264 491126456 228573904 452919882 38089614 136833574 483284056 577902514 754588842 995919316 80483694 454692698 544900674 845562310 372773458 171717406 632022978 290005782 173849110 544858924 896728762 884337258 223262708 517435688 95720974 671969064 726403320 16720670 696016828 478905774 989452600 961813138 287689624 170440522 854642238 697115868 852458054 850529088 670957076 342700636 622715768 875002360 658138866 848248046 757742928 77687810 195508216 910197182 274318632 131901086 159622208 808682602 139401822 257733372 389919612 319795444 589616192 204683924 776167994 774658894 884247000 734111606 659858014 347843412 806646308 407435860 852327334 326746698 825590272 902658864 707275430 885109602 425297152 57271482 834886728 132112982 257967002 995422222 233526946 698564076 828105176 282334434 841093700 403040310 822992272 691739008 713411862 556749034 161410646 787802616 798622682 111655652 766871246 986280248 212593096 441454674 270020544 116714610 863788560 836577884 928165222 710537458 635907368 107232876 45992218 21241944 724880334 827887250 916457016 103526440 164294886 477393450 408513578 608357784 375300536 173306 821443320 39309764 671373812 850355916 875242218 42019908 220060236 389466896 195401522 789255788 629628188 909752130 904544358 22990080 257264812 516124096 958283318 565116644 959247946 553249152 859111590 966554076 733915700 463979614 239675228 946538108 136885998 538572780 823130398 57626554 19985552 507703652 800909648 215482742 298207308 789852058 351855416 684750564 970279004 726106852 182889622 738087674 982074360 89378620 587382392 269629130 838188530 402658158 341171164 204390112 706719048 704002080 599432262 198539058 561747180 150981466 920960430 405194892 313447504 128656586 715137026 86406706 494734302 149935448 206998638 442826598 21935492 806548358 730954386 65009918 420216004 201857348 236884622 135495118 851866924 624331212 617271364 371911656 408870292 383284780 367391436 781799748 509486624 870577216 782182908 504002764 81277810 42832764 961967784 179685646 81459740 181898980 90481676 350405708 370551660 75209896 896596434 446700000 25016496 989620194 706667218 329774040 295014988 501146872 278272390 580804018 51984508 166761428 872327780 117420580 705350352 551462344 358838676 507531182 122600440 864100084 30886506 250809776 605927894 368129350 360062098 526808166 689301966 4604662 340122924 328118760 553988298 426466020 372869224 437742428 649380058 684357430 527433888 134270872 727783452 741257592 136538346 570614492 705958024 711932948 743492756 611308654 325468240 339745738 794970788 662788354 83093320 884854494 900858422 590350612 249459484 448460406 659480880 727750456 158331256 747296178 376794156 187070304 25715196 674625224 373314956 945029492 572913348 827903758 827171636 825904280 219112962 515623226 657122760 460852206 963631092 386883722 787589076 902717952 308340552 411457136 371598302 596368840 468869674 341280702 389282952 381715192 647184672 519177454 233120908 636732680 514935536 598003466 600367544 860999988 846109934 184401362 482066946 210993832 245166686 374190130 94785776 42566810 574128362 667750454 479571356 128503380 637840544 173697274 983553476 689966080 647906520 837203178 787035286 883950618 295939464 217049950 923110694 159505230 361658396 394545984 430188480 333116300 822924214 52226156 690349974 473275730 40937382 692697506 390970226 403976706 9053754 46292088 680745626 357269276 875384076 404501582 886119262 977440466 12184180 397399890 997180118 747438596 828631458 991004414 833651672 611743134 691830764 690535572 169316064 101782030 930862086 266762652 263592734 281732436 295269482 573751996 928620762 205635286 740936886 894073856 674190486 791599292 398368488 717588848 408929626 957449592 556008202 74474610 174234890 104907782 953606000 429574090 869170056 766870104 189852214 106208754 651553076 121250018 325586808 679392064 310454350 952010598 306659536 500378434 562054552 184518070 947100652 643069584 829622250 134029410 959712498 940896300 27538628 584929278 165384000 821946104 57012028 717231642 470888016 174079384 524861728 302888524 400011972 656889938 677105608 60301148 840876902 961082570 799891334 18949630 370640222 822129310 91668006 8759236 907439216 172502044 870132160 939223390 959393446 768694700 432428414 312089682 930753276 750645902 75842756 925430308 481590264 846853464 624039498 782632802 459365504 645283518 754358496 116799940 299538636 320229458 580873574 533266262 672144540 671472956 570101798 436235742 336228876 246335212 554271364 859127842 229886740 402372078 337370800 113745666 104132846 542719578 165590284 637640766 624458216 190103358 594708874 891433924 112399186 464864898 999333620 329952682 56413704 859936760 610370222 388832708 802175816 643429314 710377120 832673292 367103964 560726696 715039308 738917118 962379296 789092662 611624050 940818250 370666098 185501980 688313118 1615790 656256608 377584814 455168638 429907602 690561096 343072068 116271852 684616076 229568712 329595044 993318694 78901886 724168940 31589244 313230048 323198708 288948626 459772936 443519854 530529770 687343974 344854020 783967294 245185836 568594424 721427842 802373538 76035476 530985602 527870602 721241296 845894194 518053222 335891104 929076100 982157514 229197332 106992684 146497446 268084038 189218460 446002384 482286512 313950006 249820976 739110308 845277704 821026028 690717728 310064100 419001338 418928376 710209788 408054318 165563894 516404896 277906336 216487246 695105912 283412044 630286460 510576530 989017734 43857510 81049186 448459188 902704110 145460030 711577030 456207506 457063148 368525054 317772640 944633776 375521232 189010004 459289388 808129618 472603484 767156350 379172512 549169222 281246112 546667180 826857422 964034132 720998052 849339040 523681444 990895940 402745684 844964296 396284666 263817266 560786424 476590970 874544708 567987356 425147596 28435134 937473666 32022442 936953096 838228788 733750034 868525620 608770096 917914890 966205588 882618228 310431168 538356546 286104288 808288044 300697696 867420922 688022560 186520692 978229710 432941444 613169864 831908136 789773452 749631708 88543996 316525342 531590992 42160464 780102870 845228804 216577730 227827252 782580540 627520988 4650664 896078710 289730360 583251290 861514296 48433006 148548448 155035646 351706590 105788192 908471800 200369090 13635062 936280652 697908246 738964898 962519008 375733520 102987584 679499944 4189608 990158622 322880758 875300330 326048422 531365214 2872762 266685042 774024066 291504742 61898158 724934536 646155200 147399992 790833680 276746574 570097518 172110558 649866240 870020048 63149686 933626720 940758436 569164090 370749804 305977042 172586038 265064042 805250518 904271996 994280832 443273580 487298876 533406738 909009136 395594554 407494156 525106912 617241934 639721790 481479958 944575204 807467826 445307368 195559648 947940534 440853454 641233650 471680208 281960876 77753856 289190186 665791018 726251154 573979272 982303146 140213834 207950100 542036104 979532282 765052198 166885170 358062260 373719824 525331876 86275756 905412840 266251828 629618074 737087364 838340508 353905960 211518006 787039796 890822334 656143714 811707808 20206106 116105502 368587878 356502840 925135408 484832960 574231874 55905236 274171596 16059916 769810820 977354442 233554268 414447082 562136126 69180490 219507688 256404798 447305034 211267412 447506104 250640036 617441964 125749562 880508502 186203388 795844766 641745894 142606242 46136146 953835826 791827010 464255538 475668368 584501716 692836242 398307640 168196312 580477244 927430184 986492714 372131588 859063874 134726318 344197454 144547240 483411714 673773994 864273832 424657402 117129890 763893146 839688446 2502874 946225988 17867220 787126482 821019746 897890430 483307440 300409440 775563880 675115784 734315240 790653860 86032188 372426664 923311178 973006790 497291870 885003436 287293634 203786214 535388930 199527000 876055108 929848456 402070990 972873010 931921968 845890634 789126132 781106422 416965206 885858036 576870912 139216882 772828880 328737304 632538598 752506354 597811356 140180922 70115604 578718658 205559612 284453334 626024278 240500256 484464134 274745658 17735998 869381536 571279758 495899470 249619002 902371404 975771118 518411088 876184952 489741288 386681056 449294448 513487004 809265172 460110422 562107940 201596898 946850732 82603994 687524970 169711538 154419190 598946710 459153446 198287534 837176466 486105520 198357950 686576606 384622708 554812670 170951626 415292452 484816036 371988172 955170166 431876280 441566990 198749760 968232500 30376302 684600686 996315336 465557160 538218854 902047798 665228896 950539838 580845490 322011592 202939732 485991480 243224776 811472262 765155240 139202804 813156938 878692722 255038982 403780210 355047656 993078586 403470546 386843294 622050282 98144976 907886226 281602644 712967888 425115932 913917564 144714268 657678702 159297406 765007722 688575654 28435010 111061624 866690696 786270524 667077106 580432466 840146000 487028220 894728308 73199464 926228580 710501196 146619604 422710732 189049636 592652200 620394420 106100684 195102628 11871254 32350792 147094992 448409168 775317616 383410212 201751586 615673040 570848340 1851732 525374464 325473738 631124000 496698160 524347608 308836304 26054814 187187818 92506008 930496046 899256524 286443678 389438720 867625990 476978664 239474362 497198696 335620854 803982694 542970234 505967620 125907726 909244286 924929526 558652180 276751806 941678342 889555846 792383442 390386520 902207108 332264646 617810616 572037614 966757308 502799994 999475210 577265186 184753722 230165302 820987826 86276962 864466770 337178380 841472796 34837658 867344180 652932486 81716510 203154198 763273128 486380162 605142888 7023910 801564240 156799484 972499946 570902344 448883318 312605254 696323106 330614498 956875644 455483346 932851386 903165486 557056166 511522866 162680506 233411976 715441586 308377750 503868632 355532454 780522830 471650822 83370854 404647380 871739304 424731706 91937786 112407722 157126738 447490202 305703348 32126330 471907848 951684136 347905674 603182848 410304984 239942086 480554684 249359540 593954538 847325692 859311874 595770154 16520136 807145680 979655704 164547010 738375744 971711016 446703422 711887684 821564232 289267800 427622874 360718526 70555784 361933624 737150932 273244466 312745112 128071296 499164664 330163424 737483204 780322474 844984002 884826258 283108896 123249124 735160872 719076256 133899688 442606900 278713128 653148804 323194180 173701050 905981344 69736346 594420258 710740104 235860766 605847678 13150556 631507516 332641502 494871912 509729740 505392350 147991392 754580530 581837822 821980072 915169284 739507348 927360030 578625268 232056450 908999222 435574226 888978334 105421818 582216236 642631866 719232584 853464508 839207194 839495860 831232960 126752520 585614800 644000396 733171648 125245262 867052238 307541172 149729940 611386124 773935432 929086328 287040972 218180800 105199866 744054508 148816232 450089224 187373584 134284562 209268144 663896084 264710002 966810808 903965306 585227830 180843760 178559916 494496786 618353496 818244962 914195190 828978202 524777150 882230382 377697896 665394378 52405672 597748912 987325024 495549476 12965988 152506128 56345908 77450214 852862956 395781110 410552340 303206412 574979540 73563820 670658002 701599650 613182408 730923158 458407526 2517296 774915760 411247056 54938512 443086162 395905620 847005258 282638106 882750884 181651458 549974592 351300316 914397564 468085864 517876366 284766690 717422686 207620736 1249050 236887494 518525474 330292808 640185320 420875494 746781186 911941174 334505396 940955156 257300640 429290386 589994532 274199540 252500610 591299722 227524520 852236524 624136876 490892870 381405020 254202268 494153342 56204574 907767170 19747894 209110098 216238058 505351534 316397222 444468342 363864868 269423580 694991868 893560964 451299248 166552122 279285682 911298682 238561660 756425464 239877422 534066676 353419300 407915792 844971716 337708440 736045798 112813976 930348800 843215358 204566784 650366806 961226476 395459154 121376934 26081280 409223648 183868540 703654352 239823944 173493102 697579178 725767570 659140352 994476354 418256358 256253892 477228000 746980774 730410180 584227762 881273004 67599878 890110164 28835582 637503038 25105428 597918748 605229826 488777604 278659196 582887956 384154658 944491016 925862758 574138806 933364404 410336606 534482250 402484288 339245484 369848452 834915276 439533018 764561878 768229740 868120722 40494162 707588912 858705188 405602902 656653878 497525432 285619886 982709900 5829398 231019868 850387138 307297174 159314128 468542396 63841556 306994712 792330962 399849684 942127672 74350942 955075442 443615266 635610956 90597944 860131614 438035206 647701034 314467678 431972816 823815334 889290410 489786174 748920256 281682208 197775616 317347904 429969284 379301246 711736480 990116948 520812178 972303122 195190142 18994020 189265944 117397422 16943350 173644772 723798988 383114926 813720762 731500012 699061046 763313480 496978326 82925714 959452584 105945402 599208194 442413244 393016262 58406858 746951072 557883182 688685366 877112760 378837510 386852416 860036146 730404494 122849158 310317196 892253664 508078152 123254964 786966224 840332356 934836654 920236184 212118264 790125822 212320022 394492000 665631816 123854920 111470562 355050786 907162806 418051816 814721144 274437072 543209576 350069166 579718642 893406258 701491404 601348606 143586550 529772580 225018304 879770626 184567676 82559888 261042686 38512612 154359976 107687084 34507592 239989262 585318626 821869228 945876614 232064110 226907430 584820678 629222682 187007754 445407920 755355468 358706166 275270522 369805840 946100002 798312996 108627284 508642902 605889458 158220774 642531952 988773102 208714286 476042712 489969566 863355096 548654522 543797882 754700740 142703294 761585748 81811000 546022748 544744786 831289212 32362748 504653340 965269076 832025714 642689860 132949596 606281828 907877378 758582256 308619812 121653130 237546956 202656576 804616758 309289554 621705534 199989258 8245624 179107962 461409226 470704174 126676800 827755318 52995328 250592414 3053166 795136586 539521780 700048324 864181294 255683374 81125056 850104876 168203094 707689964 857720874 910241510 455864088 124976336 966355788 519976038 134656016 207572540 263998552 701132738 665043562 570116406 466011046 279922874 857655096 572658706 784341862 623377450 932218846 540920246 605213694 154936302 310953878 253995978 691369472 358852122 682964494 150550974 139172842 960601330 515597716 782407618 380533514 99204488 527118618 782152278 297288714 510909574 629872660 14989368 870422920 807668584 49301420 4379616 37646556 758898352 628214278 316414666 12967206 436411506 848600708 339415398 135561914 545256088 234622780 996939928 152300214 543646760 438089438 6363448 665911556 164463262 788160986 654715962 602523094 902688506 141520540 201507910 86204670 177942544 531597014 568302520 24716694 26690292 665754940 11808214 201970144 32785314 427471420 969268510 864029624 124975832 930221942 992154246 403064528 459010494 171665216 948273338 862905420 292299802 530661430 538194262 143962184 379917460 653760682 980492856 593913304 248929134 960419440 971187354 330018738 724522982 332650372 588631614 928404288 44569152 58553918 453317062 957977760 21656194 940501592 195139272 8123414 139294262 612683026 266333742 804661180 829392754 677652848 480835774 86819434 440374376 308258374 977568976 862578806 486316788 444425040 397216966 323576872 740962294 49316812 958298876 154134642 278462132 713115922 492361236 714771742 300286072 519263620 460441434 540075290 907204820 573952556 107503546 662067794 87578314 968621860 98055040 702069918 599134514 197677134 823361090 724289846 806688708 883574428 828228898 664671590 965894210 985539192 750811896 37215074 219153090 134546468 323116816 622566866 397260540 555894714 455346690 938962266 488069874 992391058 387554480 666194958 922137320 975163640 45608524 999454144 76027094 107843152 9058928 632348852 307942672 233730090 744307610 445472516 432015868 47613564 78234532 154941434 959905510 252173590 978670396 180052098 170201200 114403020 647178012 684563786 101581996 12182484 18956752 944946790 634906362 506965090 610561286 876316174 710288350 856059602 634021430 387741212 281252706 571343750 847623328 51377482 636026510 56599928 323414820 407514676 89524708 759263882 587344210 789077514 338012592 139306920 231385938 25452488 960600366 353314770 158022080 136023846 347816564 551882642 932729814 763320220 585612736 777109854 474657684 649258946 223802484 253498174 780392146 794343670 623494942 236192668 404825778 296658280 794101436 855687932 824049358 749953080 647979282 269029508 593059114 741811340 556993094 82713538 69063108 152109158 8895016 741226410 723286906 982736690 811700500 775041166 764875310 419298456 816803486 361748328 882485980 885632948 769380304 489258806 331489858 223254418 540667704 459118456 135783088 552347636 597877196 145951276 98470658 94435434 882944700 950779462 997034792 384427886 673244136 675840844 907930600 171533984 411641238 59850666 968242412 647465452 496390222 894076796 957562134 54158198 196519258 475714094 156125840 531475524 234529104 366644828 860427368 281344498 209827922 731535200 641912896 256979856 504875784 148229260 416402580 526992072 677681200 879319278 59641966 534309882 52291820 676916348 778011064 7812724 953358088 776997790 287449934 306706674 597662228 308467124 840932838 265997046 793734080 193229232 467716538 286938280 418790776 400297250 559446528 656665774 93390508 549159396 116108874 599459166 131748128 954665502 539135792 900324290 419825956 2220492 13353410 526842220 591833290 375387074 94031564 690892480 471623284 829445228 286593434 832719394 914553976 156963584 78799616 378279452 129045700 818281578 936102670 440463410 192101666 681633642 814510248 92451556 13491118 571202626 48645828 354413022 389965144 850060640 278316796 647531282 862206566 366300354 851406058 484614074 185580166 276823128 123923714 210801308 910798824 232939228 601477654 224386384 400693664 26278478 651989370 813359882 313252132 272430508 986887674 364838004 830479116 345410726 887549612 422590806 549001002 650199812 308157806 810001284 492101930 38653972 561403728 290164938 653523780 508906996 693427842 972705310 781901286 469627844 961355174 458041820 283613930 49392372 675168068 314588384 298876622 702827010 564905002 174606942 304594604 138208810 267429562 156031226 606198520 753221296 74437884 203454212 774581036 565666570 391609524 353415510 480030322 445526348 95567968 543804376 949310958 811576704 951402094 491532170 406931644 259124 845029682 915505468 742454544 836673818 583541638 361276720 902933434 578555458 607320864 560953012 281988938 761946690 508967156 324587770 680651398 385592140 406895446 885463272 547812142 850212496 974313382 622331700 946221294 948132450 137156874 203413072 512309640 538133244 149134122 537740392 679148836 167860826 239008998 247774288 883120822 534810772 514339746 837937572 328109252 655215114 999876564 93940796 77679052 542839762 62219566 454122882 376464392 814942628 444172774 477679452 250614018 198317104 497887530 83856962 640839646 67819252 135937546 972264972 152790296 767539232 866666022 628012006 400664780 456655656 83538154 896839904 631788758 996774786 658515856 759611388 652328164 647331574 857201472 45851116 146955576 452391034 79664424 644955752 570378580 285906452 315035972 546056640 468877064 29483868 86563932 986455208 405678668 571837252 405686426 419964324 512963780 275971996 334005730 454059740 670383364 941970982 792277386 140444224 48746438 444959994 289963570 854847386 458741060 786951648 184500384 138917986 248569396 283892484 513894398 843535214 787863954 177841648 719988056 216016954 694294694 686477836 296867818 574696728 520389558 717842582 902433962 855146116 103789340 447923138 200131270 851648190 69685422 391760424 251179426 280097726 842825212 958195082 622007262 178798706 818872576 281892412 706969080 467106006 704203924 762072394 473212048 229193580 885168422 799878590 815137090 229676732 401226168 248333692 76190088 381264462 678096472 105762248 686609846 83968864 479793592 910514344 317329562 938024366 194298350 387647878 734141386 273884842 705513094 614351382 560154768 33228942 227670458 945077548 129339242 837005806 354953110 840539186 204516398 563230160 49831002 526454656 784694234 97622426 63909042 270565710 725099044 845216368 713116158 123917236 734050754 712538278 475405594 295396852 358906598 530590660 471596070 329669904 239868716 738060426 228898696 124460978 67526566 333941200 154835320 442248090 303280630 220572524 57542480 8861854 913748800 759992994 485095514 724269152 330246408 993831276 898013272 479374074 324951708 288027604 774006132 781229932 797470426 657639980 336001496 72594302 726515902 472851182 164185466 496252292 800028586 981273942 516433038 762692524 729092672 8740862 216618798 925757396 355039044 363168406 621149330 136174066 472715042 461699882 434269530 729700592 600628084 128996794 494269484 595528830 294598820 27686186 81953414 951726214 572747204 683818026 252326602 99769922 380500996 241600532 138660140 868812470 65967864 194681726 811119864 239312102 432481978 742166946 518708938 907073540 407916094 431640432 413508184 245199566 875334108 39243334 882701968 512802370 569215568 542430832 875403210 725717312 388272926 3643326 266128028 638560048 799236852 497489594 13583806 28440112 418154536 634973262 825412520 14231554 327696794 720825994 509790216 597895946 386642822 559876720 420327646 870916452 102408654 153324016 981766872 79791796 350067022 441566068 200651788 713693554 920024452 595700820 395400312 6266 813652836 507324886 152740872 354610456 658620960 73485184 945368428 333291810 630090264 475827896 522536618 852577186 979711276 202066744 940492844 311934878 655546170 364932688 258606320 715943102 158477256 527282038 450147636 144012502 191373976 742042286 152312368 949180832 765084496 907450068 44201272 252942914 694602700 971481016 56622862 42237612 373147040 781926380 593425768 427132422 674989368 409680826 588200990 394563406 737409664 277090024 153125240 767522982 439805438 153802186 156457634 811713114 439751860 143448530 722091236 850959388 108891960 108748876 27647714 322960084 251794700 831565070 173650006 167277734 720688 913329892 600951912 874685732 123842802 668897750 54087434 150328788 320008334 39907508 996499476 114678012 252115136 93536920 5922322 978471794 887028076 315895588 738304616 640994960 997944400 336696164 921692392 158331956 826331014 756453388 403656768 197089316 177279580 450969338 578544614 871975492 547321014 110126980 67805622 693695018 355398636 37164336 278632618 864005310 955605904 535066616 512260290 4606524 562147324 39368866 839963630 244409550 467536698 663144068 486206638 424914386 641805166 43222884 321873390 734823032 637002284 563699446 269657012 938939020 828305122 558447374 36164344 362002488 725455556 399390546 878391586 854678892 911202088 119345058 333739650 110705584 371099934 362682436 762658636 632489428 679269536 887111616 416461916 258396874 598298824 992497054 102402678 372759104 641454764 930773650 254858428 746978678 421426226 169806910 665559120 675101246 819278612 761832944 740506162 881611342 799982906 205562792 844726934 109258356 636307358 178580028 571846336 588788764 387712126 661914162 703289460 382767952 504611382 227133554 235990540 613731964 913535442 971071736 459830578 727933130 498961516 171353102 558203086 852273118 968205828 190538446 750270992 159235624 519734496 214979038 501731140 276237412 135423286 498352782 287765516 966201120 776012956 71819528 665863990 126961356 421492614 247120904 683227466 660453508 358236428 909976652 973699344 277857338 789777610 253144156 791353700 443296800 810790836 490451224 809566136 795358884 441286650 964007852 613289018 418187980 497738740 470998156 353717618 460967556 897540374 406675510 333435708 198747610 626793458 740898860 582104686 99408080 13346086 914734098 659151874 832302514 890606168 218769522 673458452 300786028 570606712 679168854 175429190 940045364 698302038 906992946 66680566 218907844 648138370 551620374 735603608 238346140 46247856 504495940 567085756 737579514 748235160 552203198 971210132 505731058 371423754 335092838 608442668 213901818 674844184 440269910 89183804 922731236 230657442 704059872 755444844 473336204 907383186 375206090 549924056 624931586 203252748 288824468 104490090 457294436 908433666 824061610 520454142 886515182 834373688 336979990 226081594 627207778 332401502 619530014 139605154 460221952 894310082 309689126 357910704 89239828 247029000 3419430 767614750 203898744 315978362 422024422 240955280 860146812 786553680 649082608 447637458 714941218 558084346 176336800 880565712 60360972 828490388 753501496 855201598 100439926 853038338 17413092 463151194 645410610 507968986 542617230 881529766 229621660 827152624 798396734 176257796 652946134 446044492 797331414 508205642 115265306 444398518 547751790 716218540 262573044 618431804 778626614 133106436 35351922 816081194 829013554 369313422 286335950 613362844 41555574 572098714 597047904 921226770 471265612 647511122 321257750 275586958 656245978 936045742 236647184 383934370 861119480 114876408 940257348 686790978 613329948 536086846 397741676 317089166 955626936 396996968 936029848 961646420 179705108 202033316 745535596 632688588 816493624 184924212 217898660 297217672 7976172 204917810 264592862 285279260 485527378 600064738 527475006 421097446 430716628 282030124 88453116 924439570 617521732 983080392 908443048 446322650 584198076 23951080 664249560 68109646 694425224 840450732 866465584 929980454 190000196 880396780 308239954 130326812 223236386 413217070 176195406 160537676 470561672 715358092 815909924 46241884 783497580 172380226 402752784 455959748 127468232 844007682 156036374 514688156 643418032 314479622 963915064 28528532 545251914 488412080 714010868 173506660 317842842 57701630 46971014 548434166 976181144 808207142 739528562 543614202 524566156 713129200 148096330 202018356 984939548 819950260 616362010 190976180 582167384 492276002 947527804 211761088 487909606 320795216 99845378 804324312 775853456 787642900 421268070 381369726 654634642 41215730 100743490 913261828 804513290 243261236 618158078 565670698 203608354 421707438 900265932 233381328 328580358 652725676 720161458 829742250 320962848 220630474 586948996 199649586 439178356 141379926 415330556 995367438 104056994 704912170 17367600 183538138 68758746 223141720 471123362 651022040 671300582 98884916 453503144 192529084 533258026 8490396 100994566 573330570 864603292 450052966 101337354 275014474 232536134 411364798 705424590 953679184 143227734 300029978 756189670 765068908 62153052 150860692 948153438 804037922 444767838 210098084 990490540 730439002 540567146 34882290 753241804 723048770 404086540 186914282 599956756 194191962 633410110 593171518 530630248 90353776 388886990 494945484 119069494 169610948 643660620 837549330 737278740 45245624 48829432 293075550 965797794 882898866 546060986 246877872 695921660 662809530 744234296 884824508 393300660 91912742 891026788 516902922 581044972 105028704 237455950 815908346 998618736 972269530 121786260 822903596 347057020 987247094 324743818 419522276 126841672 412664730 606962410 234181882 56471408 39195176 469429372 425107568 694440614 421795438 125669660 611658488 894689838 659471568 36863594 713129052 303349462 272877600 152622300 621097492 692232606 202675690 716665092 533536304 342758480 547302154 437338358 776608198 667123862 76666846 506923482 445846206 37481818 124225716 966122412 795812410 72226944 173722296 136640394 537320210 120788656 220177028 112145608 300169704 964361096 477289532 104745060 221574694 533387960 879244550 82505752 970042306 107012716 761732166 91071112 754801838 817226086 8695948 95981368 774593590 361618806 849462374 667236078 563452636 595089120 928777598 55210444 128840412 15240908 730047466 304245922 115579032 94380378 456830754 751201936 73274138 185464856 13361538 15187148 755494376 524776920 788371516 460732454 626072998 240822168 804008122 318010214 52840684 787543852 715221102 442065048 936760248 623276964 663839988 389821794 609275582 6599698 313520558 456063310 789145594 69079198 646783378 266276812 593073706 84599648 909988936 810701478 755429034 428490912 86752762 307027220 730670558 348552200 896774302 947626860 610372034 775391276 650562654 560237376 427830968 973641952 188911992 790075404 255848968 348815306 217863258 230684504 116929148 397806320 343849850 440147386 125077516 632764860 461141116 585783138 329079406 726005060 204945756 636237410 677434040 405131914 918663032 793221768 120118128 717636724 630369450 725702912 911472290 374774968 484628530 489985512 891732336 362593500 410250708 724360632 559159150 535718056 923528762 756051492 607172002 247490988 990969388 398961326 257914714 215428436 324715182 994401284 983688286 146703700 617200034 116038744 259867878 375865642 42182296 69943650 36927226 520376932 148118856 65766294 497499990 935813644 888461690 872173112 175836856 338575886 795157200 955850782 702692606 512977398 731868290 241101136 150113076 413721426 472161968 36044626 716409972 933549584 361307674 59766276 851850646 312059440 853126938 578433520 214899422 265102608 699368176 700662538 455701010 174929304 102710584 168361840 366358650 749086780 324685802 489067124 374481630 86667284 921990012 362969926 422987418 37697904 515671142 308997762 957950962 995612928 977727706 983802176 792457828 414254024 37993086 210162464 177038932 962659156 821867718 287715384 203897086 302971454 599707378 615357742 633093128 717874384 14842190 5940262 876030062 714516750 15316300 817591886 426862214 872008118 217272754 593772400 719777528 7981382 783191888 20026880 682126422 574351100 763494214 76508884 798337494 452766514 898724 46656092 223839670 786798382 317712188 409497616 750070200 783092808 788326126 235625132 583579394 217576840 349865622 502292190 198271048 701849480 351026202 835774224 486774710 399823218 765784856 45787490 622642632 949938856 350042384 708063138 411668514 450162068 987055512 451956270 632918714 946376910 352168208 387403824 469211762 119604770 928083340 453888052 913642290 72749700 670088706 689562080 81283286 459286700 861401446 576335914 894580510 375850736 901493164 987128122 897584596 574633462 531437056 358271252 669863012 107877748 829255964 113479902 14121430 878876566 267811104 519504266 817355080 777630678 143567336 345130474 323986554 312956854 31299994 718799354 70491522 991265130 581772394 904111320 639914310 952892686 363030910 505879304 163545782 563339388 964948090 915021056 349336538 658656928 184926034 760436210 631295084 514695826 897572716 331595588 691062176 712412916 413320474 824979028 679799640 895401078 686210650 579881906 534664468 469464546 860584862 44900102 133484248 453881446 353408944 468854022 986310336 767223562 157678090 644432186 177966942 466697282 953730550 845770636 169687302 309762910 611685628 912701086 787699178 309899880 166993926 232658982 700517650 76075630 768803830 400214962 746378016 755251228 939054750 589135054 872151984 779624816 89397110 258654324 927602690 141985498 709236884 513627402 277124722 6840366 508537054 136060124 772937648 425497980 577546340 443322692 781196542 298554606 965862940 943144300 480298484 643506416 902813106 787597894 4489652 737161820 476551634 53487864 596834674 766213392 511578062 570143282 399557368 299576538 92873526 236370870 619722856 662165966 72615144 940702810 61336150 212426616 816506038 410647192 162365754 353660182 430643914 175367968 562536494 895321054 324791754 859030488 153358040 735288998 68487062 251255690 897270644 269133354 726552202 521623836 18757254 571523612 407553936 857152534 847641450 231376598 383960972 854087530 319479726 391849104 67942440 923007066 380811934 655346640 880576264 725433162 633606738 685404340 344200636 505422906 259914446 852756972 903180012 910239354 526441352 184285694 809012078 110837628 466546976 319298616 358075786 370024884 205397398 743161050 843402546 20495502 568743212 91162278 396901336 637096364 274390342 759251734 575424944 193180102 763486958 334522998 737279492 675746200 463511392 588762526 407410366 508800354 525494980 15974288 843678124 287867934 435368376 631356970 936529498 301910456 497779082 634795810 858354192 908029038 245203820 533715502 814459456 720425762 350871122 98727870 364098472 560627700 295308444 608382864 467650492 460800234 788777982 43163322 846904124 299993452 207452510 378480006 888052514 304117036 868700852 388895956 178534520 494212070 192987924 348945542 227280082 698821104 225058352 972901008 715820878 889408900 984334388 229336124 847530654 389593948 626254572 32400844 362562396 694916820 918784486 371790176 429701406 859559240 218951422 773338442 581850880 15929074 18885348 277779332 707419356 982550450 409361478 494413482 243445572 949361320 642767928 781228566 453369830 556433804 507363888 616021400 79293914 651375320 994145428 227990362 431066230 82423232 8786828 662392802 825069122 214332336 468323174 80281842 277016760 346339792 722655068 429523418 408390266 333143308 729929954 989379324 100019812 824620110 859682914 947041370 928380866 464199058 714906998 971572132 543629488 419260730 781040390 336788938 115674722 667969784 453361652 734587250 745963606 955964462 480824646 22293660 965417202 384617402 403165312 798632266 1242706 986669132 117680308 992238942 136175492 146704240 815651844 165411592 684993968 806003070 784240934 140050018 172429186 586132078 679451742 777802066 354515084 335367652 576135518 787970004 214707382 158690966 8358930 444640862 887296856 305693516 720092898 555346854 590352456 591675964 783058124 311006442 300727036 182573882 263622534 229227678 336748724 903486622 211685078 528787674 836063232 867006812 537592738 41763716 620814440 466686178 83898564 997383490 245491468 17452556 948927942 733196190 353813926 915857612 916199506 671210798 408698098 875143744 461894758 133411614 520365866 12849864 994339424 420570800 602523752 207887716 776360180 95844452 612711858 654876922 684119676 284142040 363121254 708138434 412875570 108431078 882408936 273032640 59002634 845650864 895801150 166635710 746316756 495847478 2088726 189299590 988004804 164660526 318349284 922372460 830474966 892045922 276534702 959575210 54496556 895782858 796602588 607328820 503513180 758008772 152327638 40868222 127174896 910129918 872953534 144761498 346857572 637694560 934801342 371547898 624764692 434173380 463229844 61167560 226865308 51594198 925868286 751053466 611678888 498369186 849101122 613267360 937978822 460007130 227349886 300899456 101501766 458809826 455286704 317283526 574814690 680818850 437330972 156343442 823786140 372937184 755781204 354410996 557503900 98078904 338035604 592233882 325309352 522955496 343995730 963308820 998215236 372167632 625780686 503405162 508859418 680045564 882094150 17444246 801291392 452160352 295214982 579816292 117083122 571606886 161855460 275422086 774550936 875147656 218335986 476196714 210223222 898920342 910177712 703167026 51594474 486919312 941953834 815790464 688217456 531857394 568263784 434067866 552946338 982752988 506512462 115956266 250796554 684546042 635881568 442579942 726270254 620076974 519891554 73169572 841595206 69056014 981930078 778231108 747372454 287021864 586844424 216865978 928232884 977578090 439858968 240729810 387373692 657485186 977529532 565011164 732269280 301442078 998675590 323462808 648819056 261985662 232278026 984758524 498031986 736119244 942944178 195655188 630191440 13779782 745340308 541697164 6228562 671073742 130063078 33749756 302843106 280966696 556057230 996401150 388036046 511493630 78419060 980633082 208649388 872247462 268377158 111221460 865417430 119865740 238990126 346124166 224030624 481488328 607416872 338419106 775049152 209609000 184479322 794297892 445640026 487621230 996744632 780996334 767246258 904919684 846730640 525654796 972343170 474307282 939637776 781472680 993786930 82265458 519829338 123442582 274589706 752700014 870339564 19806210 423199158 876226392 564882472 413731510 413260462 224668974 526256250 548326934 757914550 904052418 641672448 682157734 399181738 111882594 173904338 856389634 866114596 135160160 301670848 609771146 205827910 172551250 744007648 593308014 535347666 286871514 57900402 404860264 88507286 391892488 250234516 149441430 718003328 723257132 122338246 662361900 836040726 614773766 748011860 280626250 735641740 182725600 949851952 255921552 456933912 606573482 230826106 313809696 59281014 121779610 821967918 64578742 268811250 813282528 617386628 20788994 624285746 317470116 533196962 55963538 394601098 538906534 32648636 714893632 799032332 568661398 211638126 346285984 840633188 213735262 121204986 569694168 182814440 751492322 594772924 944885014 392698784 785794062 593052760 816083938 705934052 837511942 264429348 54014146 454594268 616270198 888902678 191441532 616609700 34220924 110688678 363941796 802281974 270654150 71477404 525094352 701096112 180634708 645379718 858763814 314443544 820502058 426454030 527285776 589335544 728281032 757179518 860665716 408945006 447468264 624329442 910990890 807373728 262700740 199895816 68384964 377938308 16621758 166832024 576380612 364146730 89152178 476519036 676109970 237046152 233233462 624348384 923533770 428217632 648530802 962477298 281572446 607746278 120032976 225683286 332337724 39602834 329426184 473196048 126628850 849661142 528536290 679735806 728612404 781193328 544805148 226644790 751076566 395737824 321444578 601352680 27096836 644122944 317039720 378907396 315924848 57956208 116293980 73069350 276189256 954666852 916012652 304039524 557095816 148759840 705270276 56006324 471074398 70833140 759546756 777560298 288757546 790668100 448527572 860011868 703521660 70926548 233994592 84131704 861218318 291101056 693347368 886297334 229309554 928104890 337230464 662612534 409494102 195228406 399143004 464342560 341642222 443221030 55296776 135723762 430353846 503466384 592132924 671436286 878105584 594412608 765980628 741024964 360096780 745919994 236178120 919678008 493684984 119756340 846167436 473238146 951774120 496589766 730251018 888197910 823427392 434277472 602346866 803282074 965991910 927633052 294149782 388330314 726243602 215529570 964703532 114967258 469798256 839392870 197715454 113779622 487724884 379012516 379912 804200718 773012122 288485686 107658290 600554910 507310716 74263356 65782636 790616752 42455012 1943480 714527198 139099906 314335072 262676522 691012104 733471668 348888204 846765222 525615008 988408140 273888552 220228344 823041402 925319828 978672552 557801548 373137100 845045884 289823386 382275642 818811432 622253946 162768356 522194832 367452644 177780412 762777496 482070326 740695586 367651362 525641180 943610264 238677500 963534236 825562864 324477068 771078608 368347846 376022112 987630940 238317940 230137892 900578186 174527200 861329992 404540320 395204134 983208556 271856240 877315012 712059392 257777860 969743476 115861978 479999588 323223142 958012550 799882074 318703938 122768060 52226706 595209458 995318016 902878520 123308756 179775950 13532092 764885602 986454526 208063636 312875002 593390854 541731064 841036150 578587562 617800222 760304744 639794574 438619094 33072 224402096 369998124 489350268 24701142 223507576 616091802 252244126 419236912 647711782 383791938 50786888 64985064 347691944 923759582 495172702 118105450 709597408 320917350 319651846 170586770 596034788 944457484 192099556 868644088 655316012 638520838 613855876 278910758 424504644 183613778 313995184 891316008 317519492 823450166 588014516 401478538 707099426 726839510 53788312 613414402 302340688 952554380 320713852 210237796 88921774 637031904 239739774 30608882 713519434 656278728 772586094 176963494 866788212 791552330 470900130 544644864 459290836 921425402 189419938 684879258 30779020 986787100 16394040 606984170 479438876 549053162 340316826 330455000 399639756 325280744 745449588 653052050 96907556 394246006 924223892 525410854 882224794 257742376 44731634 619885410 630293102 401740972 643863206 642780622 333584272 519883788 304693544 202863104 17228236 883713348 658274292 379008206 513205548 835869630 169423092 637425972 887798434 895591924 348952304 597098084 805161878 390963146 565024078 712357158 392537318 343749810 983663622 77668690 624339828 900447380 596438354 752069118 801241180 567839672 182252196 149614580 891807254 370381212 594896980 92149044 350466400 668005790 314636178 156435548 295632964 489790002 544094040 248992512 842281830 471577244 11999074 66999092 467730406 307021714 195846988 375126454 327669186 384503532 713814180 916427858 181307664 69769386 745963292 161963882 243769012 204954772 580564488 453185414 188506046 915379292 859075992 777175238 932132088 178620836 770479610 990995956 144984076 709657628 426251884 517784680 420300368 542844248 39088920 55229744 819639364 915008758 631502666 558273282 547849218 270354416 47300054 265802224 260452632 997781678 335794448 395895362 919847738 409522084 986678592 844597622 726332766 542775882 131626272 448756586 707217556 900446312 307504422 711508780 292112052 954635830 14537706 648244256 77754180 147085126 772644906 326594558 955302224 680014392 33846692 970368432 700732690 980201410 678574506 581985768 707764116 891885828 706672358 956048644 342348828 549565104 542420606 419438288 760953192 119610472 377987954 287310550 737897708 591083478 131264662 373561718 870579408 457617368 360188430 140941940 657900208 842539358 458385924 344091822 604533642 778843492 630478994 881821776 889228258 957413814 259605160 803161300 425746428 447606980 300517892 70003632 821775488 329880052 399047544 226385606 238492162 340127162 621064896 18843288 611920614 14535736 516787204 45683188 491354020 526502104 563378590 529880388 980788928 715319910 469785110 234308932 553253648 437868848 526897646 460433434 890435860 443215848 384885884 746379930 409935032 681947274 441270674 249596724 348661664 973793344 686143056 477333492 769794574 692212000 335781166 273951216 157909456 666115426 755653368 683198730 96112138 810482284 92416360 784937108 924795028 351163088 300415976 608254104 430347564 782365384 994379528 17437688 953059386 487689884 692437154 568008092 554768040 871716454 878843340 415735990 991597518 689765460 33361398 998275052 278117182 452270124 194010060 536308640 428217726 538895620 977320058 449552380 608785036 130187326 821967898 365131576 551203116 323388850 540650760 546409554 288581582 479316142 595420320 44967146 195900592 958863548 816054872 860426058 788975588 766281574 361515592 270841024 356728556 295976862 662312790 792612998 361703176 656121754 278990636 889982914 763229082 969512598 14621382 572599184 674789686 263334962 894225750 921249084 703010322 647378756 439699392 40166922 794975430 281793660 379607836 420416260 607476738 996541416 199234974 399550712 282870150 740623844 969350122 673512124 419692248 809921522 105740498 626044038 656492182 282395138 372229100 796699428 410015468 667576884 957942620 345774558 176480514 514010758 224078142 305333546 708706092 708686840 928760078 753236892 241441206 858187798 358059906 996305184 950775140 242941714 935443870 980668758 912221296 600387636 982579718 373073290 401735154 539937802 766351146 916260724 689756324 653145768 402570150 643629702 220345886 375053890 619303038 894473424 843151018 489672682 320690944 47573812 774724366 121614280 7647704 276662806 114552316 294906742 615623766 903516438 166383590 627691288 410820426 775551960 332129036 114333632 109910636 357760194 347607628 681354586 364115252 824680430 32271876 992457684 949918572 641552060 8479254 224744274 722332756 234099142 411205756 306233516 602067236 181468594 452474588 549529800 30903658 679691924 316720630 980390418 320462928 505355852 630430726 664259202 460410474 633141352 276499272 82347054 773527690 630943572 38631922 338037372 920632846 178910256 492035914 579302652 876544510 523349864 303958792 454450206 140618044 845832894 931303076 898120474 210076658 148342072 226133024 170942832 243624350 552156768 523333146 75048446 454766326 413129554 599396832 820427648 26338734 366677670 885959074 207971408 201302758 322568412 408291556 778453806 22106136 941778334 720277714 582205912 401081820 111592830 667724482 760997062 285111300 282936848 757888408 688208626 899479642 1905090 38647302 225853420 87228880 178044062 195484768 377709658 819876540 550089338 608337012 797161658 155925910 883162928 332213562 159864114 51880474 895100552 525868160 630536382 387087124 164467858 990651356 192447532 790900814 819602162 245380410 841083082 364228134 562195660 349492420 86396294 561109176 692167038 500131458 782006334 84285444 5505334 772715672 238388520 734235870 414769712 621750418 313604076 653307976 426716504 961633280 694184244 732624232 105765798 555513214 962337406 918911938 672368562 399640378 40016194 412260884 124346648 317962040 839986302 148559686 17979696 148379864 769130918 181463770 914717272 282547446 364914950 448647900 329364414 67234326 8116648 917618874 884067970 723651040 585472308 660935300 376873430 360345594 516521106 774847880 864082532 709215778 641290994 304117566 145929828 459328546 758627730 560872056 789349346 633653960 760507256 851573406 840792690 988930184 116916992 387641018 774033272 628281152 434361718 104283102 74414236 26931624 736982970 116999672 173722384 722276656 691341354 471403282 53299942 94309288 334297184 37689380 722384018 304747388 842497308 479400222 60554084 499425534 561890292 428373654 320019802 759030102 389632134 80747226 323836470 474629700 361934952 680901088 588987722 567319392 959636434 442513600 982674952 774324122 838691502 190311552 777487138 820501774 881911862 972856598 338681200 947722562 586789752 32744800 329838248 424688218 438653672 113908262 953871730 198970218 222846926 834606662 39454592 31375208 203308792 893680890 72489284 441237806 788800326 165928146 240192576 745977934 297455532 270276240 418442532 788280136 385088726 598313362 201873018 832233006 501370724 252375488 452767728 400138404 653557288 323281128 828868924 752822384 567896272 834679886 587184162 496710932 237710658 599699096 535122960 842034194 657307008 817120972 990005238 851635018 103732232 280227158 534771626 904943780 773752954 227868214 252688024 425691070 979165738 455586038 567335710 482343030 366643952 416588342 748579744 206463168 437354926 72513824 982199966 419585946 207475198 215780664 182069568 859849544 255058890 396650132 307038102 259664322 405280698 50178352 46258148 256624482 606737354 235725646 507836278 660040932 530930350 256571530 98413314 54651306 224996194 566465306 104173730 930112750 30931814 613769954 593660114 3884972 133920328 592019734 994811802 831909582 289850386 819413344 974327458 558618798 607953480 158856440 413969842 934188266 572064274 875854724 778618898 577801624 179288228 726418684 640151972 414183820 216854464 380596160 328467372 672908728 633501524 741091414 797491080 981303388 371406078 615611374 252046612 635194902 396177182 177090384 562083762 319139538 561932368 792553872 301384368 790014186 315505880 11598432 369375982 821013384 298710228 690943502 30030196 75200264 708455178 339301536 205482252 565772352 891664786 683643034 291244172 652731038 493807698 631814772 817298292 363838580 67471410 718422462 13284922 244682910 954820958 175094706 132484870 596589248 990347924 274352270 520435472 160815678 643572352 111383778 526749702 343756142 866585388 27148758 112481238 739754698 158258564 292683766 979900580 311344854 170610694 428249910 646556988 260483106 684909146 1283426 192050228 293062278 179816026 434786160 903178260 980855294 534762356 647515730 975374088 382885136 282694196 692003712 67275128 396795544 318951404 930619472 17231284 162235696 404713842 355248596 559968442 126944908 267771236 792336270 838988432 13600554 816988952 769395104 46187314 241865854 513678508 429035698 76441800 622337254 815094936 39481266 547747178 664701324 315501680 894247004 590797264 32646924 205526390 646689610 622198556 779871784 263395622 884323078 312460026 256296220 864673078 316752458 136530610 100350502 438142908 850801458 681873358 473675384 122313580 446214098 140689834 450794102 200139134 711494618 576239836 752571516 750848900 488968192 545992542 277684480 224874608 197209288 268348804 828952010 77036738 448291410 778424834 96158698 417401530 428372942 372724306 915350094 760699978 512594544 799747964 261783130 11990656 200711810 839911268 895651692 608553842 745457274 898422158 390861104 118987610 191258254 842762190 644627964 861344900 112323914 276975768 870945754 416990458 236856500 764699744 942991164 348001456 264290920 763076158 910814968 94825168 539113294 442374370 455909178 395024922 776471502 838006392 74236740 708677498 879445230 160935898 893196890 645052894 761389336 285374422 78871212 163970566 584723400 465892422 467985518 531956796 563490802 533447086 81870088 153547858 395057922 173651666 783412466 342219752 788485048 719381190 470225946 968977268 563844420 901979332 375527280 527409036 919761530 487676478 796186648 355448686 620399852 207402744 346866652 835385622 161813952 279246190 761714986 726447960 666655700 807401644 630712672 321754572 82488348 92176998 769319126 426785206 237401032 173941512 142398828 934239966 179347778 432112996 527199926 45748616 62530888 953855544 892826918 580820464 781218478 704086682 690307728 164592864 562732986 794478262 380074448 465148594 482830178 610927486 374295130 897464548 334562122 964239974 50826300 770386490 287450604 327926682 356881060 358068254 520080634 48495628 78066976 79260276 579544804 434381822 589470410 248286390 923344906 465577030 684823800 98339316 899228270 39567668 181417048 585474034 311472634 183725158 310496028 557654626 857906142 436401148 482139092 198553114 475494992 952658276 348570522 231891004 32325148 35727440 871616160 382200028 906856534 846466644 768697376 420286076 433691798 305443746 984319094 409777364 811873070 637939964 27628696 330324184 18020636 778622566 712006214 599256628 798550514 152152656 569159408 508144562 538372976 47554736 706561956 970227768 427113902 386517832 159455924 675026280 962161722 191957246 89873518 330628250 455992862 679135934 943387452 719741476 194290866 963915308 782196720 836372470 216674912 598619086 972412476 680576556 202753992 160239826 854315740 197823050 911096386 435755810 79478614 817278328 146636214 434198472 467751978 427084658 859959650 896066900 76684394 409291652 594454772 228365950 619810916 376328570 563537190 903702296 102572550 874327392 464078248 972134766 916131658 885445926 944357922 947142548 427134470 777745440 198621028 644386488 597684566 641547756 77916618 445379952 147768508 95783222 106713896 488616512 471000944 939088726 411832778 902445652 639306924 571970948 251734396 981667644 758041868 421964826 223938410 717271418 385225734 938932324 70345802 476190898 408209644 342097980 362569248 741049822 933182620 222256686 677840546 178679316 440966576 611239446 161331682 423184254 462882270 887900796 686909642 600347934 169537342 670056422 822015466 262784190 998583992 704953840 804922238 489609624 810998242 869361698 929551502 51474870 622344040 213569218 827892408 681506902 109586076 837202658 94597744 788918572 211952854 688386718 236659912 166207124 94404180 783973194 85335122 395254972 798210422 90559222 711187080 134708546 92639286 915822040 120727654 586095878 923707244 29146880 149988774 839597634 802377186 244413772 41139842 754029462 939095070 980210498 27869504 738083606 358782936 960951274 459798768 55234530 704740448 741176658 30660490 749765788 517259212 399556682 211669152 501385612 943427478 447750814 897835962 883143612 137245046 135221920 528694114 220549934 707002614 659191706 547796402 574357300 303442302 308732734 141219698 562258366 442012184 631405320 775197174 696133544 930145470 314609118 367723322 806312220 112766800 627313818 587432214 670380104 700682588 277096832 845577904 54896682 528896676 658512170 2663792 429771284 398722648 496705162 740701862 731670078 342968610 242073192 157636314 242472350 798296006 278949692 88598434 203654402 816682436 224880672 468763116 588757258 34313664 222640140 947058608 940992126 520452764 929740486 808170078 673944488 71636248 953836766 269708482 342038736 615826000 364457126 688623024 467734410 356783892 470677300 974367338 391679858 784571310 932994892 473850774 858831660 930798720 188216412 75725968 825334830 993189976 744065594 555456722 703541490 746729094 979802800 479343608 197628894 571248342 838585614 808923864 479629266 78329706 105235230 54525056 894444406 616868194 198783338 72515474 635366818 890581818 766518542 27956296 600821736 38608674 542341798 968670468 860774222 212015786 125165458 466412760 675892700 418922582 941861994 54142400 323060918 922922434 354830380 973124028 837974310 968208350 84515964 932935148 204085266 982455588 87316308 467418288 176553066 905934610 407514212 412385588 503475808 418756444 183698778 2175622 694760452 341009468 606241016 496073718 162929430 501791470 89150788 105129250 284997618 37885186 711053262 228697584 224307824 253905904 241039588 926445232 49504678 463400256 468439120 120754168 991863460 620036754 749250358 432027568 610302802 412403792 89115230 77666216 393944542 359454640 559536356 866931768 341472432 423420234 772367266 890849478 133019908 544973242 722363320 560330574 267652798 363979342 381914838 131643890 408453306 462254628 405676982 903371882 111447920 378137704 226671844 814786358 404762536 467632336 556991780 253314518 256002474 956380880 22086282 786920076 347356706 864769118 320132112 428788674 410300562 760582968 914277916 427242180 784890632 394012262 557573026 219029758 203614866 352526316 548556508 345075980 521374838 37389552 243588656 870945550 665787928 125443388 273567334 502725830 381317854 936239894 282870284 489023352 225337268 615074712 873908886 838850804 202464172 826918610 493925038 535623048 590393192 802065048 61284772 569308774 831119904 118504242 88231134 718638224 229018628 772217480 437101708 851268064 471439090 282458680 618573980 470751546 808535040 991147858 671796136 166168208 711333008 676344226 653366390 749511046 155890340 400231790 256470010 109107716 331250800 910773840 91403656 781123064 344942916 844428560 701304904 653207144 630382378 747155816 86197020 45997648 382741828 317574116 185869560 962118578 253542278 91300378 981252382 595303202 327967290 432708842 397017190 703148412 394693652 847973744 427016294 650203756 75894156 477407224 948385236 833738990 258278492 261950694 74887346 547138302 407219846 820131766 522216664 703350030 619456300 727471396 834145748 951656566 590531412 625618020 285632914 272846690 858740578 326487902 771776556 768909190 306933394 471996458 597620402 317779992 458073592 50540916 493933132 245135930 100301724 450897190 524887276 722120292 711131142 21480350 744790334 473523616 624925972 801313418 810905750 167427546 736448826 810839962 256873134 118887042 954488740 485110508 930369134 747460438 626573652 227907676 631800526 344661522 45129916 790397548 451405030 771570242 782787542 345138606 760466666 657203222 936112698 526130320 176636362 850292352 761804470 573780828 266574576 761354360 414548068 966198748 50192976 245645106 376940984 926745960 557216042 82711898 585901774 142392724 180869734 16721776 906935020 786345180 145179484 392147450 485993682 489985926 166550926 163467088 259483862 19981214 9881808 603708952 531992380 480730010 561158356 25837574 458438002 673013544 767260074 956640394 619088006 144564162 975705780 415207612 654907638 729869468 711554556 267014410 315536202 874821724 655571740 533599470 392737734 349496326 407311614 758342592 108309832 850640052 406479728 365502078 58825758 465594862 381411552 621010274 982922676 743815782 220236328 249400420 856820492 519832206 228668838 904543404 552079534 740368886 613540508 524902558 953255746 454639248 574771204 894918986 20207000 702217532 238233648 105888992 5428308 631356244 640754310 542892752 296224666 247236740 93393014 284981418 356460790 835145980 686869204 999859278 293893442 974564100 769335298 625724286 748901084 249842500 834373150 405913336 666802802 669721176 681402432 541133806 373260102 6399222 691717200 971115232 642167824 964757870 700292006 727367954 580838212 669322530 345854036 558331892 443485990 492244802 159524906 793868320 393163752 948206638 819716522 705680298 135353328 647770362 643479200 587839166 983464438 685469576 844791686 809986538 411785354 748360966 268894276 806903990 124890202 657844100 853917458 694311364 116357720 617807216 709302282 191412054 837787844 443176492 543248134 414956404 480989440 28983216 805103894 201512358 896947304 624107770 117544232 842194172 946981716 501086696 780414976 661576312 547827720 688906812 319346172 164077594 654350542 9022346 376845096 864656438 507207092 157749752 546839744 718300648 512780160 445614442 479870602 367072936 814083994 634753282 223165652 952467942 564984752 781059350 258252026 872255644 829918658 324839222 582624366 354333878 622570848 368344018 537712188 898200276 879869142 613218380 127652356 54037526 810089046 981709686 461503916 456486252 752529954 418762256 809458546 660610058 387191114 685211186 805940368 280223038 21545642 854421632 875004882 546397282 893791794 773256418 344138958 803858694 599851874 839494826 560354908 777434520 925573918 208077860 138594384 136266900 162357258 302102172 487348800 45793232 784263140 964607896 364276148 702262012 798388586 176476456 135363970 124723982 576574134 729077002 38699372 711836964 695579604 47568186 969397256 737180256 672071312 243930942 330649074 510159790 350526916 242552634 889243372 84577212 902110652 831153920 34545080 542045814 847611780 8521296 953536062 580591292 533095384 425254222 31327808 639131304 712978022 718905392 979139772 974078040 310985686 282092772 401754230 458734798 583915276 10830852 779632496 751307866 202095408 608074744 155360984 566737788 37791024 929411828 687141914 380993444 250063170 627018966 752557926 323124216 752305816 455534468 835709786 462405712 470023918 870029680 202385222 652174348 293794398 370148296 984447634 472500584 577213044 316153812 135530752 449719344 959431490 254516830 315468262 301624866 110977524 740935078 676821370 883979030 127598444 107728004 266576082 874398622 45951696 78694094 417370140 12151994 369494402 590528218 759570602 246921080 498707958 686065384 63958420 507064932 872485870 757102982 678920990 207698604 894726928 400439910 187656744 892247096 584301822 202871882 585289818 704967080 1208428 394916350 447684770 491582890 354013762 519079948 872433726 522944208 554764920 177249454 594837952 849282208 752878402 12338342 612824350 825135556 129529446 144734882 620666738 776265384 303896024 154945004 167100280 533974138 850562072 814145842 837412552 555058724 187672452 306936298 874188196 305157690 182052882 697926474 20773022 368800222 987528394 331723734 862930910 484091408 274893780 81809700 138467498 59363624 438425498 925009146 152860286 562490030 657610744 905573836 767174162 183463694 816783076 337222036 434919246 39776504 252572162 935724930 677961472 112283158 399138346 520878640 830709294 222259532 609839264 498199866 511676710 836437408 130306876 167212330 67904520 376343688 789642186 143621164 232317340 333254330 359303202 367481822 410578932 55787710 711133468 410179932 102343406 946094508 340849940 853442194 152524612 238178760 697073470 349066950 486466392 68694324 616828690 447614784 352430524 709774488 22869012 520469234 91236460 253093890 818010096 113461436 592475860 782906076 498290670 765584368 540388218 839377134 96569166 555667270 30923146 789595176 999632958 173500258 926998528 641820038 800291872 177255442 228616384 608894612 101496096 649359692 844217056 834032634 513253776 947048624 810898752 99234964 771821826 901398314 105315914 902999512 389214316 499421136 219117616 454444154 373505818 829833978 600033496 444167894 476046140 337871988 82312696 965824696 74949394 710786250 568527574 772600644 37313774 966478004 466161376 870042930 712762078 260097178 397154272 896021792 407557122 522627820 632254132 47518828 476708884 337107104 869557950 554063234 271854240 660381664 731267246 104007010 273691956 947678860 607735758 690867846 393476970 916267176 559480650 589858494 287966632 181482964 896501058 484069596 895139502 128183762 5339092 88055482 980017240 131150746 390813184 682057972 648956668 523977756 671368140 799498948 78827642 212997846 756394594 137266102 461942502 975604302 321946564 498391786 143229048 689748928 943840282 89956732 931349360 113798842 721191166 560996340 121934058 796818142 37682142 818411420 569158436 968844246 476598566 423252208 979627316 152264492 246227634 690546256 63169588 921770884 198074136 53867910 684136886 349861464 481448636 103088930 573555940 24034702 204450878 660767338 767652830 263564482 712665538 850185070 517265668 525380130 691949010 98660432 388048164 457138870 937513412 308653052 992793678 228750912 805707376 178097564 949923142 956822872 641033710 687898554 531192636 496984728 427328874 438419824 33923494 164372640 330242384 315631526 861037444 626392426 709776324 80256572 311879360 302948554 208263126 581437370 566999328 499819636 369994112 854594780 317837698 665761288 669520340 468290974 322065582 633573956 362349852 496907478 784671576 448834536 436465964 259165928 174861678 78528252 2786392 345205942 773712798 564396360 624739252 964117960 609062826 742112958 579250960 9245328 277006154 348163138 956601002 637450814 814087306 525668592 316086838 920358130 23798442 673151842 365183060 267364564 468566102 937431162 988819620 155334360 124408278 598053344 264721608 320416686 619667942 881699970 275011532 677693014 472189580 153257344 638860276 309909632 494923256 796419018 827307260 876679708 621918750 84973354 503569408 776998090 597606754 320355678 27793592 547021824 497677064 397329594 154954806 716184542 926196884 18513040 52422574 518845402 961887010 254621894 796037320 467747680 919452260 715145220 894938276 811002518 306726444 936530780 790471240 916068590 500051966 136528064 413509498 243200398 413045046 965066470 930932380 160243604 226624468 648435344 244890086 7650550 353993726 791691036 297660770 744919090 988179512 224426570 45956202 930788752 893623802 619311136 716461006 395561102 273061052 773153994 508117324 345621626 73658226 653489342 701911380 944676338 759764176 121974834 353086294 962492026 292324332 861734078 754218120 801481938 798934642 70642042 140556924 643975564 584753790 412226584 693887262 728348760 527925302 779596544 938783496 24057658 663694822 536120120 170339154 186018322 879055768 53156532 342205740 545598658 522718510 755770468 784482020 860207924 974221080 468840454 176325704 544118180 427726548 550008316 475621490 317734016 161995554 472384886 312912738 529348380 509320848 461047922 826864768 196323926 634757510 176477624 926512416 817309020 40656112 408021970 242255272 620110150 902222892 334443002 164173786 178021988 117460024 719165528 739709792 911178606 148869290 81303672 804452944 946485752 930581150 656285590 957756638 833231320 597666380 460200016 813904422 765268008 127709600 870876406 694569076 387094834 798293896 565391754 288330416 292264686 86787008 789744598 340543742 896833918 731796160 130808088 731699696 214174730 567124256 6817192 882969964 916607982 687346762 735950542 451853946 523061950 369549794 798382220 830037306 697342950 531195920 539153398 406477432 508531732 103221960 712767504 551077278 670693312 485195428 702911792 246568320 726678802 844400138 704935512 23496750 768853180 904192218 158238164 79445830 96642912 442049662 550137276 304669082 331048650 730503440 669711056 853044936 363592880 155192118 767719030 204020060 241953702 57842004 912805952 867436516 302619378 887908462 21827876 586720920 994472368 22783914 76061774 918136178 380939572 89906878 980171190 14493130 206889174 622098136 629730432 797136828 986630446 30422688 14279040 994341226 818418040 795467442 558110404 412656048 356444380 839212180 579463602 161364600 376985402 592886662 524521480 494470026 45870564 858592378 117077918 923483938 499733076 145121594 706272286 514167722 476340774 101123412 193736880 712241208 231530 622421440 165808574 897123826 447685306 997460310 18189752 302595580 455215916 349320520 265510920 33076046 400591546 97605438 349762048 975437630 507402430 238044188 967316216 121934928 559617762 942309906 730027726 889549068 302615368 151183246 920394922 646735984 979972734 23022606 222268262 934031092 789514736 519967080 850499128 331305342 890447576 456887328 558200398 380592828 420480048 70861938 553538288 422553352 151995466 139205650 683867904 928342518 444697148 657213806 737799048 274695270 203177724 890523114 359396672 403009374 944231676 853864590 415522930 236650178 756310444 420313812 619254488 380109204 248516896 899031008 788661316 992692400 278127460 981210746 260841318 212269488 736246654 176523876 702094436 376680510 433025852 566426152 373233942 933941958 47830954 344598524 189795392 984380140 731738172 90981964 632250220 37970290 397295256 617842662 527932934 750186508 920287344 189355026 39274140 60966482 739633854 782160758 699206398 111433754 575711972 512985692 659325772 227130926 718663346 491525560 491754248 415564522 524998044 391305258 810122256 630952102 715423802 405772572 562549912 910459072 226729390 870512408 796908346 414813754 281598970 519122540 966742318 705466236 49950930 195916662 148969346 320978414 502230584 416796210 112959782 416592364 372352914 982588308 400497276 363144794 389380240 29830590 228291226 109085658 621369976 777445788 590594780 681667772 895372240 819247630 956102196 794396856 853327748 740789572 305631962 489943818 693139110 812620936 859207384 939855606 721770432 946157002 185282676 478325516 338784424 279179142 737410 317444376 439874066 368681758 657408040 225694318 308153134 776131368 271234480 349870706 679544678 367836666 463688436 560103756 774472030 928370594 96530224 751951590 634803822 819927572 765558972 490117090 980953642 10716892 506132522 120802560 52361780 798850678 309259724 57077756 889004372 648361728 660015638 475050260 515370518 361857424 866643454 797285902 565522666 346802510 89063510 413498578 187353448 313868180 654153256 230116296 268086372 992059468 969151490 347933222 880956608 931146548 436206726 862107742 427045898 326405640 802376738 548385664 522964958 460953532 710446260 999485738 396970418 114282770 255145742 203009424 6822024 416454342 866930014 26225662 7918984 730204878 191277956 457211072 855230908 333370978 769947164 929085726 641877688 593611124 2478444 895054212 622964978 416864008 173855448 202579310 415724348 147028714 987804180 543161174 729613338 423474664 579200580 520762818 621055714 623493008 59303560 45583970 64862026 381437334 833892898 672421900 657970192 938992416 628514806 573565864 259708534 522811134 642246000 644416958 913905934 311748948 438460360 487007688 330991596 408584482 654496242 161881386 681709096 382742586 907579280 637025556 499458658 849542812 848987520 82533544 978368248 248096644 409228054 329747362 448602388 420309466 195020344 911531570 766290414 386219104 607144042 514884796 759233262 511524396 151942230 482698058 331348196 625263900 560213124 338998496 956532864 713069632 426004996 380474042 885078384 567675830 112115178 884254398 544161128 953398824 96612062 126720062 167597278 865185590 905490584 758778128 358559672 558900166 57576642 998528834 933701224 517987938 87675046 725155060 519151264 589875336 280193314 356739058 101666320 408651618 621526608 404203344 799222952 23254398 460159684 629473320 879032934 350774534 143308594 142278310 144397246 752367150 174628916 196096728 409650224 215534648 794862732 613216646 747402294 70128688 873712486 249153840 436990220 976925606 585774080 674069936 815840144 89229130 553430168 168308714 281756604 279581924 335459718 119908594 965801752 580773510 362347774 343562856 482275552 202363986 44824376 185288726 568595064 29230322 813489114 32373598 651787180 321586516 598214844 504670222 580506070 414293726 568197020 361306736 778761738 256583266 722708442 244209760 248114536 924634744 850333404 683689104 313778282 783343686 760073450 824443338 677653390 265981972 623402552 754986770 150288242 501481300 836846164 289966644 428372670 667582436 345956942 154778682 764483452 664948706 258229034 173257118 666651186 156891924 361061644 701449274 726119684 676395418 87431428 310748760 664055986 542979530 912638664 141947698 572128658 511898922 975541726 290684910 479920184 392388534 245928530 983632832 127108094 709382088 8797060 824950696 439448028 429875754 857510744 552534698 637773590 163644064 966824790 451949936 372417488 799023066 454597558 92943782 509426376 365150028 561288966 599768902 800047830 515728620 531509128 255575568 432326642 578081296 239667032 958664082 761673442 818427956 221875288 229998864 892960846 952706382 226651150 858317676 397681164 91153182 95087742 870939832 869759346 86064480 727396026 44361822 64567840 675550750 364938128 720964518 108745440 715997578 570512132 106245330 549779628 29051878 192341790 285704416 414475092 473784928 752853148 258532248 177659704 978643296 906914914 628527130 820203446 280075328 196133144 253895210 714246492 429727140 483483908 421902540 524967058 894804434 982709614 716921312 162430062 715522778 931259920 648960110 152419676 181405392 983294514 434504350 4700846 86155750 756389326 60308670 668762368 278525766 523867150 435465928 146719742 526419230 940844312 252054952 307671424 427491034 591579508 374937526 259768048 499100890 551954644 898305472 20288712 13508582 981803298 79023248 47225248 399305346 566369024 563353524 633237192 419068412 840240950 246878000 411249120 451249936 866723628 584571502 561753134 693040944 512114448 907490970 113323426 193941708 231555076 997912156 469384518 612176212 745821492 132475866 417347660 914640460 612628028 301450286 236525150 905360092 552896430 564665282 699925656 176828902 454417848 897502984 901110570 974885146 3684828 584504174 292883956 808104910 189123176 293741770 537098264 149560950 785248394 443572896 618359448 886677044 855777966 717455312 941918678 596061052 881905134 673524346 983579750 467670514 564407798 626846394 910587778 565957742 360403436 2060462 165660610 265094882 904510062 580860616 837854580 459537562 471518832 81326376 80339616 506585488 695046898 56001532 32988934 340658352 983648828 179266536 937972508 271455022 10289718 784107110 847666166 819703444 693089858 883270086 804961510 392488438 180979056 306833730 624636068 44632728 22113086 974670018 638590752 818077578 866475462 327332652 136941084 703183830 480351976 723534382 639265544 905536216 240508212 839847018 590626586 322967352 703769200 123875696 187116118 671420914 984736260 358985488 277326130 435106736 554910642 424370934 624122086 243419458 715184188 982139436 834082156 737798660 342356192 842561726 709493760 665257362 663871166 222132738 289760962 653295864 172526160 664239134 238465908 753023892 78974302 521617040 251727210 563888386 24266546 616837312 745757474 325049268 426709676 195691798 667688748 149886334 484572898 863937236 450595606 670769266 744200120 784289238 349883776 339991648 729365844 906009588 253205488 38694064 358462430 964273838 194448352 485577728 872589810 895635464 726448150 741855244 236525166 890860568 559784774 527451792 352105648 470684016 406204632 20230650 985502090 888376028 21166584 560852356 409894206 691077760 91670220 54264538 808771256 175054978 437117590 451090408 505295726 179092126 83906368 216874974 684844860 924554432 573959758 508355778 234364636 32423934 914186578 435979712 198069534 308665038 975139394 560811052 636912832 934272866 527434810 563823744 188869032 284023498 368762694 620873916 596228088 886709932 123836264 86344304 493041556 97542964 917875846 584235926 582351674 171801848 215676972 333368234 998307220 134008470 23538830 446813678 113906474 429479918 913976250 639585314 547557090 991182368 321163198 331490298 300754102 120729708 980800536 25334568 975388892 158149326 316577350 404278974 487192532 884226186 465315680 911861118 851155194 692651862 982180030 807908598 213544500 659184868 756627152 695789430 404792792 530407360 602112078 378051654 19430920 235058040 899498880 955116394 378129922 892184762 548326380 246348640 663027254 917986242 630749394 9035448 118896576 331092074 513234810 126702226 9188060 786118370 981219134 750958860 368870850 287855704 593736376 258598506 203970542 470003000 127771214 35189482 706397482 400549676 248138672 23968086 462230416 315216072 540871988 764055914 566043704 286771692 842396438 614857172 940224806 254419066 109891456 489943550 649448512 486042526 459349282 149327718 455900584 921131336 194264266 139741004 176946128 828679998 818705388 273944028 76088540 492622154 996743484 472419348 741869510 199133856 592555748 204174612 196061534 645006004 644403046 510972686 20607756 133975880 897442778 892652736 616040524 204725874 573689542 57364718 310519380 768065402 73824840 367121740 198426216 181783032 855075774 827118930 914462632 705179400 671607904 863721722 662490418 814766298 878163730 903028862 579867584 945179600 420496498 479385642 960563572 737064636 89711356 519904362 861910984 669700814 320028988 710814000 72747320 805912682 764696348 410791378 628875254 634891208 827618860 254755808 140050886 717029014 786320664 125364628 670333848 10097224 249339424 849537562 170211068 711841972 60800096 340933766 342188664 314871104 618236416 65039014 738209734 324652234 46040836 133392494 152906090 299703866 450471688 985998244 724554992 231060880 798497774 197839668 54296216 306737846 816886530 31196020 880214884 969601594 323779256 940375980 414229074 707517666 377549104 546355144 245215918 639586096 405367634 838463524 686195828 263715960 834438428 321297480 56991214 858133962 398933344 265906268 478554306 620163066 146429066 633753356 837503936 379576920 324145288 839216660 783199458 753197346 96271324 262797564 496267856 820420110 213172078 52244664 420809388 162901868 490028208 626122450 490550464 612798040 677297984 933046976 415413774 165840632 716268848 111591788 878983360 953363724 549339520 369560960 802993238 806493548 696167072 264130552 574960980 202253450 741916444 11377696 390007304 366701032 218994486 906998382 165460970 571144458 480954126 882562204 911189914 653914692 108638334 138796710 381627744 575289752 2363340 668227262 749324376 376591892 869313466 621691484 104650796 109715188 901943522 123636554 539743056 295927698 676904614 732691048 879164522 986566172 85588836 903310818 451243244 534882202 116305778 897849808 525896008 915268772 46159966 64157562 713924576 700933722 33892084 88895430 475279562 184224554 285214054 84121810 556659866 339069220 295314506 963914096 250875236 987242964 743175986 505408758 336795560 768630878 949075804 959108436 970560114 21815566 680935102 679536258 455058374 943562334 668242062 909457822 883993484 964449292 889284998 815901684 92890196 803613568 200089656 13692782 607931808 980540218 721882174 435870366 954267726 526122526 472398474 364580954 738440412 28518406 494883936 52038354 773705990 799612492 918187942 317963968 56028986 239703524 615566792 76971458 544129190 929658126 936263882 41896876 634415258 175823704 390160054 32394918 4758466 584973020 442458170 79136510 499251142 407942598 82224176 115912172 851596102 772622062 464327732 401935306 30181496 35971742 342489724 32369312 585322628 308880616 485309422 488018042 615591324 396747000 621072936 948926620 49975642 801731578 369816952 948848232 573229160 946521802 924461930 513759348 100196656 916272944 328442484 765834792 518503114 533676864 512178128 620486028 876534060 772533724 831599664 584005696 449431098 736848306 378776518 232913412 82814134 744314132 341690774 378154496 465914606 848855560 108952758 640420150 266528046 750068570 453492770 681631204 392004320 615157564 30365348 274781864 25113926 789226896 586857888 997736200 910896534 249755078 465114572 272380400 108412792 264082816 168327518 965920362 105536416 560077736 609349564 87967988 232386960 564580450 693515064 632383584 474646142 293010520 76600006 293331438 578838412 213097250 496972118 891014222 6445714 611417388 358239298 695804400 415309420 765176468 162824488 194407624 329286772 293908390 341788346 55526526 225395478 522370698 991587764 131283390 424645532 89251824 681897632 833985542 453615012 222480576 177122664 937276496 910997128 611827308 136683046 87715384 348625734 574834322 880766860 239428866 726192022 40934148 212507368 526914156 373129134 343135222 333633692 276724568 716251602 165832820 928534044 408317260 873281388 665434246 736328598 456303280 606185664 285000066 858891202 694477106 125786338 218143592 811593110 496299234 568359862 389497068 605363114 272984686 983429834 910699708 607320682 366032148 129026528 906954198 419764088 356891904 863532838 285974392 846772624 445178582 408165234 139494892 157529610 829784770 589252206 50083300 715286036 444354930 866573716 73478466 803723476 155277546 754617784 924254312 238851290 376833540 886476352 764995606 772611116 38745380 932041092 125697344 603630462 752760286 566567618 623132680 173494112 262122426 17434338 762729294 989922312 201037478 372553940 672532830 836839372 771792522 534873202 545197046 247309386 150319582 851336236 492478398 303554554 41658460 866915290 27561360 323063476 212342258 247372142 902156696 161648514 802115018 119945340 29299166 691058988 673921052 36115006 640807252 880436772 909251772 536414958 606894200 994035298 751538338 597151868 105276000 44386604 767256750 439497404 909997600 957357940 828432992 407687110 509840850 305306460 955898814 442341748 516410140 410401356 852249134 582346974 682669642 395751356 4385510 703232932 977792580 392706936 14285292 883773328 786382824 884409564 305064804 309933954 745804472 81582028 406256122 884428204 118108344 335952776 900948586 159950176 663833606 91248294 82654880 544901726 790169012 430062948 690290534 135052644 179130504 257507398 542060404 194097828 233032158 451138554 814959288 118407964 482219512 179290064 915820402 693862258 537513448 75923918 578990442 541299628 439273606 992618112 589795146 635238458 71020146 5733142 624429332 207315370 238716288 859425354 95805116 303089942 248189314 741917364 6299734 348090194 378937426 986306036 566691970 322029208 701221894 376669758 359829354 327358798 999923964 79078096 106814352 204672388 238081328 813441780 101364222 283883664 728633204 129225978 235793000 224639656 191188860 585599650 441578826 275950814 958403540 694830104 838906704 856488470 106727666 755527868 300104218 660827924 278348152 161669160 592896328 959917524 241676966 502959292 956476518 90810828 660708858 902020102 386303832 347075434 73613790 925492900 298696598 755608036 221530294 844833322 828187186 842421190 186501386 456748394 559131428 31139724 721897074 872735088 63573202 996014210 698414498 358353324 267682392 432231922 747499856 88401844 753324260 410480856 408383280 897020830 436450740 722235558 194478488 819014290 957656922 780883860 268698434 458614804 342212286 195268898 905164386 376022494 137393586 441290750 334845696 197668460 300327840 221488196 901530426 889507854 105744940 418978474 722604134 601388310 554880830 515381158 867309160 224216574 188478802 714729730 111279918 334048620 529468486 286546724 845911124 221836270 305502758 181221138 988227376 262852070 531301368 407532866 64501772 754546616 99267756 531536866 364780264 182413396 3211138 25842126 532726746 909129842 899828250 841161338 360949944 64227472 16896448 867281350 480416058 779577850 277883096 430180448 221978740 440869888 951339220 237885512 907506034 923012576 511750304 527121300 80388728 334089576 440086272 919441874 461803638 539611912 149864580 993119960 790491786 483647664 478052926 749066678 23571024 21064132 773785128 860990572 606986428 14185548 580976354 952193052 356356788 499061416 8717754 400286464 135574314 211792396 853859668 274048184 897215312 379946038 367172850 357230096 449627656 395093120 125462332 553984616 520477496 506250274 722909340 71955916 685258094 731783376 646878064 56984844 289782264 347277680 686916004 885194146 372473860 760621178 832875398 254666326 815170456 379416658 676027620 602636498 744748526 936746660 75045624 596968978 793403874 684250950 669862912 139400614 802002556 64526054 166458228 288514378 416743428 371048954 503561290 929047872 268353850 566280978 593190108 873777914 659624862 370093868 766178082 780346870 361046670 875124430 576697158 82193676 409843828 161756134 346044378 681637142 249340554 765679692 814763726 493177220 460241376 640866262 290948422 890591524 346631514 251568074 532195962 694319572 118473316 537402730 241264884 511686198 886957824 718429546 824193720 264322162 839752082 69883846 572543268 998049962 904775494 706051976 250128830 192317072 889998540 880489282 396181930 970027566 292756830 2988282 29975476 868250732 913331300 696323268 992413486 914847720 405537520 11645670 305287206 606525782 150465668 996654142 133326348 251780402 596505982 313447366 302956238 888176912 787354364 838395026 900275746 246135534 914623720 346766644 335666046 62225848 684808836 526734602 217201754 885467244 175053780 649576982 605618366 783498602 870186484 61633134 986553960 866027008 353937676 688518982 368143290 916852104 470979506 192147394 21349116 522535026 550299458 626870794 151364574 658277670 331734298 750443368 936083394 401213870 892420086 259473076 244886706 520322366 888440572 831908190 527470766 897265062 44133398 987045046 846629104 380822154 916985064 217113224 760350806 641804212 249746274 344476952 678771240 59185328 706048122 42774300 239661392 814737816 338920926 895009454 675734178 506700364 802882784 727095872 512235086 199535750 427475494 160367258 810671840 831492052 361478718 531811050 402102044 348502348 426884042 652799448 100570518 682356940 951839464 241625050 77754118 520570586 160083616 367859114 492232764 218954282 956028162 175413190 151832190 316425260 438816110 485859134 615926198 770893980 449339032 70322100 298475168 682594772 931907200 255158590 680417994 412343020 455501086 345556790 505632676 47553622 40979734 344553568 477486236 85610496 395326700 117873532 578318982 996464384 623744362 832681992 246032738 386886824 216335204 464236764 851992740 915854134 725026768 190191106 201625568 43118782 678453136 887625910 380022180 172971470 834980710 972925346 814810696 856918634 941189212 592844742 277187948 610159442 176820836 285847758 3488692 117236028 499756434 445229138 838463016 883507202 109613330 715753378 16233020 844448656 264988926 359346244 837447406 607850464 887009112 683728700 818076158 598359298 83838514 365247754 100485430 283389024 724040696 131651952 308666122 801137258 765665176 14770248 930598326 116744038 261573302 55631650 577362584 156001642 27230184 387653422 257761924 224807268 919868322 993339458 321844878 522553138 616403718 204529624 367820550 246927044 180209550 629720816 867019730 469500094 291039024 482550028 644322360 651620690 5797844 706941462 666061010 902636502 934734166 35817990 887323700 287453416 258673248 275334310 939825012 11153470 475235412 971997096 806336880 589940952 889332644 44700928 841808084 309495588 801435356 930092918 118009588 973290228 473498086 82144978 792440258 458620738 353366416 532979450 640912380 43646818 964169752 835247520 281093720 584317282 710955806 78411644 489494618 615919206 624367688 85260724 235533466 829712766 120995784 990057288 711623028 762606476 381269212 625770476 228029910 661611064 775011348 991222134 111796554 998720542 522787850 842322766 156229132 451014306 218171170 678241032 794976490 419725532 671421806 343744090 219858744 161294224 864271734 923196418 577264776 679807716 904652228 610112352 710469404 490511176 177080466 919573286 87539090 404296472 495087654 11823608 6692100 264394492 163414530 694523468 826546928 394682600 832046658 406189206 93652712 905022540 925246830 605355322 841742980 30997166 872691458 288706394 940050500 384912654 67510026 170694850 890660032 206692926 518495192 799580714 547916770 890884096 135935344 486203194 443167378 169580954 235455044 372574956 742381724 250656932 270494596 684639498 69941632 875841008 227097502 950429214 573345402 262249598 643377628 881305324 427221070 104064686 430184138 607786372 537788854 589356846 179775856 386863094 436392548 720498228 710055076 321497218 136122318 474706862 916845758 705415378 128179486 5582790 454949786 973822622 809585162 675223882 340421630 891393116 334529856 2694344 800304080 535882874 412042710 292385010 526568258 449882370 197367518 586506270 815196038 608337408 167041932 871469926 416218384 842905158 402793806 589221600 963519698 257414532 719946268 472635882 747710672 683307864 837057646 43617118 661069218 289585246 366209198 357883186 535322476 20862372 641697998 995760158 683898358 958170962 1519274 172838098 912896828 3896916 943413468 557485226 214323388 990168744 922254556 921981960 227908658 759702348 809559038 513843856 154850700 476390576 262915902 950094628 481134096 241881784 992868982 863809790 423734508 6313248 234959420 645743002 831743208 294080016 110948748 65386536 307952290 683369106 73467906 868417968 367166486 800082460 105555118 977721200 589668042 557513768 481414628 531721272 491264334 933555144 247269682 784498202 346018958 398460718 92323586 363478864 214750034 928305132 556439710 612474308 524472790 562655170 731849138 758252450 798758458 543512904 216300090 276534782 90615340 262086734 60146570 307163166 513467288 292171652 181823730 556033816 526275426 40163410 585168764 558937430 574349408 563994658 415159422 251522630 568364102 442594466 320545876 765676120 140368944 854912476 427693260 301587282 701908710 351102026 795337834 996575962 257685092 973513324 300778796 672240560 433126986 397048190 817577050 468758022 634999396 334113770 597483412 453445568 985293346 634211784 452057214 18894552 160007898 366440504 742418858 548866396 781229212 422366614 406467580 48984724 910260754 688810856 42192188 851992658 320312438 858428778 334789890 569248050 873769688 417009784 479633598 732789864 955630552 633236162 821792626 531787150 385739244 207746306 850941900 375462972 725874618 356244636 270463996 901994174 626033700 579568286 173721614 225353804 479909762 116319638 261420694 582450458 523252320 279247208 743901160 282992774 60305590 242547044 583256600 216071700 221508984 690351600 185497794 336874810 229226476 611894618 336959164 646187698 680016362 49656014 363490486 256521634 1456308 436978818 399125554 269921194 543422870 407036776 16266502 206933420 261786818 260122056 626280594 880320912 144850156 872951792 896906810 459559512 767549206 503615696 261607024 322942842 21057548 294922096 207697296 514711156 759838162 534934726 438890128 867871554 906252284 229942344 425687738 768885392 830368284 677815440 527917614 801890158 868027686 327714276 681529304 739426064 791649726 44852080 451375498 800741606 112139632 552989814 778130530 770892856 950204488 429278574 345834044 462658730 122552156 546245696 243965858 705187166 165187680 54740698 404133338 672406272 544660820 620961076 248720450 577368156 99813174 636034986 597569976 110246866 791994756 464743106 381010874 782883192 201336054 580288850 832848136 845825316 968633954 822489868 226291294 820752488 491525896 206509578 790450718 349531026 389333666 113295774 573462070 734718638 599396108 308852460 411282462 122198160 413750022 967441184 158547420 661811214 814723100 733590394 552752682 781964028 520895034 876108114 826308524 35330950 668834646 358339058 949736760 329679092 372394170 23837714 431557370 871361508 472203286 119090338 688297848 386746788 495849538 849514732 11997356 774216790 66054114 610244464 895206746 632121152 303492386 534624752 191326710 220713216 388161474 481888598 355892090 369945388 590012918 458850176 905206298 322669892 579082826 325920626 620940542 520356172 958145480 400360944 580050504 472086608 865391140 802081562 72842426 151942646 534811246 838382510 747358310 361717638 630190016 503760144 548543488 233479116 360015658 537357356 719376616 344799334 359218648 664756322 251289556 90252896 33977786 704485694 848691316 936289192 146843780 534811164 930524388 757826776 749563926 460737158 818908188 565939090 635115170 743961560 189963594 452920392 323451404 189579622 106018902 957931062 415376262 638624632 237287210 216645068 426925438 483859098 13839856 683902464 817414622 427710692 627643438 618071662 389766894 956405922 299545542 897882748 125757998 54320288 239108026 209710396 850170070 624060624 495181092 767163182 244879700 267127086 936054002 510946228 758733200 426730212 397109382 830681354 543820932 833525808 377490492 800630200 298672964 882973420 708339198 205716378 907962430 697673810 854538502 585410084 615898948 776982880 804243544 487673124 47636462 985335142 890166868 840046474 195696266 614919562 680160854 869155880 427588904 108933952 158380910 97462418 656662562 199891148 106757766 707235458 933947162 931563118 254365934 267368522 541927896 811581698 140092066 7689098 674882782 561413062 741455150 561392674 446528882 667725716 337477964 886529994 404738910 932258242 653238302 285922398 32348042 525080812 296299122 152724368 408588456 386727968 628336550 61655046 843954416 947849514 878153620 296640404 718440884 904915050 229858296 393953136 777521262 755852972 203973706 876248998 44223696 409191226 622018884 135436126 663827236 153498800 815809054 552900016 367607208 716288074 397459488 488257528 921119364 175804048 238022560 815103742 859914648 337002968 999624678 881689716 94124034 515926476 749663878 803862704 357794320 477227088 858031480 95859428 988734248 608381766 557536904 749700276 548957342 499628612 951198370 930305228 280852296 890991668 368148234 3114108 844353956 16485616 273908342 342693680 205313488 574121904 176448394 333000068 77467742 120220354 956921498 29973998 251916364 759301238 360634148 344919262 437750028 811661176 37855066 414258928 522404810 68703334 161788976 409356006 176104800 723956894 418130056 110824250 638518906 667169204 268119586 194869936 387011650 580982224 647912686 529906224 949061316 509809026 208482590 718291476 790248876 978679108 768455476 239411302 570816214 130145804 681149924 941066960 517207246 778003894 404655752 268542984 520206108 927507198 172341332 565131296 697037432 600604476 769053746 726002152 160841342 378512518 57437254 748273700 422043934 14568360 919288088 773993046 718128476 182884846 422692664 837296882 868494534 596412916 31155486 385935264 243084298 208286236 559428514 107250174 384277520 237203146 37981488 158654828 364675546 202099212 76673696 579439410 450898726 828911994 56232110 406259796 636229992 531541846 803148360 362085692 226679566 751058728 998713308 451236058 251286504 618348698 916790868 249859102 623974894 265706734 65113206 838437594 706598308 757960276 162410546 276013584 165056334 253690722 861699482 944094454 112857908 624330074 745495042 914888064 367858882 432917798 335802642 823772934 452784406 768217708 1554758 899251128 668362202 937660196 505270482 289224648 10653010 888075884 830451946 548271374 439226172 841387190 621780286 398182014 409543798 74150738 540715770 109885224 391162954 844769992 165438494 364016778 54312768 804632526 10742322 675941630 274580416 751620032 848806318 909649220 967451882 298572966 335434714 92315426 608713648 902586314 711859470 736774456 905754524 902855100 305916772 854185952 508583502 964218720 648909710 477509458 750964204 528310602 887000666 971157600 478991024 149164134 754832836 193538806 664123498 470095878 469181340 243039250 564286936 16673266 558828212 680562274 614142934 607763954 549389508 304073616 340124770 684145436 106935136 491828180 260484654 52996448 77981630 280530270 842621624 322240754 92854242 993383718 690012206 219649264 232821200 892096178 814812284 389036094 170105798 590521218 715982266 700581936 718230932 829726986 892636294 285771006 350590006 128953300 665391382 152245728 547145720 645999656 437319056 981083340 131477328 623614290 74409898 454208616 978084222 616931318 416888464 141852480 181363656 936504204 688280502 590842406 33381852 553659042 19300936 876231498 525121396 425192140 384399148 504786186 898698556 919342830 420160086 472088106 690580262 593731480 504869122 268444204 707636312 707642794 259740422 714434424 550118404 370330432 3103762 492011634 417086446 666548210 53356170 62930406 414398978 93628928 428937600 816359012 386442150 865297830 863508652 507353656 383793264 403285148 261007926 268986000 169447208 997559402 332726230 786601822 125827920 80198828 849709300 309665914 773858558 43441872 270061722 289056556 402839464 41846496 294571170 690311724 869702528 117918386 806487416 570939600 326979886 222091794 704272972 448840356 544986942 432644912 294546216 802769530 631899466 55582464 952608516 775930272 276612216 199607302 103636320 284806124 850431254 60473792 150198642 765308484 579291258 571542364 214369052 791869112 356440024 541323556 469401616 529784574 260502632 210859496 361958368 685629414 35076550 359695510 996644016 33164508 703731800 431255864 178241922 432353862 283506582 646326708 319022384 401639668 539300658 251262176 163288314 265258416 465196664 493235164 75059870 353996042 335536042 812266678 137811388 119386924 853667362 590120444 877797282 645519514 738094628 470126784 444476764 813950650 956776638 580516914 988718894 899931500 178578504 295846246 884088702 184510336 973388248 316152116 987460978 719772206 115949286 946939378 398022666 132257952 153760082 718246974 490338118 366433248 141914378 666327474 119862472 245943104 293463540 738422648 78961296 252901278 707941862 739699974 710244246 463138516 441267188 541548662 113754372 248566746 219601646 677124108 518964000 153929078 412357386 429136834 9677070 998604476 946249592 391445958 401073052 758951582 385346192 85694836 506042808 561107606 318977178 375139532 272406562 459013448 724161060 653851812 468694574 544781242 867410238 166294660 439756240 413781810 468249812 438031616 826995914 829411746 659543038 36925478 225001140 905946956 590515034 143363418 86579544 93056904 381702848 596293102 427346190 396464404 518519124 960595274 332044398 101536772 234065910 741861534 137013686 19940790 503780080 151752478 689453196 148028308 337459118 404871840 210808618 912956056 594980612 863966672 997838112 535182132 645802250 223556612 805810716 596414248 725737988 885148684 449028290 373492158 787464560 65716634 344191604 889899360 716573946 819077030 844666078 87773746 112778416 753721302 238102976 289374960 910134030 801859628 522998456 733332412 730451474 545269750 760426278 16421388 541613064 709983650 825944998 653335128 716560278 101786530 925478818 833196068 833218696 588440940 565177090 108801874 155335624 127936260 632049740 861438410 160879816 413001762 497366144 603538624 669190892 667546632 692850198 960367872 270165766 219450728 844520530 171574458 117445514 606883092 523868898 562300032 148978454 335629282 139309166 51920858 719191924 878335246 408396978 932133914 928260 932301038 935500572 18486684 492974498 886883176 607098272 615149888 536548242 528258710 474899580 712574790 792824042 535311342 744693262 482484442 550395330 459380972 339877986 224625884 234193648 842597176 621643106 967113924 315020624 30689528 354146440 403374662 506993192 5836812 729524062 579020034 680413954 152670330 153322936 598279426 237361298 610922830 123813230 773929392 816053004 730673444 775223094 130572292 147611994 103244276 162701410 994132752 4111958 147023950 214055338 773797334 338549706 189692822 3912778 498133154 522853184 893536006 792612836 795903714 313527348 475564474 689424580 719267922 909570580 156862076 285320848 266618450 292918106 678029902 188022834 982686138 608803532 400950938 624521988 162550510 799894926 449353732 75261688 575452336 296386908 765100368 373253562 721760534 537363600 14515000 956877072 180808006 476429340 619423676 636146610 389096538 98844390 410201490 871767504 831573100 748450186 508645996 179812226 789143960 938712410 279891224 176740550 722788370 580567728 883513140 684198786 8490496 929366376 154413024 56161952 288434790 910328756 674734304 76468084 957453748 639429862 148853686 280527750 654499406 569625578 402683020 403396600 738233864 439005074 130244830 379432074 936385332 405254202 676740624 200444962 519272628 550613334 898041848 166237132 59024046 55577274 798090474 906634616 288287544 757246834 88685004 388000566 653455632 590154286 818899920 354328074 60570558 153313012 612860700 661026286 174596208 671111610 291106582 732341620 555010730 497092020 496921948 643098458 325503116 999118542 78871350 334958642 610061650 517141638 795335684 873715248 175887816 951128398 578966960 555756014 347654264 248584466 834855608 549688230 158433832 830533796 224111848 680332290 580335464 276390954 350665660 315406138 629967012 930836740 340089128 296859360 770982044 406473078 691518784 751746842 809388626 885632808 770997290 577781408 996012024 119743370 500728124 388310372 863092492 2384868 485806788 69348910 997799404 395708500 450912620 334845484 446193952 885750858 863499352 922743402 617003016 127335176 232035174 87885400 986395908 639656470 960461558 301770032 497811750 899637902 433212906 282999886 977723292 888664296 178083150 802042884 453638550 47221046 140535312 174416820 894322554 975721116 816508028 601669190 996741492 348159220 467543890 256214512 843283538 103024154 51290174 660544056 83069526 322724068 790353500 267885668 413334786 461354184 616697388 857432916 481125938 290042494 589272814 484421702 874352028 937653376 495666386 120419244 616036166 87491510 645058344 971817328 181582324 792558140 985920044 168644542 622494402 895668412 104855840 900805430 439544796 668707984 80147186 516821440 673085778 393850978 745741580 385579792 106735330 132056376 40745738 683234382 490485234 348705818 307707122 406719188 639329026 729160744 361655558 803014432 158533572 893965094 344895726 487232928 405897440 137302082 966528670 367989510 307769010 170460090 416877828 351871984 286352624 779308790 955148882 685261674 302373290 198938256 30697368 766951484 547708308 687795672 270318404 679617536 637143050 987967352 81303582 525775500 444727284 423136324 444319324 813615802 32715202 554897768 195131474 888845774 474521916 114235164 678949808 890698390 39842168 632303658 938003886 307309044 114083168 214369048 90683524 75018594 721557214 903398712 756043316 515764918 820604948 311032222 932707650 552668136 990339412 986789634 658728658 88483676 860619930 837521558 966978630 949124928 110102484 673056484 97677046 851034838 833581558 945367662 541915080 306957188 648895890 216321002 834049698 946550712 806416328 389265990 112320438 255920088 536570652 12653380 37039666 86188216 251072492 398005334 443284656 890310912 15370980 876136822 113025222 342278606 619667104 736817618 660192814 549129846 936125644 917507450 555182678 840454382 230233844 960586074 588794918 509745652 477711388 773973342 529036492 989994316 646671436 662458366 908983950 726326542 434873966 970902746 492386962 284420874 49016980 639909682 462633906 561157988 645818548 901026036 412631522 249355664 206740830 100860406 485978850 14732156 222510898 838228286 624994318 430552234 555688476 95978028 212923368 752697212 573229042 915915500 42669852 6633000 160494762 765587486 925886166 505151364 994920740 753210010 819901386 286239700 799552658 408305028 114709486 553956398 548884404 230787330 165581416 334712434 590748830 98008610 802629730 204249114 804967206 492068994 377725800 931916772 704146464 745791614 922018026 852764316 985763494 551855898 239821296 697123268 842245378 259924088 532664968 417283286 250363766 255827936 173111570 667785314 164938300 494117850 500849036 578057524 127051112 352932210 65439730 612999640 434863134 64165072 696432224 866856756 881531570 810347736 932795796 314293702 652569470 205974700 76952246 249830164 818229322 753068668 5701752 749671828 372891052 973021980 886593572 448858124 222872562 173263894 129435420 582735518 650081056 883458616 872061750 137519460 980851944 930227794 887450458 175697582 619899504 677585852 100616950 264029510 658479596 29472672 885746942 60576596 710026426 929647018 238474374 612886818 658773106 899752154 39409436 719590342 703767818 884888166 21976172 297734280 251684534 99437018 943787298 764516656 207693582 878113666 281231174 355219984 467701224 98370088 825171660 402948844 844953598 6376382 598208992 622841152 505580750 885221124 644547688 58154554 579899000 771112430 866393530 904105596 571025574 140028228 206607862 143953604 548446402 529779448 623444098 823449716 415028074 415483780 676966224 284765006 396299400 310003010 246464646 362923034 752234664 623239090 363633994 509054360 975369832 996586722 699095426 518561684 27544256 648765958 670489594 266480916 499343792 864028692 337229536 546374640 930246452 517642962 580833768 377379936 611503982 930334786 514676328 485719108 971068142 649686472 852775812 906630016 312365392 400806930 587623976 169166022 187635180 141692512 164229836 962750490 35879052 938419686 623218074 579906258 655279454 474342762 847252256 204908142 769026704 882983610 632658136 926009848 268564426 720135644 644881064 908310398 255801164 569648710 282495544 370949440 180748190 898333808 761823048 724433964 548780102 610132740 868125292 275063816 821906926 288151778 363407144 387984860 308713372 858130836 610404090 29749468 680390716 40680758 241750418 637820412 975675160 46748402 102577538 979004406 385676424 906358474 408959374 789182456 211303940 136887862 149172830 223036462 128132014 231517728 366398292 508328604 477494150 361140462 211811874 893287920 57943484 42602258 529637334 260257910 819899278 52127450 300045960 385915626 826779952 159535282 979459526 44904624 337484596 831599624 180034822 634766204 134530132 445999012 897059758 393443670 994600600 880854638 331470538 40157072 269275180 491296302 584616198 260864820 245533460 562318146 404673398 223789876 495110624 364023846 802481692 963422200 356376398 667384302 843498972 468838012 155328524 761387196 727104430 312835596 47566370 994230396 970975878 603988372 233936260 216138790 78691436 225121660 210023014 333851960 814073822 370618950 370784660 500057436 370706286 866018152 687160706 389987136 62810642 1849752 482107978 955009216 739674844 60488650 184851452 435069698 479100364 212233568 8614164 315459580 819932896 416085404 279273668 820221306 953701898 107368486 725181722 577524542 467225870 31117574 604966426 327260256 846822354 104992106 400864812 273205836 413677906 775571450 212098092 853851722 716590844 405414528 570238210 118837954 142321024 229530124 513839468 240220734 613897678 495351580 604400644 615890074 483539024 628558404 306005856 225853748 943827654 977349238 124722512 921564782 913444664 49416590 123250698 515875172 505509562 859820384 38153786 3883130 456453558 883877924 393391308 524718784 87912894 471239656 555236180 96465518 742350100 48155636 105311202 853004602 34470824 424781264 370178304 199382888 425987776 350922764 357334264 734704276 210356016 13723252 694375040 948875958 839686566 178260956 605160316 514380260 66124682 914181252 29714446 78221752 729480656 428970032 127508876 911531674 51956976 59690928 452581902 570411574 97698656 402640766 598545508 708932214 815343816 901647236 813302132 184072790 809784358 419024680 863890162 827217998 859348176 315840650 256022382 450933854 965504500 299117154 606150804 469646938 471550728 521318574 682306918 899853682 111747422 255636130 410721902 798682300 124988086 364987326 942842466 955880650 516514794 213428316 386829974 837552588 253742384 243497690 669110456 169905194 852645342 336826648 124974748 680554142 351417006 162351590 159530680 71347828 353296798 539950218 921478178 263004050 979777046 855942906 174511206 833085566 967907434 273700900 939937914 605481122 702170158 721885496 943472232 501137688 88434096 464862476 614921860 74483674 821780036 900116040 621862924 585854760 470398712 830487782 443562694 153962356 34597376 810358822 757374794 606878090 754567950 385558626 821523354 324058484 176757550 523297384 655498214 904417820 276532450 780075524 588899658 175215016 720780140 581357524 904954644 188221154 650464806 360412698 700468944 122013698 916887794 606370176 591048030 375579236 770548448 989294746 252523738 123021542 104667954 173539184 392212566 696631198 434010238 883969042 675294756 593538042 629081922 508822718 848416042 320184424 500000018 897380272 464952606 452675316 850059860 454880302 941867916 493237996 405833706 308633522 609628910 999974728 614473210 604868694 494001480 866681822 545974500 593420610 139741804 228267366 359571164 592721000 415576760 719564536 789734988 276137072 536260646 240916794 392083244 287898214 243846242 109098498 473903570 902547282 43069212 97805124 380167616 997903778 545644852 818037838 701355504 98046292 102425702 702831256 168496066 739252680 887493488 127295690 557959020 69017890 399871896 461379068 668673504 724543922 4226684 338669634 57042468 632649196 899852662 59075156 323012536 179019546 926833650 911768660 925848154 68955930 716355782 66448156 238713442 587849274 669770238 15853108 203450262 488503524 179591564 668117632 360614640 611055070 208303382 841898958 49544174 874950938 390622518 71924392 847497252 112509268 413494964 350514390 985532692 26905886 195196842 607460550 646025940 650972878 612225250 223919738 334191422 541195882 798169756 283553514 860052858 210144616 681383408 136259424 916449464 780666084 992030732 236093550 520127254 712578842 127731154 266480404 636056882 538885054 898090730 761044882 442944896 455036120 519668656 442058664 803740614 549125852 303190480 321765704 708187748 463380362 15766312 743080660 78454348 28002356 436823682 50607940 390337932 630615732 514366460 69617466 358884202 773658600 250710470 868327466 340647452 719851264 248105756 992959992 594823060 335866456 510608454 35217196 395398532 220286026 132309544 265934042 982014866 977456444 134001076 354230444 895549426 392586202 944224844 629369060 434157100 516807794 45331762 389771246 956135870 496248028 79558430 903719762 798611446 413448758 607257634 23970094 123689106 623137392 654729752 667021854 917997704 993248112 992724092 121779966 354321454 894561250 885633144 956322706 256126448 730326474 406008474 663662140 601784940 185780328 637912606 652652096 755992834 282641226 237865622 396522972 97311570 856575882 485734334 397009924 370128692 695717092 173734140 12046768 474445892 725952752 568613280 81604150 477195518 544680296 457427824 787546120 169718844 375579872 418922062 421057410 238853424 645347062 190540740 991832398 113600672 830950778 637165996 51912250 527449162 223283664 597487518 24532314 15988368 156653576 712778586 81187496 687002570 487552896 892493002 848073094 449181162 91540946 532127640 859875010 839572200 800381566 672242388 227848548 880763974 262554414 42167474 642774104 156513872 545444842 521687618 780180888 443275860 749850112 166547424 522196762 68119678 718967344 632263932 559200472 410849404 254278078 109312464 179349594 912731240 294229134 759376798 345190068 309980934 318242752 272277592 186619282 224010724 266926206 338654896 43269832 71164054 795627210 52577346 628837356 278316656 675588260 686994476 227208098 398400394 98616906 393827728 385759610 8860750 695654592 948605504 680689016 530759234 70785440 969088308 739264902 254955214 833138288 121494952 477624300 867482902 441907450 895001530 495673102 768948380 189885934 534302492 836840318 748485924 768646730 470202738 58855448 716597296 593802172 666053104 317157548 359629642 914873854 191489868 241024318 595590268 938576780 863112138 121790096 397378774 228877298 791868226 865385428 376400334 662378440 314946248 526608742 180843832 292549946 255288346 12794864 201487316 276184242 599902658 894774802 964575110 946559158 961944502 427850972 586386156 642751184 298206028 447685314 394196588 786734296 814423290 741224406 159985778 991113890 75934148 288126352 470473330 661736886 623069498 886977522 671684466 662681776 355097624 261609008 380518750 223445482 269695402 570277364 971220666 497895354 217241800 621365254 85289084 629770754 136445082 496342844 823208186 64397806 767589536 756629254 27114046 80896378 51835188 21816628 684148506 711948100 335309022 795125430 848775742 834237536 551392056 824788476 498704458 323826122 352757082 101714018 309254806 426106390 681060856 653985446 513736354 667492424 609975658 608031100 5309546 959561056 294778602 889450578 551095482 581470196 290203866 951299542 155159734 401111228 319468892 290605610 587265604 728436966 976921656 774933710 968057480 187659388 693184126 129454300 560555382 244127332 680314752 612826418 982767344 21479942 426391204 928798448 520538096 31108162 704707944 65847256 387206608 116154200 462383440 117253062 117207246 823312584 537888750 488725696 236790450 334133000 616176004 838539078 101758380 178094886 790646064 724583036 38740576 421965384 611167586 770863998 748603914 954093770 936170034 921001196 206887998 100370638 550189748 149552968 721915072 3994398 902067508 541408572 753261420 762320936 56078348 296882484 835050688 286749280 579435530 972545966 570324244 993371022 145001914 202203254 928037564 56853726 778777322 374263910 406566022 11086714 689211160 726713346 209027430 288741156 65004356 58342038 432836218 347693098 181936596 451830486 71678968 254844176 871495928 852014546 862719166 232803400 38984656 918257246 216534108 79993136 271799634 660229744 295338798 514985822 572032838 845548722 911416474 91867290 956976394 500635208 917543016 298776976 66233740 91527000 279988656 746396016 32454678 65147700 201050774 600750212 697761130 425205466 295378788 116953858 640382732 274760606 792871188 804600514 962750770 616816040 133899758 730121556 986486436 831391796 670582862 40181824 809786692 934072250 187927730 6681940 604147476 430900258 258959514 787576166 315930390 416012152 171955154 290733778 660404474 32949506 141473472 389812064 243498340 123196646 592309828 345569836 261675414 330428742 362176268 342326442 799686936 866588060 431173182 192038158 421569674 349800268 704895668 197927396 651268486 275897936 229621416 378571128 172683306 452603792 37255720 603633792 964057674 989397266 881028206 738157388 304021926 189093830 142826198 81870032 659612496 439374000 280507688 776810696 694570288 236121984 206884090 652169966 719936518 884834050 294540478 574952696 89234548 641283386 595329736 460361968 754982212 823498500 137487956 585647954 544895108 118180966 445426082 136180778 225039238 496843788 595291784 904103888 938998882 71686552 195361162 2503746 561425018 125956620 941585686 556730754 621322620 954208236 158288240 4263282 570424940 92555634 692574978 769852500 42028210 569607596 151719882 441188202 730732016 222274962 383897412 221371260 921506124 238136296 66922272 673575222 907564704 417908698 513456198 595827592 191774876 866123520 242079886 125795464 693761398 560327212 469241668 508394616 213865134 546081596 376229222 287114334 5216800 933368448 496760494 338287744 435159532 677343494 324719392 92961676 850663574 34119486 22432320 603017622 12284670 795185136 749405574 373937600 764975634 859366788 422429716 626799682 663524860 639008534 850260796 457062316 30836892 627535100 604502954 328177646 62596516 24257042 886558838 681269648 817358654 595460704 746307438 863194442 283418706 530782902 882900952 957520812 593092904 555236158 669169738 61103844 799454032 547025074 998313750 8403030 931825514 679702720 689278820 557543430 708435268 960249518 569522804 514326304 905165932 250061942 567615148 310214262 387922352 863665200 927275500 278597690 821476086 544900580 779416602 344524334 54146108 375912778 449147430 332607456 136727542 553371810 730077976 379968116 107721848 148921768 892293816 217322204 147088140 5969190 832247202 460179772 818759224 606015438 710559420 728610424 896909500 456746560 25104290 634705740 982419602 184910348 95581052 506097672 802032274 995646818 64184130 684068786 621585014 862144620 770052096 414506312 272880366 157715522 889143222 924887162 578228306 111760120 650085488 174027612 576395746 338621130 764664000 540460786 381340800 174279850 815180704 276500538 982442372 713023604 724030334 9278496 573671598 63944146 58213174 751735524 417676880 232317798 4983872 433690546 50460218 602093144 710629030 596572512 982780788 821866958 304513210 89210028 668298754 367458592 539401368 168009824 987285160 807508624 741171148 325756644 209776384 744003472 270648106 719284240 430253096 408560338 187172778 992148902 632431586 2399372 176458438 821015784 313903902 99859952 653060628 392126052 298382756 107937962 157422296 427543174 433462560 729497794 140982136 596885774 518185402 604322692 860428386 244837970 435341044 960746994 174002358 363939684 195242426 356676842 7547874 21934564 967075132 768783336 671581590 21795172 277430090 68718932 716505944 929108606 667932868 944826614 387828894 982738198 297515548 22132930 570387880 122697240 48230362 601296566 590723766 555001812 18710738 850023158 824038872 262562846 24917982 797066146 394882566 299392990 367523930 857736766 864271882 365565442 987656974 349067898 153516470 156740172 92185030 512917824 130191868 339655570 645635198 269445744 905624504 589453368 192127122 137441806 942882444 103455092 480795810 502048928 289068580 957932616 943062452 802490814 399197120 665638316 766506392 510906336 497788130 422694362 745369260 130348944 710426368 41331812 602091550 606184140 716721034 677594036 663518024 285014474 502101868 637149074 593229572 653240906 123136956 598621520 836875254 98780474 322876142 515090990 43117802 270280186 454038596 334271312 492977028 406342126 904094720 4081470 140021508 566447884 87470312 398210926 70543274 778706990 219013444 798034080 222888652 261163388 594241628 473651168 775666834 402032640 545333864 894605280 112718064 102146178 650399136 338263798 220782534 835682674 371522556 364913884 337363950 856296616 766975526 886781302 105653232 164116210 728473522 257742198 394997738 440342250 473307316 291739330 191237156 364179766 367142152 139531000 243919342 782882390 63546098 419195312 547382844 280010924 487240994 939390888 367653834 685145350 172175874 692303340 200174824 413342346 281602416 671594832 240922480 771485872 62423796 926695576 993383110 962554418 102265476 925740116 850918416 700200404 498823864 190309892 186529112 264020960 598617524 909092912 149532156 503169658 968392788 89165898 606385666 708503166 100051406 171898164 829507954 80819940 631783982 638394072 878882482 306961946 745888188 329377292 968086892 548763992 559850546 932672258 288452124 340063000 976033010 495162408 252195776 905441318 487783166 68105410 600594090 363450096 190650734 529935074 276587526 313021964 160109598 75905638 101377016 11365306 104467080 13605636 984855914 259856676 211061974 237359886 759890800 215843782 893151688 750559976 48515250 609077746 904036584 680141088 102135990 137582118 666619246 960807902 463096150 132796712 284244818 478344058 538589322 419112758 960514446 464487278 877705680 409325664 243106514 224776698 168342906 591532542 513569810 78938956 450129446 229028626 930808118 243102168 577286986 361584110 811606230 863708050 961285552 392782342 686550030 115931108 987658886 761589860 259632128 942793050 366786264 649328064 1223680 476077764 302282862 205001324 22660528 593116014 622435798 692986198 445877908 714159486 639708658 83159634 942318738 105475728 95421040 680939614 648314044 866301482 123613138 922768186 521865238 341611940 951049702 708287894 69519256 996555672 949134090 598222478 912920076 122622062 834228950 277720000 821905028 816919690 505596972 950087898 723206870 282986558 471404166 813736422 704501724 347948406 659841212 894033354 751929278 490003468 920393030 325575240 831119396 353655982 395099422 515398272 489643862 90559990 655536272 550150950 173105614 984389750 412876762 947209060 432372746 378940682 195600170 821537234 421328072 489435068 447277422 129549212 182328856 422516606 724227532 166847286 928237214 464327996 361441056 796353332 646446376 148739638 57186424 822935144 984268662 527939520 399359208 794081944 594258940 961025358 494075168 669270554 76578698 393161444 398649922 381206162 584043238 949051882 766356252 831936770 109775644 404930132 118646400 805620352 645364182 1270868 209041448 650860416 394216378 154095972 202302162 65631738 723022150 982820856 216606732 20482724 200422292 435130912 653808074 947930016 224712606 958196306 902598918 248061528 620313116 141795000 480236722 285137020 251236896 915761514 568504942 861702214 92152386 245807044 734389240 17400858 250941842 405279986 14449502 140161080 109820892 577140054 100315514 16688508 715303334 438341978 607942786 946844872 619876576 110209562 627067876 345519206 112097362 463695588 575061180 446804800 547146552 747662392 340270600 57408758 393447694 377540550 850120028 622363512 975571546 714618338 82481884 73746186 79812034 771197618 903279162 431226554 996835214 274862308 842307798 557075078 241142010 410485838 904518454 218390402 919607280 680802352 436912830 592149494 357788866 51515280 615347994 804850160 139977242 142237504 360328586 195411880 942581748 170025574 17150714 678965758 256564634 936915480 765223960 195021768 828289884 329581612 155925464 300675038 937859430 557224714 258631356 793054416 835444722 211263038 503592034 820297484 591055630 470381970 888160794 396356400 53218706 345539074 618484924 898361026 420001592 984499706 544146474 295116450 178511722 738094020 725306964 89917042 12996076 193031386 874047666 556140488 451478650 673867090 986471534 852932842 482506110 258001956 897640002 320065500 987344882 850943994 893326786 767173998 293077042 455099616 547921676 980354164 619259422 638044010 699558660 717671448 716420842 529279698 587762310 618715726 693191156 385647846 588225336 7072004 779586470 494245600 640345498 176076772 306336280 173632438 164482690 174770526 961703994 218022258 747949276 403168028 409800670 203231838 550587204 838256684 250622806 156444994 443408116 159180310 910819338 723377012 198205782 822958134 37995270 271826378 283365694 794041384 851976808 886823468 350350386 931995486 83803804 805628270 713589690 99092908 991747776 622968664 567221832 713639198 917830402 714028738 862856050 563499962 41910408 128577044 5634620 62620926 486793138 744893204 479358452 652265674 959740356 93015254 240005454 442855102 120707080 101134444 648414786 822941642 456978076 871870334 139166788 776751648 889569478 207681276 818712584 968289044 575265740 20036438 713581662 877421046 883122214 189680308 1602704 881711890 943302096 1453454 860235214 449921238 921337878 209213154 344291780 31255950 594570732 247198928 445426852 792431030 768645510 104722668 614467402 824470828 750351680 736447866 622610850 483780758 345781844 845211680 685228154 557921380 595488048 90351836 684685100 276670758 978936980 859823578 389307668 171994474 662739850 395032380 654922532 19667378 876680062 207582516 730497794 255225278 54233818 10887304 601106276 728975438 897211062 322636622 948437590 565311282 882311954 832164866 906022836 615555432 594219310 937678814 979166812 509257478 575874150 625608878 190872524 857421080 496730804 908438732 69059908 145230010 367168254 932756082 534503602 821134520 772903844 616292432 683120338 519624626 46441384 904365022 888160446 754011964 273325464 142432292 548341266 619580920 162185576 455362544 862875080 101634998 754812656 390081084 313193030 739904814 417530294 759205232 329996854 211315102 916031392 49137088 655296854 554444732 203766182 249660286 274948890 532916134 576898498 850485334 583398442 826936364 214256212 593199082 60308212 794168136 532154688 243788572 513752902 557080590 263462610 585324186 244356608 189840928 128143622 696096516 853658714 124880494 86342424 168969856 698185148 460651740 654544658 291289762 755883676 748367930 795282206 709946732 688033138 847031254 784422076 533171384 52827450 379105010 139719800 111738972 435435040 604607470 369064722 881512486 292935002 469392680 123759390 186928322 797468950 676039280 3212688 154374130 554948332 548566044 986103558 767212744 722598356 972030796 721930660 765578454 488742428 51539070 277207018 142568196 830459228 706374224 799260626 822518914 637729116 499283656 825884888 152862280 821182832 429003558 343712278 80589642 143118394 318339852 104001256 135280238 190282904 642683854 599072388 293134288 476778658 748082470 53347394 26442238 531256212 875107406 224244102 200954414 40026196 675240634 501845168 938197304 456461280 664976214 923938416 611831954 27282872 802715132 875853730 144952646 219438670 510762616 620254784 30583890 246962592 317071468 921148496 983216128 722333646 181754042 905358150 363108488 40295680 566866070 990192880 910351464 344770522 118411640 57296710 909816640 491940492 895984260 505210712 251756512 387139892 967337524 177517684 518854036 575790574 752187380 838715722 686073586 914229936 211025236 249397336 899197534 232393556 460756228 31022660 48239960 607251232 859327468 51550900 393754714 670255766 223578804 111417766 46147628 688344606 863019340 597519556 682172808 337143062 227308846 268678 42507354 557458498 636812580 678810388 182524908 119288962 563861394 101509956 2436700 51129496 471926668 467868180 505413380 830452464 94090436 477942462 381648628 597387792 59121568 732983834 721054244 108002146 741094672 162779136 780622050 836198236 867441056 392960742 226751156 264884886 736455516 94268642 90158590 635432636 28710528 973116494 793672756 888221958 67095508 715213022 67195338 247194562 967361632 166887500 841207328 401686098 55771004 770705518 61819244 760187372 646593284 521131512 625015042 832096464 873235530 389636546 988282372 584926534 925067216 663537966 198578386 921076086 29743910 672101780 234482516 218326402 673014126 967835402 529959752 341617006 525089338 63058010 782264386 481564112 831297828 16232332 496930372 681857478 450260174 701555138 965901182 289234978 509913752 756561590 6668672 952583300 439656182 964865022 719721914 537713534 448584122 397642954 17977824 277808940 779785468 326266748 422092224 857448446 230993142 360171348 40705976 62193482 130510980 820523224 478604196 214336320 451750928 722167020 22809822 567107586 186853986 536032188 817437280 990872770 269936284 676989986 902584038 471410354 55147074 629848912 608333038 638848338 260604948 808619674 59868700 621255242 125383780 861122396 902283570 511025810 188723118 974163640 719529630 187026254 229653732 140923108 458049512 834337488 492455700 133944264 514542662 313505738 543002628 180355864 651009088 1147814 931055486 426940396 552271860 146023844 249209212 330839262 551439588 477596514 245976566 451026616 67157578 489372132 773212536 343165426 447129038 490097810 118651592 631220536 813962602 693061662 373140868 536494846 697308400 154717870 138586794 352535448 325888658 627164118 499663932 897507232 202032620 943358942 632855630 29775994 614611382 357287192 935075518 111895640 661076564 239334266 907755722 155071238 208714622 436155904 788123438 90105142 64591618 944152938 452018984 443375134 498563620 691686176 217294914 849263032 817420452 510212672 625274426 420513688 199840036 113642182 337386780 16582360 546814188 960968616 362037238 658224240 223930390 582668876 458717004 271193316 975791676 325383916 999858024 213440974 418008366 629267234 519413590 929585460 920531664 425532518 146031552 714488354 706375376 850337266 118908726 625281712 562018176 244091316 106022864 783969992 310283902 999676164 737009788 368039518 711801770 508858736 414895760 100147940 191545932 643557384 547914310 668489152 599940808 615340322 703637832 799975796 253648876 208678262 206805516 104585736 427029148 179728450 362180968 610807158 673170566 489638956 821888530 761201554 584551308 109787314 225000442 795974470 472657986 295507756 599388268 315298294 567682788 33056656 920732382 48727880 989181634 40260236 175425982 543442134 47104554 69342480 859118420 571023260 336895672 612421250 463886106 604805432 492875866 34668286 841569692 507089950 582487180 625616410 523157870 369573368 735938444 299819888 713581478 647531412 169559192 11862984 150551556 192351494 789727338 321256520 378505408 881520088 367126452 491166530 450596524 584236508 951754410 907309902 580212426 577850422 703262354 799140798 903744478 128944524 682466460 991193942 552561436 405216822 50901008 891420930 77156498 806905510 617136520 853976466 449509864 402001572 292360416 44122444 64288854 355022080 129188288 583964090 518227690 420261348 653616042 350836004 232670644 101182110 792065608 268093808 622046888 181285092 27392236 821602562 615858306 613521284 317090516 660600998 805241236 710038176 202784180 704628150 940848632 335252426 92529970 850539618 987644072 726530202 107845580 628142944 125988108 35193094 382291076 366377520 407894800 714385090 43922216 936529282 412808854 547083266 669474126 612357034 813949774 113327844 522917182 915828480 208349676 344352772 848549810 833365606 363916932 593199384 188340722 451922274 102157390 928722446 436893454 281414532 805542586 948221124 701155488 654150966 77063424 153221846 152695276 543764278 987907080 706141676 816644280 529678926 573270016 122656314 757519002 723899802 43190826 832527782 401988086 135672978 701489426 28855008 335658796 179643032 171171692 51877218 175275084 671864194 272733084 726621964 226083360 6607148 119190702 816233880 267304278 818195416 55150388 362779588 906252314 904856532 954354258 531970154 938178650 105932474 993362480 636979096 291937704 976444746 479523708 886359466 614922332 507755080 499968220 914660004 223468572 954089460 995514484 244029348 127692980 147568402 803011688 122851062 132908654 30770456 457655258 319115060 983848500 472700108 280416060 352233190 944005360 798230162 479859336 183159882 989840490 126085142 788676810 885077014 282467658 275989142 576490752 174007376 651908816 622260270 330175212 754125478 850436474 163305472 824269318 336592466 422561544 990597938 888359118 124946378 594178816 236133040 704548982 392109840 887879534 89692690 653871718 999369252 948008506 193656382 88216624 68087560 406042262 502871666 77248294 211795520 242076346 759407130 265295988 94016612 464889328 92825434 848272022 810973512 183875722 801618940 287582168 818979964 773622374 75815872 490682300 272254104 597928136 729030162 624722954 457844898 174227982 692645164 90497024 874396792 452253930 773987098 370776974 986749004 807022120 361229890 101225786 21293132 337403384 114104278 552597096 504802430 137356608 83595328 928563282 77332170 116586666 220149534 959302862 769992026 457444134 949869680 658645780 12536726 139925306 309873064 977809686 241430418 247866628 227111552 665806992 256482522 265501424 498579276 137150298 357103502 974063206 213536972 232822854 744426708 63205002 936539196 179229458 433076450 786577894 356677442 267111952 517122942 654052210 480809394 975747222 9007978 833822810 452464564 350409662 240749742 210424780 427178542 51468236 153025586 633801272 460097288 220852718 375888240 471072684 306866702 263497752 216086764 276323344 112374476 855049910 920615188 28599026 775813628 536056158 488779868 597590064 869767200 700778958 557072890 592559302 157768778 380937234 485886018 821688340 17349332 949185348 390666624 116675450 270235940 691837236 478148958 619679018 661889142 68053844 691371408 320813712 611799544 378383242 557933668 845581386 38396884 31772674 669391546 68055950 897800816 533230364 40454614 951160704 571070910 984155142 852145846 916932674 991637704 754009746 324365112 965665142 734324208 660438160 655597486 805564682 501587110 470488964 385035592 970339968 654624722 142359548 64431706 370983982 444150634 651508168 767008418 88834848 443504218 125485068 858034452 757861326 242967646 994001554 97121536 874401252 532079964 358454904 614249232 419682822 914575150 253691744 933806296 107317872 580241950 560498124 871569666 773696900 172188896 734540224 889209896 2242708 836296924 185037244 466434826 812765428 581757918 49839680 815844478 327897238 632157946 458721102 26959974 377906726 995747822 866152452 313012848 519819932 154923878 258463338 384217874 157713256 584158950 351405546 855161466 896634382 371131202 905900702 858942084 240837518 13158588 626500246 867395384 644919926 371657758 877269690 591499582 42062772 825737708 788942720 632177840 177994778 938262564 810932088 164851714 202414614 504829092 175070758 785776346 865788906 482649008 708113288 906681072 860930160 708675958 717626666 968909922 855772992 912201560 936331496 425897586 27228454 12949754 202856374 848770914 719118910 714150050 633536134 85665478 882805970 910271500 566772552 711511030 106367678 459667302 23018950 976227072 34100020 41042202 904022788 322073144 167022072 411030250 867221114 969937286 573277524 203689636 707228948 617675590 456634280 377596210 162215164 422981546 928653078 841004684 734174326 9222596 53042762 391204536 702446350 446855548 259769158 307102392 934010734 477593750 19311214 63825074 257460646 522566466 781971182 586325090 341820684 679194284 69566246 42624100 177209720 842180638 502081286 22080828 747915158 689079948 566098602 83094652 764147346 983343006 416247216 100048802 56244772 934024878 319756370 762920360 747489502 969062154 983232556 449192044 85029182 903633448 853540076 343843778 286882388 902309666 732531962 310775538 917227742 492671850 846552712 253860124 708317252 499689184 593287592 959523488 538486378 889653306 413713466 447153382 362627736 149644012 379949094 870638784 186147690 445599220 543835208 609929050 199816154 271830854 7277356 673405944 938472496 120536034 325534788 554160464 914395442 403017538 699953206 973301758 465364 995851798 537034180 270643626 748148606 915945286 203302432 504183314 202617766 884567318 390116860 362189814 755478636 925784942 668098966 996220066 320213102 800106312 149309616 499573526 819329282 932670006 74164838 996570044 628041076 762051964 130404542 228605986 667772082 32168256 174285514 890320448 886818486 877520276 559038640 807817840 502069946 246049534 336243248 403350708 425476524 163845550 545685720 546030494 387397066 563733262 785020776 491580080 868797414 215023776 91105242 498855674 628754330 679131968 893729148 492651106 12796664 991728924 748113182 300407034 586076438 147275280 848932928 820645478 218746252 150676558 442799590 868410162 328574378 506248662 835728376 148942320 693265592 886102942 498259738 136838572 106447210 497031060 53319446 501514314 9321730 964771284 892246788 810397944 713572962 650743714 588229368 599190490 417799466 481766870 188502328 906672640 556465706 383956940 494895190 975866324 989145284 117365880 682652636 492686790 406913396 405163658 253743674 114410788 438488184 492224480 298080872 603827536 677970812 309565742 918961032 397503392 367862352 879713108 529632364 316262258 305293228 884445654 389014184 665707148 458283862 10247466 738543804 335079596 291430756 107965940 571331442 758714564 752922028 399757728 398186964 728621592 121662684 786568890 29055968 250784606 356299612 42844000 456412850 653380912 560737476 74684312 313097096 738743830 725577132 191929222 115957452 542980912 609958464 708429222 757076494 576095496 850280304 843501910 459018784 604715392 659044722 644023852 681090524 75717226 814583902 843911172 78351480 812767952 863770520 686357730 996611986 28238722 650738962 465731796 957002896 355076182 850578266 896334774 746606502 917079328 891447208 501162790 625277862 14765740 720194816 977721664 893296260 213354458 831278244 135907274 809364506 597091524 469593866 688264210 779855870 516297778 856429630 432051430 429028108 107964568 728993722 113308316 140416514 735444972 833225052 888814800 947298526 986153060 267074366 224334682 23011670 751740492 520097774 984788396 877792594 431171314 963669958 193469184 747016720 588829912 876746754 945963262 150906034 478869012 779344962 192798488 432148732 968288370 95471298 550532288 198717944 520956070 492262662 599204586 46051730 598647212 701640940 124312962 819894078 769223830 656456162 419358270 492647806 151840002 829100308 155315140 899115734 862186674 896136674 822195694 818134844 594019476 46040794 756984260 68844102 824225118 718856548 168566720 577644612 621620244 968504242 908665270 508258692 997270368 544959946 128802168 771773158 113774820 377672638 556836986 509152042 813520800 585790394 315965070 570823936 847207198 313732274 342231412 961938870 252873916 222262300 649740794 634716466 48818898 670346660 181399912 985371290 416975168 342906586 810840216 256215412 195522378 436135268 583038528 2902252 138366334 500900428 670291546 2942014 538632222 511631132 958688034 739142828 510432092 494787386 318548146 83999504 929987590 882991308 138315772 107608338 864125998 755909240 159492042 748331916 481901974 422523816 229499176 900371850 381585828 515683270 600743122 738442958 589026096 700615592 607276660 149853022 588720670 872744600 342012748 760815798 838792774 837646950 381830162 936681926 481301720 614869592 602259540 447864780 333529450 469242368 157546186 948944886 584060148 976767324 805326858 158979516 419903662 252810378 187047530 572720676 985567654 754160076 669597864 643162656 663241276 696290896 731377822 705725636 528475942 914727400 140351620 565627230 980261222 667661884 607482892 871771166 211808116 986977912 187206734 844972726 766484814 39148298 470670372 441674944 910748038 431368808 648616148 187431544 889641566 506627192 969215004 537047600 347047044 45395744 584482630 276421384 633089640 388722322 13838262 658803500 722540802 485493430 281865062 303492254 660641340 797715422 827555350 375296726 276412618 338959858 119720238 814665560 875732010 27906414 529608282 296842732 127514298 976434546 962329470 71380386 996468742 608335366 540165730 265378526 307143552 345640792 26446952 182932294 353747640 311004806 859147830 25565836 19790632 498324248 937729932 665553434 9499074 997477806 10564858 992846372 281836280 322831510 4577710 466147568 446113788 911538540 449634442 682256722 669250882 466964738 742955048 949762884 946445004 352356946 685697944 140125390 881405956 228508828 174650354 616939680 76576852 422153576 399376214 608618360 573390420 599645724 207483264 124772408 350199302 717009420 307006590 700042772 668067008 580681468 177624970 906106352 657461128 597353246 712230820 90835460 901026176 995126428 691907268 26505354 655358830 836786456 797030626 442410676 517867750 529095264 31392126 547513506 514017254 468011926 817234158 179439950 964787042 549270538 221856174 21887430 47375130 633173402 820878920 716572098 834264 14695890 999157364 714744888 687844166 871152268 815654178 864549490 223534068 124504540 84820430 241561720 226832366 557078476 882286250 728570164 796243234 794715496 554302000 127049566 996936440 205928766 29934612 694340970 428490792 183887310 724012586 368889238 288422480 672359130 596341112 866237562 265771624 971864164 434241494 726588574 902705164 794245362 464662482 817101082 526821642 821942574 807741850 33239734 221846682 113921672 957775910 388754214 48086160 345641648 424198372 648601758 765260416 221600080 648056884 999253714 930199352 961702386 562790684 698229812 165624220 227825516 255237726 182543664 106105874 11347292 339543940 872808362 947076920 466620830 925089200 764418772 721273582 768644264 807713652 64024722 682423094 903413578 26719012 453153738 873751904 949484292 571874456 264236276 734915262 300852624 909845732 315473332 16370986 737413192 475562644 655759898 187862164 151755376 747007542 453077572 95067764 80536978 96344656 595736750 74998542 660709154 218028376 522545448 73122056 166684 753757506 143117152 366291400 228447428 69109568 606535176 780119998 222009808 126096458 924799982 716379178 481140216 194569158 902767868 767264882 56996000 623156480 865407696 645629016 735849940 350405064 35631728 173108162 339887518 498040840 362121576 797160 448458644 210865728 113251490 818521152 980773094 187275450 743812042 483495456 34755220 884341014 858955536 256821794 551376102 348090420 335023386 444583384 407857510 888926652 744646272 912151492 813877536 931981272 725831370 861875090 567288336 278397226 411231790 773202664 140957864 633598276 152398682 144829720 767208232 640825024 139225162 501421468 19782514 288147196 184807840 402194290 349269914 587917102 53452786 611396088 301516864 572987786 1079494 214082178 160098766 880749164 652202938 442272288 109811618 186120552 99687168 346481922 669533488 248067732 570535990 251515140 948022690 379875796 15626076 19913710 461287174 56799090 75453694 765149052 953421048 224658008 79694982 630933772 866968398 881705966 146353336 935632388 688415038 775927236 450739968 661193768 650745958 59116284 469335508 984821412 843159906 888823388 461373786 321079502 790108782 285040816 211583326 979939258 873286000 796109120 821715848 455317146 828229994 925986184 223023804 503858172 968872158 877915628 755013576 825212646 564644250 431849310 234912246 820414772 827463616 76953666 502483598 403628998 61820008 623728328 246574232 543083020 486094590 644351430 197986916 226705714 109586776 543239584 481472674 156158326 692593494 338076906 171648116 386702072 669022764 852369432 472219582 209187830 569015806 183131588 116359964 602719470 689169506 656872304 137801690 174959006 381907638 704350916 454983338 237156222 803834382 705919242 286088382 67846016 179723714 881281156 991718422 228965720 356049260 13114542 603834222 350026532 134980070 2146620 474584332 345167758 134499012 380494332 532387510 193793290 21854310 654511064 970249136 626706778 623215406 278909388 159791906 972325510 849047712 740477468 941690728 389010394 122368978 954093134 976018958 226116550 375198986 411855422 283116244 517247028 62330200 643676842 214901856 513155850 310812272 842299446 581432830 791260492 230009670 786318906 440992398 87202704 241577524 592533272 240729238 96930584 161173860 192810240 474806552 204751374 162813746 861455604 109582408 885780592 574695624 992431844 944785590 983273300 102157720 107323466 70101550 926002710 759377896 4858530 971326736 865377890 176746378 734779906 458449358 198410068 464385898 3980874 984092148 460767438 641501464 514740034 789171246 302063442 881138802 181764854 921272792 903133814 999626282 662201180 341837566 835394262 713202582 271968634 68735846 773198780 401386254 182738000 362582080 78526968 972632646 966717324 908001494 961210354 573463282 877556864 676374368 625782302 295051548 955942232 503480722 380398294 392435822 661103176 416157222 935223386 403263804 970737402 931336906 612312016 606707760 215972842 789770288 562443872 204646322 406306090 233950618 626594878 786507088 969074412 3221118 872143438 834100876 254006402 243306908 159700886 309136342 225903812 421436250 551861512 285924530 786803238 786785738 579770046 655018848 534697526 944229248 385521726 97636090 803902470 383093940 649393336 445930490 15817584 99965666 510774874 774441286 862478450 710184492 781848676 713593296 382355726 896313284 292911464 107307936 16078690 960579654 287380746 604866966 101744324 784961558 107222446 710646704 197905630 161687200 965095402 844637494 44965166 22344570 264130288 19846704 984994912 343381486 30780900 502178090 325675610 299397944 769219908 209787846 623644868 932328976 12875062 624143688 191021178 438145988 385636440 909256670 900822524 120203576 307635738 707019580 648890166 474197274 55218894 179524162 301750324 368451204 476553378 727667422 857778682 149650992 945683240 149825616 726622648 29893766 829372978 462342470 295142492 427881412 811881432 191983678 333791464 738257986 645589264 381934154 836143042 136282756 713296284 859879882 962552596 550377910 771027578 33986262 935542172 774945668 31308250 262414954 349102166 851581754 803601572 759055830 751337722 935875732 460635398 959026864 747496094 623960198 364549816 1933462 711992840 375226300 355029210 689959272 725769772 5862828 453932282 170980642 872111810 469647908 947655532 139891572 898250912 538604834 528439172 729548174 659966304 475018858 990685070 414340324 396985782 382500488 968246116 515964166 308406784 838025076 427071574 519450678 823653940 215095594 754712152 290467232 958825050 35733428 525012210 941789422 746340942 625260534 130183152 281388400 602525150 464035566 109236150 982413948 207405740 231194040 740661476 379916988 373306282 368846012 149518634 865519602 235317384 640368160 847108768 158340596 302880876 756081944 936512280 380510820 800216628 28302782 694837964 146752894 949912854 447625028 399191998 519159394 488380878 706105626 152409218 491553076 321346014 196914540 377387264 237089328 261759308 63301046 804171060 446200600 540539426 22810492 884332256 202712930 33148828 802001306 603402796 869115334 665993836 460607288 312406478 816245554 392466144 169095728 219559322 996026684 263260624 320653808 222400842 48011136 386493172 58736992 184793612 345655334 402631330 947402014 286481648 236915508 335917686 858250808 148084688 549627376 715327026 889449514 462702534 934958670 236724268 655748782 842709014 527405406 921430188 26132314 811609392 271877828 550785324 988991010 649847802 237870872 888939116 186274302 436842596 86587622 980085546 328826938 664249184 965585196 278730880 306472978 184893590 92575046 823620704 851969306 574460920 875436720 122430024 423883156 181481410 557060294 322930736 682469862 926733882 947088954 692921866 480309478 323901754 536853508 717671326 924632234 996082190 376664536 779852772 469318238 729422110 902958628 227200606 228674066 172170836 797475588 321571600 923421124 231668306 611962308 426469236 697621904 653835886 848510846 326298720 627737244 36427908 91478032 215210644 960966418 992990664 929406280 236139260 980627352 924267492 702434066 506545088 611333526 909192542 782003980 951167306 874914680 785581664 462949496 914990374 821052426 363224002 158573462 248485748 600598368 542213616 230315654 262988600 174664786 72077484 822247154 21932844 582190362 62051244 149451048 199317700 369856716 733408522 330311504 621406536 529358494 173088122 904427656 445170 283563400 844885122 463873736 511127186 492928466 738049180 47455526 405364244 807383966 133382008 198499596 214033532 875476440 381818520 52734120 230088510 636311776 429433942 276233760 957513190 371293030 687372408 516663450 858595288 356912702 681744780 143742720 846880730 67184276 4313118 759321950 108049760 611839848 420393230 236579742 501711912 150023320 825989420 297250316 742604652 226111730 454029312 834433314 619344038 108833800 984953448 828083956 568644106 571479632 758610666 114714318 293444498 29538754 578423946 745327534 687457458 956605934 279269754 253593496 964387490 312642432 687667658 666280720 150030208 568649154 238621528 581782240 508647568 665394354 133505846 337144748 879649150 96152076 62042636 128990286 559217668 461412690 731224956 421238550 316963242 532888996 525439812 908037904 711408906 807357748 594686680 555521922 263416080 706551018 587714334 255533816 71704472 321186840 517295946 198918406 425611362 120328786 931610666 557803084 201298190 503012154 663315860 827347924 458730718 325806220 272142410 247159036 868215834 333197912 201424754 280724300 437726962 218375542 574586410 518099198 613197474 982593126 341835848 74088990 73194126 901800314 34845274 498735210 186449112 407725078 754311106 732178080 675935446 535814660 885808478 605779054 2234782 992498244 928146522 799966478 814016266 196001080 506762524 992296176 353037150 407964726 792124944 610195636 240787686 326912192 956901336 613758878 17131342 759703562 823808948 203209924 844964212 684603992 63667372 372542688 705306992 293248122 324085082 766215198 402862340 210431022 77090212 391078342 940412890 915572302 403806062 405996632 335628964 776045392 704888996 756510306 463398774 294178632 758351102 853644794 396037344 58632220 974000586 690879268 265831782 783152452 570016556 648763828 444446674 138493352 386937310 549820910 161795778 194402630 326981328 7115286 902610224 983284258 737056200 703555148 518174716 215895122 664645908 313182954 722140736 514077082 871587562 718670586 298675070 703544212 343939396 952644736 275209500 400574694 494585744 92495364 516450712 885316546 23866986 102480952 314938558 551357480 669128916 8572908 764395670 428148290 178473190 951642970 641435430 224012030 411695672 522609730 637089386 953900822 112696674 22703244 465490292 598033770 223883112 941896798 645070016 354864130 471023836 322620398 782513566 361654388 996658560 725991602 264696786 391430720 955542820 456723614 254609970 476763516 811616100 564455946 388968192 23373876 319403646 106148520 859549862 282084056 469566988 577946358 817556944 176851208 503537732 92200670 995685162 537453574 387101446 766907074 78451112 709759522 968682620 912658498 940009062 330485974 414802510 488879632 286811688 885060480 78357068 633453622 27755726 863032376 154587938 388233578 654129596 775206408 286118884 538553782 749367722 354095580 112499190 949198396 280672088 915348348 412473964 715427900 722891260 390444696 970471946 946458928 545588082 523343182 357110622 124899224 665548192 867525474 649342316 312950450 851820044 929664764 82133402 356184730 302303062 274770392 832216392 489745292 73881022 301549634 128880460 138939124 873001116 49192014 109509764 348527852 525201890 873248982 819378858 6346726 726201234 223080506 92538666 799854242 37263580 946230988 815400436 481844528 182739522 69447072 830243518 236866338 556299204 367123468 396668456 744295222 920982690 861733668 764033080 461680028 251199694 183161100 440318476 373150380 498624198 368340764 175891198 535922566 633093100 411342610 145148020 68323618 483947840 844723736 189323858 209191466 382144162 44545990 533313742 821814282 612468734 163851452 539196268 687061798 962164454 699219656 295096886 973002008 615192966 894229860 784359478 443596022 396960132 112197980 306898792 396279642 886061800 445166454 516518994 79752006 234763462 952284104 904433110 170438898 360851284 464854678 934334538 914153396 976770554 789951444 378881382 293229966 944221768 261956204 286147162 622998178 43125212 353404030 253840866 630924406 65632592 391901924 26185180 143852742 980042988 821755812 609252756 260695892 963234188 781900112 84042536 37701592 235414922 882691816 623877574 568922246 834165910 753276762 489554478 293533130 765850482 702644556 232610840 146558002 640981534 768976296 246561012 142362074 469284424 853738784 551808468 735338016 633728676 332154540 311463396 870011548 662290312 359497938 572225594 763888636 629309570 193929366 593909908 993392952 999780600 524169024 178886476 698931786 307218962 917750694 557357714 743111868 658962710 273206710 339122218 388512876 840476482 772617384 233785988 849963516 341254434 156646898 954640634 337498574 812677000 505259320 467098380 405755458 32288350 133318072 648588140 13872282 667897626 589813942 837344386 971973094 446823006 184602136 308349438 594570774 480569464 435130710 254198236 363083574 655278144 18027290 148200310 107055520 938325520 765232454 238882280 77298682 187096706 172947840 474120926 338368754 570556472 240053138 373066370 650882244 110599578 888976682 240307864 435147192 186296910 382780830 944129308 406749854 600772050 997275196 291491090 253983290 895764388 83130398 221497020 800783776 808518086 449408148 302233478 976396300 383679854 91288672 240681912 854174714 36518280 268006148 212633874 666312750 189682986 892752292 824563278 719773788 973661092 786432690 257379198 428205350 958411608 827911314 256944020 50322408 356753948 911100594 146629906 719290336 459843088 230724462 390031226 345814920 739988928 174761760 314960390 549230356 273108422 496207414 932039232 626199712 205179214 452603870 363511428 123492192 758923972 287669048 176612862 502487102 612202460 22200050 166069938 296589312 881562828 236203028 164425512 421266914 808185672 779587582 279453494 369606776 294046302 323754282 761751916 878471682 395096048 667188628 322160114 772481104 521448112 874596028 935497472 50996976 247993340 429249398 261841730 149036672 339443710 208390504 300315702 842125764 730554656 234748776 565315442 702682898 132983518 511284060 172937464 463319054 556470158 335603062 633815176 853871272 394415460 567831174 592885216 497337418 367862688 360216794 345874810 77914556 486358306 314337244 891642360 900022880 647240456 995682196 726990102 656793102 591018774 680377712 313225308 668301672 30603244 569689994 857662716 438746674 727596858 212180932 425761758 154365008 739719808 692770194 348655864 418720262 46006596 587258552 542041078 362596908 291152818 986562034 279754652 529497820 932820668 439214182 722730940 457550226 15721104 751101048 5617366 805048848 240642218 854646048 169306038 374033548 43860388 65519128 435257070 656971132 367464422 11130604 332039044 452699730 474358666 33153440 412967304 306752842 560340270 715433686 241628030 350114000 95393136 128801078 326597118 464361610 467083962 575989434 315438450 870043948 802432634 607459250 629962726 636847980 456307112 101848554 882464614 929550832 373737636 929339264 278707438 285232390 431381740 607148342 195844682 248192480 467227904 220051606 996322536 783639824 279820824 504569762 248528850 146692342 247501852 720437126 595378326 440631674 238204578 178026132 174894688 670228092 440938378 348586698 601798786 60252744 260825118 236036886 187076798 493847034 929036770 725171248 612111952 421544670 537250714 561142054 364495182 286793306 325281046 295073146 535656350 349966796 222595034 757326308 225107752 259432792 220149030 368741596 580472712 534122798 485479752 143661086 78855744 775369656 98818060 110815980 845107710 868056084 114054398 294874526 154020394 936184310 966695516 834004928 534686348 471657564 137079732 51362724 427900914 204788586 902636252 575751248 723621154 544699608 400841496 453149258 139740082 486202514 868874208 737017910 252423716 27398914 742644774 64415294 157275678 399659148 216444506 806009582 767338548 132567176 298143026 272336284 995630180 145371890 347030192 497097044 950343980 64968340 116307062 250491102 141135022 168325738 667151098 222603932 358618670 933383886 880153330 769160848 555609968 354715628 765251860 602390038 624441394 546255712 968688188 957891128 759110534 252021496 249881444 725175634 387201984 823905108 657874326 567758204 960473290 695698902 567834846 767667884 679374406 3603422 391165658 499800118 645537944 370425804 196674986 558298722 699446846 313029340 889383194 991029760 684133870 24819486 938206108 860763970 446483694 534054518 707690724 246200256 360667382 417827496 999121894 786084548 580547522 362901846 542497882 534209208 785118306 307506862 192940524 444314752 23826332 658964818 104493794 359266196 139338350 617816508 155216358 182967000 922830048 748271512 524746202 244107378 79364958 883598798 419808468 990222974 716968454 962669578 445961950 771748636 141144672 433715066 574629520 197952244 111379036 734645294 221777402 219388600 977224242 838003912 921171422 224329638 245477228 558708476 988445024 198933602 387927354 665639500 626889778 541128716 973315346 524308132 405825212 281892206 875744532 48337036 583079790 635183178 218737260 861607560 32744496 348035170 322798456 110327166 745234852 777531574 193696040 188488390 205124046 826135818 45760034 634046838 824294406 950982814 442992462 107588172 834269338 73031272 144625456 589557170 868439596 403297792 692317312 586573642 616422530 815747322 462848580 966079210 668130168 260398554 609961508 768089534 684164878 540781874 816467560 795648854 808481394 940186982 989454210 36212024 150799714 396448386 610776916 681072738 951124166 308228942 178511088 398661362 745722638 166908908 641298890 146399614 816503624 836419614 713882612 372779850 753066708 204491652 179072870 754287956 779880276 789902110 968752860 696904986 116861994 258318954 886621202 421388752 648768216 998422030 176959274 193332770 729116684 907794554 230115144 951422372 624446262 307417334 874754770 6211832 474846974 484731958 245875366 686149836 693030648 898108726 62773728 349369652 61203384 701027376 339565322 747714646 767387100 35273378 480556518 417177204 31988120 723324720 434781024 14076162 566015664 850679130 556617972 431689482 347313026 323422312 140791344 175969516 253566654 477247426 408850522 660860672 951444498 980453640 525331136 532248560 479781042 804519424 962955598 657135852 58166762 137472560 114238996 275602064 585762376 691953322 794245880 534195652 615128452 850578374 15660578 853420912 913002032 389167564 294450558 850766224 633355948 76985626 403763306 207914236 355170266 982094062 629751374 525217006 47070902 754448452 343941246 798894192 56799326 28096218 613183864 498474788 930235750 638733520 421703532 769914978 657642458 26283162 707151126 627992538 590578898 850314932 201583432 207054038 971991544 565965524 148445488 673761234 272795610 387906634 97063108 535640910 453148468 704756422 217696252 167075980 213809866 574891738 700529084 598614974 656672978 254906100 499658202 791651712 903657460 467848824 956478246 152135262 818488758 841150168 883257008 510585744 598275938 373417112 929785938 326582288 533097482 757073802 449112652 278175352 788561508 893108050 315549700 61035570 680745676 50913164 655470382 190349278 63938616 565454662 363959580 966775468 867494078 861785294 537901602 295095176 832313092 513824160 701433334 239579476 388887910 939382930 597204964 842511614 972009956 503083864 858188752 190975368 187528176 861280892 948535770 535947300 195582378 953728782 434610788 79288852 222359184 203094010 311508720 381579704 769859626 492028954 43603548 75701318 58542956 735482686 506309412 279226296 33592438 785884440 323387970 768580842 23073014 977418774 421821786 477929778 934121196 945890562 409840750 213450770 747832722 488806118 614503782 107001350 454191156 514687804 408002414 798442026 362702134 727701782 200618030 215788100 407017396 189556590 752954312 91294904 885322546 515151728 284223862 685610170 10060674 460574192 536351412 76871304 763659924 259862298 768406768 302705540 595262680 1705724 819592254 670990860 120341054 209364850 280036164 735608258 216752216 825923824 812095204 885278818 933062012 798314878 867553254 321045972 232934456 131642356 500041882 838905866 660456454 150628596 35629092 788044616 958357520 404584808 297594042 209853502 844300192 148230382 163924246 70576146 769699888 546306828 832176488 31831436 490754814 951349948 610830950 355417154 717071436 885341154 722908032 480120776 160936568 460534752 476808918 52213258 572100490 368416046 12568762 642382892 648184964 671113324 262897798 119150706 1896530 305338 899011912 44301296 185151854 374876600 436010948 688833508 304143004 7849660 926387326 444536276 845495572 115896082 982621516 60935058 811506472 513235202 396157156 468748594 495688568 848735774 608333608 527881672 925879668 10377090 722265676 9602068 487954758 50494746 174814142 942945714 726245418 493239170 601838320 503932224 166957218 561620642 571456584 455325344 745940444 557928490 225793030 815047746 289202670 445684012 231804388 886167342 135523992 481368192 280384782 102602028 232444210 203152658 101655290 965269724 681989202 482220846 516508586 475977320 846288668 184475988 988080452 407171188 60733520 30187120 210152522 845413350 337051990 744211062 52505268 351274448 279409598 469535658 762500418 427668320 265316508 654182860 938402762 10752090 548322710 298224974 188069650 934808520 229957414 656907088 11807160 993230550 102000964 794050952 321255594 401967166 217677716 211833108 628597376 430389926 976137432 105537264 556975124 275352544 828163280 949928224 987212642 732119566 131071118 722645810 308966506 263047868 816696828 86010050 608511516 816758966 471624550 601047978 420733970 969250252 247432492 590497844 712224278 750398124 784569998 492346746 221048964 333857042 54407084 11490412 853372092 567238302 177772694 524691360 779105854 896223726 996527880 649968294 801027096 358885446 591163634 138531904 95602404 753166112 159391840 57003846 269036898 638889908 487685698 574801968 994839632 2199506 74818534 721686284 15068736 755366638 396800266 19037486 914774454 755397776 681520498 387684198 832996734 390772634 785615538 420631472 371401758 999060702 51228610 972849092 360594270 83055044 949839132 645268868 995770770 127895068 640397614 417804110 746336784 788514914 167055264 19911544 942305692 997123216 533739386 646408318 98715706 90020704 277755944 498070488 11073924 816972922 286363420 536368968 703863788 129890024 854077962 548509654 904443430 103483684 918050098 534096416 516138164 588185912 549346786 151184322 697229454 399906922 458533356 222994180 627251444 349741028 866113396 58301614 143903084 55839386 318618350 382499616 790383938 811687074 263928458 767509990 607094290 949048386 22063200 440919502 911217816 163653108 392210090 769159536 585657804 667011128 90364754 695518184 784531152 261204262 331914728 825832142 303746940 84350894 810716612 540347698 697955146 28037580 24452802 38829586 263481048 100368414 258473444 866833230 741381900 939031746 604523968 701254278 460910492 536554156 955391886 358194912 307531126 252520218 951366058 946996592 239943614 17879752 438202918 555102122 306199126 940573956 473221930 175064228 425549932 782342280 437427962 900514868 371931898 290573668 698873670 125108040 476249276 142176518 333452660 132753776 293120238 679883810 657117396 169055786 576827076 755977490 233949320 938176246 52727038 28795420 886343106 396037260 337739144 171562876 475756834 800683198 102656190 177998116 513661976 534636340 2488398 137388116 365473450 867426538 688092548 987011936 31987852 281932968 148378488 317212886 544127720 160400852 790546752 612471692 792199386 914825836 768208684 243192032 7544734 192174686 194699698 732025360 985311770 538956458 982784260 333867210 595986142 914567538 869010522 776049790 410526894 531499494 863522070 745851578 639871110 183027610 539223452 406172082 525348492 496815424 87326324 341574940 730596230 740273092 770362392 141078484 841070262 613433928 391981764 961220102 369642322 26993200 254157182 116067314 649374968 905506388 332105718 59625764 92455722 272865960 599884082 670477282 506965598 601251576 493005926 352220382 86271252 464858712 84627644 815828562 580132956 71362576 548413292 180254430 49273936 34381902 987380466 219250536 840175628 551579370 929028934 811182254 897252628 901942492 721467358 526660570 733036522 252279606 908660588 66986854 270951556 271215784 412587566 40205544 514182922 800520584 544308380 825368088 830210680 535117478 963103556 280531374 733321488 680504012 822551372 75173416 375378862 446368100 587272726 7073802 290484528 561600930 621911506 534916596 592107360 647984458 814817586 236123764 48641656 951535362 823888478 288900496 785188708 838638416 780538614 27336158 114107016 548059808 548633258 840738484 476150992 802276114 712138816 516783900 799055270 104607320 188034332 62636314 928923678 482836634 415816390 701588958 66224332 182982584 500770200 161529044 486347642 543460080 510115618 104308264 462981408 231274436 480762510 117130650 575110572 17100890 481520392 597294738 976445398 290024920 883061668 909298546 185998302 110092500 827500942 432705264 135484198 668100648 695699442 102332974 196565716 505255434 520709554 262542528 472637884 91412544 485898670 802806124 244202206 653182698 766094256 176254734 195924188 877935600 368712252 521632448 66501986 216602110 912095836 319898380 673128550 157979138 141387338 645198778 81785078 921794646 79412530 364698422 727151398 697617782 291940448 495917578 290452164 825944950 85609872 279752988 20717478 32457532 869577920 606025884 852859612 792187530 523543154 413715264 888445038 72957686 847670770 9582662 991070676 64517008 5197146 806603186 175416142 487064156 492566024 660725252 354858996 456167542 848206418 891083016 293723612 67827238 11569956 406419274 60679844 707737068 715129728 790869224 184781022 632112050 938599632 915661724 666974898 592948384 165068294 248451650 126994712 924253404 116314168 775426022 283201514 761649892 575209128 28814678 969961634 621111470 82219974 748775960 444921216 777636314 440771622 586619336 389939574 819788692 591893880 989745322 677783958 587142210 622916872 798228720 258202074 567221438 499874926 13561030 218343542 666560284 253458494 601417208 296802680 704190226 709032890 50313266 878286154 797577674 165573896 248290726 854589490 693772544 180548996 196524824 118546120 153902680 772570968 320379260 687657004 906309160 133102732 190156210 107301002 536765288 267741456 362680486 913552930 137188392 882353956 504292564 679120064 584188258 61429704 455712898 498747720 964446198 200628086 668765438 580902130 730144584 426637286 890529550 599936074 234103062 487639668 601606994 88954082 575751332 969068794 949202736 852157442 174496504 374359410 505477734 536234052 663883376 905773742 175228844 541062730 864119254 828925738 987434260 474058898 507872818 483308096 164938830 665620168 962506608 4047816 40809628 86786070 810892020 623172960 483819228 34980510 877708320 840057976 933834884 666901950 279085688 771684138 8070250 253916458 746918510 577834068 57130582 31943554 941246666 120974658 172900140 146163234 35955398 423581082 741007626 809529864 386704996 674658792 68414712 998942312 228265590 697781090 45618632 625275256 678785334 516979456 523979110 956445646 838326552 841039920 232581742 12070798 317425932 353944668 65572638 272537766 843945048 182094216 56671458 576111098 682464298 316306006 897754242 462209422 719049584 248949562 749045306 579700606 460454264 761763998 130110708 692729152 345802552 470408274 264511972 834174698 80328926 742497312 11990516 979674084 382225526 306218866 598512878 356327122 13959958 166080408 967267192 363803206 465672038 52430640 470215928 692961100 87823526 456753310 171724778 383174276 127980746 541293928 172393214 540272272 207983510 709667140 108945460 440293570 320456730 570984756 89321824 768489756 997204168 886839232 965552328 515919978 905190408 770826502 687254270 57677516 981057796 913483026 201888022 751920472 477222848 756945184 632085702 733078590 164597960 569182598 626853264 326223378 212595042 1684602 150540570 861476138 679654304 869345664 794204162 269985486 775127662 821482192 857104796 948609800 59337726 166172124 834305978 759319928 853936748 569129156 751180006 878315452 765567740 997786774 342135228 542441374 744512010 307938130 161179436 854816722 479217168 38346872 616878144 655763124 6068820 909313710 166725524 413787672 590754074 902634744 761312546 132993094 878709198 999281346 67808366 219840734 900954884 51323580 171018474 453646474 127979738 633476328 100317806 328329612 43741334 129036714 391227442 576814898 279104078 651212200 155908064 325678434 638934356 207126058 692683314 835477004 64843538 991643104 775592486 399825250 276599052 467588922 45895500 680108472 469727278 239728910 896284960 346748928 296999470 91270068 349666250 780405820 621650914 435548184 556566560 15829414 312397796 554137374 499755470 997051246 73212428 556076106 693947588 319396088 510940930 563232986 685109790 858926420 770820424 3153340 553773706 585278622 649866562 595151580 281041280 847164150 619066822 539526028 725922494 725587584 909594724 648627838 833105432 365018024 301086032 11141606 478055276 418282620 241966432 831326322 612999734 852514850 69147554 685936598 638860828 774484676 824929874 188159302 493690444 24284642 190007368 296820734 320702012 156545146 267676356 111557342 362713568 506715094 619608602 1167706 769958936 189179018 957518254 650478418 752966840 324542152 250992370 24407324 498342382 366641796 797374284 718542216 220547000 41890720 104200300 622302920 578490750 81437040 837132730 980832406 125687320 729134718 982212054 867717362 968880634 364088336 909526614 280054744 389582578 970385240 594824430 301474304 980321202 226185590 442713110 666034070 905449694 10897218 760283186 476671880 851539592 838433696 536302940 145331474 277578314 593002084 336023834 393406516 960651538 603874362 549298782 32388666 787685244 58781616 829965638 367900508 739481570 748459108 482069958 971360668 334989726 842170522 429440496 163862424 190983504 62056456 159843312 471041440 184110484 372457494 653826814 520820750 569538862 906736744 15057960 186984262 643293502 971067806 963873330 656322892 38074550 279973480 936185438 691712936 876082946 179631298 613269082 417159816 905509250 393246786 592590788 327134818 570160734 805767174 807755788 239306492 710842126 498902242 363539448 513760632 334719954 626704696 490059474 382752588 414634734 401947386 426906278 590934794 456038844 748927572 92628488 78485186 317385564 523013656 157984818 536698986 360534268 749998336 740227606 475529998 185587740 166570256 190822048 972114510 770825124 8835836 534712986 946994642 846470070 709366038 556404594 246807970 243039800 424390200 296247172 156104494 210752222 544793472 415646330 694017756 589295442 882536222 219378368 706227858 958474422 776935584 211255478 71404032 585923484 466873030 391781830 88241094 6318480 767678568 405381814 980448048 449075898 799732166 363678552 567922604 284453504 376679040 726536678 481156696 222734690 399781516 450134404 140324290 269224570 61940356 740426644 304148394 393097956 43202312 106090508 864156112 898590880 245665520 371274442 386116894 355041608 915369552 78079742 777889032 181120698 560741410 165932218 980039034 368927574 252011294 696909888 471769210 425630598 598415972 407410950 235835584 960974396 992649952 500973974 295315178 35985238 674576016 637570202 275404362 542524472 127737268 858495050 238123868 39081934 646107380 387035240 590969368 792213144 722991558 569921640 473713764 909629908 24962470 250154364 70917482 950998300 614082670 134593080 657506660 723653646 72419024 899932422 128880626 801887178 59584582 555342394 60142142 177265058 744394296 735247034 139851816 439034646 49305546 191255374 342785982 156855392 981241228 531098414 226150374 105820370 547269180 575443846 603296874 717403590 162834588 107528264 914114220 709819692 588048426 824802112 524342344 705357764 823048750 466319270 626358510 210017756 433020644 644329964 456584748 808072262 909286178 818811368 548626342 396946216 955726184 166771622 352628258 536039634 391988522 237418040 33503934 243485718 490889910 48865984 179665166 643835498 619089852 435174886 948119000 24809992 509533180 56310960 440904254 252443442 128336692 799915318 222779972 932885004 740997898 846396928 988839612 150260364 95614074 712711154 460930576 654365582 643020634 390366524 209510490 998248910 217386324 81207420 68072390 7781888 712033276 569087664 31177118 495731468 637208978 727081638 934272540 147860676 716478218 450435382 90647498 179016770 112235344 216708742 108835238 894163168 974835606 224256384 435880960 589785530 633953282 822181636 335261130 388441684 846377020 154695692 649035604 209361680 236860112 716946578 807681022 818620748 127161410 946522784 868968616 949455804 373710530 986039292 885564936 428149352 924310458 725067664 277788494 30543922 200637904 923523538 919990182 297266024 701392370 777091734 575752524 938085056 8407038 495205092 17641294 704544778 388060816 290664904 761932446 280062688 890609372 365092550 53942926 938847864 540719592 417368338 994795644 569852260 646215944 994709032 167105308 479937734 497957428 507122138 904326472 747159296 145445436 637167508 423879620 294884524 236145662 495657384 431767850 666839248 967889318 314350374 900084890 440981984 207513830 667120184 465931286 476134084 324447292 951707880 278592412 396842782 508138200 551203620 927745516 263482290 328734818 152059052 999384876 249267120 169190782 67994752 631549428 532604794 331386504 593852396 674510186 535399436 864098234 643565526 547150374 805152804 163461512 57313826 969040360 614109752 103658144 447371838 443864968 209405036 873145602 724399976 721922998 130533544 805613842 144494134 491475832 560505268 799548944 555915810 420557782 506637782 659733152 524322192 196552272 74709500 936179226 8130488 280941678 466127938 583134422 601848498 834544296 547431110 742343294 774032592 612762754 754010486 977627388 567132708 146505512 177766094 430155682 197194416 543781666 462980600 185320844 468271380 675580550 243327308 985405762 885852874 373086152 433070316 828324890 209244370 681241274 254117584 794522438 867588512 195198882 399686060 548570096 641307028 679432022 711921058 607947000 600119374 20849666 562237308 184663130 227791018 469799978 698293350 169796140 886786038 874044584 794645554 194190284 152990206 488174118 617740944 401701688 5108040 650550994 825709282 567801438 890727414 886315730 744164268 103834074 988271470 941366480 657023902 55351724 876957014 541884980 47822456 952237066 200266798 638427414 98290574 551108624 407111682 840797088 516099520 537577636 711251984 200360158 933962874 746887580 727472236 477176944 933129588 374180072 630839884 103099008 227950872 270218118 74935322 954968240 121022540 959756948 74429722 826942252 267497034 884317102 483206232 934897442 415670400 910943798 743987498 945083262 393588288 759068284 464487534 476171134 82672498 878289186 750732498 826325444 406024450 321893830 791422912 714806482 96435672 171121888 545637342 346920728 101699538 535411704 268327290 880867296 638989674 914790998 844511554 564433480 465087534 343367952 860933402 559192402 897013582 12248860 837985984 288447868 234429854 742797714 680215806 233493756 191409820 956700112 968347464 428357892 522286014 166098388 815240212 123523578 493783902 490680824 414882408 296672726 210027572 26532788 901633092 482949428 974342912 509340402 388997296 864200384 778882928 876689898 164441080 57911824 814585302 64559904 664204072 141083728 795624328 652557240 518574778 924543470 876560954 899516480 615597432 572845286 518029064 464399020 898007634 144559444 827439082 445967818 403866442 831181398 293598422 237580854 548176078 818716546 634334932 1568456 511118114 711784024 371179828 957308880 384860754 863762832 848534370 271981290 50381572 813755882 594676814 121188952 500357512 330976754 978776970 121689794 19119500 832282976 832605608 533553944 549739036 160641192 187283368 723316828 883174498 768693632 346119744 316173576 431230522 497014734 389857262 161403950 398560270 715083630 696145662 215677024 848530578 458458608 383571492 253411728 660793370 604529902 991415798 938800534 893577780 662649736 936262354 913093650 679041542 844396178 34267792 267846460 116114376 824438238 523576986 74213960 951700330 126973866 757711684 774202338 738539888 73767706 379482958 301160960 32074760 973983816 844474934 533850058 612176662 250533672 65934676 726197810 99573206 887250950 471248864 975073802 985328652 526837056 61154978 103967156 601898378 309475474 543241114 648901080 483916406 858590140 82632604 929496908 352569052 708147194 827108716 816862164 430439100 423729118 754762292 783979484 609421518 63334822 68050040 843493850 838301144 12289308 812548984 266460324 866795908 256183106 956274240 443612392 770123726 446111030 591543208 107525256 278090302 477128372 256373080 978715874 113264910 368683072 653838520 654535320 234994888 519007814 835043120 354072148 163965242 75148550 293203968 993377756 37069070 77990272 401245922 175703544 635285898 196249394 54705742 639561960 429038104 20095174 158521320 236680382 794126444 463363402 373452614 949599246 916510032 854445128 750256606 702764798 617969772 106034714 630124668 336746830 254531710 234966434 755973884 989424786 811226186 807261324 688291034 618049330 437812704 607140858 652535866 224355258 167727418 391763666 828218344 744761508 243351298 912988850 362779010 772931994 909288202 894339350 22747480 148941790 866923670 124567494 333507950 728797960 89612834 135950502 502745870 158995204 955534512 728149182 351128032 244238716 443068778 223797244 2250726 860258126 519484484 16100896 56465260 91556348 235675228 317166078 587378248 605600968 362971578 855331698 898054048 290469830 483868720 491924728 946614180 295121628 935593716 282483786 951803102 701689726 157951134 466799572 634672096 261863048 215678444 794304268 959131624 270443552 878116556 699468310 528441094 161370032 512294644 183893198 184261314 552326144 288187578 394595858 112876858 630523830 95001646 206757660 69599474 389621730 884697584 231443140 997108096 536327098 623916092 112863168 707100672 523860000 512431868 775150580 992120510 173929510 231730878 637126538 36651410 157722658 738516714 720916584 402238272 700001574 814190016 23878384 485922406 227675500 814054064 173973068 507995424 403735138 636789628 353983422 623820304 861148018 819017650 271228214 909254978 433325326 13735974 176650598 536940768 380268314 701730368 809110126 345574998 485527202 461413766 49003870 249206788 793504142 554055380 541354326 522396636 968351422 664652246 982497012 347933954 509790862 289554442 169268880 292948774 618844402 255654890 154118696 735087636 413346248 553787346 483337260 605599968 158096036 920800848 628981694 946300168 337737226 699039368 543181800 959637826 237339518 909940622 454607232 400125060 779696068 813445928 245447362 938292502 559518768 500886512 553346282 231844978 679744272 534324220 764625276 435932230 233922754 403223064 535958536 957560318 171189104 803684326 286945976 573241472 137252414 994802590 47660288 743770776 933399808 912145332 757015182 657954308 227866506 282417204 273870996 286698566 722400688 254866104 388485310 762637722 174141980 857357260 218750608 161707208 795726468 165374116 467243340 436724818 593661640 415101682 732755294 918057490 734592430 456668434 966429828 21274038 153895722 107485336 459517636 243037644 739166034 744259062 925211678 403763974 573244826 136377578 258940598 519255496 718926412 728730530 127061832 797566118 760318878 368791112 163365394 829888572 91593186 703101638 574660208 342266250 371797704 107359348 650950064 70447168 925313210 378895328 642947578 23167400 752193418 588782442 908024704 69042218 7049824 161263568 137664134 50955088 60581932 924884320 92391632 627754998 37909602 716059310 9538916 158177390 641141090 779597008 566839478 680999534 638776814 634902986 460400422 27693244 927926302 853503684 951650570 101443022 788338004 554803488 866493182 266508660 221015986 864778380 935585074 620325658 806006148 693279170 724309474 315023380 845964856 681535686 317986836 374013406 459220388 579564128 714225616 610963860 852047414 797669012 530051184 486745498 479779508 887475688 980387612 472781788 247561676 314961444 257057292 331807154 625856674 953095324 966875602 846383432 772193584 288238960 563577300 767985558 31455188 817583500 272247502 326693462 667511606 967370546 423717214 544429200 474034272 832162836 460446070 947500366 919360264 520424464 207559392 587970550 838339054 471718540 453643016 141856604 457067906 627356912 512777658 948830274 119546524 581640210 803888116 750064814 645048572 965089004 515876498 991043898 421223732 686206098 412214938 339918312 115750666 753308670 338647898 666305956 91682914 473249534 716049118 467883202 522520460 464017344 545323802 169328918 309801556 487505340 590740924 523192670 217558804 817705838 672208420 977811234 761235438 191150250 971181986 93222996 420747042 769270462 207543272 825549748 545411496 984710664 956599902 149405804 8977722 55279482 809316866 703798114 853303888 211340864 615028936 248723496 379830182 173704296 501017892 470075642 845549788 442193398 853903484 140539666 404228160 483849256 65402458 111024434 65099404 160954612 734951552 804141294 646197210 598943302 466230116 633656166 533162826 260464814 909559530 447526344 566855990 91216784 78814728 434153334 917433844 511176386 914888668 1794522 202535352 502912014 503006800 12869740 359993886 250938622 937855838 794436480 925784948 768818928 243662512 108922576 518275454 169912254 639226728 827162692 319623604 974725628 586709680 252249974 774873326 119408960 971325488 262081172 277418324 229473724 26434650 446517130 231191754 28413224 548261980 287239462 804212168 383814640 227831824 501278682 313580872 647211362 141245388 463851246 770074638 33718588 392182348 186275626 996774184 624158590 374573296 863785438 433469374 918592252 697001398 382632364 629303726 584995178 131703586 494859972 90325390 716094286 9057484 728713554 940753458 266902826 599934538 595862278 736791420 485797422 427573320 962813630 708098944 512180818 737612494 909598976 843172228 891062886 325934548 226951738 345613714 66568990 106736978 878968454 913810218 517257776 470725194 542007550 825605550 112722178 897730888 330834036 575131430 748311860 145229942 929009078 715922952 68171232 248873108 976028 103951964 452979076 981305710 451094780 485359136 510968398 967413498 382736408 47766628 742147702 957097282 422004168 584193870 703378604 277452912 758552974 630201662 631946488 657627398 562463858 483721160 940427584 740653116 463427654 617199102 499907740 615161300 910130208 239509042 149894096 394155166 277644700 407683376 529912372 47341790 706742434 888790628 413385568 749071998 2242128 26058450 355965428 846019686 195282514 109127838 982774544 887221416 372739480 10795504 426918402 517776040 917670732 303777148 877085408 176475612 584707358 174546438 558906788 372430860 530977176 512238766 472971236 781325874 175719218 646661208 358372006 149544756 313382094 107788540 699518078 727881424 299012124 152376456 154627282 78443282 102384914 22605996 873171724 17375092 560484718 313052376 701936842 281518010 743903598 542710042 288901230 846649682 656521608 56851692 130440464 128020554 759323104 326664156 27761726 955303066 310663850 261682802 866014404 926059742 597378266 9788188 564499728 162466902 628396936 837434812 377754574 38016944 148770788 19263462 282177592 380585690 493159604 78646828 657543264 732874468 313263076 416291980 690676552 168900348 111520340 597116320 695992078 750830164 355238496 177480176 18924522 254827252 997951658 60725928 644453650 810019136 470553360 199136922 72350824 747950298 582874194 459882052 578439340 838595916 491279940 322042424 981682140 730952830 630371068 130209370 734369432 994379418 921282866 453058742 661919208 220479562 181174214 68566708 413692926 731760118 543055896 704762366 667123482 780836522 920247364 633423510 24343122 1917632 807877730 959706734 919815222 342200710 340840378 729531850 987162652 363903944 517402548 40776504 879716520 421063498 855788508 670951770 680687160 822815416 171633180 593476552 530215046 599532304 864233292 178812612 595333624 924307306 584909956 60218488 940028264 347142228 784298272 164727856 218796572 518702572 950107972 15679066 35121234 179407058 833617246 50729176 385057600 664975234 976521500 868626402 886569504 511899776 645597914 59859504 510522220 157303378 769043368 653754532 655723338 238365010 640965928 10886620 867817502 462487596 626018698 944819414 581850814 457450454 499149634 138555054 492571084 760542284 735156958 52767552 181607270 372685018 842295652 811408366 897550814 149016718 282825954 370679470 642579782 823053754 223986154 505710306 619166350 408485662 926995022 357120666 660708736 181137670 717681906 8464056 498877880 275694142 660725086 341341844 653736518 477587292 376517942 697609472 259619844 614702010 294631226 180915830 302440816 377503636 671002596 549026166 104374240 46834804 615884542 417426100 713321770 663239006 301871880 515291268 721633310 756761864 728827412 415560078 395978634 967409056 480106050 75019858 277737576 570073314 125830326 571657022 543642854 581851206 57058324 570671738 581344410 381779946 683782204 142234090 507828286 424307450 329512960 118724112 956196316 16221668 13020614 196710890 345973044 376338794 662113038 467105636 189720496 522467978 787378532 570321510 321709182 109647848 731348744 723447766 726753864 472612072 179921626 573339766 300380122 738816470 833727478 873157710 794524638 265802808 623257982 187636968 450403102 641862516 478393132 403327888 891186352 131425808 88395206 989383596 710368450 935822664 492631044 960716742 564929676 641616688 419668744 921415652 504551750 776958804 162843438 26017110 769445686 916610600 11723706 66257672 95235868 280383222 253169684 133279632 299324596 894855130 618022042 394664538 110814522 674206414 826338972 654826306 793326104 146457720 171250572 326262482 201527816 727543460 712846964 144788722 680802362 782034614 490869676 40200378 952590668 689211922 804949438 590675376 503498062 423374586 520845398 772300560 497042096 251777984 853603748 175695120 27011100 284401672 17163080 463124136 618038148 775419102 580070078 877395302 542885284 451797380 483604754 259034632 494288218 460117990 615903974 235559124 644879464 711312144 725082742 972487646 849198462 307613182 94376650 401704522 476287798 18356968 452814536 933061568 365616882 590196168 310275348 509771440 78759526 296849226 777533942 741063736 938769506 878318710 554008056 482747048 273404098 945198426 36974456 844194682 236239248 785418718 127212696 723983938 880040582 127958886 224426650 649215758 885628890 581727548 496011012 302284192 861400676 480379108 509547794 805631046 903188016 917631064 425291954 427960772 316362002 791290858 479787138 603795796 331443486 42418214 754171708 372389044 761957376 446423284 779400504 262651070 108907890 254822738 212018834 670566650 545104222 286030872 602311376 284151712 267040712 133497122 594184994 420623970 380971336 724717504 210415056 969739326 973369942 827306808 997010682 27773410 816705346 935961572 751933160 837244356 311692406 121202398 71237308 713868920 758215868 252667182 768819148 496368456 553456854 856613412 210756666 675754472 608930146 784605628 228555178 714578658 702916174 651078304 918759490 144172014 811269784 280156442 443443764 764577100 137117480 349532000 289923432 227063002 914225020 95023300 458692596 17239624 983959742 867909990 563668862 5469644 59330220 46448702 440399256 411023004 439367964 235188622 592979130 538964502 997049084 611121348 154214196 81886106 746342020 15980382 433083734 115440118 742735954 468359712 550026850 654911694 388320754 80015250 333767946 48959014 574387014 224110592 877294410 940827336 539429292 352956612 451543314 202962246 305937216 637455634 185520348 452302642 42672384 386579806 551482666 928215040 95488320 779557884 281942804 349761866 223068514 47994556 930353966 895020114 682053434 405061006 398170852 82431518 975032680 701088354 810614902 628505374 289035644 507261600 2951882 795025010 454221922 655192854 406233410 971306796 872715898 631592768 354056606 954299846 308443334 695426288 699357720 828613414 362252382 663529576 721130390 96760660 154172450 960817912 576358960 358827756 204685524 260431710 368330684 340800868 913514296 616282492 949882264 289148582 94595656 465388022 979286750 950234440 877440310 948163950 193141036 356981470 17579624 413764462 469157806 636284856 963027250 492305504 466680480 957945366 943127036 526675774 685801210 571696552 11799570 613827042 71183854 996922016 664447464 47638984 163698520 676858390 263301972 879252082 562528514 349849286 542176680 994040954 513105646 933658802 603628182 125570982 733548610 634076774 572705112 358894780 801904054 47193332 94594550 753304604 8101726 804826752 699777972 42175490 621919696 214334998 405078788 408436502 760138482 508182088 749555276 648558746 214750528 463758908 983427292 188360156 467028084 565767470 204742840 327452604 307188934 663449662 827106094 481923794 359038834 676443654 560669484 307865470 24727260 694014556 793653954 753545956 812170834 85973310 637038994 595306460 842331064 92275518 548496900 943385210 687670764 901693574 981659654 209832244 649747126 157743614 453150374 824248788 430973312 647714380 272008836 644484938 139758396 209491776 416705610 405893058 482938536 899982970 392323880 710645282 178567378 354372138 650513258 192294060 34459964 992796718 772893304 581410186 331279172 884400788 184561592 240164250 217233562 468727802 471421860 815393212 383315620 464729302 349931540 36925988 49379592 170366590 551348900 181287562 673984462 189855448 343713644 201245982 23867100 448371768 734878466 887501688 78533838 928847734 764178654 142516544 247170844 416113514 725973068 984515476 342396144 863919594 980097384 275313594 933903996 59538584 832071666 441789944 620005496 866771384 845867174 386848894 255980152 163796678 976924984 523960174 849230072 588460896 24497488 36875730 640633736 835171792 957536126 450288624 745912774 347955028 781203890 879955596 596848396 403279474 539672388 50511846 198761574 493502304 135038520 19428090 630541376 340323312 314379538 804029048 500042608 25985836 998745392 353560264 107429914 602975348 542704858 944854004 262928638 888571354 524805594 495860582 67924026 583395488 864066520 274488518 373093956 663306190 604408660 380943178 339261290 3502240 341725636 760660478 526695044 219808056 877598050 476298768 473365748 603074758 123727346 172708686 558526184 957826402 985432884 95483644 864877030 992749480 9023394 686587700 813775856 153416702 564405952 132991852 704382996 707403130 45848500 580419438 799352360 141007686 337626446 723843162 34066530 488226936 775818916 85471752 253248452 255042058 360136468 601023124 497054364 224163194 587843610 603446528 840805864 660744064 561405362 348313488 78347720 302266672 302545636 936245614 895091908 306792696 829177358 109017028 880410852 78498322 645113272 501764342 8830140 164310952 831533630 652663448 290228354 806041234 398209146 758981092 743803262 595126326 529539150 729553992 838211072 539985062 647190832 127127394 967083252 63726716 956147762 702082250 151045892 464769306 308596012 76630636 595184802 53473230 995405618 59943860 731227826 384781350 596592390 684634076 625976040 118563830 455664694 156002618 873404880 436769920 539058768 54670266 292718248 399838178 814640624 898228628 261131906 597392690 577778314 143730494 896697088 458525530 183484596 492997882 555060990 22265456 597512814 678026360 669162950 949271244 342055788 187217208 12924122 838919224 809472878 826937538 687497876 41913274 23637586 22015464 731619396 6591330 490610448 513291008 102809336 155993152 402208746 14546270 632795100 305407454 592943926 142954220 168135360 43681874 864901392 370264564 494540792 134261496 951924214 731886028 833399840 455451894 641651400 83248778 620245000 951577226 134490752 896538370 210464652 209491862 314730976 577571034 903119934 777934834 818173600 455827058 74668284 706491632 54181960 400340772 450407448 573963062 265985958 806779724 101961014 218564818 743590028 924377026 294715838 408854830 459393806 33002260 244191182 372406612 432466114 209907558 575957328 206425858 794230158 152769278 904701562 944331888 82783598 109217248 70917688 231834208 673382704 62409664 204854502 444170892 751454562 670710574 415267482 882236728 557480202 870378506 779958790 612220104 369581332 567811420 415580154 426644468 291644580 676155216 246059298 519441858 709875874 824432726 710939988 122742088 637292636 614442730 41657030 131567086 966085068 595786304 941779470 538167254 958077668 163438038 636079012 283972146 160606024 735802918 699446516 362606856 465743288 586195188 640562448 254418018 363936392 568926360 117564102 93867524 623887862 559178040 218795298 236344028 591052068 127344756 543666006 64417230 732995532 752879890 561393162 329527672 186593038 495650362 384148118 607048100 808784800 274720528 191491148 646254258 909301246 723518158 444895198 388642040 624426526 449344158 563114150 994909880 301312280 230740814 648531704 109430214 160005368 311422204 126236404 889851578 243062482 464422780 478148828 296005578 244051044 264290222 213329354 47193290 784705398 700876554 594502668 513198534 372283584 761709476 277756356 869695302 892808510 218042770 587296076 711750406 584594228 82498270 549059612 53872218 780908162 561222000 621793812 848421504 999186482 31477778 238224506 754616236 258394740 303393046 742397956 850705802 207686460 947128270 606353172 234684338 156172100 65711330 649802802 181049236 305557568 168000000 347264150 611224272 121770466 522634236 712543900 584317618 370637176 426136486 645996120 98988696 335512218 550352482 951157452 335988702 318643788 555719376 368191258 899071394 883238248 530591540 143536784 887174494 171574410 452721480 601511928 988344182 488488392 81993104 31222760 728115048 496575532 281275642 873284672 22173858 842300230 571178718 898162070 341278634 793020054 180604124 468656304 714898218 881844028 676018770 415360830 573679546 516898764 230883450 244024772 480917352 147341534 883586110 615850670 267753932 327555002 980393060 83965136 203535828 238833096 541637514 821316010 836226076 57397802 505581492 996504514 130648270 965040428 954227138 394372368 883264878 190616754 774810890 846891678 333170728 201972230 690016960 805754968 903725358 120140868 184978930 351059242 86829470 55343178 510798338 995562610 51380488 141597382 958105004 403638334 757680338 642540610 326122418 848352888 893281940 562813260 758141158 456408934 445305290 823156160 964553768 895234640 665876712 750010406 645985792 596510430 76963646 847496626 579875032 650950086 649253272 752196630 82300640 502468698 102700046 994787612 946098016 713893526 859180116 980677298 649719072 199867214 658886848 989418164 5227762 442750752 474367292 642026836 947326382 487671698 778458600 516210040 732492798 294473196 226604932 252287354 214927790 980839128 675527756 601307998 344117952 35427910 460421550 396168518 402986512 293943044 954473318 664496808 769392134 696337578 29390134 426774568 807064650 122887752 298975766 858247312 608956684 344662840 388820830 105318160 156549752 552010242 181023120 148205366 444813530 881859824 924249218 363762032 82670682 874062024 786819888 158126662 350779390 909664000 49317062 417095686 790330300 242264622 305070754 706229608 392119616 907106296 141072106 759322370 564859434 329411016 198596002 259100262 941293616 146538288 308456968 838587896 529935016 973710212 550891072 770042338 818043582 79382350 279417822 424451314 731179306 523547668 842023982 568698390 283889474 851860506 441989294 604137192 148104888 463627798 571874438 255751114 391448880 511363150 752415626 108993364 651458822 247887650 240590354 91484924 970635146 165853958 38278414 155753928 577105482 125320380 677177822 415940214 775371726 595947270 143669228 925221226 851921382 256670570 183835912 626391424 170823228 22788718 473921150 377560618 593279522 974520876 206742402 925583880 635853184 476547224 358362366 635196142 788527240 556810754 215585648 177360768 853794470 832888848 291803978 954162974 716679790 93846276 971587586 195093620 310378650 360981418 597183388 664646312 4883340 828613778 492272584 811413612 109332678 127048848 11393850 206133662 112608646 440030476 630110022 184854652 932594374 230441122 526140742 561643552 138536322 853201182 50899482 418518966 811254310 889847348 20754680 367751678 756470862 952213030 633554954 911476704 346173694 505817994 716484572 87967496 631178044 980574382 354773942 885853800 814845100 567439676 580958638 517535754 934061064 632840844 837980706 155623724 175050026 330385474 234380210 807688894 303017392 405172902 410915970 426085458 552590178 630017472 784774820 814667764 57585392 955836170 786633396 481890892 636076614 931007164 526898202 566941100 872272020 550233354 900456458 484713146 606266462 412770944 213499380 4355212 418063622 756002946 636208260 753888940 262657688 487637886 234383442 223421292 877850142 956513166 204734868 399742672 438799036 399169052 243423432 979500452 420229544 937074080 95966508 459573766 947635728 603666214 507314456 988650738 961989464 793212256 315429514 53121074 409213356 892313570 271137356 168209808 986101910 930508920 153386284 327797634 487084782 885495590 931212980 186144862 817222212 794628044 512938732 447550372 815715230 815054130 582774910 80357264 609911574 98286036 466035966 638668654 840320022 385655406 386621652 68119394 319709950 807413236 147979562 902217566 673925598 34542746 747227550 673706180 430675894 756903902 298774098 162847716 572484584 144680864 420082012 909646798 120824814 647713854 470450406 7139728 38150308 198820344 102095698 322227286 85130104 281201060 995535456 224647700 678314644 120389814 418544420 443965882 642191492 156750662 959981394 91583532 768905716 374220424 663540228 818387688 620257076 526796024 715920630 549822848 110212328 275172630 154808708 174677478 489659924 607690506 524463468 966007100 566560160 737047822 585075370 657797366 455685906 51823554 975883568 855399446 862636696 456556530 212934110 635737168 246622266 273739304 471870936 719777912 927406698 687917610 671022112 741681628 54910214 418177182 223026482 669389814 447787118 841118936 927327456 243623052 968877630 430885724 962019936 553840990 999831424 981637344 391253948 464458918 109403070 438841064 124256128 291601724 350191372 707095020 749741674 7657870 401286416 425400530 795344528 379138780 625601560 16477016 994648254 875189254 132609938 741790060 913673940 458412672 989607114 74973900 182957378 614831324 516305376 417194036 968413658 978577716 9643290 673860598 629819878 362003678 36731836 7789386 893875270 687663246 905545568 128848016 96235746 616662074 388363384 994954796 203123372 286109068 778925104 736428014 600272072 335960868 121480474 678421256 476293360 915356040 798835710 891116098 186335372 915532552 296287394 995742784 972534090 531360652 494149578 597434164 281706452 448896030 159382752 441342916 509608694 942015898 587220984 353912592 162204194 629982594 498701040 360449904 736861180 266998744 418914438 617306336 468546534 604617304 623545372 147965986 683206774 352818898 674473146 8632108 560328200 892914096 996265992 75767932 93583284 40361998 586513274 459449338 162851462 317401842 516448702 493168004 194584752 832545408 775824156 443553556 167318176 372709824 870971450 261637466 332188390 958295352 397905336 40175164 820747718 703898782 720283826 373404598 988836630 917664102 307736340 921160550 381980750 495557018 333253272 739486586 633525814 232419372 3927752 940879220 476016854 912558480 884886660 892510766 519661834 55107442 833656156 352317590 963932578 328763008 91848554 60091400 764022514 581887842 59320148 484668054 923657098 280299176 712444870 899067388 202493350 389712468 225713516 804949374 817623352 9522914 210201026 983380372 595884524 478705188 383126664 906577868 868733622 527645804 163072818 627119770 560058682 606718338 253154398 986405284 513680576 438303106 774298632 645962796 447314890 90591508 179696886 201349784 255827624 600380926 169408448 402371174 400454192 357603766 522208720 152807242 596122368 569513750 970524502 560268052 362518320 612296942 280407266 562993900 723672226 630393110 866200728 455332340 198371526 280588840 439491960 869406312 931531684 2508806 306374156 577202720 783779846 610114570 425760898 12629398 808299304 968302012 122839346 488440546 160110276 438296724 340690900 441224088 536780996 160957788 192369158 957337674 400933702 895396172 355846240 764948842 350588408 969844562 253159074 671141370 200208326 952535622 6125558 538658098 933811192 270159086 677848260 100389414 262822422 556007970 291995306 815992358 3105268 807314840 534760222 265095652 114671698 994902392 318062678 196139704 566072212 664224438 138473560 782285526 136401720 782113154 86247280 15233318 629879438 868001080 414229116 877730886 894508232 505738262 449604400 447729772 439429744 500526656 875822752 186890022 935445094 661107896 205110796 194303862 520176546 33518864 35271850 437654430 799000968 761790860 409783990 166908894 572514954 437998234 508755770 848554792 821574826 942565422 596171090 992934990 107750740 576539788 634711242 848738092 292950174 597784900 809315250 461070050 879713920 391843098 386481194 281811252 658093736 710995346 774902252 528633432 930866350 306488166 807244144 212989710 377634740 775056922 453952608 920353226 636039350 216387544 548001688 688652074 684668302 760609252 763384482 147428024 376812880 63705266 478163764 284225044 943588914 885610172 140670264 401795360 168020854 267181946 455185964 397040668 72824992 988056660 929387658 207139410 967683336 67131414 380915990 385684862 109126984 436267336 143533920 988245000 477256166 880814320 778793594 12500454 213601168 250147742 440297916 200219828 717408470 211401570 104161170 433097964 278095122 557886046 380660986 232467568 645371702 748589934 914622770 187172712 282969404 362222858 867577728 295065102 342143728 601897596 641575908 237632266 470760166 605231820 557678384 733819496 502494152 936316908 67518112 882769372 196971068 267880494 565967208 947384884 212572024 490105110 614492152 112038150 825400594 360432694 988080916 969173160 758802606 990932340 361807686 485378454 454486480 559619608 852440240 761187142 753639316 162215984 654830990 678974556 188977270 223015814 988939130 68951762 233411664 88100636 618160026 372754772 258049212 21911006 788949906 958844604 924505840 164603236 121063866 130488188 16965980 119962750 881158266 471893432 669011534 259828974 429060116 820066124 22004950 259859190 529960730 13810726 18481824 920911408 696039376 529193324 420972526 678681982 645812046 827513446 959532486 735404504 799467512 79695590 555674664 391702884 204098620 979382332 720370172 732158324 124863014 174071928 150571994 188204152 816913242 3303874 202679750 42509860 531286612 242598466 542125784 783402420 767975122 647167774 254181444 905222386 233696604 432312858 578773038 399539914 87451878 684170614 395688938 324408242 186708216 227576322 426039744 743734006 521577670 491828316 415412096 132705026 959068454 786168294 585994672 985302242 100959312 131122746 519676116 788056572 976742460 769196600 340780932 730822962 376649242 970859570 489125360 89311294 412707816 155552722 423551562 827480070 489665728 352330016 670450380 475807920 329860932 388887906 554717186 626661106 227097784 624919312 285469482 616737584 408949024 233767372 164730300 755718792 284334614 163920810 545428766 380361062 78512582 908476418 668811246 895906774 70301090 223199880 800404036 215304076 151846446 258865396 599954490 208750548 759477146 507395542 55645056 704014068 209895752 749735604 763457736 115257118 173832606 569377394 600507420 964153652 916133370 802914354 563788062 198912030 378053848 634757954 425497110 2866640 67840018 971445484 763849262 336733612 860904988 506264302 662624440 574608210 909914250 689581910 497853770 320437006 961331000 982349810 693923330 154319748 607640880 298544852 802821038 378440652 734006840 222810320 632371546 266957642 755679320 311379818 531087106 624560530 530281848 311457598 953484842 925396940 624318802 154117008 527940914 71956270 28560444 490878810 859998834 898937212 598872130 166967712 315542008 944275336 161874974 656153602 356854678 313452070 601743156 201053554 7066262 461853894 151970014 509011154 116245736 604038210 748698328 26801344 631750700 732443364 350185944 454505796 646215684 693778332 175442082 253113480 69478478 303176142 850888952 653944028 468866934 749127074 231782354 616656900 478071976 345371548 961276998 478104774 424438902 575517654 904771806 828806562 541206654 307637844 550772412 555913660 457932472 507907520 584437014 556656100 64791334 789415776 874863172 741557724 691596192 54273766 665637712 803066254 536845764 990326780 799240384 939649424 357354622 542255664 324906888 559666772 121841596 147433228 123280500 950630976 726877078 573157854 332603806 395013270 356081150 254122390 636330728 199219808 405848884 892010652 129388848 553770200 670270158 424759252 540006832 238261052 157208488 314427824 366848902 891092342 250014930 820007526 493827312 12267508 964181124 253745356 168347304 310083264 398861098 203990954 619648304 980331970 784948062 419196740 182208016 902045998 84317058 316466844 762977510 848578984 495055890 561239188 128771964 603926572 283225044 186553490 767437398 88107586 458122874 15552608 531403506 583363688 192017108 188567754 110469718 544253630 410004128 938221782 173357486 192852840 803220576 302407108 352225208 716052106 506767250 976144914 297517774 347574372 256850886 37441868 578653292 879821060 460482912 209225426 561509142 997171184 372445014 716422742 672809842 948107644 905571162 920458374 380099174 715738204 851369524 8135164 662704694 767711130 269674356 618038304 735282850 912690590 611452052 640501812 190829272 7421150 742033210 683323436 32690976 202440850 898126124 237108928 276877874 343018184 516557734 654885452 306848600 341450434 181766006 388997802 534342818 108364946 527361168 74253024 108258494 100873406 603661712 823700956 658385162 472737500 495064884 937551738 205664700 868067378 380219654 653551402 614318326 106831868 417427000 295990504 335546556 726679512 95799896 216788052 171373698 988426794 160838760 714629754 328121314 548643594 761346832 824648996 836418652 243715068 698130040 796531382 375886848 132435612 703182730 294266722 425563912 144365466 160844524 341400468 209019162 566570170 686862650 190149446 432517174 430839740 858297926 470944730 857930716 453944220 832689518 872934368 378344330 375968244 258305722 333793714 486467970 654550622 141727988 75108434 542973386 153904062 558339950 801148216 208614998 584512892 274099826 803668956 867965474 298895804 413788338 928307226 915706452 636030298 802496208 692391052 613705916 691863770 814178438 836815100 98126932 296989054 959991940 576224460 882159278 28348362 452490438 92557180 998566796 826676412 319239322 245503474 825132674 188251544 727621440 684240838 134671116 430550516 306544316 869063258 847749732 65760848 200987132 247866976 981407504 79672448 93057758 955115868 973784090 343622094 66035610 160952306 747970960 869791146 766271056 647536030 855529336 799309412 999913510 635461972 631850754 973680270 486938420 660321136 582945826 876528832 48650516 690816290 322572160 9054938 424146682 732091010 175638622 708185158 214699318 842573514 479912632 756865756 93242628 347772782 999300348 388535330 319879066 656467468 109815312 395598032 406610824 245680832 986640638 417157218 455185590 649048260 680091218 91146806 386309318 979180936 286510086 629686506 166491076 641414502 402715752 500354698 540041864 405844378 719709210 632678324 471360302 295045298 618954596 552504878 19528802 135022370 194442034 469976364 204420030 131559594 515723012 369131052 285180762 619740784 765982978 80844564 860723848 758317044 456702176 800466654 97466386 496216262 923240010 583364828 384450394 670120310 139636600 662581188 953473682 653762642 250508242 264975406 980369876 620851956 600918518 390816134 375073632 909139924 79475416 747564544 517865062 507092636 775101176 315432608 631495208 244560946 489186412 328379754 39351746 508825176 50868282 780375318 868809268 815112700 104628888 790266708 706178580 515423722 385505350 60669486 240454950 619979190 718973882 899318350 958904514 837199934 461080654 849660984 161973676 570537326 272682076 921524618 332781622 126134320 973291062 254636472 698650938 632351132 982490114 689789580 7659064 798296838 198151354 527383472 69532106 271479084 541801282 379048284 305304438 266878494 337860954 512585468 163950070 73854992 314182552 348658934 917322760 334591154 834217014 380692600 490620078 830734790 984048520 845021692 916500396 148543552 476373170 44197024 767215710 665611996 462660742 961134602 404696536 145794320 795681746 627104424 203606342 699893136 713633928 316968638 302481722 747969736 742963538 978830010 753050938 735372766 749917248 800492784 661345242 221281150 181155734 241717384 517987892 493063710 474504872 681937138 934270068 601737918 749415142 646226464 709756920 827448606 355052584 414643670 758229754 51250724 307329900 896174674 895053022 851813868 669283632 919872250 919060886 975696758 311644194 707901190 783436300 784723654 83571638 510836664 153816510 460282904 61646314 210006966 89754520 580430046 249433524 668403664 514671822 161500742 405051214 447972250 51609722 155100240 852761002 346699700 341063060 119628560 531429606 642840838 318543614 313921296 31616900 509142220 151116766 887709178 547449478 553427748 271071714 642125066 686754276 361975480 369778884 753703394 689981342 82842524 492167218 708608450 74495428 235724202 856286906 467801758 784981310 572928646 248329950 424385674 846660966 156651188 777374040 400794618 674786306 613541050 77465760 516234172 106784630 797183036 589863056 341184214 320608620 602359382 202522908 330301196 945974906 420344686 305340454 729803614 175102658 349146404 482475124 299189628 700099820 203724150 738033554 631633672 387946788 174832972 803341790 918905104 986633224 642266074 881473546 875781686 936072468 860990396 958821576 761844148 286976602 833543500 154653528 577003556 382307888 382215792 179949812 543470570 930389816 141091482 223156476 625714118 133102632 360957116 51537284 512139966 2314142 76986882 836664840 26695112 891964030 134996776 562954604 248194374 300410588 212544170 974386550 52799312 125996148 888195418 778530354 498576694 387827640 203977672 372008106 793095350 74752676 445502632 140679396 501471964 70736334 853878450 950467060 853891324 920777716 985403104 432502886 77258662 31631210 499071270 958363232 140495680 794932474 402170384 564227986 853967660 721749074 961621422 203246286 32689602 511561660 898029764 57424720 188513880 875761536 893477760 189610140 229214786 183428504 811615382 830977034 641449632 390531596 528804214 427437452 268215044 13474912 335443248 87062846 439369620 96999570 274776668 481322066 565565980 557763904 453125296 187611850 503390296 138997424 706171778 890638170 506356806 789423956 364877994 611927476 879836264 749463536 776598736 465870814 744744722 986659752 739771090 905015644 491637062 211488242 562388040 263967028 618466412 280325686 224407528 108725502 546004268 808038070 868134794 131406398 903254316 918015102 459202118 206432500 914123180 44163918 644787406 744109534 192796034 359872536 481644316 302710470 530769350 981950498 393213272 970348250 719148418 476255682 754294236 30262032 972634652 779308646 521738702 643309364 713406810 945474432 348483300 582182608 422316674 525357254 804070984 367270966 276980488 15453276 858871344 296906450 319674366 397158042 257191716 265071012 273069434 256411476 483636338 248069096 219322342 842777888 688690366 445682656 173836470 679529656 215927464 995092590 251535632 190650216 285818858 911644318 901736988 244802648 747808568 600365402 783355788 303900776 390039628 853746134 295006020 686030846 61481784 138224196 230538336 537816542 268572420 232276772 630901802 283648468 779609710 423381060 765321598 487216082 824507328 831658960 525513380 195325320 381974468 717984418 418412098 1355736 640413812 499261960 307254742 801681412 907962208 281636030 361220526 878415796 905053138 263573842 978211998 846222216 982328870 264738586 872370034 208262494 15739504 128289800 845922258 93981000 821812146 264888446 433888762 322231702 41418044 958756976 113651240 175955222 354913044 438221026 824679038 532814938 325294600 633124308 998621800 724430080 266925528 304699482 740975554 767005788 893688120 759440118 665989742 670874720 816971844 214010850 486461064 818117194 749444918 967230636 668914690 768313842 219464182 214370856 182265852 347903864 893506304 77166860 315939428 857258330 725919974 358792404 255413686 894718908 942472936 352150566 893358222 697086980 345147636 153626494 65108696 541582700 28138962 800169702 360636636 290831580 716542378 984403498 963252834 155083044 508895168 596159060 433771380 848970902 661494836 160622142 788828686 170219696 341279532 863625450 878325194 726376540 170298258 330840094 125342780 721144882 597757574 754927848 743281402 131653714 809678560 67289512 685118842 902844604 317040018 846402110 435813698 560988220 767870692 523206954 451911072 602193186 724835896 16562174 462758660 541016424 194421686 14792666 468297010 912767344 413351370 327734074 462280554 429114504 21017196 388766788 856970866 763587414 278632114 659716640 970609626 74537982 924036 470807448 742983716 687768630 809401802 699841286 202491024 80161182 800701158 50231530 601379908 267106354 100617094 194090682 353386936 558745012 342519608 303160086 31417014 56214890 560984618 492403446 977207552 611324730 116087590 594892772 260895436 624678478 271583854 795281950 309132586 519009254 869601038 315389186 266160176 229570394 217957204 884050270 419972238 794745152 168291342 912225104 538298930 346462644 899313592 935124572 918825334 886268332 405358702 143890456 673488070 714200450 470483980 459798912 239683554 744687388 194597316 758893404 326365296 338384150 200484952 712846744 418765308 726165650 203311624 349566950 36127722 555806664 785403006 896422912 37250508 856276546 949223072 489847106 244152166 529148894 79416144 435644110 724625738 297029762 764394874 63452542 153703104 84497500 189907500 637945622 42323322 959448846 279235520 328323862 524787568 791948528 691681328 569222414 930231464 918879844 8420880 634450388 152427724 854031320 554560300 60111412 693292468 825765660 230074216 119977016 750005318 715934232 544416982 484186930 417451036 29207116 812122742 558854888 971988900 371719154 424187398 170870862 716829048 427373010 695025868 268267982 935594806 367741846 664321808 176951034 53064688 466671066 559126224 367943556 958670422 228579564 188747694 203627294 852989690 446076290 814074324 934797516 886769168 30233938 197504834 337694402 40249542 568186526 396855052 751754810 330984804 357285222 411403558 825128626 413390772 396100882 300556678 561455466 685846862 47146326 515396834 317812976 254000812 316691758 943734678 693356612 483584530 19701660 634443230 236704500 774387578 736373454 258110320 981536108 655347372 774493786 956495658 301771050 20902658 280284808 205715322 676724928 964426600 986233816 557984958 928880502 926695640 843978454 17746668 298449068 210098920 276047854 453841932 670563464 194048528 362927456 324270480 451544058 785736174 808107216 202522888 237601050 828964702 154910558 96560090 107416540 674040986 767929280 861219312 216123366 954928206 6707534 406850362 799267294 673589894 301385488 295325312 402848494 87306720 999238312 130965932 388300098 569107674 217921954 486049392 339166432 77812304 771486946 921392892 211066026 144724488 602191964 239569064 851457592 554629614 998429948 435469708 303043990 888776868 938712892 303176528 709937820 161726942 151111118 567571904 80436368 306968054 47718730 324576948 938822578 859548804 459678526 821260346 403069530 920237696 818852508 103157542 473484288 404141198 841447538 197195684 824987374 447580944 141252994 470558310 296780 916442730 889247546 930720946 67990628 978831814 705487636 665980616 382950788 557241726 372434074 388576478 477289248 167444070 229231788 694816054 714649444 265942268 963792228 2715496 328069936 406444392 78181618 542626890 874362386 967037808 990064622 892816584 274617148 555375502 937703320 805680742 33621738 495708016 922705422 461110594 273546666 939883394 102609364 6760236 540876746 440670956 538458160 760275862 882425050 592643634 452452874 225341086 412528668 737036846 592026520 512412564 222058700 815196126 543251554 32700958 309365974 184917246 19223684 204684152 410635542 889143002 764615022 73435336 903266444 768258744 958917282 845652674 497636808 654133388 398409104 321392718 143917336 401984776 241135112 540791304 311148948 868951586 307891430 421532664 853005388 847329700 647212516 942333618 491617700 432600178 319189344 229392972 85101578 263821396 258767280 819762516 779269478 814053194 511511966 948345018 836037982 672945474 353603056 920170560 622518104 490922494 20908314 333697298 314358082 194406416 81311084 963375834 299039180 726097072 733206168 838178456 440895754 235375970 364762806 388582996 36126092 991494560 399249426 116678184 501142800 853653262 288880736 300242642 356866968 795613908 873533948 986326888 745315694 293434574 818017166 877296866 265891642 447130538 130212916 251729912 714800682 387302532 214722482 12989676 913700536 400370090 247550192 593914274 792726988 697080558 847887100 143009776 98698640 95850740 865207972 991734796 746649172 614904022 232619242 265893208 33898120 228763488 556227352 662291750 715177646 292695286 875228686 553603874 503684014 370488866 824480930 877128428 281497252 760708328 283534590 721744168 349764476 686378186 962137152 45741170 228531136 978631136 207512930 595817202 354278932 355287282 439255160 422015854 78227468 561017212 276672516 466975680 937099412 956177108 639827864 219092478 10580964 36116698 790618340 543865936 559930344 503493324 48209204 80571114 977790970 361730662 72221826 56509680 65726214 313549206 540031924 582208912 546391260 69316990 607385714 317592712 633400134 381843302 471757198 570570756 698986682 978301608 816785756 894516458 249367404 92900556 764393288 172068516 708594448 621898070 278012656 689810906 101926474 483073088 201713798 367639508 897929298 712651332 265789756 997539336 459940896 864471008 377939402 931642044 134838936 119545616 283093768 643859290 803927808 567118382 633431394 363655476 186253356 323373004 539883764 524152612 180811112 807615764 821061636 522191344 201734324 666763140 232747892 200935154 283297802 349354656 891299312 836421026 856105324 244632518 214955840 320380414 371657802 644549632 943297486 766807560 139901940 825668912 335220394 855978650 856923790 256550520 17138058 92118554 118678588 640410412 174896430 913320024 411343412 241959862 643444584 194812094 592448066 185056370 223077930 325488920 339332452 223127164 709961932 182012382 73652978 349796596 159806380 231669614 960731478 183731000 786937218 214761972 570949122 896254018 371066568 798465666 156774014 723989166 764258680 72750668 769006552 950243246 785421182 831026798 399720068 567855164 52071384 371024796 497215064 782157932 284305682 543370074 970130706 419718930 586139906 307802180 20036356 392031704 185587016 912201708 838176976 689541084 64503614 71111446 114552294 198066734 727526274 513731282 428179244 16903846 122713514 295538928 301458278 158668980 81907936 78684966 244843076 145670956 499914014 828124794 793632330 884671848 94810838 349087866 506214938 711938748 785966206 292439410 3849680 500300230 384708258 573530748 889001420 132189616 718244492 275001848 170346286 138668402 477006276 416568482 986625058 5713840 191557532 102580326 392421420 188862948 744990642 861112544 75795768 266173348 199921128 706977110 970675420 27942256 813955606 639995816 541533052 424294576 988048502 931131248 877711740 701850084 679118990 834545434 643695950 921253782 61592770 925945772 901639624 102152980 222672172 475055466 210194624 103913204 38555472 815678186 973410358 289020886 601577372 804798376 985808846 532330606 149939482 892061258 610730962 968023740 382612130 198490550 94609768 867157466 805087682 674036398 455949254 448376030 245271252 571719932 500392150 10439810 145283146 227851500 111063224 875518252 738077118 674211322 285216624 926992910 988260174 822956320 744549450 41779068 610779168 947413934 683160784 929748392 370132290 298789444 811936308 460259084 607318264 203234358 39929048 492047760 799684302 593098204 908299068 466343134 946086192 429690160 271764546 337517856 473841354 830731432 208091030 897981076 999156682 789198512 287670504 979802788 428395390 579569874 305846722 579849512 324981898 600054694 87157210 687015264 72328924 518604572 483790244 147606032 432229846 908787118 841456096 470811188 539012146 368400242 732085158 234601898 299985168 149460814 643935826 371912052 662964526 974258124 514411940 645668194 163938152 373116270 27707540 760396080 935628774 536202056 972952034 406924334 116711822 227451470 856625602 931613874 187196894 674481242 83362790 898480520 630191014 996617484 617728742 306838766 950121330 772855304 25609080 174792296 956630022 241287018 870485492 456346196 509196252 81420688 878264642 139702828 444323998 598093918 582801852 158221686 125729036 725250950 415275384 865258914 877040172 42480686 619603638 429370768 375474122 868590680 393050026 773985576 658652424 199949202 48696036 971414434 35115220 86190260 466879574 302275524 650484274 126459502 674183538 875893616 432580686 444053158 743060734 70030198 259117814 607281368 227455472 239910672 44976078 654469218 504508122 331784620 64360266 809567562 804108792 602470728 980676264 864485110 634086240 492932100 449030778 323608996 63507316 495277098 719608928 256847570 91169724 26130478 512154102 22818538 164642642 973885354 401325442 298635064 139021882 529241630 290135644 609984370 613747460 658209042 217167306 156110140 727003728 78193484 273562994 595219836 784736676 238237456 358387024 515104844 5455998 993461024 109239000 235163964 317627578 986166550 971419024 178365282 934437806 782521618 951964714 641616700 260001684 547935384 714536280 825689930 400711078 561935398 479208442 389678466 181089168 944608828 695531122 236792988 102283858 425370538 19760766 656614946 257496944 399357448 730092312 605174038 62459490 593111286 993882118 240049234 115281360 723042172 348841070 947473784 95866234 926702796 32368856 493838734 854431942 37927562 378625772 859294790 498750398 856860446 880578456 368475126 382641648 433458816 910206160 113070900 731513966 320548202 453985192 235908082 85646716 843490982 32420394 941221144 5770594 74579698 888931580 769846470 908319918 78943618 818574394 532977302 374729792 465258264 726731510 819625174 669543840 80158252 43436020 88099706 235308490 136065856 50403178 777149068 406847098 846443236 998313214 732226920 902431196 184734308 668954798 469061152 461894206 130929100 213804500 595393482 667500706 427076960 659021242 685332810 534629206 711988712 282247854 577916974 508345148 748579426 465055020 236766764 965959456 100930020 199048830 346125322 904887642 994150708 48351824 877721820 221612366 466546510 182395562 123805976 308750690 301350686 649427536 916607658 480261630 719323176 77170354 938598118 653150668 771876172 225771280 960300692 923347460 724982924 990831814 741476968 813397748 505380802 695038726 549232394 388166660 914468598 352845146 701804004 329599914 919028554 473923474 782397166 927455362 790422768 335145714 747094312 508279272 540671540 341219710 299165058 177393138 422433774 967006340 930184750 437559006 533392058 245753294 414330026 856826982 310256992 862719544 648253720 623418372 642967230 305398360 707439690 735065140 886793346 529174090 992391996 90230954 565088426 331948684 14131342 834451660 992114240 162506594 296491202 727797742 435175846 954744318 677691700 874492282 294321884 798472866 552505392 550628200 485625178 67062412 991001296 987627886 828280328 236125842 276030342 346728044 661146094 13609092 651639988 798267932 309990650 343351324 428188522 195225084 304920378 742516180 781502172 311214212 597172584 529555554 788123090 965894770 206260646 783592014 550518396 834504292 504715770 597366376 841825930 923126950 175189130 174721526 536536020 363731104 316403776 114505712 218915996 704387528 149635688 655224000 120894854 60568700 188782062 246744674 940526086 127421258 351182442 32211994 98544778 530676648 360901308 496499390 946503344 767180058 383659754 631059106 774834032 786287446 637726272 880320570 607867606 787434656 382278792 9064566 161683828 70323766 497488210 660181682 579286994 540382186 568268470 911697718 428570220 990176934 29321762 616242432 77837200 17788758 101975754 167397752 640908734 750890220 626513006 190718636 786395772 702420582 452760780 723413746 795624084 331941336 961809114 190311780 791693926 49824872 76752590 586551284 910478488 37900036 371737314 429021954 625521632 717396908 841178628 220308622 86985030 964922766 581990346 30008084 662742946 801463630 254064938 916018536 154863476 749614842 455903702 678363284 710304680 21858050 445448682 282946142 242274842 773253166 77478104 340765300 53345188 636132206 758205030 873228126 937797116 399064710 166352664 848597778 535325126 330513754 693592942 918600468 585270080 674282624 73020746 69872864 442453618 900422936 128595390 478314292 640430830 631305250 660834714 53217292 903916542 475425730 423023492 2594196 982101346 666132162 851374768 433788844 81763126 436406518 967126548 887687156 79827000 676030322 745132586 867385662 417077594 138135888 983059084 713570100 458939072 163895794 350804802 66129420 99043106 690713426 996945944 939891330 984033980 386785668 183561014 223110304 479458370 740328412 665625048 391162248 853046500 50568658 92556714 838641750 164861560 398631832 416531684 30752570 347004944 999231910 983662556 875753202 252686062 23445270 172331378 409491078 997762662 336463236 494821494 353764078 592802734 895956074 64271614 60551164 110960882 899763020 222698322 706934568 621285366 723403366 519347818 87735342 326801456 998515868 737005206 139983630 981595194 157416428 930748178 552636736 810448204 676314364 698863870 285176494 171464354 431879204 730583888 265122986 370125138 643078316 315129346 280793702 542994636 422959786 716454142 80547824 21526002 370406720 492955778 368365018 786118852 723647100 17482826 921916170 476159542 850401614 494754440 881688738 854556136 882045676 377518118 568756566 108269810 55467406 328552928 916170930 127347950 812930190 20820232 293905806 673072994 612700780 250464358 341508304 731416960 285603062 506009446 362310550 217504254 225666626 500203152 11255152 752438686 539237188 129051278 936391754 789430744 552471756 743135464 815275606 37292082 896525552 181251702 224614620 408276138 577141018 172766088 533734264 767167154 860189376 455420558 323082212 922670706 223377936 668205334 807505588 511732396 730201332 868077082 997174058 503637906 215877472 252949276 505858624 300771366 467753684 347283440 993330660 769410594 309919914 360327282 558537420 576495276 762290282 667558458 603825014 804981784 297299844 757354846 406500060 401803498 343553942 999967174 37172110 685337344 188104014 666276580 380883376 874392832 394043480 255527792 813392270 315781302 281302478 109779978 184698076 708004862 777398046 562943892 571212154 804674228 156791788 124861420 646538558 913190838 678790236 172988270 669350978 144118298 803043730 404380030 133444408 378629600 382033636 929466672 524010926 395177706 642005462 46137854 726400982 154054908 450416994 37186894 26642918 850893156 321762412 63207246 819586612 279060568 345111414 286519348 649381848 34182428 111230054 621835722 56244040 391739916 364578550 1248974 99451998 415190368 681076516 14418930 758116948 234899484 447180804 106438010 565984222 903738926 822795766 314214126 289070954 809522868 111413004 490023588 807306770 156338534 785020778 845878492 168790700 152400368 849635100 653450876 829762266 314770912 15161288 287139142 198542540 880685828 644320842 357536824 928156458 762406428 795429710 845403850 937522160 28508048 245489372 408065340 227746358 328302692 567350988 405031522 521951546 122517558 849759594 252451936 935430912 588950458 831008340 979770878 765535846 9203104 505824134 861047974 254171568 871030150 720209968 140348926 848482580 825823542 783721574 633823436 348445738 677707768 200853698 902427772 534306602 706107644 717366216 539435086 44436482 402114794 11822432 943512358 273431290 251589788 835829956 103887868 209890540 460919496 181073596 55717194 818355326 653134128 227038626 423574800 925561160 631179660 451523140 633616268 591135266 943124576 394591826 974801218 104966772 211226186 245130862 293141520 371116142 484465238 513923424 684332320 727615016 741389296 302938434 757572756 333079530 275157834 984065132 503234152 851404250 324028752 56469774 646505290 82685894 787412610 903523622 984372596 603582630 946932600 445430180 349706462 52595392 225938170 39558244 8092752 968146822 4101742 401470720 657145838 790020150 972912876 835738278 682674940 27088212 765814866 815972886 109748572 360903338 620629170 229770794 671296274 751484494 316872488 808149676 145669470 574794658 296494082 441810838 939330948 173787610 48171818 681652464 228186878 238053710 258519906 917675170 954262520 274012222 40912750 671004010 91665356 233552112 113970362 646686272 328124218 147090978 7239322 383318924 407226104 939458690 780462596 481438700 554802710 39852136 455643736 688759434 481062852 285841332 106227760 181287328 75693596 881181346 196725590 113262462 107443652 319969580 387632178 436370544 567564630 819109020 693234074 536073530 745339928 16766112 781657976 738438616 760245224 566431074 628757138 585120160 863191260 626097044 324671976 978539528 967794344 153788422 499208774 877028790 767226932 873469360 430682066 782303160 572832008 949276582 544556436 688063076 209640990 585735686 242423236 745763938 291822836 630788664 912801620 11636346 427934522 246264084 513674792 974964366 317194968 22854744 472528714 278025338 7333216 882086856 560008786 226280468 680728344 620275816 347101264 589845468 398360232 498857824 590621572 35241602 325087110 603108798 903952684 666408636 343241206 256519802 171080832 694196666 515048388 386266380 420082806 142620946 156168298 87501662 258911506 734330252 114304644 403175692 453784278 855150446 316524442 850889636 781308602 524620676 371257830 287655276 812589386 586695640 128317118 895614886 573618718 101812602 17299506 258566852 169170682 875145108 462136734 531708698 703831716 544783746 977268052 662957016 765534110 114302986 940928994 817816362 945229444 150838098 133516552 659749896 988039414 562201096 755993496 267623650 549183414 948897178 761298008 726276856 268430036 645935372 172223034 458777664 138096468 367897330 912502194 986142726 707230078 672245256 933967060 723130060 599187734 130471054 693978660 311665154 628055962 754121090 556745608 854890684 426500468 532978896 244794826 909048950 302008962 391143578 405546400 177782482 728735820 835065992 149093884 506025288 246619350 281863408 203383302 87968164 590260246 103553618 576358948 55541958 398065814 338937698 327666132 266733332 258983046 206390196 989350708 496382604 944141118 738831788 587774076 934279952 34916050 831307756 971264866 216227912 417410138 712291328 351831276 303216374 933744596 983971570 901566158 103815172 590991494 791269360 560010910 282945766 416423776 471883950 542451310 70364050 729330340 678051004 69508946 221008724 679935010 969112758 193361452 725303964 236998678 51967038 491211512 824589230 556602330 78149772 203577294 441750668 931499278 251066024 384544528 780508642 194899920 933955650 861295346 610839778 126953990 3269570 623625548 146974542 284168508 969585276 746963330 32662718 198064814 230732206 533517832 105351446 800790560 248793812 784882924 835838512 822553054 274663126 108132910 967758196 764271350 230683318 398958536 572118060 430598216 147713318 908353324 392956080 410541548 594849924 360911448 543287054 449889392 332407916 918574876 155400360 132697106 516813064 742222794 497284146 706266206 627030824 460760250 817192690 660237492 958441346 904487166 442243770 844626452 266761758 694142286 768702752 568246684 194027930 596339674 456608834 351627068 416792020 891633694 467062796 10435400 682890222 70812556 17117322 305720930 70464018 235807694 911258150 855934830 428692188 774012216 513437578 330943522 769854318 542910490 220509848 934660600 522808578 909964324 515030650 461279994 681282506 644935646 422021726 388903280 96144794 632970932 324429578 659173812 666809238 319781418 944309248 810024502 743022772 263408548 387556638 988906638 103661382 675515632 133304666 684730620 936998174 109182414 261761668 776564478 101878148 988653614 683561192 293486060 688010 437382104 258320262 827304520 461196028 991803124 642372968 516137466 905317878 25549598 501797842 612341838 52864974 957528280 183544790 411246326 79067760 540527946 864609002 10080736 182723790 525240226 396155804 336903426 962141038 193959560 666825738 355650040 502425464 330890720 145352354 414893798 803557374 475969750 259525828 589660034 90937278 6880196 458417014 220941522 672291362 553125552 499368848 409056440 810449372 262958532 692676090 381081210 642608606 204868134 157008364 38114058 622519566 728049926 894675812 763640386 588978228 178991860 220617968 395352816 558835854 155448208 114076538 839089146 245502984 497652274 158265110 738643460 520807992 154583508 144814180 956756246 169502562 914585644 571201184 946359768 944544140 662909124 615095600 970427734 849083196 546667704 804843008 912023952 385696136 639751478 45925786 295084520 921888474 790580866 590587990 239803386 99147922 515781550 801471826 628735432 498614450 397933518 221577648 787363988 683543106 751647698 44743374 909686086 163888474 943174214 383471546 855124864 732750676 462527504 494716988 16586692 670388126 976313934 325580292 701252520 593808496 784726618 442068648 647598172 82628520 388199260 677789916 97423200 636784634 540788858 165035760 805607622 717372716 210906326 802298848 820343952 116438312 401289324 278255652 732906746 240446582 246413574 604109556 869943062 190747926 52781040 257652964 869996886 984024968 999238958 320953512 595170780 31759704 441920800 779293026 192340358 313167020 316356278 937849190 756195162 113774250 751225444 998608278 43787988 226605650 271685214 936029030 594092046 701560030 751532880 332232142 92421652 430321170 427177142 529832120 332876946 603995680 284865792 196706370 742225456 961697588 903604820 546178490 868671676 356654412 483769920 891714294 212384228 953883430 249191250 932261020 474750886 518752254 856033180 724732296 882676190 768865726 104733154 328374642 730132466 180082514 508568808 242505924 265374690 654967854 103006214 886316560 618717300 374682656 68123498 887251114 422165356 517331544 281359916 696688436 534925468 106406050 837689372 74893908 151636562 118772634 498564684 449108 932296082 906246764 767990136 774406342 207552660 970544046 171770180 254192216 500197970 989277000 151305178 578415414 63108988 180923298 977982988 88943948 941010988 160928296 305809794 254813298 99887934 331474320 402053902 73837744 240987936 121222640 796133668 444621862 468442478 960719562 904812064 218764758 876125692 111459660 569168648 164718888 712442692 760470670 610900080 294975592 3789078 358136860 415858570 504614486 578679762 480587740 419218874 780012974 3055438 910152672 714560806 980503574 863384788 393416022 714236302 766232320 845799114 238927782 688623792 944471932 687071796 647468748 109393976 897135072 880939524 813326318 265719660 402738718 490564244 200225726 350810054 964129352 238348934 470758176 935933048 307014286 563752826 437140698 331294414 148456814 295571890 838066918 996910158 848850678 682631718 661976446 559352016 653420032 199667668 402576344 338912986 662903746 472873364 288912290 261905956 683074226 816034 909216162 595213368 155156590 604398562 601974832 470501104 781758734 246153390 483062778 746968884 630003900 772604668 404850558 932274644 63544228 216738820 6109438 619075170 387888610 945916992 317872156 756229938 644100594 623396464 566313758 396933512 474526966 460117862 110492522 570887072 95282650 118191836 880851266 568791290 275165258 18312530 650627806 872753218 226918436 384012918 35176732 11705502 483026302 308351842 637633836 645712922 526503370 3574148 732253526 768747632 274453658 853699956 393834422 448979390 326630184 12648370 950097874 342122704 94244132 925733300 310505182 703782966 656233468 815291124 442977404 706136174 954245280 738906052 370380022 661419636 998824354 641385352 568334342 388819272 444452016 804645704 752877548 113415052 82381340 181037950 977833844 755577674 932007284 330147674 235420672 520256094 729275112 327812348 145085316 846038836 172354570 827686170 932737160 142999236 585983054 308581158 262468480 584176678 690071512 418565096 457409448 450694926 618010546 688528190 155314696 828471258 804249926 958323654 166551078 583276436 879166468 521989850 345923938 14832844 41629640 397335680 332753460 83878830 334913534 343089468 41377946 782239794 177474584 867030520 664796158 322321300 726313100 927700134 179368314 210246122 444851530 656020442 603791748 325791264 38632812 735999756 896247770 793838864 285716816 270369354 923319596 772846102 152310574 491833066 641479312 832763378 545449178 97525156 930532014 970758098 154575308 476439606 80515400 545124608 562210106 188302470 127366420 772429440 635959984 236334536 864343630 599362322 413705062 211587120 898088148 299312646 243073044 245408806 913450276 140337536 900488478 43414974 162325058 123162920 454489950 410092822 117475018 154922150 830660818 534106440 359749978 357023716 516406184 801626694 933367526 719731512 996584814 323351496 271119588 812396262 365556736 122833412 485232222 974069732 191648986 274960118 90287026 738876136 540372680 769257830 72113172 587006420 639600148 504191646 736761274 349033438 622855702 548697924 835521672 787392192 636760306 712880144 147728182 405976936 854225900 38376802 861927392 187947212 463727986 161517550 861309582 714859566 500170750 511291056 614349934 966510926 969606032 134293532 371788036 419973302 294837968 974978886 108554478 652609656 690600750 959149134 839866286 183929558 63580358 971355660 844112186 139309774 79350982 797726906 597592452 854537664 976542546 956924876 134244494 741425360 78778558 312174302 870224782 818325728 346675850 105257366 142798892 513899846 848495932 398127976 352684030 694820116 566647972 454107774 269910724 673182282 957390676 372839984 707587472 695611542 690533040 524042926 789091814 198354414 601152502 366412544 529921368 894039332 640384400 986682604 160480226 207453670 601190992 83552824 571375376 885587764 816078616 820662070 336974606 518620920 480166550 469130596 732444714 378725170 574822690 880320774 652928114 885237684 669837556 69699434 391680060 792182946 817324574 483771356 916494316 584464184 515757412 874702196 989401638 515739394 984713608 412340780 378973992 759013520 256004046 157061020 346469578 738072484 121922952 305881538 952401234 4567624 500286738 26887762 691722586 363861980 243729778 669408746 260271960 973690648 355359792 764175358 468924854 802766826 933677326 507398078 652342892 216227450 414573554 909800768 797960068 103954524 952963948 101036 934271018 909324054 704174268 829066554 941906310 736664258 535438842 931250600 524893536 678952368 714853820 32606154 610998870 461862854 477536864 711778526 486423992 49952228 343429772 668114924 423819194 551743470 891411866 80863792 574817238 366962870 307067874 237849072 752480388 867339042 518010132 380200052 966701224 80673114 116376686 500888410 76224378 381195142 899619054 752541770 466828242 331675722 2709306 823591874 852796992 368683082 574811316 291198364 489371956 239439238 9033958 29833054 531111290 972189690 617071426 90701190 61945316 453516840 159615776 458783086 688967726 397163088 854851552 475708188 761539936 17673282 489658310 874711504 599815928 710272578 687226766 353370906 301426436 206526560 532715464 916330524 215275328 2444154 560436068 146368646 744981708 850278866 888862504 936546258 460040776 97026530 626977876 34430292 412970510 754940802 967270158 60382720 478644418 273417648 414287536 464247770 747323086 119344048 258481784 511469096 352813606 600004620 404987828 43331264 903453180 382987392 929230304 519678258 209690038 409324438 950717302 422430384 80700168 555211430 288966454 436823116 154508364 755548556 928371988 637935176 899556180 424932258 979324572 68672406 317851998 270490864 926472390 629691596 664665768 459866346 604826272 730764354 960606916 335050264 862136732 851693228 371980708 974117912 969918272 587795878 264133800 132071512 41525950 748005894 876741584 397989654 791354884 687286598 671971198 354033270 960004726 265386362 507756546 109544944 185606306 145744206 537725172 787862494 172315730 350362422 226590810 129311284 108817526 633603750 619066664 644385440 300638372 550127800 146004432 256412356 513892490 607894366 341079256 291303392 976264224 723950224 990490020 716510094 306574532 178083150 583562344 717282572 475713608 501760512 780776852 858705210 818104002 773213454 885447242 333938650 261008036 689866180 792097946 78984114 995125854 32987756 513342966 947471938 284337718 613643254 116048876 97608480 642937864 929233420 287639930 370638876 551279052 491453284 849895156 370762028 942410080 748262012 882970934 340365040 903725980 393634144 793505130 540207224 140119624 944435122 114468432 873656232 820132950 804003436 326673364 199193726 645407362 178557212 495299208 407587276 451879256 892216758 463719234 920051660 236467510 570524842 727668138 265235704 674236142 942632860 125926790 108787334 258084794 100413996 355892542 978209440 232600074 573675664 133461204 218174302 197750086 238075036 281231232 509750772 407193760 790373930 611007870 212558882 401873452 141023762 940950604 711048664 436525786 552073214 216135744 303914460 412926820 299077062 663963886 713735076 934878586 542678666 244682606 351800916 380720866 640640224 660131970 890794376 135873438 391554668 651684888 347598466 830588806 624398576 738901516 297305830 129448904 606320526 372729092 936105572 741745416 363499616 730757034 921015818 946053220 933738672 668867242 292735256 357281800 905143470 352808888 533221648 221518368 687551510 90511794 555691938 393540966 282944574 407393948 925897222 287727242 395807710 971968176 512810958 548290966 578428336 815584122 293405824 86107590 164199860 218471224 600108570 995639974 217150634 962049392 96503564 513440698 306897364 175020386 448383574 227274144 377846162 702460480 31510206 760833848 374833282 255163576 423773512 886239746 192423212 520034336 43026142 915263978 620771068 377838328 439787886 828350788 881774156 222578000 349933662 341351114 91208872 608073750 482761710 556880888 973332006 920675872 562802616 783115788 925878216 886231234 226583544 822792152 635457928 195647910 480948396 330848526 752035856 762662618 634574984 345550088 545882684 944465806 424744174 239255374 318300528 817623354 572315388 946798504 692016432 943130128 579841554 182200606 524474484 906962954 602133852 27513768 684122746 992955364 89757712 667251346 973027664 32815946 503596024 229166560 782322086 834226512 434508164 882016550 162659464 577228886 265129966 506087534 665437026 237834484 123006958 862020798 86586718 385244440 450586340 258413746 835597624 610021568 158595218 712142070 515600350 737652952 819878080 407959844 838497272 871978568 743476422 48628730 41825458 261249582 418687020 697079788 514837004 846947754 124831828 912506800 907133868 234051768 154571512 98290284 425940008 871630968 166612114 883293770 698654102 755588600 486892582 290381756 796209484 440189654 577812402 76231064 500875122 949037178 79347926 43503724 648466640 171474398 507435732 880055064 856613894 601030596 493109126 305519618 165743628 309231998 124592012 365352898 692389514 419288672 730932932 278165738 921637290 6882784 762030598 731512772 489947636 145351294 118484106 950428030 641393522 360366086 54205596 857284624 596518726 489349248 730856166 208542622 238305170 741411544 936757766 305938450 749161028 538616468 663179684 631150096 269737452 215135640 738985120 968880234 989285938 772061808 649297436 921390752 520412858 804317992 370186970 592973938 184467058 371106756 859325746 243172198 414441010 371422360 982747602 164891080 305639416 700335852 383571430 634362152 564400604 630862810 744459332 608317186 602033456 914303386 30877218 31868952 77378904 836258596 464470256 886095936 911906132 637773390 383360160 432454474 536993778 30602 427240570 670751156 275800934 137125974 997022688 331156524 798034202 66509346 110959422 334460846 870359606 196770242 987746324 341145618 815019098 195162300 106729740 659598260 140831652 206700220 636054302 283415420 495913678 670721778 992949090 151311150 336142230 337047368 587513344 312729090 434302786 814225352 938637692 83471620 85821826 367417540 37078668 782160868 847736958 192835844 866992214 869130080 858461186 757112330 697354566 560345262 709551638 909569628 560956520 951676606 202444156 449266030 469993256 448403606 920657230 409573086 278003286 453531914 531229800 658179344 256591172 719758658 375767350 119182428 132001928 55761134 875937726 605523998 649675478 252928870 314045334 586426156 694126566 167386640 21771998 465981436 612238522 84547424 518882754 792391228 817263904 785714348 882270730 867969880 826813072 210071458 886645418 227939426 276115114 360449166 821815898 952761710 993269706 800675040 740542396 343543592 862670544 959937906 960572846 247689566 30841162 729930290 419652564 330385864 734134234 565940842 863153294 341857138 193729962 709209652 963218116 275524122 395673248 485587932 436185496 240656810 277438698 594791908 121568586 372036428 944430100 149791868 112286860 235632058 433448884 946533884 925673388 712355652 838955554 54712094 605786764 692802434 557381910 848890102 422436350 658990292 615617128 172463986 668202836 242803214 546134514 497341880 184491002 465271884 415889700 236575498 379797818 142206110 898018310 42278668 822213844 673964022 267543384 998459984 731070244 659894582 182489152 441694664 302053560 423817100 507730286 416995150 524245438 340907684 42937696 727850146 767932200 927434496 757972790 300960620 449544664 601375048 347530370 449075014 742479096 701696190 729712012 691305526 977985364 451003478 182825112 58112570 277675940 314126724 57829230 460691786 233121066 443551896 709632382 930788952 909380462 577545376 593560584 467967088 8495198 593949478 682083870 14821662 415571934 574895250 499813972 390274998 74727446 646307650 686330322 180866156 887975864 106508510 974362398 14794630 940642218 832942028 270309910 841118906 946272450 147513412 67411392 218556284 9568918 888592744 536770440 546056688 868046890 741731072 414014622 657125788 9315740 255702784 462410248 996911412 10814868 601125614 27725748 568692392 296282180 183291356 145468498 972369514 795656154 355053940 209063012 207508364 594153878 894708612 886672018 95521212 109423782 231462782 907294360 128303340 873383976 559571792 634938808 473187602 924897332 271812750 848517322 198892576 444404688 313059938 450797272 420142748 487450784 996461894 289958838 736844850 114275364 998893770 910838936 877458812 856905394 139018932 577958266 680776160 880004232 955444526 192515576 64509258 893782750 412808426 768926158 411590598 280710564 730326612 610720454 712366424 385068692 64052964 609885844 991316348 715371134 917250396 354111252 824319238 694154794 790788924 199157246 869353264 915667178 9720484 605628326 878888672 879922132 227584808 56575738 314798948 971172990 438874566 259475466 449599370 378954298 53077372 211422648 953781584 526125584 69402054 633700554 878769150 881390306 73740142 445744868 927143864 601896152 809847522 463889912 345281858 939326794 64835068 263163756 805885534 267171840 339361630 394295918 338813662 237535044 246099588 570682166 582318296 299317802 329003640 359702110 450755050 406992810 126667666 219022990 594045780 148299952 579922648 293801028 128007542 955132808 125644182 589660546 612996792 761162450 71427462 890062282 413969712 354687090 672162128 763901806 50725906 521560734 189394184 680811374 70359666 980027530 202082516 977399188 314776462 281056108 685235480 256065552 256024034 685663154 217923476 150619290 53177746 350994572 793955526 331302146 936967534 740224156 936968958 567960352 478820972 73760658 152980470 461859896 1505680 190261834 156359064 306600982 427738248 862470738 361250950 370752116 371524926 851047770 695713066 666787436 937963886 33371092 78411414 855837338 447949982 179226044 472206522 509552382 909827068 786024070 420535224 3115634 95050634 809051694 629136968 642220440 545025744 856043244 850307306 211390688 335821022 43977726 157067796 288432524 448118212 888955566 363971624 913809676 539579876 803946084 913364380 86444628 858782978 665982374 958822908 702515636 576299560 797175028 652528640 218022870 796048590 763714444 252950846 507853436 842386066 27900832 847521020 628919980 422632712 688174944 881590826 254892356 89861462 777251186 450166570 116571548 987108308 963152952 440822422 276133410 898415558 767830972 932193558 69119144 974866126 7492492 495763144 864161922 108540434 879123154 774659122 189453820 645408896 656470522 812312226 961693270 34388760 216335268 955170834 585500672 571476532 207774716 903472754 653608588 747119922 277638084 627766292 34206290 645197446 518187586 518929724 511703962 714362282 784510212 941506572 528530792 533056284 864994520 489605860 598542720 792030020 199504048 29756364 236610748 498128996 319771932 166975218 295164224 948808224 807296536 944100366 549025000 732170874 484126432 110377086 110714544 564105098 635288194 467463200 136979298 802138326 978209014 869608648 103061994 374832110 794204730 102426150 462102960 334072172 765688492 233108710 44033184 455293380 829760890 683018378 396204246 512442040 467165420 227693874 601542744 612591872 265547520 559029600 193660600 50892228 495856752 987627602 838745682 712230630 260874716 656109544 51890538 228001010 814346612 435299020 462112918 168042632 371070878 942573272 574704616 983490360 277556490 478277750 312388100 918466204 226137546 26983570 481730208 620535876 518890092 880331932 696235566 361173830 229916134 493653654 529709628 616458424 27189572 531375016 287192380 321279736 825299940 612905988 102938692 863219784 111561664 86381160 365540854 672197780 88108384 430461322 928196654 219400126 463903326 626740100 508714810 452398132 649039054 992521550 184428886 664994388 148092364 15961820 500032726 645388452 631557884 268718480 254088808 953497454 215608692 457648160 93602706 939352454 892802716 825442642 417653536 100577416 622237624 739667484 617918696 452121586 248223982 36920336 573820466 667552210 399370790 727277542 907334228 13977162 40284436 198913118 235717560 712565496 741137630 455131732 280432412 183058440 290039282 443759898 197410818 193234944 797110186 749256492 946687976 221050484 805878516 906862354 625792276 367818912 502160898 424608560 401354146 711398234 654746086 539708544 142770748 99028894 733778796 659646578 513726122 935158398 258139316 942143386 501596996 390129542 360443216 289156896 530727322 544358754 845178552 273629692 562485960 123834504 254540204 75379634 94597090 367766586 478598276 605510316 73078460 519520194 177689266 987260632 688745772 984547162 807339432 475344194 921412538 797079158 114038344 333733036 878286988 403954564 163013094 558267968 537585618 358678688 579998396 863944120 38012900 42539454 938605022 553943588 765999024 343621322 106621672 483226 765193596 17490448 95106630 217377128 272138238 294618254 105578420 202359998 180998950 947280534 758287668 393368884 472523152 470520244 945425760 105933002 48682892 326781348 38913408 677343246 325752218 500085184 676028836 974176898 393888672 374075202 547018644 858895392 668364372 162222414 995224612 934869552 527223892 303607848 358874432 317006040 263345438 306861000 26370028 238447782 913527100 191768362 569273278 500883100 13368070 322485808 666389526 307376756 144764586 778778802 251514016 705010334 776958480 132309438 223673858 697939864 446050698 811663054 709909630 178260604 564602912 543251878 254645248 747106178 473845508 303972006 336209190 303936946 955873404 318009552 732864832 956366128 215219440 133675176 790357856 292017916 157254618 829826558 683141112 81115624 779959272 488854378 546619622 418599926 38168472 237848670 511294442 303828132 798252364 285690402 358067384 148657926 34800902 599844416 913692314 387601196 577242684 735505670 907128604 925169234 455776998 154115370 856565762 394040854 141625614 679634684 682107208 992943468 377375798 827328346 624803962 408230712 579306168 268252512 22103900 225072674 522974328 915693768 364981974 732385958 270543408 585879316 774152956 552364046 621116786 98700036 692595458 213956130 738153744 21782226 665750568 45249358 339153592 627630676 331198208 904766230 927662796 509494804 707947586 993907556 239425422 219221950 501647892 21870388 208346732 541465970 472242596 29000604 534869852 298585706 499704786 535979140 199703656 563066266 662144676 83724154 364953806 34519686 682304096 44264422 92524404 535881992 492062394 750021710 471286532 872397556 946592252 979974282 389547280 844759422 920690078 710862112 834772812 736425800 172870358 233831948 526963156 371292650 390320690 988434768 216780140 675903062 187793466 891194752 96915146 271872920 382173106 817297600 924701338 92369580 997711228 907999630 212329220 288577082 702164830 752519098 69267814 807730736 187411318 782115050 419765888 66142186 706834824 447225044 160184108 387190496 691252692 955805606 791585198 329827526 422849910 117249522 165104650 684888968 603534772 981542012 945831172 694529640 987203582 296471932 158775802 728961400 349161860 276818468 712405858 982671892 12542806 235848358 464261960 545485430 383521614 842342254 230890148 668430066 969380426 350191934 55163636 23731770 762294800 455971398 4367810 170333624 455265908 137789352 449815580 457968316 276930694 593234020 246468036 593792650 736029616 126692150 570337356 636797402 921414304 615921916 405408252 84772154 67611754 504746898 424993986 602192142 401614642 137459892 152822650 400080942 841459056 971732980 55485990 864953748 650230844 746534190 909047550 498706904 432436840 462609442 993846100 342257892 293280188 697415672 385352840 11029994 81993174 404155338 703908990 286156148 886175094 413237246 274931924 318265978 230671752 69405032 659147994 520850774 981998476 954101138 315835676 836596918 44556414 207340812 62806312 381139992 139236668 423410616 394905838 813732248 641793634 577499658 494315582 244316692 446757252 486679908 201459022 871378664 387599086 609220906 225896120 354380578 94638456 318349060 661136238 663014140 490850138 174616814 410825654 703669142 564221180 259574044 366237570 375109722 95302266 401093718 305982830 36132388 768514814 211881518 843717224 847385064 720260412 492847952 385299826 667714092 700857966 850089102 538588058 308513960 121679718 605381972 941809390 440596428 355366376 623427070 292843270 885282126 528026154 784729214 701079510 165764034 66690552 921320212 309622742 185056342 385531972 365399560 47638130 564523692 199108676 330416590 95072094 127131040 198250036 797595022 114336066 548841648 385752898 977290182 883383748 504461424 376576260 909977922 574509366 874980502 14849708 961422642 159873846 399241572 883316734 277192252 942935342 648152132 962151556 9869660 809920028 952910400 614814534 431273380 946900492 182875350 451352216 805817460 874321012 745950964 670993820 93033852 480401566 454692624 950581726 99173162 898056088 382751226 843753804 510931886 688838040 604117802 395599610 960313178 382841088 303746894 710131036 456083314 8608876 360710534 382187490 136517292 668445604 286697540 56935962 461528686 514017224 360649384 679384808 321864380 944319252 929099170 860392936 783805104 648969400 401109904 471997916 868342686 437791824 209387348 563543508 742867830 818861434 945484190 131042558 189058720 157565210 456469016 144183274 997897246 993728240 617211440 613503312 109463576 305185260 59307966 191954376 148815138 944228848 485265956 413059616 887645118 270411906 799669682 314631310 68284272 920294218 671169258 722427418 51230388 87936976 755040886 679208066 277164638 578922942 220855546 246238040 399416236 528671794 990722192 455966062 278648832 918259642 71438092 64237984 407585908 786101544 381194642 630508822 794154982 552724592 483835140 325905814 637655456 639123360 565958368 660636770 789134546 18438542 240925740 312322292 994334346 394039694 876361402 204247762 635970062 838848182 824076624 705405858 294391710 811962836 486376930 609279052 477488328 98228306 729521786 229870666 292512960 27767624 989554136 252718966 19504808 599870020 986141762 73524194 379816340 807672496 857305874 782234116 224166886 122517764 786312734 585102816 143014842 765323832 246353014 554916330 581579670 991021804 916121636 654949160 99123752 109243684 734446858 161754304 324901842 241239602 359374416 588964310 951232770 125439340 960159528 13692166 118662692 502518952 810282298 851011058 33471232 688751006 700921442 398997702 441059588 855545484 705375588 112596916 887130086 375662462 382702142 911920288 742429182 533293040 622092176 604690686 2360318 941232406 942858688 958895846 248007246 167197920 266276692 304018660 886909470 156270248 149232910 418315848 390433666 488018452 693832512 275128166 359637172 352932442 120685078 356382872 213301954 155467146 320509808 583429674 891316198 589095236 727151504 974484388 315759606 581718598 441296014 59209392 284513864 407106972 417949056 54846844 895110992 192997482 221676554 320928812 300334104 176220392 878797090 938450990 752496136 798968130 224406778 652556922 442776492 967784444 465063234 92600160 548230478 448333212 935551698 971487388 600542334 286337214 706590926 128805762 880031404 591657052 873968254 850370764 971770348 339458376 875347040 153897234 890596486 195415760 756633260 96319424 329447298 365445892 394018032 184865628 325005282 952629676 755153598 613724324 982407316 802642480 949031424 472813056 898965556 168240966 415318898 545202764 94528384 941298310 255259804 204484074 192274874 287129754 28783238 81949644 187787950 353953388 619398286 526792244 210280794 397223118 48935410 65388280 963845128 634800180 530992664 561761062 563825344 173517630 675395518 15350052 985413602 213590378 733645900 420411486 615639524 680653668 992847006 467836176 992624976 68487830 536341248 599201328 136015248 423595584 626878014 747726248 979028712 934302898 281676800 86532928 855306938 436628846 128683138 798963724 139289586 174736360 783683772 344020138 41566146 569718880 1243230 54322592 268193988 808445432 740426750 62401812 955712352 819906222 548165190 234390132 737954408 510072224 7646936 453863988 461743502 638409768 694548232 737176498 254027174 705568222 287484804 80457158 644118630 955957694 710620546 412374712 400266482 285451992 384137908 759362720 896779456 210203670 264745246 420100350 116208742 438291554 776797886 815103990 578974020 12051422 150479624 212917002 921002598 582514734 522607522 998832366 278907774 305605968 868036516 47961298 444322726 139733162 449936286 940302668 954243386 304804856 342838324 241874108 51375480 110119338 728887958 136162710 338347118 976263686 740888870 852000172 24971370 561991448 949051330 884237418 746376002 204867098 924519004 155606206 171258516 37241724 902802066 145680766 469408794 522449966 502846366 350882348 836229740 377264532 760754330 726527984 227191524 82844202 306997008 517051920 982193328 52600060 345098730 520168582 753086790 93246726 765889154 874396510 929872332 38192690 959009830 228212372 806387074 995161030 261554710 14646384 755956 650110754 312918984 982626972 980064254 575908166 215279322 886407350 214206052 575074 903358586 366689048 962187256 608328440 608912196 890152454 799006064 78858266 977472866 954227362 106537516 91295276 637798432 871865804 786959272 713483460 957725664 101990190 157076014 168370562 628866744 18817504 99225736 839902404 662062800 756699940 205435128 931565986 588236070 343495952 401067446 208769798 265212208 314486402 6341442 568103878 357317980 766312992 320602906 818711112 75856260 871361606 77046688 523503006 81901436 359534636 563917978 374610012 260855214 656177636 201506310 845525318 342123352 592414098 107068736 957607356 483465738 452259314 876777244 912728642 489110080 380916572 78860678 968411214 126027914 445967266 543924012 32270836 45715802 957964556 629012396 235626864 875591344 676768296 143269400 661600156 887781646 946245742 816393966 564463870 735412802 820967666 674015968 553807936 683945242 782929224 634443620 566931572 611858950 896152758 65471348 697986100 984033060 714516732 405886104 466424116 523592720 238522524 393089342 236105374 525531158 32634474 32241264 502737976 799938536 849632176 395467966 492268446 87640674 433683522 711736520 703427980 916564098 536848780 988113732 215399358 645616090 708260904 363309212 174317900 45620214 160824930 65422056 132220844 462523410 81368352 144617472 815938370 957151952 519982654 999607344 296048768 998792768 767820070 854145264 256021152 610414328 715734386 215310586 777023564 200863078 874225274 184514330 348192382 260379028 239220932 580322764 632563582 953639434 302454126 941428598 220281536 205433198 689132628 992975132 243538686 964161774 463132938 719459078 465419378 33778346 845047826 922104608 164945832 128894166 160804610 258979220 143335056 203808180 231207752 67513010 658122530 842059006 715935012 381065474 115667252 844007178 657287690 828353624 59874994 697376826 394522272 93058078 997947430 456354568 655773406 855738290 346124132 27175016 453719672 362229430 193680560 533859172 176492992 407083552 916217190 369165530 144980214 420664130 597550180 343808656 492186168 240704694 878657550 320908792 906282998 385289820 75799488 177696198 969602828 866080846 325105994 145066404 410414796 916464040 968683220 428124688 133781100 5392304 585746358 345691112 706294150 332223732 460040288 77123198 149619588 766373084 744965924 992639236 338214566 895591442 32400750 26203128 106129804 334701588 46288836 688846124 579111912 461577980 721354064 512465698 947230986 4372582 305259080 981053492 449473936 538678236 981401534 716790722 423191344 147538292 86388900 903888856 305395128 92366670 418992220 209879620 518805810 419676656 991284536 569237842 700200312 63766724 659388914 683730744 767271362 663385644 620777578 768625884 949912010 32551696 788359888 298939836 74437236 605040676 130544514 78034844 896446562 601530440 816024406 882813840 625237832 814166670 19893364 486146610 211578562 908671174 647664540 433148130 3246362 149033288 376016434 305221850 441033138 635614838 142248246 744527320 777141400 388791788 410279660 286775246 480743528 455047822 182116798 221050694 364872380 931393584 281016110 920711058 390734370 852658326 394139006 365324612 396553130 969991668 844596458 433889670 407796842 454020476 772176708 322660946 356200390 369197080 260811686 903961900 980836098 532348 545170952 935851454 242712264 211647102 120238060 819487540 694515764 438593224 381023434 531881218 91854964 118965624 106513004 303274174 833001170 684274262 109829764 557038350 108840880 81407492 101003196 46438546 578697662 762906648 45898602 949494366 820323690 51518904 638222400 997393872 569167998 405207306 967613534 184120030 987330944 987601944 430964606 276165220 166592884 838952646 432569030 670750596 521466558 725304964 774095332 647947526 615288398 173826992 485256528 205426520 789498464 189767794 53936680 280392820 831467924 672907334 83597718 570347584 177258808 373138252 558793214 502624388 290516012 370062502 244763948 215211332 716099964 591085752 26582586 619576212 356636892 203781172 903321544 105901772 289647942 279896982 373461966 29448706 401884872 861611172 82774718 980787486 79668184 50910590 161235960 475360838 980537160 169831840 908737232 488908734 580269554 956829024 811474442 700200072 444861322 878315776 794979530 465241076 996795012 549102020 400731920 39714658 556439090 195693118 482417954 690137596 578122836 781260592 496001164 74233506 326679222 708339034 706673748 46546620 389586162 510712654 222750406 844899186 290173224 633858702 273099174 112424752 853685130 641087070 291739060 634487430 175869430 117304674 732684268 761861590 370460238 65295490 322058378 779653766 201813238 837149596 335065158 839401036 792259018 507736884 81436988 287817756 78398556 186036122 205412772 802737604 40961408 241101652 712942660 618860390 123382806 353810486 450040524 665961290 707024874 623196774 469363536 700880632 884218850 186912644 737558526 125737362 170020530 124880012 420463104 918999010 149496330 598218676 111637002 39705374 809070800 275742706 268756516 537403266 758464212 525366576 616479528 875014500 288323798 620361160 502253768 356827876 677954520 25239322 665510844 768922376 613636468 825805834 624637872 896981280 206883292 165775080 533727354 153173270 598113750 841493174 453064764 668779904 993500424 64904278 934884136 312790158 56498954 888456172 582936844 15002558 225001774 657328786 755993790 476642826 159128202 398574066 363022716 844797566 130608794 617887518 988087578 397070390 263663424 213308442 408737710 453580542 629987408 778025154 969488548 706195694 938204532 173810586 522064072 93835702 142486352 318170018 505810244 304339450 357900422 565292894 796612838 698313012 408724456 649096460 216460084 186973280 917930940 317062308 385898732 658466856 658606660 878231762 597688334 311939572 412014180 548827612 191328808 594777458 307877610 555695110 693934066 391376000 86256226 739345444 875854936 624527382 811234134 688036022 992008724 683840886 353502798 357828410 360376264 346604676 766827530 277329260 335767398 282763716 132231424 534987522 586727952 807968240 195586072 475102158 311409090 301598376 706537964 886008928 371085134 392604636 452334256 457499826 436205150 232347756 308004972 665063754 606939172 371422662 194795896 200493600 297938232 491575250 592654086 471483958 981555718 110794516 473788136 266580778 969204382 354347534 101791564 691619246 340529588 743986748 163417056 967661370 769146456 280993644 211112460 814970368 304581378 211182454 732930492 616714076 703865526 692696538 200354886 615910148 613249016 259705658 705632364 129981046 944612784 327937212 988040250 611464114 352602784 956963488 614394394 742297406 261025982 233442870 946229236 148607692 633102816 971824448 682461690 650258750 16315462 960342242 600110728 695324720 855653788 443126972 495021808 786639480 14194296 238592730 43045392 671904280 44113874 517178498 581676950 406711884 383651628 310017348 658080974 898835818 273938252 129324666 600282738 626759816 870308338 567640606 654941412 17394922 672507474 86093060 594692920 285754658 312169478 684609954 19475514 652275396 460387570 416461172 973683038 288008834 445452968 855420666 536402842 700935172 386082504 225288994 617211598 33055800 385907912 471461200 938318726 659294480 572948028 67479640 957360306 651347304 876516352 814010452 514778194 844316082 515879308 805584358 856188452 581989570 76715100 737706002 388392690 734882200 178550442 950882910 465829626 855871870 874730968 285530038 608941556 485711622 402629112 813684860 900159916 405682896 52659668 431975576 756285640 141809906 446285022 518294792 773011368 849258466 860346408 769814602 153413354 774105460 327724838 668466140 928634580 855123612 835126960 789460460 387543128 26229474 113859810 203608682 962866576 916068908 11940766 946283854 879050958 305000916 825380082 565373100 889325516 766801656 967489698 110473792 366828104 634367762 387511590 904903486 441839348 521323312 533229442 589959576 883344392 894917114 158030678 55828168 445790580 975144580 734355430 320714460 173206230 176900226 961249648 282521132 737333774 541417116 181145740 906944560 699345400 595728240 753941668 593418362 103722876 618310532 571673662 144727952 643883596 454492070 522848828 576771150 926451412 825503130 513220860 241443214 21911496 355962642 832173394 408921878 302717626 855890872 735885418 1822810 769024570 381143358 979537358 833241492 971096286 116497730 935843354 503863130 291375938 615211456 733346356 276117524 460680956 221582110 967062044 764725582 567461310 448570850 313081506 363025356 915630576 749255218 914917176 463343000 509268104 938269324 323422090 388801238 602495564 34852400 733019230 442625628 404899082 300755348 293024542 922059700 333343100 392715472 542206012 387933916 643457948 419224610 292069396 225051486 962809378 491664884 677687872 308517160 634220704 190822994 334229760 263255404 661678950 565031822 461238600 721284294 160509030 626157622 436497844 803808790 528631622 745991564 502114718 323190896 272950778 613618196 855517280 789500078 400333050 440161524 447258070 262189466 138538324 607322736 293445672 213415172 810364528 490514800 641164484 626533816 337899508 629730058 547636854 35699428 577230374 333605950 991765680 935409258 748492032 415332050 388520666 890112204 864147914 45704454 647135468 443967058 76954262 327988662 695047358 82249360 865008552 672003822 827913586 872375794 482692190 62062616 43963018 834971030 79569148 544840606 772860142 592976220 616843274 552056342 883207756 8939672 412674262 199358944 684406310 162384594 431376488 263171010 86962212 67967694 896753212 863890002 175680596 797552054 191812246 192847366 923760834 303863496 116952918 416953748 173225676 121849520 624837706 843527686 614009950 292096256 73821184 296506920 165740168 720670618 310587612 14554430 720035242 483667762 514981610 259897338 796293234 575902386 802681904 993596862 92082962 816649800 278011052 524506672 947701618 434518048 41766398 948485106 653569936 404069428 679835542 948115084 824777668 542203320 573254408 254940236 810074120 653317460 997554732 212881086 843057348 705220778 214886244 766304874 259100136 191194170 790402578 688023822 885180324 277916900 222047390 111270878 515488670 450372680 445783414 160838684 181547456 131667670 624068956 366373010 115926054 168404412 179682820 182628282 475258512 697916720 692600320 397689650 41650322 7648946 656446802 900195496 782783516 224191904 923971384 121156270 843686022 664544358 500535472 195747372 938653670 7268872 115728132 853569450 642486944 949445542 966126922 970415560 869918220 32121236 830314016 70025590 173958856 519858098 5966892 622657514 358346010 944057286 108000212 920980502 144238814 776912988 383226206 120739026 845710500 437488238 909969038 989657360 246895538 523651650 711897856 550849674 626196968 931264460 826720730 770124234 287161316 600099046 589445470 935231204 754949152 192677306 309605794 225873006 257921420 836433104 839142054 382010322 635303834 826472744 17532634 778481842 371336962 815292506 514236784 18357466 394274990 459561622 540569940 705628826 860158096 993559516 872539884 466430576 781588438 14218954 64459786 932331830 122880236 961735626 59331372 414650052 95256264 127704642 294640528 149397882 943126220 417186400 524365806 725705854 16681960 177478830 488819690 522041580 693299824 138269346 549901128 672887924 830251928 993790002 386276322 77753240 792230390 413258006 395616358 88899352 893808954 392417702 564333484 289834294 252097380 717294222 857525758 577966480 59732232 3316946 883586718 735142256 216553540 532058758 447741174 333343288 423468126 779010630 764961450 306095822 953731074 243726536 370418498 88910480 29251500 813332576 418212824 479106080 412983914 16845282 137126884 455702966 172820962 747118482 945080870 502142568 30600008 120550790 273625020 181638840 911210062 803962490 859614420 555999844 625064222 986789302 318030432 419958114 718088762 223655622 67678344 793069690 341660202 606231762 18926250 186729146 676791510 667384846 709968718 175394114 46798706 324146242 887480596 53302134 851960802 34792224 938584218 352580506 948501506 919145712 154499838 958074510 762362114 70665182 183313802 41275000 59280008 732010472 213828112 8037122 758061952 567064476 909798176 98813120 420755868 41913964 985088576 251245150 466045588 694142922 861146338 508587696 560125232 204761904 493956554 259429656 826088372 662692258 317251086 970315848 605783814 88960080 611898506 182325612 384155388 920508026 998646264 161450924 165339466 930235264 755682260 989401162 872956418 467142524 288806082 717659508 754891128 979103234 674971742 249913264 481877816 103415030 265292150 604555436 833328524 264229354 779897710 57089946 767557616 129139208 1400968 377721220 942287868 160655858 278710556 937884406 352158104 548125422 965151640 242051554 801802952 766573238 161914024 903480786 555941364 319188650 812909700 537846330 121684662 586458642 586842362 860809140 363733902 887672808 965262370 526027386 545683158 72470422 601374448 112620270 400169076 841758964 133169582 184121926 361872190 884067360 801843802 407314542 67627292 841673842 834176076 23618124 280185920 996351880 758725538 148399096 513116174 884054250 440749404 56327412 155629872 508459128 108017998 864758386 503253992 193470606 493524780 239001022 50730170 587444104 617178444 691311284 786363042 272945530 475743108 560786226 804869862 804595468 657169556 157704292 908274012 336069890 941290598 495228888 760796364 659053420 888913376 891154350 214777480 804772378 909738402 475189616 377308254 375021564 951530722 539694932 805745004 102481542 179270094 96867732 358705138 947048648 117654710 314662366 544292540 756347182 528942850 759262574 898728306 550296752 958363752 246969920 203482650 390320456 58583474 566162102 694889168 439514358 248659830 607188216 262806890 997967904 414705476 501941080 444016978 83151928 755544618 618878950 675161170 7375472 471441870 850593122 213516128 923443094 11515686 888634432 654382342 359441514 127986548 928252460 170165122 772474784 136341220 524778864 843103786 713131480 240264592 838348264 71303446 467630200 702145048 896467050 601857474 802101650 378409642 989994188 315077142 782425608 629903764 143282892 409285308 721924386 598449770 957432952 671658984 116368168 260077804 972591684 196351772 414384444 541509140 101570516 624021064 606085886 341906146 96226820 222004374 796915490 89481884 350111836 45038706 810878014 532570414 38520102 867083656 184552682 649548750 835149088 355355202 332049176 272821640 196165828 384236422 363141000 422160528 497012154 578520142 571867118 13275688 269657558 930036194 884324604 908018754 326209596 626346568 463224270 686545790 625125632 862236580 221850760 213518150 267627432 716947242 603090492 967600980 58374798 779655566 449127938 381064636 122921236 325160662 51685836 627313538 349852758 585745862 172214464 220600884 962184884 362018162 991076538 703818126 941524758 308474300 731947040 660892838 66918892 888861468 910145806 969962366 472798972 136038374 471379080 448927086 564916150 843306368 927386046 875311260 625863450 362581966 473813640 478005698 875824794 29927776 14117912 670910604 779705236 629265626 993136170 688470748 190583500 118498992 767659168 20896932 888272900 425020636 706593492 280214294 626116604 935423500 351452678 157615540 482004350 718873656 58760398 152330840 752836690 586935650 604862276 476049496 316897706 586662562 602612786 471373414 402321226 921799646 984588090 208187132 151635178 558391682 200841996 790414872 87587754 154429540 190042098 245863566 620350070 440956944 460858142 608467128 213832 119251104 656679186 923926430 992739142 865416486 325006710 651293532 232106318 998937662 803555564 810551972 762629248 971946632 661746962 86880616 805259918 545594958 130079914 868918956 141682210 152631948 471685692 473876338 950375284 683979332 99453284 368272286 979124958 887884474 598573176 236081552 755460936 54534892 917139120 520227664 814678408 919470780 379014866 68173866 318285030 58984926 278880302 754082224 303225760 553837336 138569586 879371298 810876978 175249082 539947056 768703812 457528414 407771562 319079636 426172968 89923710 232525258 408123866 829257454 30620240 112899196 762829362 42867136 827391864 438321312 320271600 708374922 668516220 574484606 518198130 417812832 978964666 242828580 377183956 147142648 488123490 783221300 485427390 464176224 784080446 446202662 520669764 628015408 441165702 10134112 765095058 421059766 267039472 893498720 838320744 298080050 137156562 817732908 432013666 574911324 363907430 473477540 759382298 828224054 296592316 144627142 495594370 615714172 849522558 990214604 50448782 276558658 172631684 652200366 960587032 364165006 976161030 573130756 763298328 886663498 814346064 383035754 720663282 722619506 323006528 907300946 846155614 557839254 254598704 512575016 104025062 351357794 197744284 940429158 407808332 775016972 331862712 665091586 637638740 174313286 707351392 175613302 300581390 446924814 180490474 142475398 745674750 732163164 414993744 567807362 798420884 151917316 737182664 270346932 981473416 530698332 284451902 766856076 893672608 845472374 832776918 546859050 649483686 81093570 82059698 552234214 615735208 599913790 44329256 336488732 17170572 50946300 430733288 826573452 525277736 161508012 262286476 467785802 933709114 691743580 468712716 500608910 130843818 793015806 946101578 855609178 805606690 285923180 680708174 125595786 837508320 62347856 694021124 286436020 478382784 574931914 307912726 478066654 607351368 507036576 727866108 282975320 25045798 65960562 376290476 896726742 245200520 802994078 894105566 287054580 677209800 118617074 564690182 481630000 227030662 766593386 378531738 619567358 572031458 700613334 146022378 203193354 157205104 811406308 556279934 679509928 706876006 690422910 152481272 873700968 50689778 317906610 158989594 687549328 959761836 399591840 460849026 747393136 818229180 948391888 487896444 188348482 5007690 783990750 152536172 772986782 939536152 961336172 154833222 671918754 134010036 785639442 110032882 599446996 968662740 386203946 495036838 657454702 315282800 750296974 145451388 12494112 926005104 181412380 490529276 475421674 336110786 426692816 569558634 115924436 111851690 249307022 168371608 722424574 516513910 305087272 47869114 125212482 38511436 314671386 540973820 126701160 789369884 326257460 575388848 153853652 651776602 966171020 23600768 306154230 928656070 413102732 508587774 618437028 450895094 645745356 727961698 186352266 136817662 772875784 464439742 825141128 921379022 547318816 733516898 627335138 406974322 707215162 978697536 73888652 973540800 454000576 193416582 107066606 603241324 965847244 816873696 790161434 39299872 215247698 434126596 624193022 14373984 89285840 942072890 773493038 235753492 43486570 271989586 195264650 485390686 793961370 675231414 732018112 938372472 580937426 106611080 496267124 207606846 369829428 460151758 731974386 376571750 104652686 731388824 513170954 283643502 6627924 968414808 38540730 64139546 919970978 255208014 338916490 748475570 688837202 160272702 689289894 739852496 914634238 324890794 930902078 312283576 755110876 964526062 608344190 646814356 953874720 288088804 302328016 946950820 976915452 66311108 424424212 944647424 277277548 306651090 996278522 802893040 695017482 757064020 230644550 375847948 748321936 536018464 41923906 925592836 735096876 660511904 765752228 255573032 755887460 117133416 579170248 205250346 803430408 749578392 328250532 640533224 68322802 993982014 421665066 548829792 508917910 449947832 758675722 23832734 447967470 813663022 369277930 702913244 873148046 802931580 363954208 536172940 905376520 976928654 42079682 612654078 555230738 364536190 623658906 550909046 324872090 809558038 926584994 514148148 706368726 716640244 202709902 365445066 647718544 743877810 544470794 399307602 750296202 958622822 367057946 810004832 870150396 694007146 922961274 328329164 66792356 228083046 288193092 868110316 707824928 371764910 834805042 322359180 233823016 535903630 746657462 255116594 100254732 594909248 706241292 183728190 8649248 336870834 816557198 799081662 459483786 593461128 351198278 854535594 70915048 516240674 648209642 217761040 16160722 692715020 281462400 943261002 244669512 348974742 385344452 802748078 772677438 940047700 617102670 490888418 976669560 726399758 470047108 751072144 230688850 404678744 605660248 428715338 597351286 605755186 674180928 390264892 127543502 204908714 15865954 669519872 170348692 449683754 110162822 280736380 755131534 910451064 913875216 740775626 592501320 408340296 530327678 616340434 69740024 19104002 318207842 98978092 7490820 296739542 603135336 468914342 670047344 567808376 1071692 610373374 981831706 190629392 71400766 773492094 988482968 533563532 209248270 336839812 813403210 124701154 820497378 516344806 198078202 518158344 393204750 966232582 458739864 591923588 597699466 312301096 68639798 901056466 924003302 728823396 205695608 794799654 347452188 37173626 992951678 122937798 190998682 703140234 211408056 176651640 412673638 879833048 450226226 738117346 73313370 250362124 56564866 18208862 665750642 227223596 408845664 609715326 59279524 727208554 95860776 295514268 20911290 158750206 986639758 415051354 733407940 320664982 586476074 228560384 257093480 775941060 150608182 117098324 534052870 160452726 660030822 826013878 179166550 888064110 787125742 437561892 60014454 947180172 900432368 902432942 948678162 655436238 382608990 177446946 536473924 138595178 254998946 286692894 316574444 599082782 200717466 542698098 831991762 916405650 138098554 549450478 422572236 444485176 406648926 677023888 252795788 146726946 80061464 852779990 625358944 447543566 778893260 270279602 594535218 536965176 533729134 741799148 619088108 816971882 57585576 497836416 392161942 277535678 508529840 81166936 367653038 570060018 195198790 340377830 609229844 422749516 52144492 793966028 820985510 306791520 562590890 917437344 591192040 885327140 509350372 677346814 725363724 133512460 510148128 695061078 343804452 165455126 248694788 319904556 142978608 940929992 262866604 909603178 801545682 962231644 197891024 407374786 813728140 427847644 629568080 633585066 405433918 435814764 29840236 31866316 43932126 100729110 746570682 21008004 432048754 239544028 290157870 438323074 507426478 444232434 141255104 747628936 164723256 978371046 373905172 285607278 880478278 648288318 596128314 63319844 686159284 754841930 405071614 49766718 763913988 827466676 706907856 296609962 562061364 936381984 720742318 132584326 373708992 147364308 246302204 162107852 627785398 839014060 691250390 457528738 568429308 585355882 988125072 746970030 330999262 254326582 64580250 949126798 145593348 408651430 196052896 219439950 284596142 861185098 314957850 727932934 487887042 740839126 184829382 771469432 998078058 287823528 305715666 244383692 824515034 410083124 870182094 545088710 611320602 101432246 481315114 80651308 825008070 359273314 591723804 916348356 218414612 186510322 665127340 788255294 22788704 916451786 756134642 927638138 564983346 355187940 528997100 27746428 391761448 25046512 592618306 341036798 368057832 806268232 726590576 231699880 723398146 717934972 220981890 128511396 785815502 148433082 406627908 83271634 203466762 695441590 111158864 931519870 575434506 482540354 418452966 862967716 200997498 734120110 906693296 995768594 6247220 883248770 315565058 181617858 151946542 49968000 825547236 181027950 439018246 743060856 671143668 715656576 363145522 155918244 383928852 167589562 280572754 846961220 12228012 197650082 228589414 344392136 134417046 416661776 638198422 240831840 859175194 468739268 401888624 124220144 860295190 37882188 916486470 138539960 816423212 401057236 991787232 178677058 936486044 343377348 335798002 999938990 346237244 682629530 269360472 908927786 92607650 756768886 310110768 36928590 985585052 242687874 897882372 644807962 34500304 385380824 177485110 225570142 156644422 136631446 836573986 429659776 958165882 331206538 503407436 697278192 535928804 16396512 462235682 316177482 966963246 573569360 600418610 773505856 445236352 414878520 176140204 274738170 794343508 707479648 822272256 697084702 87658164 670371088 24720084 375649304 902568880 975485342 784926446 773747512 861341560 343489076 188953560 309338580 153305976 745653398 578916852 78502948 422408682 590437078 161320140 332920462 945126714 835986612 494341352 825484798 210901786 632166230 470657160 65122692 912883096 498416606 15415886 510660440 937297496 125455244 206688662 544982438 121481394 558830260 761855018 370901140 486741554 902433912 872895596 355107724 511035436 26334042 975919576 86607420 684344610 299109068 433820562 525678754 278164506 190214860 684714552 341918334 137170006 584695554 249832870 623295300 34089414 272093314 146736202 794489560 128725174 165225896 903678486 209342246 259309078 960911166 2005200 413137644 413828988 13142262 436387618 129984410 161148348 438084846 318708242 581947270 216015666 680921764 952548614 190263840 758912158 886668096 700560046 657262370 565101182 106866590 311079548 658940754 574229410 420924908 97417534 353822178 638634474 209590778 594743562 909375212 11260878 844679858 266580366 800435004 312750218 722323372 656411280 302967638 305301808 938098264 395986624 779597230 556017814 147435906 578234668 474901598 986848662 672616660 243812088 399150984 597291406 809087094 805461174 691191858 459408248 566218524 786358460 712211200 296856620 291509506 299022560 289674936 218281298 717506118 29461504 75969378 426725270 956433192 664934930 206618512 35169756 822813122 760036658 177493328 615765176 513258450 181744496 959502092 944980536 74234186 13888816 711927920 891253824 780437620 77141028 160308034 271813140 403027434 884525820 446375972 671416180 171485012 326991450 286665062 475718254 670273022 241241932 808878690 987147356 756415230 104855966 711010722 561381474 376450298 705146352 519880736 236590798 396630460 879174636 283297724 249615144 79928010 672368706 800736236 773357924 2031562 647706044 775967324 733808456 637461064 862388126 795485004 469213064 333659342 165581654 575118184 943476558 478440032 898371432 549261594 734243552 137097704 633295710 950439544 744599682 684353818 991860388 947005622 780059068 701459606 617320306 998083516 503601198 659134926 24935780 854868840 25658052 749499318 511548044 43469014 218376672 197830184 930007084 950151314 622698950 466596146 253278406 157457610 529150448 51968598 212797710 202294480 69215078 291265300 237753144 644388696 576407008 597490644 125589026 655704122 231226764 796358456 504966010 360254578 511245080 4917092 196594360 881027818 440567180 729699948 96342338 131975432 250777352 443833486 628537328 913663136 554464392 840866716 277669012 408857434 108513196 981307652 854135148 592822874 221712146 902896050 833501080 225658146 341999054 502017416 638030232 84535146 988482522 656596382 905198044 98862404 126800700 96532108 640297704 234173476 719663840 838485100 964035674 435571616 810543724 322917162 621117832 806449178 998862056 48603800 726897646 877082638 344452550 774686958 36216262 256096474 833791438 704418918 307863340 332553626 46285288 570855982 552200410 284615720 589505578 960047826 799458174 711819004 219531790 115345534 832112568 575867272 135572396 828371742 768960158 494198760 41586040 803105036 641745382 865498166 494425286 927247896 619030808 525022264 455714582 588430454 403980660 559532076 439167136 987383762 97953080 344715130 798131692 695565476 477434720 931437200 336705930 913180114 320590638 871850100 669307936 603888198 577934834 701113914 588887378 761353278 742000996 883783204 935678378 829831084 95556236 972467674 196844788 755034774 402510020 694928808 463468392 703092340 668280722 298109468 93036690 14706746 914797954 905975550 642068392 139336670 260839618 406530900 918070512 303227372 430765966 984148462 607731326 719463376 462987992 610776632 577100572 444011406 91538862 505554896 904373182 741205688 860593452 260602148 364834568 284626192 516388590 173446870 350457500 427087054 369780924 675851558 88080638 215960146 910742330 412226898 306729402 52246038 128161480 868257832 718733242 89523520 526606740 252246500 418191444 327407220 162997412 176113928 610950568 476814454 48977108 388314480 175412306 49437586 13172158 48448470 411951368 17499500 512333920 804760682 697972106 963232878 84040270 642448944 488093124 182415808 283260682 571229936 108639000 966132700 890316728 493685720 444185870 161734626 700493408 511734094 255734188 717452970 490176060 805588122 128564240 292539814 671102950 933977442 809563978 634550522 261261860 271363430 359697528 261424146 992166588 281652264 686883070 753116440 512386990 855082206 365441546 99667692 762469350 868728606 437692236 674049584 66696574 362956900 366051152 429119178 709887128 572779590 26874770 282467352 478661252 337233590 611625334 782130920 519323630 268095422 329594730 953434482 88563694 347338452 869682584 872380170 304327340 377158686 701851094 698916092 423457788 302122210 54444688 365373000 45811270 748863374 472425518 295417114 367761596 758044898 26289768 611523508 321725614 134843692 591992740 370909662 92513718 657503030 604628510 953723410 841423870 154237056 838073450 380668494 962155200 242216000 716383976 250383272 113031152 770487266 106623182 501213782 636866012 387942046 386467666 925095534 152150734 461775898 687248922 854709478 529176798 363086446 423999964 151137542 174539460 508596736 948859854 46564228 688456694 628492738 648814014 177011864 27158480 877564350 545376210 489650600 853869904 366183430 670108528 41816896 717431908 669080388 113295026 961814528 982304792 984246612 987074404 960615554 718269292 415245018 971229542 671489728 467430832 16977774 498074882 178900778 986753096 923134098 888874822 756671618 653890190 95102476 806172336 607621122 833784152 821226884 858915172 924381752 726100516 801294730 81731542 664124416 164842790 768531610 112685054 648533642 342188740 729610810 272279838 745139014 427133232 936523498 668378860 539771176 287287632 470878154 640393610 24839228 219274074 649312280 106418474 813502678 388995940 384631452 266403532 258156440 784772504 727240494 505536672 520384412 7310216 191411746 15512298 104336480 179493382 983950966 115967538 952350096 128612926 34940814 973533858 632372328 192995028 685625448 571352474 723457034 994577198 752492636 823782684 366705314 268324076 109531210 172562606 687281380 52542144 177843330 673488764 622101862 669312390 843158252 146404 3169836 621902164 204380764 259368460 207014400 527698038 107606148 387321558 690542336 795033506 641783590 509181880 931389438 852620064 256951686 777409594 769410764 972686148 401531798 187285894 42589732 733432730 237819126 896957080 277220520 576751482 580932920 250505494 109067464 307313980 649894110 171620286 425120762 548820810 777253510 762644400 672304560 319727404 395275608 401326018 488723052 256347144 972056694 336132190 991901856 729784376 697689720 384025768 294451342 252520020 121654156 799928678 272224036 217767148 699499292 211582830 283346678 35803544 540657504 415368712 905436510 788045792 951514306 881283656 727863840 26831966 468579314 742580866 337329198 539376066 881715204 843993618 320272060 865422616 925200530 316857846 726523834 692792416 144880090 820714642 329384682 19662954 449837082 774855072 292087998 775724182 731325072 504063774 587420340 614834538 767103428 296053672 378943592 739305470 585497124 913019234 580571124 540753384 594325626 306411166 538437892 174611432 987253084 63321286 4494918 342118786 638244268 424249856 805342880 414021966 437917632 553287266 393074654 469815946 449999594 464909286 253924730 906505162 148514356 459739478 648606622 599043444 619950288 506548516 790121678 713162946 786494814 71142594 722876850 327499756 189762628 101897152 898859002 350451950 802003258 638506946 458980066 859116690 831212334 573470074 171632336 166576620 571289956 345689040 998779836 116429466 746570354 186365102 6954190 238456952 744150124 664759652 103851026 724181964 266476302 451538660 269250974 474789064 466870118 272131138 178387306 664588198 61709790 191373386 982798744 661237012 273748542 391859420 859770800 308924152 972797068 706200664 151237888 656201420 237093916 431203998 335723032 152986296 625811158 815926274 757545576 110216568 752148578 380265962 542946434 53682282 497253756 762278832 880991794 307202686 330604182 513228052 53531296 549499870 628014772 94784626 738824126 296952568 795012982 615840644 461905226 922762908 309801120 194867718 862593654 835499234 768835526 166793258 577994910 367548700 674789474 279801104 331481002 66536474 5722990 204460072 347751634 798769880 274561928 401750402 680235532 804265992 609766762 900468364 898176156 751436664 15668286 639884224 366594308 191173140 653904054 642147098 549049898 326450936 743640396 970665050 484226118 586646276 973700090 143231808 930320614 770678406 865138042 565226870 609984338 790521056 604066802 621047920 805244928 469561824 249995520 980221660 520060170 192995472 992002306 404650602 984528402 968639054 86704810 437088814 681341426 895439466 447868480 667333210 273697620 151226974 649248134 278869696 94493420 83862704 955456424 119699358 210933936 847970410 185474800 49333038 930173720 417217988 292367104 38610104 172480182 907811848 227109652 620978470 147167662 982128976 491001090 148134166 957503396 171990394 963946736 98061718 454370276 181040258 499677392 532431112 997208632 214132494 270943720 442668606 99300696 903757422 541120242 303045810 397365124 130509456 578056328 85130380 407018068 906589226 106735906 744652874 11190038 370117808 837145720 822044806 595315400 9882262 202762632 671843512 146389054 639345100 256432162 750154050 391319494 731155914 244700960 989308554 149666252 324175384 392720594 421041042 54275480 355035624 86294496 854752828 913279562 993564088 935394884 894369058 72924290 142376122 190228732 425028704 70508042 253619990 166075690 817746724 443058936 68670264 410721676 752442660 142552814 919736680 105108822 610267914 799636612 861442020 328835496 833474482 934115148 188741392 819299058 743807912 776518932 213635204 485214758 395936834 529545366 782120742 416308114 190478758 835496710 868523822 361509230 214766498 729362324 510371836 691193218 365676258 645823992 321248672 530527398 533828428 502096848 183670016 131613482 711929786 209465504 643990250 706608390 935782114 425259742 497916242 270057732 486132186 517873126 41693786 800679008 722754946 789260876 657540038 872259318 64874134 198412334 200476486 29156964 235056024 563233626 160405970 274449012 526967330 635531760 945093042 553156004 826449088 268195476 25024046 427086304 520834100 246930366 118973324 173016364 276361372 830874004 576855158 967876828 43356844 434045994 330385832 692804970 907895192 614880714 701339052 961786154 445495646 34852370 607469974 306492296 100011820 768985108 186155108 270264600 319842686 453435824 949959176 443529692 449335946 640987290 666331868 648056384 197065632 845228512 285188926 898176978 906337164 660484660 515973262 989003296 204378436 413610118 426388152 606131430 577341920 294602724 577519774 767450644 470031042 698785054 766001612 698052706 782726954 315002352 784652802 411077214 990951260 112706700 36988498 30645616 23161342 658030002 98670058 895371694 664482804 319535386 357572968 496409860 975209204 83560188 779540768 654460998 814506670 362799804 859044894 942482 873677156 837546054 256955076 695541628 303881400 368673958 184749156 468459612 830189324 602771970 49322056 11932770 87627074 351872486 381411384 485680890 664872102 552416390 640124588 549219342 636191296 161479338 428674184 628779046 111282252 385269736 585727396 730715740 35259798 990735510 698650240 761918446 906162628 633162740 815812044 739838952 612255762 408614804 619399998 280932418 492878612 726906024 662910578 476634452 453162116 929512562 90233742 499197314 263475654 130954210 198085864 371699066 111556622 361806698 811935310 179964668 900791694 923253340 265343542 878548968 577500952 304759284 787418158 451211910 863241230 994931572 383581526 146661108 540442530 321636228 511148306 458364880 397710222 64057948 381846296 227781254 369050056 421472578 629660554 359921498 999262886 202266938 599883152 359407374 577088294 919874772 157007414 742003560 354101738 678066060 826212568 362077392 790010904 772961486 821116662 81295746 146654950 541611250 395341178 69036940 304121880 836866090 61443634 911592792 539443394 655936600 891477936 807893770 927561444 506911574 482309512 303172236 650263390 926398532 725850574 789131486 113044860 464403924 426740018 398659450 57855606 356470390 627292142 708165008 243716272 878489758 944234674 348381298 262396732 440169334 496010670 56342742 305732030 108498338 934031240 32085346 63509586 973632760 305900474 355029052 926227346 594294336 302758004 760863288 326194570 256290152 190469452 528461106 403708318 912170678 391891720 139178764 106024722 847779118 13615252 343363984 517403388 468497596 173790838 464239938 713891692 151232504 172011024 89964206 705123822 631736660 665009448 269120948 279172366 969469898 44947502 43987008 106413654 230428166 204277788 602140284 114997468 874954812 440577258 890872616 240678576 55996728 948200906 684341180 495673528 177947634 843305388 711354318 689939184 440360252 821183758 766923566 901595578 53505738 879163370 90497384 338493894 786029862 134403042 954587738 291061734 196610448 301253618 785568808 61180664 423596352 10577236 686242372 819150576 437427052 561593586 238188458 921461446 499506516 860950378 886839504 134816816 485866582 922990520 684147204 334429432 548650974 586931514 471590106 676095368 423877400 485832494 970974536 359024038 198573392 877931406 535890916 150522864 674484744 757035424 917637300 179958302 982610156 593176142 723742840 253207766 538606702 265844680 572118134 746210512 212353172 522772576 175839962 503237736 266623880 335291210 697088582 273398866 507974914 298485984 833623682 961643258 208944578 411566128 449017920 83735630 631813206 689904966 769138242 925790948 449131802 981169096 950827664 238347658 447440784 33192158 732631580 986664700 683331998 883117266 474704222 269208962 37346806 641334636 152701212 206505402 521113984 279841312 118382120 106004470 598324338 818550514 627583560 331009080 39975186 189040226 823417210 449801118 789775760 84193424 149480478 54960978 943450296 240072702 610115738 323138348 873193774 313995358 353979374 567324046 537111170 77106536 658183008 122586814 250139116 172554182 11147416 154648756 951337632 971052864 631852818 789898988 686916476 802552106 229328260 104876546 443073852 698893510 545346596 854845830 41172602 265507192 354150904 166308562 32717300 633918468 933714496 213665688 521898232 441314294 573073564 518203840 264580568 697781142 600477664 300565834 520191412 280160924 389664620 661750500 605260498 522911132 202957216 212218560 276377188 587301236 801022938 795372642 593278738 510123148 326105494 863113484 519671892 221980642 578704460 690031034 774235536 466780602 90998832 296087528 49993998 839855064 631569562 758335782 352606974 760790418 220142482 616885710 827832950 47362858 504598078 515320488 570040200 609990704 33917720 74305096 210614716 415408996 164819138 84568198 314189096 887087818 214596264 385848578 528944958 714017416 868078894 858166764 592736542 718156304 104099692 955481952 169451766 192613480 367136276 194066878 990426108 938310190 926380114 136155114 607462886 403644798 63616116 928783492 680587878 961842990 532097508 315587762 435927620 23765948 148073530 669426084 502992756 509299674 413801288 405025790 855570100 327287248 628244452 112621268 963575682 498881496 681298802 134844332 738481056 276134686 314123418 918308120 835865378 834443042 736814266 47895872 528513724 57984172 822248810 641521718 4350838 620499544 96006178 53090972 481141004 709841844 270605840 632803288 290305074 127335540 623313878 572444342 297068796 860896136 911396734 688468518 67758170 518193188 293902588 837069446 146585874 971047980 420509242 626425586 480666364 754222562 463601802 492489500 945700052 616259296 418449762 354090662 723190714 272554218 640846180 707228850 290793206 358805040 83364978 75766840 410410800 313297986 233117672 503734152 606424496 643342406 216776082 56834102 121948258 17601438 788087268 356973178 552378814 287936186 758160316 438186788 168745310 615400448 65860278 51637190 193065998 955199680 795133840 141547814 34784138 52826764 619173288 805218362 865483404 823692330 272304974 264952308 865269704 827556828 32408592 421224546 81186310 648810332 677571222 512655164 13837412 385057860 218158210 160576938 776991328 35695896 463422814 642721084 820781106 785341598 638346938 813149070 929121392 484806500 23998422 842800218 54158738 319273448 952049790 664045300 752883756 52911548 389552598 334864534 275100624 171777102 703555216 198096396 666105230 21570574 909700920 343593060 305178152 711525270 686810420 496525654 289939862 18629514 826778548 996328326 620568826 665835854 553347924 563317188 884728954 530949458 866249986 892645144 283276602 423887576 209916318 215629222 389999992 422449138 551676574 174370842 422075314 271040714 204529318 430974050 845096674 852193192 459582898 908854764 400207246 786636426 595005902 308135268 288957946 266164946 634855110 195562696 219747654 38931630 273946708 290345326 238909580 450681116 486540922 88419968 931282266 277071780 179547944 141535210 624852656 830609682 587473206 773721990 541345040 926491242 89549606 466513612 723634934 31017430 120444390 367371010 502811264 835403628 795520360 836164134 538756192 464602466 75754014 451105822 78488338 463231854 838087846 639681204 645471878 929649774 200117958 426501488 390638778 379403830 10068988 397957836 345813456 898316520 922657412 657205658 847170550 289011236 217903716 285479066 618440786 66045096 851223938 956144762 304315644 985010346 156690674 307216980 611065756 26623048 653431550 746124384 573441908 62556084 522645316 145569764 382496016 2728572 88469756 83682066 717587044 535209028 18751866 602380898 499119816 375627448 313124320 852865056 343898470 614141918 930163696 152028228 289076052 127020082 965704384 889652000 267625610 931536012 518528516 775359030 690635262 865209754 891405938 98950990 433112378 71436532 730999038 495775612 26361370 255233104 857869788 451102038 342936754 518034964 613388326 793216214 750974286 41270432 552135768 366832820 586746106 381064656 759372688 454014546 867127852 251635372 499014980 710268950 117582132 1140918 670991872 378702786 271207962 222219394 485980904 788094744 661477586 268500402 38593458 591913660 877294832 247063302 38405920 299953734 357186568 931330058 922677740 735467290 917489194 644308292 815268312 894278280 551751366 566886540 345811194 176862486 978502696 8122296 310996448 755855674 539626894 336156876 125770772 369537944 378136658 156738170 218397204 505621676 477528572 313521566 45657034 809712910 626845870 27207254 384495632 427100298 815708296 138971528 73878120 954338622 828407072 637181196 926865230 528396184 543663714 592305240 424832164 125359558 293214458 674976342 599809256 455397692 49554540 592658972 267875426 642794718 604441456 123799328 605983488 807902812 684396794 952971392 93691498 241581010 763776970 424466098 275536636 428278192 403263390 847785488 456903354 981925846 559612202 115006622 733559678 273920872 445290370 451466348 94813092 812055754 886521196 140295218 255152686 276639756 942031644 619711642 927894894 288217544 120792406 30921620 537659408 722834318 319139858 955651626 475565080 518227498 877341610 221877258 839773682 310952956 346685586 147375406 403393054 258918072 428758008 864585940 390384538 107206854 55110492 339570168 782655354 119790094 345884690 57658880 918033372 782884732 320560340 378490010 386479072 947605736 397697110 16353996 853007722 271154342 769920756 747968442 746395034 349315370 210280856 671082882 41662966 302378738 713106366 972330446 422234628 324408474 339173036 831987588 475524242 535611288 928920682 264873212 404529794 315173640 537713976 140063074 520406206 166103330 809248500 926478804 67493052 573337622 605890918 564587612 201420960 799108676 857610794 380234440 977415202 904349814 775679490 188796858 117515130 54753362 76971504 19064286 538552528 706856080 907395310 934804848 508985498 280272238 971491114 159023070 70510768 934759624 959990988 936403090 669240340 948453194 266809274 404484534 371276454 950010490 400175958 688113288 232859940 480109770 356481612 65747446 406939140 296450214 170827912 963180588 120303364 679015366 833736432 637746676 251071910 598134480 199579830 242663276 293086632 967398114 2146558 491424606 593735686 816090352 441123264 697778010 605456002 870668420 46585496 16375748 795427084 930920942 872211006 920527808 604106580 998494250 426899962 820117132 137056136 7013226 628281372 593430438 566428688 254951908 283500814 613631334 916976166 852284072 97875650 501818804 3499032 845902952 530750364 416525824 269795732 786434196 141477710 388629310 502222568 830327434 125073256 252843992 327325750 301879406 316786650 234748200 441398982 649763122 157771538 574808522 367976328 3193726 38166244 90748968 767895770 981119632 927140014 786527010 318863042 486244162 616027466 280808148 725075632 726455922 829546168 236889982 620550222 481200244 230481512 342506764 855712572 557610218 750259914 952724080 838890412 984927408 886528134 966133230 293992574 451968562 630850742 250921216 895199680 118793552 619842984 765692442 180407238 810036186 556492292 604293888 211907498 520487802 83518794 850326684 731408158 387924358 422066112 673471120 230396886 618151232 896802470 229432712 878085020 520803118 762851376 662265998 974934350 985242124 847138024 342384106 241515414 315938904 471831094 412069816 749467816 167283790 915637254 784219648 878457736 231810034 131778308 722656824 893182528 418686400 814359352 576638908 450378840 7484728 944434208 144358304 205104458 76683474 810723674 189624196 344173070 636913098 297301754 192288466 808785582 138919948 830680238 652332054 777544552 821356716 11434178 162752606 891366100 171399458 133433550 655714536 541325112 722910132 906645336 339246106 24886504 180292530 317709456 963761650 171346926 764498764 932361604 460586454 856788882 472804712 772220684 118915278 374874914 194736440 30961882 8119972 531117958 66433658 417798074 911933906 193025790 220490522 351678014 266082962 855734136 202191276 224080286 446860488 64259348 448799700 307951484 243062502 931787410 363586534 632868668 320845054 337675766 191722330 562138166 269279894 774432320 299481530 331453634 664290336 97419622 532709914 141244876 84839348 294086390 365338418 871048430 438666420 617967466 134786826 704470532 912928968 840863310 77659262 921124568 993598490 393179672 216872564 995013008 733993968 569462402 748536110 224520042 337410818 275671128 693413628 509706504 576146570 476096280 940257742 829345924 324978516 847469976 328270542 544034122 332657754 86579770 669425432 120632608 138125576 196415848 192894734 988839016 174953576 936289274 169041444 802747340 557829860 938430400 519167516 193228282 424520652 955159018 776460914 166424710 731075344 708657882 401292678 323268562 614156928 60728658 149682406 895086672 531660992 360349414 575887726 381809914 524238032 400851674 733637498 377418778 725235080 992054022 1228494 853559482 269587524 854615768 886815154 66444966 34915758 968743540 325093298 985885964 238133702 272129606 39575536 663551720 508917844 95510768 714401340 381232778 504226950 320498492 641392896 596593822 470916998 593748572 14611852 772505990 388913394 732564924 76604648 855129606 927755636 670021896 47045300 807441170 262923518 529786054 532854048 82025822 178562736 478834364 41052930 981046222 143149432 859758034 304036098 830165896 532113446 140272414 814982196 91504076 757605988 392873720 454470572 354634598 723696594 991030980 672195274 442648382 625774694 563386394 201654572 363706882 317085906 472499870 173758480 493903892 558332708 636274452 332589672 100495006 95397978 550600940 399363942 594702330 170785974 396796230 582865240 973114914 987839642 865630910 726194422 954543592 519941808 998039552 293763804 571244854 888145678 78202104 518378428 636423310 273953606 953038890 114264672 935303870 171691168 481816866 683542346 29706892 913229002 11947232 905678224 247785438 930560400 819300886 797278986 388592538 808896846 259875904 178656554 569444240 846118940 988536922 463795582 659640064 900351798 496582970 865574520 453936146 996529150 427034056 94194802 845011288 306997914 261030688 512403356 910805374 494326126 953407764 446354336 595490292 819895090 762730070 949164242 801825368 105556062 429144180 907747638 734851946 101627624 35814402 749946938 31828336 246541318 13339080 510475504 547294404 825080482 462219818 682832244 234320420 567779158 324113396 53862606 851749916 562420194 734248752 698577560 164401270 200344982 673022706 61513400 447528590 669352896 922217752 416883690 374785272 924947154 106968384 717672100 695796710 551504094 792264552 167499220 589990356 503361088 754507250 151865946 124203064 294491968 211196136 538969470 513776924 449953572 5842408 596656648 222625210 612137584 910630218 783550018 900936854 3017268 421591496 74512582 922796158 752793320 293382380 851535784 260130150 397589412 395989894 121105118 953629106 969234916 559351408 536900164 97813742 623542406 640306268 332364708 981576290 935962538 546237894 188012088 372776420 539569458 220280362 681824638 61680770 633046926 728799390 569811622 406675620 18455922 507843472 107928318 165738938 420988050 551011528 224005496 568998134 102092424 569851740 104611826 837327902 957087822 122365866 892537758 309357356 844911156 847205604 225800136 29869108 565825944 432474524 544484254 902969906 610643130 84842472 17630592 602476218 680977320 528226428 18257932 157884296 179800262 61949262 211649984 23455530 77072722 87875122 129924426 533478440 185561558 177567064 154045840 910178854 624691348 31684584 48976580 872388936 520491504 980855414 262477866 609803284 422113978 213105476 177076990 388591612 338976434 294955350 885863586 402136922 223278626 20675524 83699288 378891916 107197254 250082594 730829956 531532188 151630844 689534302 933362194 123040166 426491394 773239036 60514826 981195164 620665264 275151856 621910434 477222660 123602756 469267550 96534762 459367196 261650752 710859068 374552114 237872564 100527692 718796708 148445070 963481528 533669708 814501318 525805832 606608558 311446140 63895368 599233592 602873492 268793590 593140608 915425076 521126842 391625054 147718154 769985044 824554936 440721612 553052730 103181304 131088908 908552344 204205170 301822374 882301322 35621754 695607012 749295278 725803032 857509164 842699600 376890418 644089908 218274336 41828562 875940626 360562780 222097152 504410358 880213912 504890770 458072492 550558420 847670606 901796610 573020342 382619618 134461314 480191324 93004086 566910690 155702478 376956644 689995176 272350388 447051336 738943862 993220726 953060198 331795056 892783040 708997920 795615362 977134042 784691336 526795446 880483828 974134180 196387860 603728412 116870408 424258692 603118378 901747268 522967050 967389606 145159522 330182836 40300248 713629294 916350426 583693590 408533108 993430336 802557998 319298738 499914696 405455198 463422160 105270748 309554756 632223600 767434992 13782092 327572892 735608968 544059726 975330242 556383550 120245434 143298370 450043724 635336684 828677090 210975050 951359378 327365192 239828574 809356846 163226908 389098504 839321656 784021166 227067846 765134956 873720590 165109362 880520450 383333674 881680586 611669862 33870202 171880710 471956522 221479840 537458968 57785144 569447500 845167892 10730292 668032624 630594118 312653994 314965504 802519652 702645242 64139058 59427728 94424216 234598534 878761460 314928216 779733234 529138744 35718848 444977066 194895872 955256276 573360592 351100658 331602480 521923998 926580608 858872716 951392904 602325072 596062482 555623408 73712134 230094288 817581272 600069592 592425220 407833724 585290110 625444518 571548866 146842706 62519104 776284372 548701562 780398944 246989648 230306558 363699122 581583842 454177508 122771886 842532424 184999472 386578588 216551930 462969638 182050606 877378610 167844894 702712824 888737892 574191834 391373490 161603558 853979926 519968636 605834988 636226786 668806490 458924360 479497786 730464804 382111194 330105432 560894536 703242838 396504138 337923916 742060356 566444612 329472476 163343026 682749536 221699768 237699302 403149130 469138692 673955930 66306220 448707864 135732064 464165538 807027506 366331706 564367202 822179784 572032732 836335538 667241828 590874960 917929150 407001840 873834332 735603644 661492158 141268588 538849578 251773586 969239012 365081244 201080196 259607094 459003208 856884490 705718922 152113502 525249358 331931162 511736240 199299400 602934594 958161168 158882328 863718438 377718046 25669336 898604882 288542202 527297304 935575788 553088636 142532912 501731330 438442006 705608066 279209542 775895880 743861746 258401382 138217752 396097766 974387698 530560280 36757734 602955558 363972926 278417304 600924850 322617538 870974210 906656334 277461462 979578796 426657378 403751230 812604040 464354694 807022880 471958842 921250480 644657664 421746826 780113530 374498586 154612004 52971066 309141808 1923706 174583412 932333658 516346174 712140698 264584286 880849006 53653100 341862310 359287858 116635412 838718930 523647284 729241204 453427134 875993454 87874218 227342900 992457622 228293510 554087160 304842584 716764776 489300958 666967414 310469194 947550692 128154234 385602428 559930514 125750302 927303034 771226966 444354474 482517374 96495032 870638386 634519722 682547812 168184614 222982268 697913338 16298702 43001552 20911842 202657720 372123822 57003002 89471222 528361866 288095202 289933278 977691430 506917376 224915044 517014108 859142940 68109060 388455178 469042816 658615708 117312628 923775952 63900038 654794164 458604570 84752374 356714950 141117682 207944338 582498228 284193342 763594440 139509370 139986100 297484890 453948202 129492070 198516592 800826526 914160436 516683448 27708396 407690258 225138038 763812018 836816448 915385246 977423874 922399782 859687558 327634000 569347760 652941658 955650506 266249884 786506608 773422834 982388266 846503654 652546844 876770238 299422294 750593518 316342280 15187394 637530200 171757438 105506702 602659512 618092188 168806648 696708440 412521470 223758974 689807820 962891840 654388194 15766152 786041092 965609844 298118916 686640762 265777498 647263846 26653148 661007206 769422198 921094498 938370550 141655710 837151108 722402514 26684156 497756930 604198386 493621072 382342916 635202844 112348844 446633470 338715690 268017128 365213196 3070398 889226580 548627512 325894422 529488520 762315852 939018730 985045314 795723888 246133390 13624952 259018424 38714092 874989062 552128946 307382272 931764394 934843322 840113884 136747426 244538210 792952576 209462888 682805188 598762274 545190732 705298596 763665420 378880480 255532216 204168712 981318186 294275190 371938820 559978454 578456746 317965124 18176998 440075672 732931510 60522840 50817332 364479016 63005766 144853674 723043100 162144112 958855846 145385978 328732178 298736990 243042054 348794006 324738102 882541476 946589190 456407360 135014212 583342874 546051606 957014370 609102416 901085690 577322064 692450066 395619838 42697592 930320950 853202418 723960004 130979454 812128278 848760156 646724750 885031118 234913008 402345876 593513960 809343148 372996294 818367724 984850204 16319786 331768290 345452634 979837088 232566746 42934446 810929078 198883328 440242310 417459974 175292812 954801128 365813456 382362378 709758956 66010792 661886404 93729678 79670204 211127496 544130088 876227280 116146718 15469012 70203442 469177480 757466916 138208500 670458008 571475042 311632302 724344280 984946068 54222696 312770400 69046196 466612758 573042192 525190308 617306636 744505084 150747780 926922114 121885102 273949590 661713770 519177758 577875936 914391992 21668414 250253860 895779760 348680496 13699364 709813756 161661024 70175644 202303000 339018540 984135752 47051448 53253068 548928346 468844952 519643608 317145222 396713066 228404552 599636796 316681046 250841872 627444400 439706038 771049502 209045560 758134780 715104036 811392116 909170164 691430454 148092460 976519984 540975038 121050522 549816574 228385268 215135916 781665272 902311652 376228478 362156084 910878398 561786126 138643682 784105168 750772000 978603230 214299554 95627908 729649148 161134714 53872964 993372444 269335724 580969500 670768062 997017018 644435312 784878350 306642558 957975726 710705646 905928356 856771068 961570016 27942464 599456052 189633584 747633328 15894448 441359034 834686188 115171206 788986080 830420634 442469024 710426626 763383038 395400674 249181708 487900832 308390696 351312754 184238900 997132616 248608326 188136932 628235400 328493594 500283618 622173466 200056412 621994630 887898018 986868452 230809650 794799808 827446244 187827868 387910056 161897800 665819698 23877286 490083166 332358868 524785988 894827388 505198588 734690414 129850402 922567236 514360408 130408810 840860070 841844212 399484676 646277468 225172196 28771946 213967348 375142348 756397036 862980104 131126688 969341258 623284054 579402832 439987978 476359422 408416784 273174956 16842494 106454118 604090710 662080762 696013696 544997152 259641490 259185742 606186318 538287708 385126932 497158656 664331688 518737854 141415054 403758068 232761834 421869400 307544362 653561888 329274018 868907488 814644070 107409782 748098330 579713180 507466178 265629116 307538628 461817238 206179484 392699504 534436814 590059996 765808446 359097276 464196948 651647352 244777902 327458534 15412846 193205042 264972680 955256438 899520114 531795730 130348236 186151864 18229240 783162856 259962542 473264408 770632096 434582384 504688936 906540246 101107936 762474776 438197508 57966356 117137772 512131002 314573210 440317764 191936128 36838118 183436864 574758988 997200824 714056210 494380848 92681260 585172986 243033760 218489812 769615476 507316204 951003456 125133126 951578838 140232974 311128994 413911854 708341102 697726500 176288130 762634274 659169732 965160832 191181064 357674980 346361682 854292350 926878256 247349992 357001578 946128646 694458644 572468910 5712018 714769852 277601984 859949104 704251624 416342042 42615450 306741748 440813806 709982764 859039720 670245398 852688092 448801630 839594418 379405150 253271812 654340292 849834176 464968020 412240564 816652796 332199656 303567232 93121632 103907284 180864194 865890130 505020428 216038252 235431550 103379006 740015090 950948336 375641066 420433702 382956226 480732384 509982080 952036862 892725662 804273488 549439926 462117966 195894880 756586256 92505212 798392310 326007294 156708088 598397014 113758722 123884446 215904602 371082180 148672422 21055482 296131274 724950966 388361952 198071574 760375360 619128852 482538414 697168550 460458414 678731404 448800310 803932230 642639548 385005354 176628232 256172748 503078666 21535854 69661740 150129950 353228802 128351858 356805494 237598276 889816534 771694974 997577778 915591852 311966918 388654322 327064698 439921574 250738222 493436460 284673846 259849980 493201026 226131982 496336244 567986766 493125544 58244606 320024202 553666412 890791268 783903756 152470244 501146068 232577238 168797094 352376120 324088008 366207182 920553704 785728482 826921886 980377572 613704656 396060646 692631060 249000616 11322774 670531216 811872978 752042344 69080710 691240748 755799476 929560620 174093752 206167166 868407508 820206376 970244200 714401420 34416664 375363502 666336276 884840784 996813650 765730112 109371402 356280322 657210966 652506052 975200506 474117068 366405594 940596992 515746876 284895360 400676184 982857852 775681072 369373446 549328656 957184702 718767852 312488804 106760268 549402152 868703732 840966364 677743342 58668250 25650358 354321090 605830872 201288912 461988196 727240820 301859800 317811210 830359824 530402840 816796450 731832596 5538168 472333100 698082670 502507144 348923314 303634972 854670582 308066096 193340596 279977044 405008552 758416046 490641702 212924168 493744712 146430760 828488760 62766008 262767762 394658188 536423470 968733848 881869940 136203564 851534972 288660138 542258884 662044914 270597004 195083502 323635874 798599042 687899112 881221314 38932970 298776260 403916272 738844502 379039094 926357172 339179950 184284130 866291996 162808180 809033206 521204554 146995414 310828756 943930710 113272128 464874722 956328608 873096598 216345992 582673022 153901410 566544622 522941608 653360376 117930594 765399236 392171886 247793912 508616250 468095016 493540248 355781140 982022948 589424396 621726370 498362600 30822842 490640652 720060834 538700182 876086402 218410194 70913992 318943796 19046834 221270956 735152568 675256646 182026534 887969396 656640500 965481462 304586302 509938246 831386070 534019086 182058012 120698202 359881988 37669560 36944530 80014428 146088072 793335074 416658020 812696934 156189770 303619758 547760448 525366782 519473878 548901118 482813824 30996480 65047938 388940320 504837700 85402456 775131510 627670686 43919186 805695598 142110128 621718428 966478884 23421332 211090134 40920136 422330556 476500996 775492140 783958428 559634396 808533128 165794366 823346614 480140912 94879438 195872382 340294656 764602832 569147216 644108750 160753004 27859108 340546674 502061776 456816798 35469106 924147168 36802634 250627072 376596776 859109236 690989204 219105078 34126670 463877952 914722580 197494800 334518166 606761372 182237426 796765836 129927416 437835014 162580464 681296560 224152412 613561382 856537624 454668736 194461664 733635890 949283798 483261996 365709456 788183090 463053638 237078254 804509288 145482052 245826772 350854906 730219140 813521062 949471514 855911732 762310222 451144234 541982614 977707156 870189500 541903060 100102638 366912420 727595824 224568780 444782108 531025308 248221814 952122792 857001482 603026348 967308558 680620062 755817214 581874952 403951742 736381912 121194876 235847248 83248366 978493816 65050420 895213734 464463700 966741880 625801574 108026886 579144886 464060402 218742134 278221150 644356740 864232368 612926066 641718188 848067640 890527100 9442894 679868266 722710796 852528218 846547974 724427860 58715514 250440090 758407404 377588440 9757022 787050058 892818000 892815788 940167156 116080908 118676904 189408720 160937582 859800788 380121762 733716282 407943190 478651786 204265872 748055514 99210664 159238852 303781896 638256108 764398570 270921910 707882910 699512138 80498636 151387160 392670166 994837636 533929882 659966644 346308128 670422042 66939826 624348062 558825556 883273274 170809000 693412758 150303124 215271770 26223868 118851088 416681026 648613176 912717704 160668098 480148320 342038898 718318056 686216266 414454722 969936044 965103046 300510962 345292676 143203080 324947862 743286380 310850334 206741728 399312466 575942916 106102138 939654226 763932920 313311292 201051798 700792900 278113846 930902522 877962044 278515610 275718566 773387028 11578886 626018758 146434882 330447824 206239814 553977556 953608002 875431544 197439944 340392478 721078970 306593330 212592822 997766256 50658810 64520620 60001658 80155418 353257094 47908622 701641798 126358950 267262402 351117204 691472626 579863314 485964034 134418132 581882658 223025280 19404944 819991282 929563564 278445026 401922442 879393038 250609916 388822430 637002404 928760958 709127236 355252432 400449100 286983566 306923712 21417718 988184044 22151810 245565012 264938602 332675884 11265434 12625654 420265550 827288538 689642098 826584324 253985604 789503202 537782070 78334214 293922382 211195398 230869476 664700262 545282924 961090324 923057622 439123092 922812214 747190888 156647710 657634262 200351054 42038404 694068654 354566596 584097558 42346814 470603234 19409298 386750124 645409050 445938514 990693272 684921614 214932080 270966474 320780176 75738040 14550340 294335878 982504772 930466724 453709736 278754908 337219464 527239062 616768748 695870260 958224544 549610952 419842500 609407200 507182378 435935672 394150974 732440022 978741574 592851694 782169850 649657300 769350072 713470476 229634438 627493976 628873132 382741718 48964702 488572310 938364488 191491072 374763294 714035382 252622210 752110218 482766044 113625888 697436428 697939386 428481780 94630216 600057206 560108940 679523602 333188574 896207106 319601590 751006628 178391458 137052800 593030310 329993720 279559450 961878338 177310386 917600340 101472536 631255632 440904784 612131584 782405918 248086482 244854074 585838436 463459578 843240310 309718130 921518792 968808738 439217508 413484492 634692936 505339494 430884730 895404894 443356942 288355712 303093308 929565454 191044888 486357420 730020932 404499938 434787624 623807564 55322736 216644070 405865338 351124972 297256998 604032090 33429680 3296018 796834698 134772330 600178674 603378794 692188230 766670154 69902560 51565262 774176402 51974540 158724746 673090042 755372150 989566128 338123530 930330184 288875088 737455090 198635322 347545694 378608948 512011604 944649738 284074916 402135796 216829782 542876872 366139054 879516106 824222380 619992182 1463960 221544610 367881908 966759232 376333488 906911640 786176558 845191950 176825006 802020044 360759226 3148494 866882538 229931302 323083638 390635512 395119418 156418354 95779946 478940170 265998542 234375616 655544604 476605248 442555590 499458828 367513006 880499124 946177910 422290104 63381672 905365868 947167482 696863554 204920246 74734204 849606942 602222082 436022802 203060314 933837218 630905118 439939248 709835484 488648318 502704002 68199172 489558276 45302606 646960450 305970292 799080334 59761852 414826742 948798100 742000520 720632816 474790178 688922948 27388476 765440268 522864000 308049996 772951210 949880046 154848810 776332238 635708024 119422070 463940424 262307508 99891472 982500412 370481636 401392456 144754334 575470856 392704350 173321416 748807950 828875474 134441718 380402144 859877568 29245604 754595126 458210430 990563634 978395928 485750208 882623106 367014618 371245982 9734906 711811820 83473782 578461634 162355752 46446906 19933326 348509576 814477694 163517980 98166292 724181004 423472088 382944424 953563578 494375604 115277876 297522758 235010648 691235296 469151278 744145398 610831242 173411230 468623280 150811984 74933278 751918834 839458508 158280724 507815222 62174462 467272848 807555878 997951430 896956096 379578684 534488006 352362758 742473278 950741030 161409306 477974544 155214420 125529214 448331304 594169028 477314566 853745326 502453956 207910326 671066398 943643174 82172732 31904686 31156712 727932822 299927918 168689772 912536646 129339638 117180412 553616736 360460966 87221610 156146234 12866392 721802722 404675916 296314604 543894026 811001846 777897310 420092062 526437368 353395846 442421870 976578762 592789298 509201306 63763940 862543442 82482848 139008558 801073418 714716316 818980932 682777694 432691620 349357074 427371198 924525672 66840652 546230534 714000408 826389650 864290222 15199748 888536978 714513142 852914322 822936198 61030290 162000190 655633706 144088980 785313994 338033976 526802784 902045434 280520130 708966020 685545988 481209464 590441740 117186098 591523684 755668968 744843134 165817276 75058920 942356300 252664698 346262624 392499326 77833288 331150966 679889960 9013258 864767490 278682974 31384402 374611024 182464652 645349004 113893062 898504334 88484108 550962566 510573446 509495730 636272952 538367414 785773366 796634020 877415820 180992804 667076372 197610260 417956052 583473050 480985768 341029842 136327304 624353268 46224224 368165032 42864588 889547488 200405634 494434186 902795602 285682912 12663092 716714054 47858406 471475928 531436838 909266554 858398302 961735470 200778438 398437808 7848428 347389672 964143832 960214280 960203622 408077380 855853038 81507268 362546384 775984288 860904336 633783870 758776324 103641782 936707292 452828186 889607464 279560874 980106092 780157902 502915872 632111818 27597574 617754400 273369484 15754062 14581760 466595334 800628628 467271046 984949420 284490684 138386188 55774864 343392380 485390440 235648556 684312782 111491482 332307418 80632290 471044634 306985852 190707294 207476952 592733048 955173528 773089332 661523588 622816838 459850316 74052312 352532854 849707446 341106618 823558366 428548356 14690596 376909970 224710586 667320928 907242352 163631962 696316560 732898184 9978920 754858974 975024086 178082060 828446946 15795468 342768458 174749662 800401732 686955878 413496502 93505546 923629794 841743922 305833176 409634028 79859690 855422870 459813622 871028014 472659814 180381240 530453846 583135310 43872212 981603906 829868894 323281364 783215764 801675048 878852102 466808228 139860614 934925394 980603914 467717706 566766946 38898858 475183692 365749660 557786228 495377088 500942334 122984040 264524910 473729364 216790694 637527732 875042404 700050394 638718126 29788820 191720418 428236728 275899074 964054972 768259628 180297922 231475070 668420302 357057590 791415850 867348084 228360132 848591422 13860760 767447902 943160410 179426794 709594584 67197742 993374406 210894278 495236552 607810730 827393324 443550212 72848300 225447092 950491066 571135336 301598710 125662268 880297280 646072938 481270106 399252782 992255650 909416488 611511728 344734130 676227144 326305440 359682990 136322286 382642302 192183662 813921930 943091296 374181812 548016218 49071452 104229702 532167246 389680914 524338464 751597586 410459016 966853106 943270106 592512058 97003510 460507356 883670486 874206642 794964966 994060476 62013902 625398628 920046002 208144226 96019666 431747658 730738260 286771940 482073184 807600052 48852918 359064204 612169566 253157914 545552508 918012314 607826122 525469856 418439838 639571252 143444036 118515554 305148218 822395544 249109520 4777518 420434098 396906102 340889376 115242344 659870364 926605850 993419630 615428732 126705722 462279692 136905168 117351606 287709494 223588226 617785984 391274530 651984194 647981612 10939252 995021868 525650740 112841568 761211100 609227094 702277310 929411688 383690694 84321232 989886202 965559578 785233072 569140510 878785312 872768972 695961760 78814136 231760168 619429062 750146306 363846276 856789300 379445598 496871956 160620196 781860860 223661664 896068936 555106686 26770960 335893448 319167298 210368310 962926930 235263998 24505136 669333174 468898626 948747422 247625846 94724196 718869770 629206968 542121242 791562238 711115784 741702906 874618728 906959524 567535436 84454240 419465726 839204866 175656132 597284258 847498634 950753922 932769276 471469978 245647798 282103544 885700950 280665020 201312288 884128892 203218296 324263676 791873602 664133704 701200046 530005728 671352296 149013692 818334104 175575772 470122276 694080592 255663152 968820002 167136488 314464452 574498072 808156958 500311048 701420704 903113414 67169118 353102486 134155198 228671904 226572178 416772396 953788332 557256288 782404106 385656240 397907796 748518712 909326706 745540224 938760700 492671142 698013414 756320912 928227712 588088794 590667846 39855672 173165474 405728426 578954814 588754288 777766818 53617344 96418590 230473142 284586492 961447760 363608190 723506838 677915214 555146318 29941002 106188190 25050658 769303924 383592796 303995636 650015102 985979746 161071096 11365430 571164322 144593080 831314818 217808098 77158684 979274912 767962620 627069730 184622168 63601782 141946772 757812844 752883730 679499584 66059414 596187474 116850484 343925128 252283464 780340988 797654514 619356390 19460488 154592694 256616740 547548486 495767370 232343714 743547624 238979834 721589206 114178354 721883924 938220122 970460596 327538760 946302902 643007200 763961852 476557820 433109946 561589876 766725776 490827082 206489574 329220460 9350826 220689932 124780024 785609872 558719832 332303042 979329466 499830348 6445420 687076968 999492034 567105540 471526716 770410128 509935074 489572682 50416780 793274604 604871436 635490704 987972282 390738940 56100146 906218146 99467280 234122072 19802478 100471714 119649668 779497710 377325628 377674814 993046950 465811036 124665426 176787116 576113124 355240206 437449972 665099922 151148068 113148936 815745082 752283484 790477694 447154246 433769674 861373638 805223568 65538734 635641392 678838204 890078462 352866096 604228270 995710732 231945586 585608226 127447776 815246194 295600154 82925112 787912270 995739806 409318666 250546966 44447390 880595962 888130744 205398266 641636566 567252750 214688192 236505756 131335112 121896170 293548890 286032710 698396096 118364558 242567964 99915516 191555972 880417798 940811038 24713762 637995226 380293572 243025692 523816140 383046834 220140580 22742120 298068290 433587868 410767764 427679078 944209404 790229256 61267884 616528314 893603172 590510256 373495774 703598710 888766100 926880694 200528992 449932048 508841970 744450020 509883278 756705060 133426272 319240542 999219574 575427818 272523830 430310648 229488472 304311094 44414202 31881072 410452932 64580648 330701130 625092282 59737104 52762126 406546170 121300474 435671092 59622450 796437788 590197600 79073520 292978348 260792128 355630334 935930274 944581646 268000570 344023228 174743270 547488426 466535856 203021086 64004324 616516108 45658108 542193430 124050594 555486914 193394188 679587228 345255240 753205690 644481488 322617960 599891168 427047950 323719506 878751974 244175184 277894034 792234640 197641190 563712908 530302784 856573762 238891960 656437638 118472934 951066804 707456390 482056416 240758186 769576510 151082122 919747526 106419236 417510484 961994536 519134664 609718660 495838522 678817128 467947812 282048632 160976780 215142228 500529716 717418852 165336702 467998146 741330218 982315000 581845122 160826130 110148268 96271994 710478334 254280288 979722798 805955518 99442860 629582916 667913534 73514702 534048548 557059548 774218736 58489144 953259094 159258008 62313632 223314898 893490712 838549488 559239188 13389430 304566370 896360958 987850852 181135886 360217006 264896734 548221616 692322354 587883450 691159848 866172870 504162724 104386076 882892088 213046398 972444506 934442050 713229516 814104032 483637546 565466042 838236306 134833096 839818638 375570116 462786512 514772516 948232160 747987294 177040728 772224568 509663948 46895426 75927830 154014444 56853450 310301806 113740720 40088160 64879438 488128166 136551416 172554206 391344944 949339050 542767938 14242750 523198940 835258468 166462138 441022072 407037558 607974112 574639740 567862996 806370152 382001744 507003862 767052146 216261680 999977864 532263636 890972454 950855532 98883450 737824100 586603894 200872668 421993298 985326210 670101730 225766554 312199192 968225626 636771926 354729214 581578760 222197344 230615220 353443028 921913792 852769930 681725384 856051344 867863718 311142382 602526550 768798004 988504488 779149250 396045924 295903168 705412064 273177798 321828754 323919760 950719468 640767582 909506750 243209180 698674808 799825728 34781814 861893466 775432256 603002426 610133224 286057456 484275664 683749238 555462306 948700196 335793822 772931026 113684174 763337554 401440174 661702290 702831526 169549522 877202292 846184122 722423922 445026326 997226512 224038394 432999470 743396812 70423192 391398420 699452216 11214214 217555824 93502662 772197452 995418464 397307778 583356180 919336222 777627108 465057026 998703954 913133296 68623288 340451152 456787120 503116694 991504624 695417500 506059300 445634328 121058032 847683278 160757748 529935006 297467870 726744358 520094874 872830182 189090450 884866666 810687148 878275594 422683158 601296602 91438572 114297756 503690148 813573472 603410080 913862126 273254018 278863284 566755836 3575966 685315230 251049834 359925258 233225382 284797512 396961482 918564788 949001566 295184296 416728848 90680982 732423374 87771788 973616436 630772922 135126260 984797820 317832096 373411528 330784854 762370476 330453940 929325226 418822794 632501204 877109350 463257892 105504 324796470 516306194 326147756 222541224 331266574 603058894 838834414 287375180 410632414 104622376 553393722 953489852 42989508 70077374 694222724 867393148 529431764 577920336 862187296 103169842 42249066 650721736 951866910 277367212 195701996 96887974 160103060 353249112 546699296 629969744 572914590 502344600 480158864 991870370 505642616 17615034 629975462 770504760 876072676 820247896 44902668 372348460 911361062 461045684 753215642 189128658 317766498 218958632 532786852 13714712 963705786 336881634 629590762 258048818 685066318 486248990 374359152 19428748 528736824 540772952 29862694 729129702 636855516 357083020 125291688 958662858 755755766 854291358 972954480 564388002 496742248 202088016 381042374 573081442 832340332 301107294 989622348 39164440 840145818 894790872 668739850 416971666 777568208 121004572 439914980 167382542 176290536 845629246 197751336 554454570 910671234 450314212 247543432 672568948 978368528 826913864 569628282 834601312 558551952 54732162 747491782 929837868 333445264 750068428 953680882 586805922 130465028 525889934 935235216 922374312 612475328 276043294 213628346 309930960 774881624 482483014 444926704 698643738 26979454 352296066 414141476 935202132 709304318 553532176 861466990 600226640 234833696 188308812 611436424 937113372 505983874 535424932 919556620 838470594 165164510 149838576 335568280 876777072 823587938 500625448 638983140 540700660 345112424 958203386 270768536 225519608 6004248 460196020 290448246 646747546 150405996 740639772 2722110 38570522 928443964 89745860 569131906 333663502 649312366 592588400 899903488 960980852 718335714 321645224 177886520 424184476 717458000 462954634 785819318 493534208 29347860 625822924 282442084 249831676 43029734 259991852 27958556 964761130 838161672 933820738 733468672 1895136 288003580 234520424 934952346 677325188 650777334 549925100 7471110 365532360 603521536 196539576 456713694 614749908 370321748 677615694 598472816 704295522 876458288 272363202 159471196 76371814 381050732 929580990 501229082 784149426 851096370 467073176 258418582 534481360 511235324 636888322 658251940 191773858 627992864 349597632 756160990 24073514 862567374 491667132 505083824 519844010 277807934 643989692 645047822 644735486 232519520 495885026 231476288 309725814 508724888 735699778 816592770 326975968 919277692 429839310 951926982 16983536 632076668 909137576 378767104 295417200 741377768 62455472 122978772 270887890 80188570 495997954 390657854 344203270 914558330 804273500 808392392 908674680 252013208 525493378 58035452 451189716 870493096 203843408 631711776 728182916 820255774 516046198 617610262 675002692 922290280 959835658 216860446 244824730 590361826 337028548 943408410 175986898 426001262 844545348 805578014 408424466 184379868 572200340 52406198 365072572 745997118 931427330 805299022 995944660 58241502 133877056 801040874 388954764 743397774 725472180 941397124 961685530 851458398 218813310 273150968 995286516 174940796 461882660 711101272 311775606 663546816 548079048 310007350 789729702 201524766 646255248 197474678 434958282 187704100 532846486 155246602 269813632 239842340 348902548 488091386 409113598 838604210 84137184 26929506 133777214 229786728 995357820 473329462 274493560 560096718 364178794 628538658 578371658 783607566 626403032 91411092 106396492 959740204 474069340 528472282 857520510 604296182 749641872 659013742 514645588 367551208 208363812 721496698 59970096 556670072 329213472 811100294 930880356 134736340 281617066 304121724 680102058 875415826 773335432 572084530 247323162 730786250 802218042 457049710 112773782 692865394 833104426 505421242 525944816 502326874 527820802 624939610 90354690 670019762 386657466 643877296 490307580 385001926 892433650 526829860 225003322 659011570 311533592 289408210 751612818 694741366 945417864 835895190 316979522 89980964 626031624 39075562 628295424 722048434 55820938 849521056 629571466 928050078 168827030 544641774 144443622 493961236 35422290 883258236 668442284 2670990 837973642 506748306 785549918 489514426 319731636 745623710 119815716 743548268 186294968 297241414 59628932 254061024 337732670 372504996 351888542 351148518 300189564 572946678 459814128 97647250 753386616 18346846 881357386 570540446 719810254 179771192 966382602 464842736 958032302 495265136 501295182 994527718 447953412 975487796 546131148 911948918 851977090 245038934 92868590 723769104 94830242 993653890 260863432 965117846 655350550 502564728 130417936 278595018 31187226 163962654 604632994 406406652 642670926 242163984 126618406 940765414 96384930 323297896 923563978 556366912 394090144 870844972 665140918 142845120 330973504 531169350 934583728 308097060 319578524 467116566 844047650 816095012 538561474 486918574 615017192 596896922 96977260 688156280 341377916 346392204 87585086 170205232 864086884 627125360 903169452 639179670 857684654 939777076 3398420 486651508 593946500 432652108 643292638 722116826 344951792 664482268 665138768 884714940 857058394 123131388 957829002 883068176 646882164 109814202 687580694 909411332 637457862 363913286 594527906 391811622 854247342 385259890 355708838 718515486 868356146 711645498 602793408 194946974 617872710 954099330 370311354 570635790 321188992 941492848 112318074 915466158 804913718 571640394 556137974 786652672 262403856 434459588 834027614 879831820 868715766 83221846 59531574 187406764 92742960 277087740 875989006 313243624 412598826 658564204 996175472 901585844 242660062 856450788 93342704 476718836 328015848 744971244 147360256 564260344 159231894 942212592 819537414 575389376 749167304 282030824 853001980 52006842 719811042 105635610 582053808 889480814 763202412 985039558 449377622 970949974 694607506 363121806 545709068 691738388 684178266 272563100 276236054 696174358 284888906 642222406 178012138 79935616 263818586 629844104 135473310 497478864 496591414 423134742 664935340 752197926 105854864 536495798 553931884 962354960 842976414 650965720 706499208 398769328 174805040 578386588 691373898 550758532 413357278 725619894 425419062 825773906 934672124 447743734 434746162 131621570 72823868 338200248 680181062 564128684 437172568 757844414 223167492 146573454 930372340 592394630 535496602 901071230 570095408 998435888 334397514 989952942 477338660 200903842 60564598 273880316 442685966 498353510 634703506 165396568 353360952 874348684 614865162 64220144 687379400 602092628 117277770 905789850 444044038 750475132 682998340 627531420 132776590 224890122 108673862 581286146 13551848 63301372 219847272 764487012 988706814 180077392 525336298 296571302 600104276 899712638 87030280 624958916 6916352 633870286 568046602 797281024 200683674 996897616 558858720 141629826 416636754 567647424 397113148 443695862 443226930 190457390 716681764 727018714 912150162 649918516 195244102 479795672 725479520 787616372 211366180 651747182 729864204 741718764 159107624 876332290 812437094 133818102 828624156 867901128 511893638 595164398 131471508 10816860 177429846 680439784 213021552 287656318 352502674 75185866 844065692 750198670 885437450 364849436 314067110 820900764 577882824 871290510 604539454 875376032 223619824 990477230 348271702 132892372 223845562 11807366 427741882 929462514 298457384 767165294 87996042 272923136 35248708 213846686 482232392 783260302 673704550 996970598 426800014 610890602 246261340 964224944 926964066 181556454 231057702 274129572 66000596 370352816 493611792 391111564 473356076 466914616 743775358 647742554 739722852 289652658 766601270 525612550 941527112 691843862 319796074 624198814 828493272 535288510 835983532 929373410 649488852 948258602 883898282 884988076 758118434 289275234 721267080 496487238 163469086 894601866 170827756 497120028 499675390 895787132 798125280 203542926 320199808 378946744 963515740 964982162 807324894 823886150 885089176 573877578 551455158 893950094 516768418 290723454 967843966 944481256 901436386 898724554 191748990 162808174 219192742 715365638 476996904 357454080 262091784 557253470 786101048 545636036 44841764 898861006 807048704 598886458 177085946 337411778 324447640 456703856 841333376 966216354 283309174 894005674 250728540 611679712 384164728 145475366 268927294 272587186 976365760 448088446 340139720 617520714 853863906 256109082 731213266 949096868 91035002 855505908 773813720 964370204 937924928 402201228 855218000 807388268 361075158 105397804 191206530 395352776 787023772 214663846 398784294 93801804 105516536 278202960 500668778 105753060 455943198 416022612 564419666 85711526 681389576 468371366 575599546 384981166 231023416 122350502 708862502 516746480 638199290 258920388 108407928 649944568 59835330 649473346 540082796 217440482 705573098 620220970 872562732 883785896 159707072 774225506 386327320 801629472 380136186 730825132 616094430 50555210 810688278 220205012 755135360 353707032 201361040 884568146 184659674 378880502 123475602 644029880 878329280 612289952 975558262 982611434 139212970 13126262 301551854 611335072 876940092 932379786 178664502 187474244 70332768 837241966 435822336 948353752 69923574 189867542 377656206 796601006 445406892 133648124 476084350 896713350 838493618 895538978 436394120 827713116 286036304 664573008 502797442 884919346 699157378 333429776 449372152 678986282 577074976 851948292 632255658 370638504 236705550 916515308 78051838 788703340 248731230 705512052 288848222 225122360 241144148 999578140 331203142 579447666 845780584 460209142 316582372 984027232 401107656 327309528 331441862 992008754 850399072 508792040 257021948 568462482 301295144 841726146 652866786 665692142 860486528 351911888 203622570 599870750 57352896 112726260 468785856 392408778 41193028 958315142 443450682 692147800 286657422 166464216 15874502 306842736 567863884 584410956 721845104 67665264 150425230 168071238 820689758 742931232 310455250 393133058 483884130 998864158 132256134 599400438 831270208 41451350 296028146 831405382 855055094 970878238 617605856 231332030 971240130 262793156 789535928 182985868 527015142 524882622 130445920 922692778 941673804 337473706 700194158 549896716 582716666 32906592 389354282 15489976 71068648 330313168 313859240 452936606 487896114 607378148 365301610 560134996 21076772 580753000 378814370 250238960 329609390 27212686 670795884 591561048 165366062 208815580 742864712 324945088 751872176 162997258 518019852 716932822 783642988 67784760 885061992 168920056 821550348 677386282 747430574 783565374 972808344 610229528 72431504 185818528 486023200 509199878 934914754 581287178 165330108 152546952 812039548 62270052 538290570 179331364 58342722 261512752 332799122 500437434 627402826 318442662 889819338 406171888 368970114 53219334 272522522 875880716 532416830 659307418 925349696 738079338 124482244 988178192 913327688 556167394 799103960 872989062 589289052 389834620 155521522 825227484 961623568 92891694 219925424 447873610 157469920 546273962 786440572 149480442 534138502 304098650 406755984 397012828 373058796 353729468 455777302 301106782 348235392 679659894 865092506 919139432 44279150 343684688 976875008 747478026 134371190 255466320 947838416 24823810 488793916 40238462 101233344 572972410 948808046 566768782 603813510 381293764 693653136 582477832 887882678 920269702 524369958 837806206 829992038 702465164 733570174 546295888 802232986 490758798 778670674 900375886 423976544 962092222 506657286 585675520 857663960 214536812 768858316 262370674 542781526 65142076 645764172 330464428 663208528 186882034 464292892 168562186 592355630 906888418 971013116 132087154 33312550 270849142 582385390 311361036 211562410 130488978 585830380 692800716 853894146 706483650 688375886 535948384 742756722 161449666 310552906 825671092 713579302 880595420 588427700 254389414 975354740 386370288 411481718 889815632 346012986 198263376 862660694 527444856 533409212 351493110 678886294 601928438 794467344 291591216 95242418 394732722 602079638 33745558 158193794 575388570 382765076 118572712 659484686 828531906 758989076 347458062 873433124 860880324 388227136 101818454 226708254 892193004 929896496 718440178 182476478 444688516 897352336 7108752 262429872 587748522 731393330 6272332 324156416 456554198 545182758 297000550 549989284 513566182 791882378 639843288 40957264 24179908 217017322 164203652 381304928 713034980 946872110 606415980 43125312 185605302 425335864 806053602 777663262 736838482 200410016 946619484 923968566 789989634 314970970 386317138 181287454 716422992 525808026 961781072 943150190 180680130 847042098 976416440 113465796 475673784 769472632 491470658 724292904 179556152 726959624 767794692 604140216 348593990 526693780 204712328 137218822 37883142 43673786 401076688 771101448 92102482 221610018 603399774 333707382 440849038 252740596 624260976 881432856 373813500 802560880 820485260 299687144 587806934 905458756 923976266 281953646 439566660 630395496 995694398 350771762 905561014 769484100 743457398 988405014 577832886 191998976 370352302 409960636 586816782 804200614 446493998 944337674 902048458 65269002 219382182 562846858 248757290 685384756 535852130 239465498 205650070 781222666 448733272 182451228 186170290 694460010 666912278 967821952 486161220 439189186 938849138 814656054 71843472 202611338 780696102 203458398 397269562 713631964 596391740 43694826 180837876 986403900 798736104 478569280 626122802 960523428 163579210 783297334 882056188 849716368 289144594 43766300 692073068 140134286 542170224 342175394 404272646 100993298 842329178 385926380 613791658 618898908 617123584 773194164 243707494 209332860 864424586 4550622 833193560 660351260 464143458 431430324 170840472 457071570 267490278 777089404 334155140 524874838 862977440 516099310 731829430 159216250 411941790 83299484 439149638 858448040 794327490 894125768 695383968 602693650 850292566 622398796 500526208 779679860 320197130 151519620 520642622 961356326 690388738 182456778 664020410 814356274 159243890 817188528 774859722 630010332 197240888 440798044 381927400 657068948 471616688 749123494 920676512 327504590 572530984 627227980 474713414 104485776 609143150 148079696 87954938 458058272 596695362 988575316 288641332 577933984 940366188 467816224 362468576 241035006 258499830 171384456 443275506 514599870 20888902 339728314 859525182 517052140 494180794 846888308 67533574 614708746 373040534 125161770 962937304 24148132 568726692 952355770 930288512 71227544 879143938 299979612 53368916 305311858 181203264 273821862 193549940 167610630 4435048 410295786 945721676 447287532 461573782 44475676 406276300 221515116 485529722 833105028 583189912 121683748 942698534 808393384 708367586 799927074 577498932 849088900 918478132 298312622 610677824 579171160 255933180 691353138 574976062 652318646 718368498 212298370 210397964 660821642 222478704 574521260 403153936 333585906 548481032 390843974 518453074 91045454 962155108 301062338 322238612 120249516 76416672 713696728 391917162 699033056 981518972 961499388 757453776 257443750 109795922 611872316 231008992 840969494 829501080 635036088 659682022 183388786 314095526 297098172 876130142 213055558 610079686 569029996 978187472 96572984 218531114 727794876 977270048 213502552 940621892 749667256 57038916 39264618 374860662 558709714 927753176 851895388 728884188 954576616 199275154 151126298 683504976 410168568 971140414 497198764 268264154 66665588 415272174 326348018 971899636 477738832 878255132 781443110 990947360 544534988 622031700 442666160 296376792 427861960 69666710 127285708 101550950 241227284 76363774 871005130 750757810 793493544 305121454 201555160 288915716 225728216 564776394 900127840 110620918 380856860 499873610 874953026 277016632 394880420 887378714 108745274 231351786 379887984 353785816 235145432 328969614 433933306 893557672 942752912 216822890 293715086 999039810 330155132 6535336 808275312 630580260 409148642 442092538 262700034 551811388 430807574 334496444 730208500 579951072 844118880 936563252 211087214 911397708 949262994 615429388 496235850 154947662 206142028 342897396 310207710 540856948 267239082 159829554 827529004 894284942 355805142 753830792 446806834 878142658 356914336 697602236 253183108 112858654 550080816 172601836 438545398 126721294 174146150 595096326 151946500 495743168 6771754 880020488 324307464 247387916 837775268 406859514 601332436 910987712 243358628 227615652 273931812 504163090 965599672 746094036 266216388 940804720 874693626 626758854 749910280 960450626 255546210 746271924 309375284 529641524 623831524 937822598 969879354 834926784 388139982 98159532 766026676 344966862 851628296 791397080 762527268 185419382 861385076 19936732 139086626 635483046 572031422 213783792 570917870 243845352 190946404 249730678 72312326 590253462 43381726 749677658 762576436 623631248 543263908 217254902 214838034 928713120 541131666 634980124 402341468 95799610 815776928 489842284 355819912 760450432 371630852 769242430 478198962 335328138 108900312 175751948 37383630 937299422 539096022 128543366 894220594 570129424 601565402 108745970 417002016 486052628 702558854 627072098 207446362 234618690 417593724 224355438 866780490 643930938 275643364 701929296 440354516 467668476 876790674 857688060 621624510 887687554 121054402 296202350 325782050 155456450 826743596 186817422 347892370 310478984 926357798 874253156 217991468 674969366 423855768 38479652 618116250 271403896 310346962 467061764 815824176 677150154 282702736 736051302 783457042 806385138 949365352 545422072 300989794 742621276 960781274 82034530 488204706 593388730 68288780 976051780 914983512 483668582 38401932 632438120 382319060 267701988 620393950 309617106 937732480 736903042 71446184 390678950 768936630 354032858 907591852 483001724 662666162 596236634 288967068 776117526 113816508 352381312 374420650 151473502 263036208 861573468 129026434 643218830 364231580 338546174 211152802 237829076 769357040 780571510 300419802 706972352 666291478 357446888 188218892 639615394 21155030 508165838 75952336 361143358 834351830 852447298 263159106 666622314 834649254 982578874 530814162 110988336 733325370 258535440 412432460 338218662 132843970 811637198 376932928 374403332 177945012 235691176 462439558 92526552 793323694 706398990 113404458 812113124 145597344 212268082 963804318 649818196 56426304 2636120 188237662 322317672 709386024 185270326 194505166 681929230 852438078 846761364 632159324 759479186 466249248 468176652 717932850 605121418 580761398 135582946 188741746 646083226 101445586 82170360 449558404 448911182 678531202 934509036 717605452 486436798 734461858 627023482 116900014 960221888 403298926 580876214 226080760 35395442 297791278 563658926 333576994 997811016 459649132 93421946 577956950 677784012 249366956 694624986 845790694 109766884 828528210 41840928 330940584 550729482 579803942 437060892 972450982 837452080 94810146 785147558 462239534 71857154 263014754 431741704 849438328 665169530 341740510 447468138 807051118 846817114 932679104 626505386 633804990 64826982 277678700 263336634 615601172 173002008 80281464 457478580 845420240 341659620 252859486 690319192 876007908 528030938 976450570 700315036 640927888 767821574 747535348 968961044 429847534 801291478 874273770 63588976 225512256 298017378 703697424 602053648 630087674 216337592 709154798 680907880 372751424 147633710 570279796 236366584 770512984 39880640 586740704 791206186 955778960 109756626 217851148 306863688 719760982 442330748 295238372 297465832 365347752 821207702 737710764 843457872 215955392 662547722 377218434 897763994 876134506 694698916 319811372 88909900 134201832 137167930 486237018 420461916 806209508 600062194 541016328 96532562 137948442 252500862 580353060 656642728 767758934 231735478 402499458 887788296 315346286 635497726 218333958 574443764 79721824 821393444 266145026 237517064 899793518 520847622 200945078 501406778 603478060 80797094 982346422 735357234 902461730 734027688 237055998 290814530 216720128 215400212 437920654 323929410 536774612 210904552 684881692 645123160 386129650 80792792 154566324 934938644 660210400 510623450 773494614 89488976 951556744 677215218 350910080 166461186 481783266 320700490 227790810 458232864 989439996 428847698 690284582 664294068 766201632 177025994 215172442 416400100 765104026 148283620 499855868 363807468 419787548 590897144 436120300 973360020 741129496 717740838 796346990 101248608 499129344 91738194 196549028 591641892 39162238 480979408 136921274 711350708 422439090 844229234 39336128 389881306 905196810 885492196 131618700 756540204 684868438 288360452 910180252 228953790 278113230 245320890 629356168 66247088 7538430 726186002 250268050 950828506 524671058 45304504 704564846 730464954 172990630 179878740 438462876 332313282 701020936 438782730 426974150 420186774 77490336 123582504 418365602 128962830 931252452 45107146 321533476 387015290 707312866 780495686 66919288 287040840 974879638 758540038 373846172 709079786 913669734 785158414 859114066 901981322 997181964 50102310 686123904 366609008 664289108 982789126 740743814 486603348 533889962 945083026 179840330 283984748 484543446 999733626 397437398 438132902 555801398 971350278 268442306 356121036 764358020 343496382 560082018 24881760 418965746 153969392 398954226 766632096 886239898 273915660 188498984 307242336 621535266 246113088 244425434 848778850 195471082 247142698 223503132 855279320 451049910 648530556 58868188 337504044 509034054 927394264 320109448 950579024 267801328 595873550 708947488 505607928 458867914 468681760 251120954 91831428 466362818 882548018 167456794 296843804 270754140 990917466 615994912 172237806 913664626 511050264 549513714 408180892 408431066 874866868 250322402 650291660 98362664 588190206 513460734 488215534 306007786 283959352 356453934 777115416 590936906 770538316 229810754 141018910 636766450 463295944 908723592 491611836 967687608 324217434 995389810 999181488 529939502 188425468 665039124 590137436 714391558 883014344 673723558 997586916 136172504 496099690 551464148 398372660 974200762 349286176 911058284 915410346 637294992 257510750 865048368 220932792 917921134 913888438 200346562 820872688 36823148 384046854 186615548 390830114 365088676 490941194 560354384 402229716 507248652 943765652 179523996 251168398 952762680 635709952 210734198 945537184 435198384 410396030 678651872 204508866 343432498 942746806 677589868 701734178 969094460 519959296 221776278 549092330 114735892 585409246 4277076 145398472 640122512 790911268 203954900 609303128 822072358 343911008 448689588 838514548 734002614 583731074 548307820 88046404 989955700 669491580 706555942 537745448 953659170 834802708 665523658 945293342 195045936 13640932 151297462 164405260 142333972 494444738 76705720 312680000 269165362 587934316 504596546 435834850 251958934 605917094 58284308 51273184 316242418 184790152 672424740 88028426 532683188 12069966 17993600 917396700 391263250 963882946 223798466 241578820 518821012 222367022 282885166 988331772 432198478 459857412 385200766 298232864 858567600 868266396 454766512 997404826 189924022 134203752 190242300 32103082 750338948 222228192 87867334 548918458 657147638 328199350 541333616 563592002 269290088 947466602 60358090 876740764 182720928 400439936 46627978 291921454 349190200 850292460 150908994 30314934 527565980 495529288 790383118 227147032 782153468 814414808 826206928 633506866 387750934 727721352 276762042 360419564 779854510 729217692 750931586 747408422 344366626 45943832 841900078 897499462 691288170 218266360 169368690 760964472 504289394 978521166 995181488 911195752 56505436 657813096 171892190 338468576 722038862 258972810 903599226 748184192 262899824 947330844 268922352 873984742 813380470 938905352 2184938 750334980 467130214 269312890 436259274 365032284 194947876 504552394 689714448 990785488 414619422 673481198 643136534 354192228 256889970 870711814 343156276 452397584 566598628 148219462 184427980 992138680 377212368 205180892 872443672 349105734 598454168 333899026 336707002 906778540 323458660 71219342 12670706 419256764 301118396 26319770 831397854 175033610 230069718 268769966 519923348 992372070 761671406 574293924 657581796 603949798 323769538 22178360 752827862 149494630 800693662 27205858 661216470 179026942 268767914 426102464 370064792 414396990 97029946 6378186 704310684 796540546 8135318 805416038 204540970 618557558 21862970 397940022 639149284 157948288 234589536 717052900 540301214 98481462 544282302 313050 543636156 586747392 215171444 17576628 161970382 745283654 45919026 330633752 558575520 614280538 756729428 394227802 777474304 865583484 626871398 67496068 220018388 210396288 488435644 782578194 285338912 968605594 505253178 168423446 837990210 897963210 483492358 231775340 480763436 152386710 640844072 603180172 516639590 614351662 921315382 110129772 890097190 244153544 272993406 236195702 178650738 211935996 159840768 456184474 377003572 486031660 685532868 276042694 622785784 84012758 671481630 72951796 67606398 328808708 866513672 123913430 966744030 255204046 729069338 840462020 504465510 476587690 632201348 789181292 195063482 460234062 383751708 172210274 647786954 778785324 245289106 465149256 290802910 137717894 610441896 391994794 613515330 635437834 881452820 851200052 355976094 858391942 951084460 574659098 409339902 319066526 386638650 808481338 918056124 936666 692711514 116241002 525498992 658983466 549977254 327842004 643193608 435173734 640188910 217573342 715586950 176493370 610780126 23996080 502756542 247921856 695993470 130221374 671444148 322680948 840927810 255568566 87062470 674806178 651773684 258888270 503308986 619537718 111715250 646316590 718315280 915390230 429390620 492685048 536608660 569376188 60726510 846314972 905323184 425190080 607040152 217937998 981914300 192216456 351186166 575546746 811710514 1930484 726383104 675609588 521281910 554020476 477054218 146602918 490695752 567233404 53979054 829471708 436021990 244332146 259407868 664414028 503362848 587357916 54107668 194933468 488247918 921999900 742544440 560380858 932312010 578832062 395473420 92749374 590998202 671346212 981127232 864635774 824192560 795983752 138701158 71993178 334312940 4530362 135544954 372270824 231163908 960151364 908044484 284039786 652455058 933285424 182478662 121608582 13432388 516478646 104009058 769259738 232711758 364103202 328777548 288785596 850142366 889177082 824175442 159468734 79654310 811293324 276010010 442372230 434347496 958784988 569207870 93187926 873367990 140559402 216857020 929041472 129043968 839221082 365308612 424399056 302385554 945600900 233299502 367357512 689170564 342561058 512595222 42768502 887430278 376464682 286907446 561543632 801294184 157184742 224369344 555152986 900143354 707900168 734141712 317592286 328773466 729991486 453448292 162122928 142214204 307783192 506336096 615369724 904818724 950410106 99617240 604107824 161054774 449259518 846174206 834388228 493552172 301051060 836325804 416214406 836565148 982579298 194168398 281089394 403910696 911682374 728935012 897283022 526276418 402280780 127111932 659358026 377734448 714432056 144087702 328810008 988941386 641032220 482473958 704702792 159106840 282452156 744664534 221290488 352803680 983498502 24548182 943932780 385203340 276945226 943262562 218294564 984418702 633703898 171419056 249292486 505311716 598456316 673913964 273526034 186811878 34731980 933331342 623820556 387756550 132474220 454146988 185016330 516509220 7331622 153897640 796397534 532897540 465497432 485128340 933158052 624921434 561145494 85344016 372346178 58736552 488089832 834067828 193806536 750477804 152698418 252207384 602871640 904702470 559210966 433789996 477028542 967102026 772771600 254704596 536769012 477370582 938349056 215572564 564075380 705791388 229599416 617480880 979788586 514464132 132676578 178047270 640467866 924174990 624252642 854907464 962893490 668511808 890186120 91804662 94689574 868983190 443660840 128418594 897581452 770794216 480015314 713109616 281160498 726817900 625552968 701914790 609099220 231127180 985334436 971671846 271231712 27743800 84471864 928096346 3163722 338733404 645726350 707207238 6413040 265050892 269420394 498527020 768724630 660978990 864547988 904556320 983854738 274088926 705593456 463970490 795574304 790048368 674630898 719749328 810903184 15174052 810543674 115757236 822785710 298982928 751578352 579457520 686672736 491984022 304452110 534321376 468501076 208723186 474117458 100059902 599199580 71630018 427075146 863486056 947097548 908233664 491200282 918739204 115979782 827352986 462147372 121095552 743980368 911272494 166667284 478287882 993003880 830535962 488454002 597436102 431624140 148896682 733113616 945857356 592652648 818225024 402418936 858436558 4903186 444765776 337298252 320749722 161081806 89603748 720501974 275819322 23902622 67132608 730375856 702456818 782727662 623702644 757724886 914770780 861796588 348852258 657529850 636982490 596200488 847421004 788325086 275766486 365059154 824333084 378125580 318866236 783076846 671276432 678234056 740778050 445770320 842040372 542142172 345352032 452268530 925581798 577231462 185640006 24634650 170877274 570530250 541933158 485389038 721289742 568714236 897973298 636030566 934845896 886733716 480960112 73877694 851224450 945970120 933958286 175943184 666189792 256323264 874555856 741425746 876252598 565294644 127526626 201761564 236414508 397067986 768478274 252811306 915334042 936778356 277766380 684131608 354420356 218485322 935535770 424821006 609761408 578786048 802824014 933673150 89453098 771074168 434240854 740386472 522391948 260587744 564185978 716240866 806757808 758552254 244975556 195553580 72285842 308071298 188084604 854586182 328921430 82542296 676893040 191040694 465665254 589859862 160823204 198150390 294755198 383538804 194870008 899827098 433270752 432010668 777588974 958707614 758585428 758387960 70564540 247409208 285669598 301678008 963703378 168461816 795453442 371278396 471453056 440332446 252615914 545409356 382261208 545434614 938315348 882965844 690030454 19425018 3652980 224120956 50239082 593316914 74511190 101316890 520090122 740216462 592748500 91536614 94970208 294751354 42160666 845828060 146375208 830263990 526093618 102404572 166423764 986418224 882240330 268994164 539047904 488938326 872142968 869849080 582108134 502972952 702559174 480617386 978623406 550797096 31446554 756800050 641675748 572803178 473043072 623288314 388361224 952943906 361415200 673995934 367647238 371003598 127214566 234389866 872512962 444773074 151164672 208393244 379115238 725036636 891121442 634570650 680944090 173945528 578126784 309959848 338631966 718849688 940972194 376055788 528863504 598320314 82057586 235442124 903325912 11360972 439618780 648317640 482064242 920514260 107656566 625948748 760734604 984937304 806894706 752792674 918623306 532933060 936066602 18200310 22573296 553486266 858840880 76253384 215178406 467741398 679842864 271150572 959855406 993546042 658576700 370579678 553531800 144276236 267314384 186034306 995794776 408497406 685273666 14746242 842603042 448541238 890877854 983823918 744566354 952574750 930844182 973402 470122764 909929330 546546308 656700536 904564984 924779378 542084838 73097922 985127936 234622852 576422784 755044660 64605444 453765290 322477734 168863476 402972922 942627972 98141510 419617718 542354104 813231886 228077096 101074268 379897428 433190704 307076884 495577986 105532528 383419360 945947242 67909608 907726790 922307740 978233762 94005888 791962546 619860724 650576670 690052670 764421238 182826086 737542806 611482672 655166 433883800 425475196 113365010 739477018 849529184 321683894 233316914 980640934 808232706 669022558 101423626 429703032 788427796 707396084 104279400 165808606 387610860 441398220 346043894 189296808 170589758 763849768 49522634 438675384 923468538 939753792 120173690 973490300 162783372 120523692 268929774 598038984 530583318 242785780 151158638 571243540 314493028 941113456 260726046 363872742 570084958 987732244 706472332 565379254 784390872 791747552 907462108 890971204 701948982 312144846 817289740 331935018 445894558 960780212 924448244 765282204 767097130 654401096 87931320 27602150 255247638 19112338 385803252 207798184 874709558 823284334 588000710 389228256 357715316 585808272 15112876 359360318 899879374 658135770 714810178 583422358 44623420 257088336 778898640 28147512 265141660 373941980 95287368 45779398 845055674 450291148 648948934 814884224 959643502 820854898 382778404 483134040 610937694 460923772 448973016 641717968 264806586 320690482 831519126 470932086 262864490 199995890 152235016 418107936 568462020 707133986 117385854 606497074 726914520 130180190 549503290 718381592 565670292 673901076 882632222 155031044 878465724 50186656 634314382 800830362 297606864 94149134 550116626 762907392 292996704 431431144 945038926 833770692 781149962 156032638 741766026 854942790 712522206 781317514 395034182 815006624 958709534 582517656 166890250 930780858 807606514 766372794 841737482 461467236 58920516 305070970 199552686 880657294 872268818 204431476 639793126 492293662 626606556 17456236 369495162 949277158 196123452 872082846 50838624 744995878 914822484 467052404 622167398 890389904 757037766 705274244 226175674 375605872 134714360 431086912 581005338 21788962 499184250 22736084 487261750 160131458 942676764 697329494 887006836 241761226 212300156 575859066 716100722 547562214 173131174 939218128 65526826 248600456 460817614 114830854 712717520 866826026 418496104 360624450 936366828 351769216 445802024 992658366 457462838 527047416 181201116 348060162 30499422 394481776 668583658 493592236 471225516 626839678 94202842 938224918 416648212 127746458 575055780 62769594 912043742 778719902 726952186 614761666 851883614 994864288 938671282 114902664 970745590 264155478 194570962 364525592 461480442 799881904 515265488 912158018 405104634 257397836 768545140 418444756 399355580 999497444 276532806 615173226 200718972 507083550 134906180 134436308 604460898 730355752 123669936 12241706 919940940 712768776 417795464 333967930 243179964 157928514 137575330 45541010 901892478 923184236 590879738 556865012 72831480 486120698 351375514 585775134 735194578 508756886 612500616 60547202 36118146 390334948 390253744 456814344 867774818 896070556 78248708 149232954 354928402 751930700 771647882 657536450 43112528 562952194 108293246 720320796 449768174 112498726 923759708 888149546 810827304 638463370 41066628 553002364 482681206 178260016 453950840 407102224 669647418 976378708 725932908 819583756 571192680 592314800 50432824 458736750 851821062 318891402 54330528 99445676 45599426 330605740 797555212 923708362 64944890 41825174 381193986 661143126 130356176 343802328 922933510 323025620 885434092 472717224 798932220 38490752 400171842 409010618 427693938 896594324 735482810 916304220 525360878 279373464 238177252 903471088 667506744 747378726 178878012 969907292 990563848 304048526 709897282 406685248 497064262 652377086 582670922 211681830 901645204 124209206 528031638 438111030 959366026 878771432 352754552 670370000 561248612 773558712 844522154 883097806 889394014 98094004 69051228 915907170 729503394 94791490 70558676 13366182 645602214 952664274 465983424 210773180 457152350 298402004 292456612 568935462 562988598 547621250 279947530 124893072 588731228 109732746 45375200 992131882 667565126 781346448 336124526 128108516 592511828 965841840 179886788 166550570 610233420 725950888 887159194 293825834 551589564 896909538 780215350 363248260 646915032 286001650 557894028 72784284 573502638 368310714 719954404 563295864 382049652 940044550 664148728 588566118 409573214 204020080 569000372 761647192 760135684 770221316 388419084 529958378 367414758 974683782 204908288 911545856 425355352 515094432 837163494 675169918 729228276 535987524 230177964 50139794 788020466 326882840 105219614 737335456 450190830 327517788 573064728 457229148 204372868 254713404 924419088 247710652 592547272 700586846 485401280 178404062 3655046 920949058 776818252 607308414 702152222 933721884 119685600 458419794 575697316 938430222 64583630 422121380 828696808 749865200 37067848 811786692 316682432 633937130 602543370 55831586 944079944 95536888 666228302 512629702 1613796 742459948 107607410 782299460 726337330 703575432 527536330 173872880 916254684 5385336 410647574 230212502 774196212 154423280 720438652 375892116 10060348 423495754 146578022 393469196 895414078 619586120 293711704 744324964 753378268 535989264 769122886 999477846 841515160 648463234 427759620 841235028 507182722 594633876 754770540 981204092 810847912 330451668 678697570 200887500 300667210 406266950 117497260 492003434 621985962 573843896 682440954 995186534 397873138 73731458 370094808 333529812 775793158 691628986 754961964 868517898 35052858 236268404 953301532 196753996 619993826 191198876 808685834 840987642 830798610 463867108 814147814 446100072 796991502 216841084 769240344 296246476 614832656 78107254 204771702 269633680 63736090 447334272 581367580 95267366 543239646 330642836 478926200 109638124 122994294 773612224 963824284 419793442 818948746 138615290 160023632 376651990 673041094 502859172 873392236 5376000 259871000 982338402 411081860 5483146 198960784 986372762 375993996 929036630 230974982 326263724 461838110 201082718 526195978 815956388 428175726 390507652 799122040 532766158 706193192 44188368 981736654 36867482 419714016 50284300 654935416 300689114 49639112 107771322 644250656 189994136 164394816 433969092 558089838 892130476 677902998 527874996 445500216 681342890 629529858 798181088 16746684 311315732 587575106 493457848 934882780 155415140 783043982 674537388 371503878 430724446 560986334 544626614 373245446 678143270 132212978 750480292 668735690 62449610 899621800 463106230 248647602 922694440 979699532 198928928 736138272 901481258 670956206 123207182 858469314 74441190 530189952 561961120 651184862 797463006 567729728 496888758 812623392 91235238 772397038 581882156 242511606 279248204 663417340 889331376 441423110 4614604 181827442 161152902 332836176 47618146 66131124 305301296 753835304 299499168 252752856 232847448 293402916 900324986 928025018 888136016 471059200 105967072 555827928 756459854 379172454 32111768 317192260 725260622 961343064 580747706 825542628 122218886 481130340 575874968 502684714 811737818 276639178 277820536 251993102 977151740 755118208 575339608 364442346 21423464 550920324 405705318 970083814 767337750 878802214 397831498 129222608 122896446 771701038 570764452 730077700 182909578 860449322 877857388 460866018 447672550 913793228 891226046 981449870 975069538 670492060 593704548 298606550 897904764 242041430 588135474 31715632 226566048 638284086 683395302 280654266 365389166 502242308 112770652 836528288 738726874 666497640 863030934 961462454 751735502 871280498 373203978 874814606 977429518 610203360 694435218 735005484 819055102 619798750 736004424 307328174 543422750 58963956 52207724 963401124 379083280 821191512 310393138 293735936 437772374 395171414 765602350 128475906 162067236 529862780 140789894 966841578 693591970 36379882 653414498 322831818 72821232 538309854 398445710 277005228 92474424 56525948 566898508 164775510 990994616 970064502 287470850 21077694 742166858 699776928 450454428 518297298 114759636 731743802 585856350 928785688 999592126 496492922 573274790 164155000 26716380 829294128 516014984 676006304 986008716 392608518 142926862 972336146 759964188 910208744 363908582 715431026 437141090 248734154 657192084 787792954 352235150 603318330 85353916 662108170 516562544 391575620 628038034 895103718 211907288 356463020 615535664 659555498 80579222 377706438 411888466 684291160 652470090 964832974 490413050 997528370 611008746 350942790 775650524 398963810 274539720 508818446 324242028 761247124 582260496 699516020 259013664 481177970 887262850 642749892 878493316 231353298 821285616 949953866 438384126 565451500 589317878 887572208 61163102 991860420 381679116 780202092 789356316 636597684 448778048 999615190 514948554 491308744 509034568 651382558 274794302 576543080 255523050 267062778 286046668 980116496 665465574 790977818 52608352 513872994 399244022 533822746 526573972 329326470 860741224 450279658 252795206 296495156 171317892 713996010 755128764 371436586 467946554 469656506 16206032 721589434 883676642 470637522 384878788 909045570 101309992 880648084 472734120 290834510 69600406 803817644 938583428 430201854 678155308 360111976 434184398 862661534 451991488 401316918 796028254 559094390 817668684 405129296 319889344 222983718 480674812 407591218 568399544 779826924 735930850 202011628 220146392 512283186 12345960 957453152 116256824 280264386 265225728 593265360 103383498 771982208 655043834 281443254 669913064 690983226 69797596 220968166 241840570 889570766 443702554 411278706 719797754 56834344 576183772 445752902 464984026 173238440 275142250 739911086 894718226 992144908 699525338 599946334 786033556 253610580 47795712 361562212 701403394 722732418 453091802 93019406 254932018 52275316 76280970 776848908 446805384 714435674 271642142 910332596 857150440 664442932 108190870 143533184 779455140 2598250 825591918 317274660 192857420 940750978 46264790 563323330 452725296 688138240 220311886 125407892 567870504 911549730 380483686 302374670 118826832 497819684 803618038 701145752 550529402 451493152 773376604 424590958 93838002 923831674 842344 194429202 516565712 236731208 788151438 253814964 442470446 466250098 730154912 141446350 40769776 50895608 916788412 283708116 811838440 216797168 376792350 183915028 861828350 169971292 425066144 503807370 479102494 351290436 791043606 340350648 186499944 673801396 866748432 627726200 730477118 8039248 661178536 805952336 86025134 593874004 543890994 508878012 964936656 293438372 713336020 815360382 435558582 591792884 363108904 423517998 659225350 319104582 405563394 470203796 881205040 795734150 261203930 580654482 633373884 617210456 409280206 783344686 542749806 746936964 823266622 645832264 311041552 590601122 280888832 981437080 864003222 132617902 854222266 121651052 727214968 666551690 318176434 256639440 296513980 985480518 621620806 539982290 428744298 344390112 105112984 888202772 363155620 91465182 999678748 10660480 464244266 407444444 272787392 100768134 8349160 880261448 10823584 722770984 583827282 541304778 385109178 566676960 417186682 556324456 672502712 792899974 841321234 481752686 482601850 229778784 651537224 7292850 904321248 101453182 377307182 365581730 329978848 278169158 513273778 699295490 34885676 94207192 886779286 208718714 642598330 262910384 164310226 618672242 125590784 356650722 47689492 564265528 25711528 777737784 52359820 600335072 566169332 627671294 865967506 892369776 739879518 983837408 443731062 420936808 540105708 782912430 502989802 941720110 725708248 569224846 359790204 139408094 360893226 174146846 68829866 736809850 433093836 967031568 85031670 895995116 114973532 565778582 788177466 849577174 649285248 937990380 700627166 933736462 356159388 569456066 993142556 269313032 476360934 46017284 9369374 541937722 236240126 94557444 937359012 827603500 703066622 271837700 437288856 712063370 834676394 12107128 320640370 998458418 906864846 719132192 34203112 980450978 659653408 766121226 721776306 11903008 723462518 147117090 279414496 621766282 868131636 336291174 462388510 748924586 763553868 712248338 970255456 868256626 35328794 129053714 276013074 268773178 780495854 636910226 698076842 602235588 292649656 684026748 466465566 152110216 87093194 819392164 191784826 161757404 298164062 313321566 107160432 224854538 366056988 482995482 605266564 136879066 381277284 412094796 438283080 188935878 637616870 231175276 612818528 238129324 864446158 968571314 404819956 345451216 488338120 974944250 651834386 597310486 35449618 526153332 520962570 319975976 588508946 161052610 9831666 34582012 233815042 656807976 589908220 394237340 223337138 76311620 872014442 135021992 916784196 835661536 668288346 926856372 885563000 840902820 532711958 506551988 419442010 861760572 760472902 530485186 537977548 589392084 641181810 957066972 891776360 329249936 885981178 558073104 303741710 935018566 255436862 693998618 772553802 166792784 461807548 507156026 79507116 75694968 820250632 243057280 574669464 196456556 574959244 922352634 524281390 623913190 634513468 132843474 685498140 979786464 862787174 298339114 774026324 102373802 268405220 762989700 589103754 845952396 458773010 135814278 407594570 409082962 590199494 486469510 844907754 272911544 536441736 783508280 496137344 956986478 222048994 315088124 379415148 958759690 306293834 342320462 654631808 693011478 168824894 682304292 543275082 424175602 919524114 775629468 100435702 589649424 322609538 204868762 942604410 309273310 924977080 551917474 192595480 759706876 55996766 852115760 626080166 887708754 809913912 237722130 96763936 663784086 394708388 599277380 395251244 321364720 983965256 466515148 258524280 258875396 493129634 831906928 385664038 397374670 82623436 12129484 790055822 884584414 504531194 836010972 26332928 266934752 358474352 114175554 959198892 134131340 619594434 595065384 156181450 534536614 136905902 606606422 544305958 947379886 547283756 972421698 832656724 712946122 200688390 893227354 467537704 61666752 795022268 944617538 285293072 949732138 173339028 637857742 120993110 770001410 590439952 982245284 226055978 878322652 560241606 385673454 607764996 260607994 245989002 105703880 504391360 369621904 527205474 582018764 64507584 849480184 94802716 922442322 284538188 239328248 693987106 670650890 223904590 142588154 976055662 884476500 778313758 217947532 304762288 908345008 614091324 227360114 858864582 319921514 162675490 393539738 267798442 461698900 493904310 440526096 254502356 198621244 152441494 947861610 534689524 631509482 186606564 710979398 899684062 522093958 674613474 207427246 159525036 636559494 481238832 957436422 995574306 649893640 529250720 575565912 587300108 743213036 50779190 619962458 669018734 536863716 738506120 623676504 474403304 847776796 704492836 59770028 834952420 521284338 612617228 988753928 608636914 711039748 692311698 202934336 923357066 132713190 140404502 772047276 393911734 389463246 89164010 757751750 787324490 506786838 994476516 191579174 757750802 826227002 956217554 641367586 571562514 855583316 668196932 439522010 631947868 421199784 38100256 539165924 537748722 876805970 12861228 562999804 92304098 465021818 380317078 162021484 215732004 294837322 512581966 416048120 483241808 82125074 384448714 599258550 954379498 880648586 525701726 448609160 430942362 598006028 191611696 145995130 25217200 518821926 568783204 44401746 399876310 45519446 105594522 3956586 798709600 941715526 859787576 518353330 725532040 520325194 546240624 49140566 115073670 594258144 577354452 678137442 570692734 274499374 698332522 839138446 913581274 509342436 732684926 909209642 669250926 763776306 878092996 616906058 461658514 714183280 218731558 631005834 212276774 27910164 536307574 317338140 497048620 595280662 77625024 567934088 746340446 142250550 391858550 280705150 910496558 262887116 252954264 962107718 383050602 178994302 528949362 499750904 989790470 241068250 839254694 74130044 918858872 147892784 519992310 785867640 122443088 57311360 305817212 700095210 868683222 172300898 442837014 899135064 807167152 571481066 985957354 134789520 865251490 831394762 539900942 974321940 237177516 974824344 990215368 40984968 851201792 212645466 237169274 952328056 775054344 281259958 116004384 572260968 936647030 491345922 757499008 182714294 643851556 740165886 39354936 300711816 658338452 260584784 646869676 943664714 754276084 380629456 242471380 946467882 616738060 663660750 360196182 503724952 273999912 451682430 131293158 383537566 643211342 698895854 289006578 70157006 356857754 380958350 881034330 194962402 294051642 981401978 353839466 544290264 260106060 966238196 121719854 342332158 172545542 454748814 909328466 477255096 335970994 261526304 721824166 141029870 594412780 277530038 539252144 803720284 592606024 883447060 560096392 163175614 958131216 244358976 826961970 171045958 348221714 965491040 825440122 783734308 372431350 424318136 57820522 24313836 855158306 736723598 816512092 264800740 836631554 413886356 439083756 543346320 420028412 614113336 234747462 907489860 708374954 749221602 4981804 72226456 348488606 474827356 199195798 788174736 642460674 117811326 396668780 755982502 126694920 96523810 59923104 437861436 478610568 191600776 213705652 814952296 788604754 649934326 617802668 497589768 316692258 882748658 224067338 904728594 273681700 133862186 749089468 470931838 477279156 481091292 682706260 158309206 318559056 563257584 752263362 759281370 40834104 552782810 575114650 127302274 970148820 129607684 343499438 973870702 129416172 414472408 845308030 246801726 658304974 553470990 967206248 175600886 621832588 6190472 366667204 803108364 281818826 750688514 407006298 211490826 869064166 800726180 14273612 40578258 311694620 60134932 505933740 746096842 55601820 580388960 945631782 335207644 185884710 803407840 775414782 394625224 402459636 434880588 864447878 274951018 170071164 694727396 506509054 576673074 953739836 349538742 313874408 205412616 857748474 272279228 857982114 131612938 803559904 627794410 720614590 180365102 780771258 647723344 923043450 657314944 848317804 305440150 425353718 675624656 11773980 581286610 661750216 522098298 983340998 699199916 545453074 521498160 139129262 752458270 836421996 256096348 789266272 382166930 52437502 670561534 143833948 340570474 100610022 532208358 168626912 783385894 557610230 664227078 226658228 599787562 628820160 192968282 50614558 112388202 261957366 770722626 175088432 345936902 84347266 178807762 895827280 176477894 124024058 847382192 482798116 596876526 343673250 670541490 326489542 252197604 775555970 141933080 181030600 107837922 642295614 488557964 531207666 981743562 409810782 305177188 672062104 936816590 628913516 17726918 277175044 193383604 69856138 651663086 324601626 701378770 695335066 171681838 389429004 835518918 497471946 449685086 469710652 799177220 337063734 279810684 189992978 594374212 150113454 384412410 567839346 928121568 952724262 965106854 381297542 904949248 289875518 995726502 203710212 724613958 646676286 508483860 597472838 96396654 499966614 677398000 644204806 465971852 921858314 635798808 70413498 698933048 404871490 43056150 550187698 709692882 532385116 637712200 458214040 401542884 531625386 206579696 417211828 120593954 345406244 427465840 244414934 264639724 19861560 997629766 42681864 337311642 974904148 214729454 726540562 727042982 488533962 674298274 104868272 391029918 343986416 35816776 94334240 877391530 122840526 913239572 515545782 958770890 517544620 270167468 362172008 455221880 808572338 108297864 35161750 599917492 887077710 209152956 239442360 639943794 31136624 952753256 924286458 240198448 654999416 128180640 228978926 653132574 626717628 696834548 979968102 252414490 254721208 195843176 891437432 40293572 663256800 335247628 561031832 808899312 873285944 746427924 477215704 585396980 231128044 535663490 498273762 852244956 708969060 908868700 699451184 543656998 486402350 501889710 942657208 794706278 423396058 211046174 27783214 472786326 106557892 263984904 855726896 200764390 333899172 961367888 196886010 287716538 861538960 594125132 91945146 780667892 833653202 732592650 936929156 752093026 889201664 11322632 685500632 574223400 436155708 932648104 93739830 319152232 794625272 133320842 184671162 60896354 153682662 994725220 408825272 592753384 81914990 32053778 787115244 373039172 574490210 505197230 313409156 156231722 747679964 76147282 334826310 228537454 838529044 527676222 335709614 693482902 738598936 891494434 311605816 432174430 579822530 524844934 578673674 303333626 798857020 615210450 886319102 637302512 848895758 741781524 981425776 146875898 357758298 785413564 582262982 711787586 276651866 226135844 424414156 727603324 292353512 362246814 981273850 10575224 367415198 496522606 337268672 516397624 662446430 300947834 888975822 904813098 512774908 880560512 257125978 934085518 468669804 355199436 496348822 619440884 575288190 51194608 643249778 357788342 200757270 269534916 193015506 377163944 487112082 355685604 417995360 421971936 133227252 656614540 139213746 428421322 636982766 178243766 31050028 91903402 416356622 613960682 802743174 880122856 267309890 222496226 227245056 638671874 296421004 578173016 902619812 808038214 756897352 616821168 966414298 330298660 407966894 620368874 931454174 303237350 127224370 928806258 564243124 957353416 735593252 424192818 46700848 625147540 726116450 938589178 661626294 933471406 27254858 650161748 550757200 671391040 732276856 277579442 460404950 22765248 408400604 179595126 195565556 531446648 258513666 413934318 912529862 371407216 729105052 809063590 880110468 464995866 59236146 998112836 576001570 653854874 101117324 714163508 979414086 886743024 253806992 295204658 478272166 603295372 898755788 140019902 415778160 147138862 843450180 707001834 856525236 548307894 492056872 514962028 747442084 66504334 825261014 95581842 49679392 338765512 731522988 66887802 290720316 833980612 385566542 968833368 908875200 844919314 165218272 788210944 598166834 728780802 649207576 958315448 420586896 261392038 756150616 716971140 106282918 288545312 184102664 89105946 694392412 24815656 771048916 680765986 197339866 211096214 325192656 517112076 896980786 418722776 402081154 896036396 504886802 423740332 760740858 747209420 596249136 8225018 870014322 371931138 619653306 972165964 671408876 471949154 911187894 793760304 578466924 584528806 744623154 804199202 155720364 522740110 767975764 395029522 726121948 490370722 245450576 297313926 647483242 9542516 702925272 453032902 628535478 553527426 614283718 48032384 844056384 667169184 711601076 82828898 570348940 384061850 157406322 899786982 289087898 219177868 891841132 602418404 767099466 710031612 874122098 308126778 791208310 513949778 588988706 859928482 454285510 581658462 732180280 789956302 756508936 272470698 24594800 916428084 448227390 187091266 411987402 984787064 808949950 696191518 670466492 733482854 341392084 896044198 475633736 147936012 191636444 752148842 649501742 148087090 481382790 658788602 118163418 978318104 329118118 866408164 670310800 673027648 593403716 143051402 605732816 725224602 866103910 766244550 39055440 302299282 439556710 564733734 497602688 306679350 91656808 706247544 56947668 547465380 713735348 225449828 786693824 777776226 241180694 406919096 321483342 887332946 342371022 886116384 143513602 704085572 20301084 385873668 796439918 65864050 71781038 40816586 137317850 877405804 820615828 779699896 797693370 782795748 806272384 425351498 219948178 781841976 760337848 65300382 125205972 557669244 254963734 546544606 765505026 8644718 797287840 455981546 570204578 837003394 77508766 273397076 955213754 159114324 526725236 696447804 98469908 213517402 265313406 358665526 995940774 978112210 929081748 456623680 899711418 271718038 16705434 379517836 378669424 956677134 344734554 533622326 441643016 27003002 274081674 718662596 636774970 767476044 622825388 529854428 213442056 566155608 272957092 12414846 425990854 894035146 482462336 604952018 304884898 951651528 492490582 735597440 187546312 720659402 98523544 536516120 932886868 282050642 206117730 60570988 917070170 289130442 3675188 758515390 570720800 964926066 973361568 839890180 709068066 47480712 511526662 734750408 534879780 666390218 344655854 816532454 347577378 93510812 730199594 491650324 435046732 426071038 235250200 477869578 125349736 356608148 657383284 797671938 399015966 364063358 309090370 623981094 68647974 49268684 710009524 751916512 133760874 773661402 593504336 68303484 505808868 25167592 252823638 874638942 83490782 197619966 104227850 785369958 78340368 21994794 656489154 280030636 817428406 327618590 987165936 300353230 625860048 116760390 396227372 765179428 494752346 10806184 773648638 341267014 488565974 586554730 911270472 933372330 872066806 876708946 150963868 412985214 49495644 131946662 81907926 654099368 479335934 191166474 221686540 364033264 546638794 581290526 436906370 809963522 826875842 962537502 88081936 828911616 729357204 612361992 808383872 726372430 295822850 219200332 329453280 845321322 317098488 684265004 208348150 495666014 920449598 128309530 10736870 370934222 398310484 598780704 808962894 970951996 285608270 999333644 455447522 665820482 194488138 968942432 5008260 57337566 278049690 92773556 368586008 181544520 919558820 809082350 95205682 109760064 86120176 77475070 337728366 528987992 549945546 872632696 48914568 737545660 258663732 829687946 182952824 182933344 754922302 909278270 646526974 803147114 446046796 688620030 82273186 604767102 930277602 396006554 251623472 255270132 735057806 795799258 813421386 258133872 564701140 693270350 376038744 700005756 368602102 642222834 873322710 14030948 134441538 443768578 677974272 935611794 824721212 173957852 876005970 428778570 432820180 951843880 163315218 110988530 843110652 755583248 399160740 3626080 835685898 839542858 796377634 495232966 990081072 337678726 776236716 459777230 648238238 625330238 163108074 293505408 584791676 187849432 795895374 567275630 280896222 668025016 688954746 43336806 115527726 62837764 863130080 517801720 474054908 937621990 762584700 39986664 834266108 719579430 111606486 785386546 807206230 462298880 629811796 955469492 107952656 383983814 419354236 493711330 725100928 534844724 744218638 59888606 119123836 498153204 110719442 323911460 973327430 418509254 324764952 297899236 304655332 491998486 811886870 637285432 464278270 590182118 344692420 520223228 71025988 446126138 572534602 257838 817555710 369660674 235999622 199845484 885125970 918727294 781413628 998544248 196462304 387439242 199613746 164833730 64313888 852815982 302826762 730114582 714713220 918408492 750727318 197361658 684861208 427336592 398792800 420490372 775276216 424981998 37408676 616310470 822604372 886747940 856691274 264948244 296335064 741676766 407982446 401807690 723031320 244740656 592348564 125535410 636475592 932888660 113745228 37467878 550585528 788021168 678153894 134735356 40089272 448593202 109970188 318043296 558028872 813019520 520005758 789915172 976495372 895278370 286104238 313177682 944156146 704614276 183901362 410252766 514427690 261523738 505897412 546455332 720752796 457684862 952716952 898190602 939862132 731247068 881301540 304374188 762987320 960538986 932341680 880829218 989924490 399895034 940788038 13539468 469242536 682413888 743938502 997896584 786312562 11670740 680842914 332975400 873456332 534334834 769818964 288716886 696928276 473267688 573177430 352223802 708596286 891350574 925033940 905520368 797849346 141891170 156018708 15311410 494264254 646895328 667291744 79578102 895094966 226376226 72406508 475124862 719426026 223010152 925458108 167594486 16032410 365022500 131752722 635880132 989547174 831240968 665802094 183381566 931679582 89434118 728680228 108759042 937253608 968971220 447756980 806647212 611103876 773091422 430678928 555469410 258953414 201850282 122271396 467166468 25670132 376711818 127526596 277384974 961520270 758121856 513487232 451809822 82516310 908310030 764009272 111914954 949498074 738679582 578994132 84485928 82673990 57505750 201308318 809139602 924948688 332559136 255688154 508302080 660716730 839440464 43093060 917057040 569607142 242186816 166332406 235582290 755282986 100936864 62809906 127427128 758990498 44371180 911161622 957553814 44771328 946780758 100343506 9675478 680761624 522770496 152933002 512736322 510074496 902349430 713491464 739990956 973285084 549790372 477995154 901992450 797492866 361570216 74157280 387914100 991915166 372336458 770644590 75914918 275713160 850867548 331926188 109747006 778490974 362688650 805183174 661835238 59115644 206877990 284510464 511442674 763801842 253278494 601210792 85762636 185237294 16357514 228730904 91663776 534341974 517311352 168206056 127266744 301744104 222815406 704343490 597361664 368236124 589717600 825504018 746196820 682355012 937648300 537433034 3622490 87506904 105552328 85242962 333864926 768953276 370465282 281360902 293815804 354465410 422698564 304047034 233596888 825256804 583162792 8106468 925650574 195560600 33622768 167867430 163870206 909981384 336167606 50688506 647642524 1948742 413873940 992062866 965501352 912444260 643003224 778151286 319535808 414909996 271500316 458356052 893671516 909139644 501125014 247416212 914309442 417409794 852865466 715918824 589718990 400489758 389823656 954308004 707955842 678455252 643704668 982859128 351686694 435864960 422780314 277618346 526062568 953646046 17842270 769191648 29746732 681325976 154941612 871321492 811906520 428942546 918369002 914444814 93369258 546556174 286535164 136546766 422042638 797674594 283369866 957675454 9394210 6140992 717192028 646390712 173451606 499202240 360516528 800440430 482915800 768321490 895451242 93856832 870140158 104590886 822141930 889275384 620609842 773867020 220981750 706531942 151316578 416484946 585726830 913044468 140826942 906025464 776544056 844809332 850032434 497884014 885666382 112482126 813612766 273008334 29692786 65296800 392302604 703807696 246663090 306591288 580785950 703032548 999230524 214341748 564075398 841223698 623777896 790682562 658078996 336003842 42176044 114689294 985497530 888015134 11071778 686581046 80754748 534077736 842367348 309280826 538223344 153330974 279119004 813475916 17965642 219410566 848127826 865359590 515520132 623381780 153458322 14250706 794298432 328865336 8773138 93882224 295455126 256806878 374558102 465307076 911934626 872213336 303053206 154055766 241076628 710715850 317610298 433629556 909434640 10793678 763368706 777979330 759781796 458379686 27545252 72764548 350846656 541620544 956727410 501244022 552217498 67334130 54831198 179531158 133166152 703337708 504458054 408732738 735104180 123008298 84359014 468280144 244709606 74303620 107907702 174558916 397196302 566327924 311742840 38809954 297981760 56691310 642482452 897957326 217442216 312480454 10541378 410470748 903134194 445551384 348616910 264795914 312596982 480066882 446309058 366705746 44499604 614257256 705835536 902228872 135470790 56688624 875507428 998073126 12631600 593147360 791286288 202118046 361724964 768877372 918602840 389034960 737743924 419979398 155299584 621025620 728774994 382667122 408994022 39010814 571928606 7758326 540074676 249677128 908556874 704446894 273316674 998131550 634661640 428502942 278707382 355328832 337161212 52844318 791944744 925867282 773434390 332323544 818836506 509798558 964332122 206766810 273191838 343260036 474101358 884571166 851418074 916638202 509900278 243019258 8514582 279798644 807013114 833808304 9738154 780716344 359275742 763290414 56189068 875462474 541946486 285481366 606922780 427790522 238096072 311314344 114474054 809859698 812383848 807420742 604929760 30713516 777913568 741790560 274720192 693451430 980935524 280327364 466982308 403632 854203328 840380406 998529026 446759400 769025506 491360576 815136662 538755608 161804262 370887302 324731234 119980128 717700008 540301666 715624850 751702730 918262798 158036754 803633354 578270582 830431402 777665496 549020748 336878690 308807640 309343498 991028390 42328814 413794718 484517356 588136512 298917862 793350632 550730252 512461058 89716938 617891382 263221520 179003668 816684492 863886412 615612564 684257442 533595290 897579912 564730282 159462324 250618440 293199832 816969802 249437732 168440836 397577310 648999924 627533036 622390896 364380650 391608880 592324060 819118930 345812120 477930490 840574546 890907924 400796900 984983468 959876964 408868528 677548468 431225162 676086332 277995584 654209166 405653702 52717840 135666032 398145928 185907204 711181234 577354508 208079940 208358874 547175392 321817722 483490666 947592696 976378750 723963420 223585332 288989810 852382458 766890694 521052362 901414780 680170904 630182164 854219984 794923922 803417570 147080456 976327836 53133732 709573350 976069882 761907058 105753932 733290378 298261656 583661366 263657160 909756010 908987254 99841010 84854682 282590802 878783924 31184420 240772492 333644040 702685526 625149976 523312294 202595238 927639720 996036326 146845286 198946296 402446050 912344494 369703040 127691880 344443318 890218384 5581488 193737834 518339010 976827090 447790544 234889406 304732616 656130682 133664542 727229376 687511012 312818966 198165216 46523466 413431844 454872296 283563604 387453950 410718160 549823294 205451948 792436428 941107642 809997676 521161292 551501562 675881688 444321676 880616754 960275322 285353228 805653764 756516614 701295806 256793250 695847476 612440544 989477820 669302330 885352242 833692720 884282552 885966588 690893746 682933998 261771456 219294376 336633490 279700000 659392378 511694006 570666684 429890486 703722592 628447808 569236112 267349902 153484774 727294510 224611062 379022704 439184596 454688148 322042366 861984780 948615992 715103008 859760546 236538198 747040340 868953714 532372876 283799716 378886342 942345004 798437010 36970190 243890452 457203202 636609890 470989384 819603884 69164980 297312454 370465872 52759176 898543098 365133964 17652912 242026056 971143204 80870136 400382664 201766744 824969670 688816726 475611790 680119072 566494562 762842718 729395500 233922130 526926106 663506564 157277754 141951918 177010016 440379346 14065390 240689560 689273796 957853576 161578470 795951170 137279062 502612534 911677588 432432134 711067910 108655440 163548298 170399936 262494542 745715542 941284050 664152372 687455758 218501832 97335118 30497810 968864180 996290000 532107708 269059698 743182980 875771962 238373442 791719410 976455864 876605358 312376154 510594240 790014928 725854950 938932028 262433474 149700726 700897624 580037508 981591238 423540462 816748218 729763026 922591876 941071518 539761748 978298380 464930346 693636420 565647130 637964140 532105976 57831836 264340590 734638700 356522650 821975194 51937562 104711538 899001176 381952460 41255986 232585958 381799966 151244350 652917272 296679354 138751612 299749440 574806872 390101396 590392888 506624732 578457688 904465916 761146450 195275684 854997242 898842502 341088224 111861758 107131750 792703306 727032474 262197476 935208860 648412720 139731224 5821476 592803774 285488070 346974902 729236808 586484860 489277362 56664640 152463790 705052514 645054970 339591654 359043328 880522376 449428360 564076690 522797754 527458410 365026218 250088468 273270002 833364548 197541576 119941178 645194102 572188372 327261970 617318732 538223406 646669632 342403668 498164718 209624270 667497500 108293396 541641254 923871992 257200162 807442558 352804190 396443752 660457196 951308988 219404364 445951268 306416076 284662550 360779372 850298120 663740094 829958268 598402260 445582356 433518418 538705288 97145174 865540572 700866892 997537828 551587282 919745404 839428278 27211044 576043720 260910884 641093342 100877458 817485304 381119582 276995528 819623454 825543052 111707678 997506122 678069062 918176086 622686948 998887954 746673566 751144682 797888160 494975792 622012810 125781282 430914668 140074946 599796990 548575678 531483976 275477106 662410158 975440114 579138488 430595826 867213716 638101824 498438400 320449506 234662268 869483762 910891056 475131830 92145454 822295958 879178196 624450862 704003114 257953962 939825432 566025132 766945332 495069814 598585046 879959670 647166980 37924580 578202042 832936668 949582040 79765702 314262974 301096130 813015692 122748128 908389100 674034440 821163506 324005378 983859654 724003584 920900436 908912394 971490360 777580680 873057426 302743492 771702050 631318618 264546012 226805658 895792328 61467718 321690040 215749576 524152216 420121190 646523382 447363974 658712928 810411824 165567448 652962458 508104478 501862102 882974964 680865486 244168226 842479088 177690534 898720672 692043526 803470724 232435844 347301230 201379498 60035678 640409272 706792042 883263234 616097918 45878880 533170018 592774784 521122932 859167688 260750692 422896808 743697374 322406224 734236482 429598508 765745966 797918134 239424270 321708740 508034218 183274922 948864032 747282540 311526590 365227672 147465982 346022526 145748568 717628260 895362394 284607492 18352186 124162404 217577822 937546840 201982662 276949852 826857564 612828676 808842132 963619056 313096740 463682110 59552330 261191074 827976782 890843860 215847952 144722036 662149362 382815268 286489544 383717922 305314548 81879228 53241478 439553674 560281880 232104730 187770832 205496016 416074034 651704682 282423882 192453930 600851672 692652540 354911248 529511828 97377682 62395148 942596600 236424992 914355806 890545184 702214800 65953602 934380692 381872388 370615040 235564206 892892982 314669686 597565646 70502010 552942992 945899234 101635294 364850482 617390830 960064712 17285416 262266866 391409196 994019814 856899290 305324346 108515372 44907794 777820952 101990808 331485702 125620356 525630524 968685934 450933786 580287512 25778282 263829412 773523292 281325442 820430212 563017570 44096302 696523364 190902584 210106040 377765190 279149200 13509386 865443438 903198750 324707728 820268836 584090592 642002770 909828716 462889808 793483222 214987852 657224886 136179736 492548300 394238176 701171322 436833876 375567038 828456100 928999560 738400238 800765932 28080028 134335856 234264622 879795202 683467410 967075630 461812600 349496218 869153642 878938696 800879152 878081260 473234630 521994320 753783096 999750130 142878298 651232274 544775090 110415872 448078792 953613666 300946544 776397036 374763790 385278904 318774958 898398730 769253244 32349108 72266694 5761796 52961650 642061218 222585464 949898916 654687590 582406500 651580758 424279724 855982556 562283866 962093608 670823400 900261246 54378844 466052818 95935034 49577730 778911666 184281800 141818150 476446710 38802242 786735416 236980794 291908056 29651542 684691296 269893136 607638194 850264246 46012698 657989460 378420938 486098542 614652514 133139262 732072896 364341316 549702948 991674332 959749694 171952210 780550682 234252530 864274394 479989130 267409114 485005808 323278506 32016000 192472980 198931794 885686954 464918228 130870664 188212534 370019440 367144488 132551670 132208740 585027244 275827270 474475532 343536102 825294370 493428084 560268752 129731494 509171258 818594844 779954434 245012450 128154512 786628464 991619690 406914522 49997452 157753616 634896804 720021018 110109136 923360072 962759308 987898634 923615222 324426060 605521472 765865594 367291746 782305846 508926556 387148592 83857980 766902626 827602406 934956326 361294662 428064958 186473168 380487696 189518950 331841860 221791536 808070178 745099568 665891932 98920516 145635248 65949920 615090778 335256024 209315798 708440808 679880752 764509500 131963064 271896910 51665268 167033872 8583164 663034428 919481914 884207442 998552850 688055266 822731500 812574384 765779138 731430392 57129802 679633530 971624130 521105990 435075628 651699954 615570444 725628132 480040188 392337942 554765298 551896382 407108606 153173000 173209330 248383972 63572248 843821616 609865146 1868960 533351670 317265430 149290698 351360164 98083446 751334288 866634704 421407890 361517850 31093068 667232192 182975534 184021016 382873728 89738972 771460486 213310776 506771014 622328082 194108394 507014366 696118042 560009556 517210954 578395326 665263756 95826330 255567150 9083614 840123106 286689672 890235514 261207514 583294364 801317958 27690248 839694920 185342702 943659116 250863008 628840154 633583270 568284078 757902434 409532632 630406458 308109886 234484754 636832618 271424114 729621252 673272358 996223816 9580172 406710840 104057730 90401678 896246132 736590122 449435250 118262624 136796144 446944508 253994084 848069406 39257594 614008532 154902666 112118166 625473404 814921138 895179548 965645022 906494908 328112126 20216042 430079738 502786022 394857590 106666508 247548434 289529156 345136422 284443838 766890196 170029376 697876570 383782868 857696326 520552762 523070602 561070330 139635828 501421222 638695836 786081002 226386752 831928134 430266698 487734356 907079316 297678658 261441026 80462612 773538502 507793714 976676984 523797450 253240012 40637290 88210936 424222168 972380938 771732730 408212932 892803000 632939602 166493032 679830116 422953920 806963136 950320292 367138178 535002662 515644090 778577046 583948836 254202722 706302030 785643188 176821786 136070406 23609360 310601860 680731176 826773090 791718222 536407266 455183090 956356134 976029348 559173990 452924690 693057998 634209008 137957682 813693108 259068170 352438542 653433134 288884046 531497688 316769356 874988984 355898720 952436048 386260374 161699114 533815412 715877542 619071658 985345038 798131482 853835384 700536690 520912424 511886350 287044078 296919540 300770750 527583928 8692318 9089956 302662192 791639502 582882760 478185398 314482934 840679602 680593684 249919158 674861540 430438850 541371834 440962170 371043742 859695120 178273276 590065014 675341278 297112676 774438452 559474148 885675826 153198812 354230508 724749078 45903400 177810440 568839482 14056626 815902256 527595104 529389716 230174348 533201066 913437796 79212618 548676548 405512380 506400698 700223232 957370828 190844278 453285468 870374870 350801608 689373768 841552006 264391598 442125982 453586952 356687934 684190438 432743736 45312514 956028044 208217424 319822112 892077544 720845014 461292046 673542364 348304988 395283224 550101386 613940176 437134336 259929986 109009008 603893904 404194818 514333528 869793426 514521630 128592150 604114578 689423324 437461384 718199412 997940354 232763096 511430596 831903102 472481842 308326294 65363552 459705216 692099520 8461314 688733778 522530568 675011306 7007958 167595520 559856736 926151688 308335508 378881610 567016870 424248326 388314666 284389340 691460166 691743354 16158680 26739902 369670598 313303326 507821560 247901166 750773994 833567392 393254196 878815976 208933472 585221110 520077010 690639790 720947486 306877598 956622440 376303698 393529868 324336426 428531926 228456334 625082810 750850008 189651196 853872946 546405116 564208870 861469668 212014356 163657414 994686346 485328894 170922446 33067242 221795356 704736042 223170338 211269878 60912526 453429416 640430250 949836770 90412336 454569128 375167018 644456196 374233428 483232936 329179616 398908116 130172922 939094540 647855140 329177216 566695706 9215614 941064094 112498822 388250274 622920164 588138730 187324524 746021798 761096236 500210272 932024580 89585196 68596850 678054584 751549634 416245922 408721626 365190058 412479188 481169416 797996742 24352148 547059620 932059074 876668728 275840516 628191598 934155460 197944464 994814378 856206256 123936250 760754598 497602144 77608848 691585410 78275984 492136784 336418834 238996090 715725434 711034054 440489550 877383912 43006222 916681992 455008344 460583258 285944726 460052920 918663434 218694614 813741352 889875804 60099142 284399230 644255010 425063918 512906790 250009440 193174552 741015922 281725188 911110690 863252754 103479666 485871224 94380110 89762934 420632508 685073594 172688010 875978660 559516278 443101630 714660970 525495338 541238952 683490728 222387692 976584352 173635020 734452938 418880300 15128048 789942562 120441600 292999006 553668252 220553418 834562714 242864108 280436036 384209822 698968446 301522972 530507792 680005074 427608812 93082732 363017930 886166784 744355428 16749974 399251388 132975362 851134462 307701294 751329730 84848176 263569590 814196736 214965386 353985076 409785914 306172018 11946882 505347866 647486122 70135198 388637134 355370074 938848352 770623226 432055700 472614520 588476652 436036660 590201340 479200526 209421328 743817300 535661720 300711036 658241682 290829878 741016084 169840576 940213640 300148646 212577812 46314084 980277110 16350712 613163652 125226758 879111298 700643174 733557252 468767180 746808758 482796350 251209842 147163686 226343084 251883756 304325216 239358102 286461396 573263234 79190812 840461116 78633632 295001114 607868340 730357904 199935350 558833356 343882336 710552438 759051782 992838870 994245998 913408368 320554828 529422522 465856856 356162854 845361096 213086762 970456444 603651374 751366394 362785928 848416084 548145500 835753022 731152258 74188228 247482234 168010408 744525352 681089978 56963136 320723054 263239374 35396520 644833978 868969264 423363858 774079450 860306110 397181522 763316792 526312524 458480680 409813404 575509992 327208624 571572520 156650806 835108668 514293984 748462672 47839080 107681592 958933682 665331694 318949326 328051642 307002632 28842058 556186848 375921686 700957114 663284336 924794152 328902046 144689194 90902440 242800814 576864456 428080470 970912856 770408974 599247626 781673710 527089340 555855526 133101766 30445672 457766440 850171150 478487910 337337040 938398502 688110704 667294792 837968380 739263032 508532404 717061594 411737412 930731160 245315066 675601542 49035836 551666210 34191868 609451598 217258346 753651958 477428908 622741338 406125526 50357626 551144028 537591726 160084750 916994032 141661356 928777174 295410980 315856418 421681990 775808254 491548086 184907224 81610396 36839596 37106254 660373618 650897888 227727424 697250730 579370906 238857252 705481528 489413754 38084670 453858858 241733658 514376964 188872880 494589390 826324638 227492426 940201856 828770194 257573454 736162186 967259466 572824190 665519540 741588330 611084876 720203952 751725438 553103500 557884908 727688906 592390180 533129044 616547286 420906970 879478088 27013810 452564874 880197678 121705992 259566238 570811600 142629042 558525550 778081890 904003958 429680370 438064652 361845462 369861280 189175012 495426236 917587184 494127624 997019310 238059600 875051774 987453918 4880042 737087178 488708158 6871460 734643394 169525614 236090406 707775556 239280254 1784828 432560560 40329346 173901360 474195140 773438728 384055478 62759480 89538926 17023042 351665794 439561344 187815302 694651978 438961548 333439518 198720886 684461446 323241852 847926872 763755688 298923266 448669804 887629534 645604914 67350960 657973642 391882434 444655652 289353868 896572890 923071000 7529978 463258642 527432156 333116290 320219918 773461596 298530256 99853190 856770034 632257876 172912904 977161924 239645348 67177750 700191182 527805146 809787632 460142748 232071730 5435248 394424412 309914566 969259234 714891002 524360686 605723724 383113224 428085518 197993382 211378034 407908406 20622874 978308568 940041890 230087646 877188546 405148374 577698776 254784216 881721928 204279706 426744196 104999236 347332994 76529402 553387756 906710418 479083044 970350172 743102384 488689780 41476912 82167616 126348788 631739500 529934042 387066458 283781482 669320726 844233346 227936070 537929106 508398486 997192168 779971708 270324344 412496442 185617144 666720054 841455072 545586066 294796224 330292402 286212184 924449274 810232776 14424626 392443082 215899836 944832336 353201932 392284748 607774498 435017394 515702718 879297750 537915728 717561540 117756832 346095040 911335156 895702862 515164646 328063172 169197736 47861794 474611558 271717460 563329028 663559966 242475774 440227704 31195722 601075158 470162024 377172988 569549792 990071864 154852590 631892724 210739720 968194670 555355898 484702272 895939670 427483620 184860646 215811884 838844498 677251708 490470198 652066108 338361278 806495808 301423856 952860928 363047442 406153148 236577654 263300592 845974474 177570844 173267098 529984554 433401838 645438128 279270870 923986022 366308788 292369408 267360986 948192122 627696420 385053894 151270478 530810240 354843566 40319748 555758900 899650042 867680704 936899260 899624834 796283808 788813474 124448164 810793272 724399626 492511704 636990292 604250524 459614978 653766378 71905370 468149622 131444768 79075776 757868388 331959524 308578344 633675322 703105692 735552864 15924456 994517514 50224012 963301668 733520534 285491774 910757672 937866398 614036460 447799596 576103444 153962564 882383346 255582788 972701650 791224490 794372218 241519540 875327034 953229534 710842344 395540338 33981212 505033582 361579652 946449060 274050998 780490286 253118678 547395314 96093922 20836384 720820664 840262320 607568106 507430412 698825812 991819322 890660914 225265390 209204756 133434100 780643706 816517282 110347488 978838836 691988930 606291118 324447708 639987856 717692266 537568180 478086928 599114106 694065914 461868194 11340656 748747968 176731078 279512386 785735874 17107948 810583176 448242672 609976830 831024318 812965502 912622894 444959254 889744172 147348306 620798058 615039298 947520092 452189564 597139806 662343600 458241818 658193950 746056840 523079140 590482148 973901064 188699448 323700078 664082010 894250008 918913268 952570826 690717330 969497584 515796344 171244972 454006202 847235772 101992768 177536888 416508260 641833372 344806112 236008382 938288816 872322300 715315078 553470210 258136638 719001934 490845390 125625848 920952784 527406222 765437406 386140710 369386058 813225886 565115480 561680856 995964208 858411566 652026696 373558246 482270314 168941470 33826038 896523486 105960908 401371934 282830112 36167632 755214262 954268446 279413990 516318150 86620412 90245082 691872408 665840996 262309324 38798414 790942274 823294652 741546334 851860180 22900162 788521370 870674252 357990258 447780158 726248846 754542452 660716368 535117030 539133308 75354406 825253616 13293114 570568370 406469322 15172802 333018724 981191830 191886224 879217042 368191402 845071880 108685160 863500168 720943942 938227792 502441322 613259358 187792804 320872844 491308932 86146700 331750278 220303280 574026934 496482730 948128388 588535808 5573232 454555990 458514576 8658268 749679932 304136644 939249534 953646632 277016100 385479570 856926926 885998768 198165846 674371980 321332750 885479966 249775504 158048100 566037114 330879722 712219862 534667500 630647896 454206260 608005612 891376264 330445306 628501400 521455568 434870186 218002734 660015508 681755816 520242052 788595512 874080746 417768856 662390656 306939310 850799686 151140478 675623934 897117386 412991524 959925464 632386366 585770190 948953246 438466828 876765388 487260162 762803648 955744966 643242494 777500018 868802966 210523474 865326036 385829362 365874232 927502168 455326180 534663032 209466114 625144946 208962522 226595516 934148944 653803726 85556538 26897826 97219642 820863546 895597946 626063702 748786138 797972272 511047294 942330430 133491824 838499406 203840380 544662800 697430182 723289946 976639394 277723600 938433380 284400272 454101502 290423040 113659472 616528112 750832072 133712704 329853438 887615494 689711044 941842456 491730648 96965692 373386122 587811222 482422740 864268204 308569694 860227092 666250772 123766146 279278246 881164084 510484700 78862948 3819322 881199758 390157690 768155204 491188336 456582816 710076212 888385482 743351022 836588290 131149668 744891802 564795612 660399408 806093232 510315928 305673342 630097086 981868160 625295632 605316956 428852666 575414296 715570008 716367922 986427810 257340166 68568246 464222754 370125116 199395674 555240568 622519834 736317820 838215382 237285758 338076396 117821820 363907014 182435426 499740500 445927482 419364572 196557108 161946944 892656922 544037566 10554812 615098102 576216988 942413922 739374334 834386850 442622316 387996838 882158780 267416544 909832976 626749780 868882080 451740468 585479980 273726646 39489628 163087356 29684268 444825324 396146662 117642314 721327948 436986488 662849472 779934002 581142948 345835162 408289630 853884844 762682582 848031758 400096994 826585482 976040450 273700432 398196992 579392038 697991516 781223076 997105576 661223176 882038782 385907524 631696978 318312846 943246300 535522540 128191852 87381536 626721894 604868446 639028788 763056860 102631918 20289782 275449152 388686428 384082626 58130010 390056766 750517106 626139410 442200074 635099146 271775188 450796202 798839732 536854290 885092764 362338668 417873756 51674232 603127842 326068682 793644272 366743334 111881374 795044994 826941354 75777720 667443232 928890066 270757334 450673032 623394896 900425054 396334920 131348494 516399298 245717018 501140806 443017478 303462620 401951360 407922064 465277250 911203710 776687964 76376964 755300768 399847416 557810398 112031056 456474878 436420780 96272780 35459336 528092512 187919956 58020122 668664204 429498420 387353876 78152254 586064492 282575160 597169766 692677494 65573386 291063800 311285748 297078682 940493152 568235930 164698262 96131320 111016962 430002398 721224496 366541118 210443852 213338218 271418808 250794370 386960970 76542412 351425036 564775244 294206194 254856478 190092160 904138392 78309946 728549318 962885252 595219330 135431050 609295270 90905688 740119496 390571160 657788528 352527030 731479134 905075432 344298692 712397124 831691928 169889134 16566572 594460640 657212714 58007730 95740486 400018872 680551170 605231068 641487908 44095480 619924478 329538930 730553780 688598528 74144934 726117144 233727156 60832982 397595290 58829138 56710602 239950074 624432388 76239048 200143584 921672606 144154282 41612888 781534744 826485364 361733050 235606330 717929870 88828182 343478070 28284506 743985668 776943412 663211164 750236434 251709950 935841926 730988730 340153590 801111502 665584456 626420250 635140908 928828432 990180926 187966536 525114164 118244398 882515870 322893156 640697100 775467416 114277442 569499532 857669422 37327348 714661396 72871392 916270798 81101858 119544436 386044506 94648530 345024464 75603432 426013122 391918138 369834104 966129076 839399740 444945406 954834968 339909340 320920798 803879796 180321822 645078220 746218086 291209614 364698740 879367020 250078156 634639662 14579684 997229762 530961598 194731456 327213606 617967948 963178982 548450962 988532356 289439328 600717734 368308046 381070426 421977070 494683068 3438172 476124340 687216010 173010394 242391290 306700738 160909040 54165804 935047828 552324708 294292898 607576530 770052566 423442634 594121434 398304602 886462282 303188758 152205546 455575924 560873580 162240114 92744952 345431828 540264486 983141208 304315310 118161350 384185574 754914902 604150696 749222510 753581302 706736686 644326060 837157396 72251416 994944322 789188506 864365496 735997876 290865048 206714800 42850042 364041008 416076328 178079442 879355492 34912952 109483848 929775472 590441500 1073324 314848136 67293456 895033174 327137842 286165872 992066448 812851850 775560474 94705090 967854458 718987976 625996936 116629150 602293262 442497108 345026276 978931348 844718140 475708414 408066978 316362426 438444502 749947286 300418464 876551910 638096662 759968284 859986930 717782454 920196716 616201428 874799226 38665362 950511906 960760658 940626890 846126724 286221160 464751120 612640980 4342596 143275290 206662054 792888986 877080852 434086820 340788428 621424354 442297892 85059514 746318088 414528644 545584582 385633542 768320590 54634684 232611978 906686216 763771188 280429006 174632258 499367496 414901552 658434770 14733242 901192368 546892700 547558426 749176168 946390342 806771212 726114892 804808070 883712884 410016326 995123018 404601052 95509596 827193304 176474002 547047290 41483352 114251150 835937246 412995596 896454742 600208058 516893572 300468864 736574994 255971948 449973482 875352420 521168466 356495670 508140204 808047530 855660716 99817910 214189926 145074272 890808020 335354966 528449702 589220626 119368074 708187746 619923084 280289840 840697934 137216890 794009328 73439268 131398378 67205810 530581828 38782900 924909546 884140032 435171700 560434372 805662886 796094032 4700436 597997354 972717746 652180116 401773116 193181912 349472546 626256372 445080338 561342628 142516988 980638464 635530302 124373848 83074542 417150518 558935082 400498946 334425050 295822220 591647374 972465736 912979062 634388256 288209474 175740794 414382938 13524564 380145230 506586822 552605534 784678778 74091754 795956470 904045046 812121606 132057456 12247348 990559732 128777188 756640088 888213528 927254626 781520720 249318560 142543994 398944230 990516514 880316856 569217102 383362744 930042496 650874700 183244434 333689340 242440780 176900960 715284086 74440408 161245720 387735482 637418996 42930810 904627148 600466124 178078218 552385610 55671410 546793296 498151004 556990810 535503952 632619872 877111686 404912306 893228832 577870004 249578624 903730174 347377896 428030238 318151486 17715686 673173348 934074352 409138280 504276228 358602230 681324186 491413382 413582998 826170302 355853040 474341904 146212178 199719056 176718472 393771338 521708350 495122664 533379294 121815082 90721244 824440076 466045672 338235700 236460114 53943292 827585856 797992836 191405588 55543636 342637076 35772096 138809164 782045962 427696460 924408492 862109560 596490146 718446558 534780748 814131274 765154886 408784910 931729002 869714086 969794858 436323692 658997196 424865656 232054414 186943700 360358156 912263784 689631072 736257148 823367658 872577796 279076938 436807890 189653368 636147716 510182026 246067232 882078444 710607780 352703568 180180890 951009084 940716958 760680050 692698388 894218886 73918908 298615830 749872302 315762124 785419332 382329724 638544164 623604960 736146152 444893682 548616770 281354756 194488946 834618558 882951816 588799766 103015614 433012844 436455460 753333470 709085458 685240026 589098004 358378430 784605532 983542850 85118658 278818140 833304530 500741794 6934636 155860000 961226832 404841638 262646574 330278604 396437522 1324072 762440440 749563874 582624620 783346502 995795322 751751222 562771294 138623788 627651688 168259538 785959764 484742716 468894118 271040582 648097396 296615838 200319218 267923324 967408976 690809482 88303288 800549726 8744074 436814914 997286582 578535098 300543148 507707136 76431280 5632412 298979242 802390716 697483292 634232118 577056908 581043612 50399948 54888350 826907342 478284828 510344756 684834318 570709858 314259606 424637116 4771312 938958686 586341318 822128440 768414734 836034848 446655920 207641000 190958710 472234916 537580514 126065512 27416924 957220506 266616942 441448614 414787634 379635830 274016038 817614584 200073304 909410828 668683444 483573834 5315944 217064768 231826724 254725974 783364180 30557122 501251360 33584748 73638994 193583496 62854680 124547074 53897228 938548282 899297784 544862922 808043706 407974514 677653816 528300778 914080104 98646574 666494548 814371292 106930236 979718244 64262108 294848976 539969096 493631206 420184568 113783400 620601078 519213056 87422720 554692748 199043814 804173820 997492408 403436638 489275256 637724482 131253400 594401384 350385714 266239994 672228926 821197182 133409162 269835490 224000412 722499356 774864294 797411184 160911648 612533292 858418574 728339738 283648884 475901682 983946060 618436260 947318920 240002490 665865896 855139044 804041782 768655258 71305650 706739674 702904922 553467574 241693908 945440902 158448334 724549162 400324968 670882496 463774080 704461270 962637996 623563292 167793480 639328058 577225392 902069246 345459192 124071158 946183782 599548206 875791868 432538970 538881552 626553770 514249252 871630206 873850082 940283286 568064046 951698032 953156274 57753108 478031196 678969284 36021558 989757330 533139856 549874938 462675676 856857104 633379668 480829012 18970286 90347090 188786294 709675386 471415266 995587686 710469164 284470508 620521848 865720616 873832060 327465396 286393844 491344732 337566896 61291944 94853190 910207806 543590020 87133230 221838728 44105638 176028502 268408266 549584154 91655810 4942480 31855774 768798802 291565572 255298158 386381584 494767780 564225792 215382644 116977322 743647162 730959352 318844312 397607598 593220252 97815784 8406336 337247210 671253952 890634990 81825276 772654056 163611312 685639006 704918292 223774782 993483682 782839928 865679798 845823790 752019590 663528054 213983858 579086552 397458022 524532450 22936918 272321878 829591864 357279962 268969752 971047102 524001100 732770384 14713594 241365146 988306270 83911770 23050928 250760474 149129780 149629956 146493688 653959432 20664244 996368514 321057858 817376098 702900444 357248808 49810416 390844600 133789100 940311748 703054044 616173652 274770400 514434726 653050502 969288576 637303782 807445386 796157232 461527854 796468822 132341184 801080942 499504206 773294048 146932778 571341518 372456626 999135664 610739278 843432746 873079074 123298462 845169254 575573542 696681560 542365846 811742480 662561244 947085990 513163394 651517896 67808216 764179644 20633676 224268674 691800300 524941252 890333262 404047140 763547960 693735730 267070586 552383810 502320454 759489520 449067618 916664344 791651974 758707460 548676656 690563902 37033988 259432674 454935912 640996766 531148506 420334146 389829220 626588098 719622620 831628184 187925904 478396604 541286642 738586274 632712840 453130100 144684326 173678976 508792112 658572404 574869036 886470830 521006252 545947694 558443152 755845614 189280372 136447726 868401760 239872422 893406778 907546200 354458390 989840102 714527388 255204578 666339650 817391616 730429380 504332598 282744444 425647328 963908534 938596732 521419744 148248942 672948020 29962380 111374222 775846430 22699072 197441466 286638350 687910528 39388250 8706314 439832108 927247638 295583250 443841668 21338730 741827574 846008830 125378852 996998614 914769848 486152690 496920086 870809234 181928808 207397268 631909976 127533932 368423928 927298616 670015062 776151786 248347482 752013986 316267384 883173962 188871344 233756096 795085856 479427254 226314236 220881724 845734368 867044540 859404514 330471602 96320730 867259466 82295382 456625598 89593506 151938564 59862640 279213898 767841112 196806528 129517902 561136818 291653572 729717556 32009764 45545384 729980000 3708998 476381402 338525720 755133292 605848068 125182558 958569286 714479422 135540488 305604980 238226116 541911890 453378404 232557348 743736024 460089440 957546316 632454252 584337330 863630930 231544878 112391252 821025186 423539442 51832522 896943288 160469774 289896592 718212548 412961396 972429998 848431630 572872260 402553770 826879924 775364338 581379204 67413782 45704950 926638290 143987792 923019130 682573008 65450202 455635556 321242126 13955792 51744738 387647776 441753728 218065894 556623358 458243094 519271362 579150244 336250034 325329950 771052572 410755454 798451304 255984282 834838552 166827886 106501698 725871498 914674584 556998912 768137894 395647424 979215502 802946428 869863894 492033976 905422486 578125106 830797516 883633328 88894280 138854808 840668284 929008782 571038634 234474074 495921434 160488738 429455040 685607068 82857974 399114092 719634704 408125230 8947080 651235218 291683406 22076226 257584494 518185432 749832702 94804408 144522248 880107160 610866300 315115078 31346086 789828386 756029310 894567126 606623580 656574420 683152736 309850086 950608306 237132306 261138600 905291564 137110498 237631708 577215352 889512564 560379320 870550004 76948356 698694158 882302242 617366592 516810008 894822902 517895232 223056974 251669928 835343430 327603606 325234398 383401354 72948108 304987328 108769132 104296598 92665868 26979484 204203858 960187698 599840808 71956346 362905896 493823700 326144954 773780476 155022460 989885032 42062864 480994850 155282640 810402962 502488264 241702672 671535060 115745250 877020268 571576832 648595304 331776176 44419358 250738374 150356056 547117596 808191476 809754618 65398060 379326504 461290530 540962670 374834902 585409248 80585258 643379262 579173044 958772942 816677180 695302228 617320776 851483244 795135978 660555540 438245542 741236104 313028766 835359840 901458974 602255216 191065136 725455378 739724376 424396664 546901782 128130562 998879372 236924896 190952514 469053258 690434094 266313216 673753314 763665406 708020624 349350744 699005664 218227716 80575532 748530838 11390884 477885476 98750936 703609654 888839022 899835940 666798524 585457026 180232870 671010054 499485976 601270940 174424826 488611596 132033780 621143692 698372778 690124822 745523998 744923528 918834738 533085726 672879586 127997428 896998272 575039876 800607454 235614346 177744942 834683946 44779604 2688438 902394122 407408344 343093882 252191640 652677766 424333720 839722998 268625302 790048178 914273208 637189724 867350878 488355342 202998584 120018288 55427044 705051760 650924982 725552274 935180594 841919766 239221528 465802436 484958954 792864324 631058020 44257760 153372442 683027160 259180592 687598108 2164758 441276234 867254484 115492000 331629574 260340786 438547672 278518082 552270328 175566716 76045878 788899158 478960094 506040188 287704548 629640686 633653000 194022918 310178140 663099234 435311436 979823368 733680914 681736506 875711752 195456918 376808726 215730898 448141616 939940526 617997720 534754998 129351914 623533928 598837292 70826288 393485964 684708742 324840566 137945526 265579950 318119154 522546478 919581428 43354564 501650698 220078456 612106642 220127692 103436852 950708392 66853672 20586932 527875644 54150716 275271906 304233476 708898258 682741256 198351920 972270710 553935388 212468416 891531512 21370084 675923092 545370712 933150408 367612154 511904042 427642580 776198968 179580012 656767818 770498820 264888790 92481372 7815740 104874182 102195456 337586982 116643128 330216516 823079392 873405750 609123876 744421266 89749456 301681504 790305722 991763374 691094368 437597390 814914970 234249776 932296772 764867458 967568292 18292148 732452872 872095076 339128568 358010652 502197668 67600352 237655150 78173344 817128538 483202170 87772072 256051302 747545860 189794496 677475514 905697082 637164592 899510818 326381006 10318844 574999976 110963254 544975182 534094908 476209244 93434676 283786594 957830826 688009808 801515142 21904016 236080466 229757182 373054908 527645850 694157958 820672126 958850608 664231210 711995508 63629524 43047390 453991310 371323774 459286084 960652684 273090486 204826400 436033360 428196072 687545098 101781724 114540648 905985690 59213416 128045848 237608272 599177340 11076450 398340004 639916840 101055326 322671600 229813608 303084128 60793110 264726128 858383986 100555724 957949530 7759394 298744294 876224868 529705188 312700998 903422396 2971084 994918266 238714112 901179518 564028950 752166476 841975678 302299374 34126 649834220 112431436 208448106 179584754 618614476 296797414 947465468 75438324 331849366 237998596 978473812 984238338 985744310 463734668 769641744 824529000 366593812 612531750 815512166 883327420 439080998 282984520 896656856 1814470 540141756 832036202 847631520 112662594 169919338 847695786 65322404 506536934 695512420 542739956 307281592 417567550 802420292 709536782 292127882 392696522 170020844 760598820 141188638 717593012 70719242 624455806 167484232 263963906 99574628 153480844 591395668 506518628 850714138 517366642 656849144 850413204 140015194 257412842 476455962 353829496 736142648 912226970 867606882 820506342 352273348 399777222 619348920 421431364 233266602 673007462 289243458 999884926 316615632 37256254 993009104 857582012 599458490 432416352 36800162 182307802 118222654 61998792 777505560 159307384 374026202 318638488 657880392 919600548 510312596 84529022 661503494 308400400 371987246 116017002 942111518 880393920 212388758 869569972 465337614 4831916 980684328 636429774 864738898 345825314 997354682 167998616 766743182 828611448 889378784 886940732 745338598 429031656 291347014 13272358 969261136 292365476 13395506 293206168 812299428 735223950 605262316 737452202 521813088 503735046 317378134 442736526 458317326 809403046 941123950 381492982 320251850 608304842 550634652 496683368 636366474 580494416 372295616 871676138 518749140 50181042 3770308 337020984 836829694 493813934 718795880 874145762 389324634 403770636 923795722 450059888 340918632 876535146 831474130 343018172 865078698 601831198 710325568 390728418 105924718 826067266 980809340 438444780 861950610 817467998 859082486 558150670 233524876 247594356 204714192 877434458 757844760 401748538 290542052 308606996 262610622 300015850 494106216 883409006 619196016 196220374 32298206 639688302 65174288 639206164 355248306 485521736 219091960 393586896 425456014 295152016 669768628 505785142 579658030 702055386 315543534 667872158 58869930 757435712 191950858 938526686 726699584 48321032 883471420 562375124 241525298 602127906 668485660 112051096 422659834 943929164 696963404 102452982 451536058 301955768 680235216 517101416 114881666 353189606 433326262 253632878 214682666 597257922 848170432 415334152 15787186 99510462 223186696 209071616 133893480 447797012 203555286 783341822 494457696 742088910 408996580 790969978 37771576 571528136 466140754 179660964 18987966 785374838 857544434 438002712 283440376 707583578 641756394 36516346 891227864 128673982 767259020 307911436 975459662 609360720 192050170 225205428 733242150 866494696 937678554 351447232 684297096 555975566 379499792 679177758 800066686 502985972 150023832 501174478 825474136 280762310 319530670 844811152 27494222 140181164 301367366 795297756 813248674 480289720 436622884 66726872 789042380 629264806 64326484 548428240 933132982 893998168 48362062 519528214 147305846 386868818 758546796 862094230 369355344 50663634 811225064 158511804 430001102 913620150 929839540 139895950 24517150 276570634 16766478 962323324 426311778 419400702 864627636 312539270 920739622 522306002 241871984 415385294 838503872 370407984 397417530 700650228 457448874 252547492 55794336 759204502 61359220 603997986 636182606 371856636 701313040 29347928 724227020 108660788 568532800 170624834 941039516 189821146 841145946 429009736 783186112 166983294 913169306 316297742 989589998 63340678 664649026 815260168 85552736 621213888 279126058 379234220 312813276 586017492 32272474 740187484 220111708 201717918 219658728 110282812 785883738 283353158 815243758 822581308 84953386 379167492 398137666 594349540 236249378 734663814 594080094 289703992 905481804 798339260 137079628 89697676 50576548 886966160 147744286 391561354 3575342 850165714 36195478 878680984 841971924 241289126 679594728 669984718 920887710 743372654 639012802 369971960 326191916 420680370 729834430 879204966 596462460 904813630 46670874 452285370 701437646 380098154 942201880 79482506 277331506 319104066 357522256 560082800 243272808 984320394 829363822 611144448 652316448 565128560 938886484 83457460 967017976 211070330 361068202 934902436 515130348 444506890 593376524 536816616 26936810 413300872 496640138 72241124 821081596 282337184 554064644 183773904 926032392 334768282 100784948 320600954 790965440 165780724 524837980 243741598 583740390 987029750 215080982 411597922 638785176 560274586 571907374 877613876 952679090 658511682 842748498 680723480 877069474 446488396 772211484 731668706 499973124 823702678 658301806 180602434 28959800 974441424 556544284 471192708 588664422 763038886 661482082 166553126 939677112 72379422 294691196 50777528 574079516 88581050 237134296 464012510 372071132 466364992 769679838 818950856 144990066 126875158 590369432 671833520 240625194 886751542 962805536 289858586 460351046 980981676 417458850 158033710 882085678 226592868 143441502 241020680 158155224 705793316 512560812 271041546 135217146 300439344 307991544 487149130 962598928 332858400 994731538 620542132 590943552 600771764 27250602 840434488 16153966 3419220 256782128 54099818 897312640 461097072 920972970 330640864 459025666 968218204 628021902 473997050 771807542 62585916 137897682 344615994 53522638 540974696 380148812 685971820 987516828 710797700 863181690 129035280 82503060 23440390 495999186 217358724 542274682 249138798 9940798 822788488 116634132 888463338 840189424 194422782 58368248 603782310 419665318 326775596 277444412 335163830 34070246 358767802 805710210 460112118 870587168 192990402 285995292 590513872 281524542 546095392 769188108 245559520 308137344 458584226 147210932 891825166 71895040 579092724 591728936 122902132 718591500 916513000 874306732 464879822 316597178 605920052 342116180 273464496 481774654 592978048 373180736 414687246 495779390 729795638 346756138 879379890 582826254 571588104 730412694 960266812 72915278 615912024 96665964 541839022 151095578 90518790 231669586 598734964 394222164 87133090 564491614 382179750 53998722 662730966 198138826 257565868 819800462 425374928 475883222 460266354 476706666 875157726 884113992 783513076 919220212 480574866 682104160 87591890 487956152 527008018 528396930 87969034 727377178 669943658 427471448 498913410 114568218 22409456 142137672 233504468 703119680 87580544 987573058 593270584 784725832 394109058 349419652 303408340 523688878 954836262 941482646 631638834 116435174 882642488 297706690 854732248 510861686 130941036 95305674 654801654 604175196 969150356 289767960 269302844 663137674 317795342 313724804 54269572 152168870 920253088 594931976 462199518 934961116 567046088 386763028 312903764 644593606 737194270 330712450 917308444 107798492 444019702 659565206 15783132 376664618 410472608 409316058 358198632 584380376 587074118 170926280 991023290 462736010 345306612 168739946 148972214 10735006 364771236 520012234 676585140 544206680 426209550 309854574 259566352 19830002 308364320 537581418 245264682 778448864 739364340 752627102 767753234 689673348 125063006 104141918 477236648 883292148 492228602 473615454 683185404 556391834 384094422 410808264 280728642 704028918 443927156 685940276 880478972 371083844 641394196 231030694 457155384 717080268 410833386 965295788 927921230 182734822 693569494 970677014 177336116 795880180 678168672 216219328 634193706 536083506 538993598 914856300 535241816 651336192 772179326 873736238 119938944 141573698 979120818 404691348 824909804 191385842 277155594 723609820 560318104 847960006 348551860 638493596 559099906 935358712 6839940 118344748 565556514 708029574 30831498 678711910 578752750 802462478 87354096 4352780 682143370 771743006 13312346 888517524 697359708 232555778 373128006 318557462 890559012 561029364 886076184 40868414 58666330 199463020 290203096 174305352 674829678 452880246 106471870 118106488 480012176 511583028 405403346 936248784 230642464 313291418 668624140 731644668 990982024 918323750 55173296 858693678 637174360 72964012 185894208 293285618 265206576 72888894 334357212 325425922 960829414 165040358 898760836 402835740 691646700 332705766 44355692 3990636 900685208 692664552 284398032 382561608 329943602 300914044 782132182 327062324 403080706 814868068 280980754 181047844 943142756 844538632 590491170 445335416 16241658 137532028 631772128 351266082 82591494 313167852 448805788 358472322 676502718 20826302 460312804 52027500 876929622 117243966 215810280 626768350 841493224 765871572 632947534 888438994 484460592 722418104 841419498 267593502 146041348 881151740 512623572 389825424 128553704 820335678 762975838 149357066 332348298 270569590 430812026 315946318 82481586 432123366 735870852 383410070 726424978 120773224 892833876 720751000 983080482 140906422 655984228 384589176 229120488 437436638 284717784 17776196 649996348 262361508 172141682 914395208 210442692 270497264 744269498 823041958 45997728 761861666 431308132 343014872 139447792 821648410 379972626 514055720 666754656 141201220 627582624 345932052 581387350 961546956 328209328 375465548 129323680 399450268 820074632 507459658 515869340 112701498 906593428 42140918 985946846 271852648 377484456 580619858 141702740 216111006 950391794 2431636 617588800 421009878 753851564 982867678 258861112 917759206 986515782 927168810 132268720 832227192 654038718 601425810 766349102 423252132 992519574 504110956 233663570 259070792 450065586 44897086 323558966 207301706 923996774 711901424 663761984 62435776 781733608 634378128 993811362 646405114 344214090 560186642 310086360 563770840 853116446 858310566 315824518 139266598 855676872 703188180 904092426 376028478 98617894 314468206 218293160 486734396 64781154 580805220 671046434 811277402 185521352 383308880 18138850 188433282 490960866 413544380 59026352 124539040 680412734 596489422 874722354 756308276 570780792 698216880 234906460 714536554 195106840 614235592 35891338 693613436 653205986 231103032 669726996 254134512 574113862 855777538 80492882 696121416 228505532 159927850 350056594 227904988 783836594 982108334 382413608 911977040 126810002 398936066 317102996 843671982 735881724 137129826 208679824 679365726 720336132 890846464 493663624 676625786 260337270 383149626 493820108 802106010 150863794 863010462 162684834 401172736 528748928 166267226 9727456 316859600 712673996 573378400 802895556 107343294 608039908 717777406 964918922 939829710 642458482 124874142 872189568 852874498 834973010 767975832 568685980 223449294 644384212 773796662 578362964 728334070 199244162 428438818 969825806 561842186 772344718 291732876 939337710 975050226 241019772 213555402 507791630 8793410 595536418 954675018 141766374 233061054 849408738 764994634 557307232 780833016 386683566 438574518 916182886 22884846 387810858 768867506 215475952 882938010 23853652 978789354 328628444 163116848 238149356 522444500 380117952 93653866 224248754 546809766 734866122 549857382 139289240 171690720 796893922 556572834 542727268 791200790 330502784 145572904 576632362 407642890 8074666 484169270 602147458 335935084 220593950 196078834 668175680 528860334 600916244 113722620 924000392 287583182 911089078 46998920 187565386 242823700 308562406 757220962 265648206 610957880 209438344 224036200 340698448 344606898 990954968 126114690 14869130 952760924 48946220 484345486 734783256 444075036 976595142 682857350 858092094 19845018 72357456 670377196 950018024 91398162 518665964 639327728 252979896 38947722 568162828 965107996 806478618 789265588 356223408 588183546 277992012 293657304 152865724 194774178 183390874 863704396 543376460 231758866 233520184 967764640 866285736 923961466 69396474 489183128 829937342 920001130 191634884 811836528 280074700 934965536 71466432 234499752 984877594 743480200 183332956 232643438 577784946 377665342 69717826 760486134 58953036 248202628 521004554 930701626 421391500 563313740 565897372 247107862 664005586 793202582 645455096 136966340 484247370 164933780 710916958 331701806 789400296 946327392 717968008 278868952 478208096 228958354 172016550 447748918 610407830 580689972 794301832 639818842 456031608 412387614 53697152 814921074 182147628 110980434 257667560 97572674 747750622 363769814 332254138 937036416 98067260 672933392 2684846 213160258 827344032 837106562 579413050 580546026 831789016 629816252 889871970 995196438 767033028 14159744 2497084 438016402 595590686 492664200 809280178 244977092 296244546 738333364 131705940 153779024 81165714 155441614 192352828 583545112 237224060 670714164 784704318 609207108 600008130 717693518 870511938 826697826 227091340 521138524 564927084 925335248 202241152 845538376 347341574 524723810 21291026 654039172 719138468 472741052 40796894 295042320 398340526 106519136 951996826 198093506 815877350 664462528 809662598 915658658 647954294 819495458 4382022 18400540 382686122 703652576 922967128 168735290 545244910 430235522 647768450 467575996 592692242 927743354 142185994 396025936 874240590 700730098 692446938 866834342 601239506 304363662 834000510 203402640 432956134 535167126 575744548 304335484 228542662 989097126 754562744 714113690 133833780 600058720 85756278 464574648 595031078 137637272 413515188 674710310 661126690 730804838 954307862 344365792 14021486 698640850 985553136 558935278 844414978 397102120 354090920 180883408 760052062 298881906 825243426 744789040 938020560 435141694 216316664 672466696 718462372 185224322 686930848 811150932 785912286 118935886 890161534 643408268 899717050 726590708 279284204 656056622 189045172 614902296 157714088 164372632 166773770 660869618 919494560 284066290 726601776 711862780 894603134 574149664 553588838 164945038 453336686 585428364 659855700 107376996 392423710 471310354 134747398 671924920 175394626 311263148 520091690 495711432 427331866 245927226 67883706 149555604 957969240 144571256 859133702 392043632 956923956 732127092 437757602 13752840 854855764 170748290 184179846 295576180 441952022 322055274 637682608 472816370 170179008 961622978 897627634 42443768 822054594 890625936 24378214 552525394 549737946 290792304 834449194 405554076 236198308 413026088 398240332 260236694 378404886 167455226 870311948 667162146 94109730 514463464 292236178 818073254 156228734 206247824 757583284 221005766 997093514 665581120 411463118 425148352 672862652 51534476 229472086 63844958 17737118 955982144 684576442 591390304 206533150 9168832 832846002 816572612 19132022 645619386 110965746 684063870 912949440 350137316 588950870 472184512 339367852 30388124 559974488 910277362 979368044 986769148 586749854 870784958 904929566 485783912 678008766 731224832 31998886 824788198 376673340 756741698 46603872 51062962 647399748 863604038 324974128 130713590 746869384 191887386 680106318 868586980 88376754 780827040 274364192 190434636 648821116 296546552 466625788 982582686 21915996 27040100 571520598 252147050 635506750 169178430 147626772 329269786 609773312 744027192 888382866 368388652 539382158 157409204 489849864 743281134 109415744 957500762 587032690 942429742 981193158 270760472 90262846 222707494 404922930 644668086 279681806 128905316 798958118 962091660 964360264 39773884 294810924 585468122 771147040 639318422 459887312 581147156 589837382 278050556 104284738 671879300 871072760 587123916 37151130 877009906 224550216 157468084 91999406 834884470 706869812 902780080 948805946 840943922 200830260 172378010 673259616 108980056 282234602 74957036 865421650 743499980 272369388 794920102 242482378 945853328 979182194 495757468 632043870 980496556 820272158 992581198 940181694 786082376 555211886 347247134 432020302 543289308 426892112 202322252 399290176 257202508 324308600 751688442 314388702 502246054 273541402 942267732 981943390 191321534 606453618 955155934 173625600 444807832 538359190 258411576 46876462 821397158 625993404 301783992 502011836 225457732 284942990 169186012 650768236 437220810 568331638 282577440 6747204 264429714 1390630 455131508 993215626 384900332 531880842 550962430 364108024 85693876 256511240 570252072 631912622 348169854 909912090 544287992 308476512 822695744 925284476 105426618 22841168 295298034 883869626 251437716 639186428 105780158 95972694 997620142 350980928 148724688 758711966 613300038 91607432 333705316 140708288 737219414 866264572 54394928 781675950 96569758 880608678 612438518 637935646 170749696 102758090 257822112 267032662 812046900 942310084 934884470 643999850 366564910 248442000 695326650 636052522 637835608 947272588 740808406 303026464 225994252 426615706 554273498 422580002 572670854 518778940 941095988 327241596 70746384 655353474 754731888 241164862 492116006 342168202 263265850 571531384 775024332 580759156 96900162 969771386 620094524 358280952 365989896 317480124 800287350 693027062 773218750 748491030 148480460 333593190 197505532 629458970 613877378 74219250 932093162 698208036 552791970 894357008 167696014 2825026 30512384 481836494 518339206 81539206 615906590 814669368 956011666 903551498 35256322 701510846 314605064 289121454 242065394 947135872 764434838 673974690 829215436 159318860 136421966 598137960 527266626 30389360 939169922 428365664 337302192 904547912 517568104 260057116 193329646 749879652 745290130 892521064 319267848 249407800 897955086 963348218 242678738 4232592 167966160 72487782 948720586 288498344 145970884 957739126 220838520 320267390 866682958 417488584 537362756 742642660 560905550 796450344 310523116 656630182 419029002 633456108 742048836 2408920 870503548 412694054 106483838 794684762 897374240 799407808 270810470 32365832 405635962 629206806 502016866 747769554 636278760 322507990 114257868 484037642 127347786 196500654 934410202 322248918 387336366 927489454 983736680 943657010 892530094 932412270 776095068 370184364 807698452 616232140 305821720 909515556 163891838 8578582 682818390 255951302 236920292 103779570 72110270 492317364 971828456 740524300 699319680 157622974 851293276 238961224 193493436 728786774 252282108 241486516 277755282 7793526 549630174 226167830 42806 235372566 570395592 993760312 135904466 649377526 643655478 207429944 527628234 368364290 724491326 662292104 600920366 673028792 820029266 239876406 847694432 621137600 360531648 272779436 423707612 658280484 906152852 326012242 281380686 462963216 675515252 670719288 544664022 292185888 291494214 401495680 89762594 314071430 227446234 807147486 557110376 708123112 924895122 25331080 396216182 94551620 575634632 677555372 486708030 296452044 48154736 368401346 68194208 85595474 369597690 755761880 704298646 115544472 163451698 421251140 919819524 904234090 285481750 542834300 116156006 446096918 390440844 697476320 217211244 591569336 707557828 301251268 385338776 516322440 575075656 89503864 630544376 823510056 171052724 164678048 429642798 708954040 765530176 772253852 910794212 913434184 109799210 237030016 473395558 476556550 251362258 560987348 950928040 757580152 746294800 432553844 475733982 609920846 340557344 145647358 162549020 391349380 940113126 171165054 299843700 697723684 758818458 311419736 527616330 944636154 689923104 805271030 339178352 360575536 67291232 72529412 150507432 140271422 801617150 622535638 64936284 574085970 338369388 41673490 806725376 962516882 348402754 101828932 584511558 464000416 207611124 102346966 253959556 204075412 286158550 915184710 580511422 245369104 701039224 178179438 632674096 826184912 792445704 491739800 162885572 51489112 276007338 297861566 768384560 24547030 611479702 322607632 923347248 852322030 830726556 960317972 329640322 865715510 631862700 18041588 43573214 736411346 545628542 615163630 983526470 708315206 252768138 212124304 247551674 605875856 59127410 980170130 194530454 123006380 366636838 530637294 247360310 772061598 945143130 144195852 899668584 909149472 58142600 612234508 967992830 418922542 458674240 127292678 185183834 761873690 180117378 862841272 988467838 634344780 247541470 387831706 261455432 71922154 701011460 170734932 729920634 326992394 659187422 924514814 164832066 143120428 213920300 856621918 422347408 895924494 357633848 293985850 975059164 263046894 328978240 362232056 593876286 840791032 533161618 753267762 46070784 943930826 326358774 506280876 424885378 871257620 238122534 771472786 676671006 146075030 34128318 544715120 614604608 67122620 168399030 369282052 593834204 396390084 444829458 266479550 366107124 987273316 855738144 390985334 894604720 701031008 603265962 930486968 450613244 485878848 281918980 844747432 524842296 798432378 480360098 406352640 667216668 197128136 932130180 117804860 553605614 479583954 881358928 912144858 306396448 510613376 559381994 84041538 73076298 299082926 888533876 817409416 172267230 693757042 24233354 618215646 329178202 891347234 721666970 283532048 561350444 542605926 624035280 575040650 647741126 403999416 58482930 295464484 744214864 234996542 960006998 702492844 989152816 271409516 678620150 166560472 748604068 458274678 605051974 363178132 624312088 779423974 172577314 56587446 427529760 724416172 66136600 846074452 552194620 97482358 849011286 317513058 525223044 420636418 757978512 649127790 394248554 988796062 225033228 700871620 155613362 445131752 196301538 994683768 977347118 459725374 141797322 639509082 152811668 144086020 158657266 624434072 942658110 554527830 371247090 450121258 539680372 843539288 825688678 28069208 170810052 101264592 47577412 563145920 754491144 941522096 979947620 654973510 24437558 166895918 833009028 240745316 959729144 941914132 57737360 135434896 725059616 117265854 468024204 416212912 55480928 656879884 3914494 554986070 217633010 933384660 901568154 171878998 1716922 414689954 876999432 928119980 17196632 816729988 970548382 745526322 874430202 719820160 611973442 255076806 458298328 196222428 694323564 817629160 304343198 460366934 816616638 716187440 473818934 759844190 585331280 633534328 661492588 338044120 391722720 705528860 867367472 497305110 724072130 536903008 403894718 80693144 228973572 331965048 195121714 746277556 417727568 44164484 879471496 364477156 160351230 121165868 225789128 399243190 386552050 9193056 461612210 170674354 638023934 160415506 1928712 892994190 757438462 275690316 738442326 749365716 646727002 11560678 890604642 872237178 249531918 401925054 362546374 458956206 359170444 783110298 960482342 765758304 35547328 45296286 449418570 656231800 4314910 772562320 594213822 980175828 145852478 129782514 16774418 855251302 53441160 942834300 3460072 199592770 250021392 759877204 927419256 702348180 335647486 613204304 8610738 492301162 877717364 640460380 790898388 16794428 157572602 347218436 353360362 472839886 699468196 444746478 803312754 154605658 666447972 416774782 180286108 796190210 358332246 22591478 330690600 113669018 70030114 442765888 250288518 179092910 518886146 187918844 606632696 800519982 841079884 396150400 650884402 530223936 461301420 666312586 706995298 797421124 923494578 819191268 253967440 696031198 141908806 375448188 625242092 998003620 225293276 868859166 838664304 183844840 781454342 667371886 250593688 329186486 852691822 218133018 734337610 227355724 639486758 168640102 92306240 909486446 345496718 548519308 702471876 375892126 931893742 724339816 590284184 485882946 140222774 840744734 427130274 682835634 253065052 121046654 808322420 54770910 923166618 771408530 76582470 30470036 603586778 415434948 603298858 904345176 583495052 325769836 619077538 438188752 628516896 166294240 996043888 844250384 38756724 145578720 24825346 687098136 571243146 880904586 218113978 510258324 862331778 688779228 613092654 615328292 792513982 24706760 709575614 793278348 317901260 97295368 744952098 811142666 764281926 601819366 335676398 631013250 744410796 258013016 182241730 470545730 509814232 239262452 74632266 235953402 635161140 329303156 876142732 460392624 764448770 652626608 684333336 511105564 457561182 285164154 949302968 318259054 731713348 823320506 885264112 979139632 846887154 786279450 82514268 820280700 160348160 159688898 143956664 37958660 413287364 782378346 594008826 380734002 306882794 932547540 462323112 129240696 21697634 206961784 759201420 774826210 481700860 402439362 562765314 488529582 281207652 656622874 67768898 688861854 219647418 152801766 135230824 115573370 480888206 61328306 547224126 846514806 687970762 649118570 899184722 278165270 107944338 652414346 673297460 855905342 566824986 395869744 773167444 320719184 987728854 153083594 332759508 967914514 715527844 360844414 329318008 214750438 913835042 812610308 626729332 350172166 802920826 647638910 130443182 274037326 978983208 225436430 904177382 137135744 817168572 454874250 425725438 827497832 112816766 607590212 648384336 92131668 638429664 705883632 815442188 605230436 829462028 201784574 371367896 166747586 458370424 293844552 5509418 411839178 881534780 466063160 565542546 855098744 932792794 707054862 383160346 15224604 803248396 767407422 278544398 952070264 129164272 27831144 102128650 957494060 316496496 116912528 661251048 6144048 255077686 578667208 336610586 706608094 724357734 160217114 529665408 586944574 387588714 829150930 102621870 412046424 332276514 161715464 774546952 973450050 490223814 971862050 641916394 998148268 5313376 278984972 956420928 909818758 827679584 61001548 271249268 414371754 147968842 128959184 600280904 457676934 652618602 917676326 55806892 339622954 111955936 305266038 701515738 738881766 274853504 948705642 640435236 989218212 701382890 746410864 84896076 904652592 694328674 432797002 953694840 225435020 858155828 197021822 329971760 287389208 874886746 366756288 476915352 384976286 357274332 308651498 751711896 347134844 286277130 263274538 402244170 173503440 256800552 387697546 154781534 345157012 585969444 974808264 814732942 944367926 585313312 427433374 585233484 146065368 315646972 808502144 760824834 363240100 977312308 187555718 75583768 414197088 294259334 649339676 597983734 695737548 609570822 754525080 266042480 423412528 380347042 770410746 257945350 400725270 260880474 127234222 100999668 669807406 782475828 404812984 706936906 941550796 40847656 199045302 236319398 688134318 872255818 982929728 866376476 587216102 584287916 971068402 246115692 373418156 168334894 505080594 551953070 783076098 81467386 334375088 48327280 697525750 634357096 535159410 573745302 755317554 622095484 303981918 422454636 71576640 658510534 671517632 133847468 14533718 673596272 994919300 383044766 516415740 500865804 376771022 469989532 735934650 985140822 367064914 712010452 799401118 281646370 519204928 580313504 504046506 998206834 123784732 729333500 175674810 744189782 425875988 184100666 489353144 224945476 758255390 98935604 940631152 56934856 47845608 887655464 869614712 455039576 261782458 325283538 811189376 150569004 235660114 913813106 744425094 68546798 202422598 402745030 116263374 741182414 182956626 171615378 920321664 41483846 748323142 202650810 193973212 204442502 519037610 609513742 189633706 87512156 139830626 465770874 644329010 37068760 823852904 263478654 370540948 685954426 916509190 44632990 216920962 469404850 611195562 145963640 176992480 367765714 941446346 19819322 809071994 35936812 398110818 791741314 920320354 140669390 317907184 400508600 322733826 718151870 500675310 220340236 133576356 178831664 521550850 248083430 275420260 145893298 270967512 944094004 196607978 54390414 718144320 814852398 250319694 726231616 337951966 484028460 891223156 528036962 993542504 210315198 300336344 164213376 446786532 96728562 935300718 23547096 825878902 52435482 821509322 58128434 479517008 343582036 535621972 196545386 894536918 671719256 196396978 605443700 772544204 520921512 421679056 836428976 51679362 911039516 177299264 778288336 735759238 881090664 186677076 26371410 327804158 878466538 37445120 813487134 798818688 165113804 618367388 196053490 717076280 404196966 13001182 869182464 24222638 525568104 484409862 314287778 200505294 826572210 537839624 204615512 742235638 398414330 475143244 894602224 642250144 768323454 431775864 611576046 168002218 209182514 589789078 814357374 403382714 243051980 164860042 687236276 565808902 68129248 990288186 948948016 626991276 636374368 617204430 520812116 763894862 496370502 353585360 16216746 640556598 628312236 233828548 661968250 456460130 705450124 790919526 872099436 803764118 732721530 277902964 964193668 64051948 634610768 81463314 5189512 747122224 431895254 547849996 575502860 91677290 900426414 458581866 519787216 392669050 947499588 90459634 929087056 34906646 572768080 190720272 199681254 725057482 173063654 862464888 87808310 540371626 951961160 158822466 904110134 534588204 866646348 645487326 623104648 543362170 660473386 840294144 560249132 561143506 183978148 381523262 933672734 992189216 613231470 967793448 71019588 182273540 137033302 558178814 775627676 14466998 731962984 338658810 847446368 106566898 69612348 841493448 17923288 101092386 598151104 112701018 318291236 104162726 245922910 941423896 977488032 433441960 449293218 478807122 381739824 24413986 935002294 286640412 623966912 741048442 117731706 220202992 268577762 692408530 216782914 813816842 925975946 64589692 120240838 181811772 507663186 502540404 451909508 376030140 255061170 391187470 743888172 169825832 467005818 448870238 734626570 134965824 504020904 707530374 523360140 839371566 569544526 84659700 594258798 131278844 178841354 303817150 186121708 73860988 700707878 271130616 231213496 782558440 139636074 218844826 508177504 576892720 564675054 753993964 443185778 367109098 12549090 200668768 781595900 317901206 627317330 894744344 915809110 406854014 184134586 456700788 297903082 136340234 312240150 266195790 261805010 466726252 206585650 587914196 857264778 936613724 577457450 928848416 761075272 513736956 754082514 736865868 314477216 645080466 953642336 847081386 422496916 390079242 325465326 527022074 975761874 988815236 300173314 586101588 318082470 524340804 520258150 349287348 956842722 196884312 731524554 163751488 257282118 930433212 82352080 199524798 344875648 903273416 388347478 480993412 596608390 486403956 477890644 176577182 353026932 290617138 593653968 423503912 263100442 201732580 828550954 706345846 931500626 30473838 79730504 776433070 677508088 946253196 755641524 811433684 734015554 208537636 470372294 675835918 957987626 21403302 64584606 685154412 563493644 833679442 623612120 745340974 285528714 799181098 283189148 119923704 95577212 324091466 505864984 258021336 989408834 326199254 443446322 896956446 461722046 888995238 99644694 458657370 760667868 61921656 732481580 508271156 284175936 5899972 16001778 327340448 294637910 551691878 876163492 957375138 45311988 73250498 432141544 882114298 132624004 250092206 336979526 137308014 625146994 917333948 444041194 47603962 624958636 529312774 226587492 291522968 985125530 470659604 970286692 70536212 475259454 599102204 728161050 851442936 738482650 504895034 309782806 689326322 981942178 680567534 355983320 325841266 367861744 921453368 83950270 523414616 304911250 995454054 360533446 634215702 701271366 92991184 854579280 801081852 483072608 270504148 666619110 495559908 104198710 629056352 825707306 361676164 651486810 97560058 438458214 355198648 428686784 252433024 346268204 642653476 367550870 157566498 96977160 276221494 603312220 117700258 673988324 51673678 442919272 292305764 681607930 245375672 711041636 102570410 663074938 380536718 177134146 287051538 101983678 397387442 882315898 261688584 572629484 607882852 823586178 301521798 245603018 102238062 986392612 928559474 518048158 100043114 910389672 988269078 652772156 314792662 252999500 533461114 382988562 262139024 564225020 82542922 716248430 444636724 686390858 951454816 234072236 64267772 709628436 909879502 601716406 116900866 735606962 213738436 634554434 969224114 507049966 98109994 243167138 709398184 409420040 740678268 633493816 390602198 805964350 56750350 351124298 769123756 100239614 892815792 790870268 358438642 644067068 307717694 284547194 406072810 312013464 862132078 570061838 555128580 107208504 873546186 490824964 294242832 959909780 151027934 825545408 493845888 793730870 56901534 239066896 412006732 461246456 81140014 22768870 823768616 857196282 159741598 416900008 635034340 999844894 240922828 709957212 729096096 358670544 41427190 340206380 173125122 181493534 650009544 303993440 679587802 257788396 932807460 99177368 670187786 618180454 47166340 342677810 752683772 940258014 519656310 446654604 588834702 678395646 634389310 844742860 473160536 746541452 874747108 446014262 949649298 270815536 239036262 695814350 951741780 466333556 277881878 794651054 500049500 862687944 320643690 238354582 643826084 808568470 369745242 48038970 306923358 646639858 139601038 146083622 796826674 294304350 448973832 823614164 521568438 340156408 839213978 546188590 277764516 437787080 960496672 815487936 440924144 136858036 45404520 731265762 670595146 110017618 794511356 253728848 281923812 877206226 15832086 971392036 498141974 202655644 735415248 465905330 199103918 790146098 513544072 997269820 978650208 207884192 669315972 986695968 832484266 933999122 215347986 456355090 316846330 480933684 873970490 946847576 545419994 882327976 629945080 875420208 254313480 240114466 804437888 769160244 315099282 184505664 55765258 227746256 217638262 108049754 411760926 630318970 297198856 638356266 678626750 357018652 799879862 276906828 476820832 407694260 445541582 669360676 437407066 471318626 865270776 277896824 920997672 262343030 196017718 104232682 483920702 772278496 708331174 901566554 950989132 787870548 194152842 36871498 722813338 680011884 738998610 129382410 142722878 135739992 366306204 832975450 632876370 226272946 381632530 800634328 913088562 418679358 133357962 611897742 38793972 703925214 856928294 462145828 957609024 926303432 72253770 479860394 452469944 729482256 648672590 226910632 854475180 794139678 475851236 138630610 244704380 735305914 867857298 395020772 372509224 416561098 288243284 448187010 167494276 50589004 829751584 847918534 802624510 879107892 956842414 120463562 865030380 139566464 571669756 833242250 406634622 540489562 205800434 586965744 656915682 363016212 102312958 199260520 587335412 585325560 98147128 750985742 779932030 30436774 716994662 249148550 627504934 919436870 231552566 612425626 946302496 411821808 301919586 697001040 381904808 803752724 268104198 433106996 268723594 983263232 493328552 359176266 735413028 315173058 994052858 717267232 24436772 910611768 437216890 772528248 521096496 436057700 416965660 329769366 21537580 917707544 188171526 733173288 580571666 337129088 153119374 535621750 779852702 287857690 508504288 461015672 764448796 955640438 169743894 722559066 841640816 846402554 948693134 863145088 643611532 768947422 411013850 472989138 487024964 525357418 925950492 858050394 972741896 762274162 212770462 947751984 996095784 207845146 631874240 370398634 632484160 238863646 27735216 446938756 750741140 746664240 167984936 825875478 153266622 111878148 447777448 631634316 653450200 562860204 11397398 477635132 562687160 869138144 849658248 547595924 991206756 122157380 168875314 460279148 779793324 572490880 720797590 40186490 840813536 524480508 899425890 669183424 107553108 525725486 160615760 86868392 93122118 806698114 838961550 428015158 904512828 86314220 894832350 497846042 667831026 112778382 763590888 660269746 631074608 354311368 482017830 598398622 308686734 46550350 574670408 33887606 310293388 833751630 25935142 305072684 802042740 90852096 63798814 181584472 304684388 403190068 862470522 436523556 98567304 955544376 890759186 138438320 382560216 754428366 815442406 982908938 259957108 215044732 537815836 90719850 814251004 879142672 989567308 352170650 945686224 8446102 213249526 648035998 632864246 365725804 77487252 806075380 196706848 932992024 204578634 730451178 701648524 711434678 983570442 369945124 973827404 567495846 419111188 85180126 547791170 663562300 379913034 487964094 687392598 141185590 827585502 921206488 272425332 729427250 419142546 705585662 641810480 306021810 737017686 939964214 484425946 42259074 765995658 644957454 906063118 460079172 777684938 92859954 47820300 612888128 866975998 207984164 174320750 840904410 637569356 586262686 59431572 318675094 263616942 671687186 26287354 672042106 919668740 2480794 884115962 357356236 163180576 258462652 671888838 726695566 549752458 248588908 21543112 413594632 23771638 147587950 611683612 198586374 755615080 218562260 998171432 376381798 413565870 826542452 643385198 860480586 898299774 330275126 690025512 733600308 456793132 985825226 776273642 459917716 747788798 360064054 774051466 524156160 267383578 175361046 103905192 676337492 157583764 598765130 485868348 348658354 394872962 251393368 335085742 236538646 25740008 726997200 317988588 82263212 26618482 116353402 755359170 440543536 551021878 473728262 768349820 328487772 515528980 765675490 879751560 219909086 222048998 856774268 713758496 192739014 678690012 753682838 545760570 959931488 405765996 253595406 248846550 277883746 898887062 143111536 344643934 938002560 576416368 722226790 738415650 735616404 687581186 902706770 414550776 873450488 215752252 812988116 23611998 551045502 501372236 708742680 294022658 148933156 628791804 822354234 774546198 82771792 480275888 9203230 576520218 505179612 581897780 10467548 837167478 179765634 978210304 218613622 960857334 189911350 568890918 875424486 474457930 605084452 994753118 694399300 882194998 764200194 470521052 808967876 214786566 239416426 727562482 612032054 159775448 62272478 543406508 926536432 756669250 442430868 490617764 774549876 100674674 107722868 352513106 272729594 446508994 260231688 392500258 558352674 956416888 316081342 29673260 691556238 526030788 588037812 307529152 329488918 739327940 300906112 304255762 844829340 415547530 944749344 400556130 649085546 33138462 354574612 657817570 837246272 272035516 59989170 879984262 754356404 568848506 617545074 240925514 264731572 464916902 153922362 382775186 229360188 979982792 111404786 325953032 100807566 855883264 885289526 192783426 509519114 514216966 363370366 558831514 616965936 599830366 890562882 418949522 118015438 891860406 620635564 894913318 462051972 721623294 552842462 798074212 283661068 542599730 851228398 302953950 107959082 24040646 136617462 719795808 214534364 888360750 786535396 377922468 398289236 526247404 771870298 687331126 96275246 241722156 183964494 440928378 333146684 920211880 464445146 36755728 299828518 222934980 55039732 240492940 792789656 213789694 528296628 396114908 437845858 537826222 670566756 727756596 119165078 741427320 611497864 262760262 874848068 588991386 177491736 11203918 6686990 425016102 703560886 47170870 457493120 698224940 848704910 387523038 584133356 159471278 957962010 414567592 403892846 776249110 963642848 414866734 214904066 513112726 659961668 204646232 854780560 712554786 890362682 403672308 726876034 901278404 496982646 90775886 104374600 170505474 247514300 522358246 25559668 654340416 52810158 621632880 860394498 138494088 155566756 257636524 177627346 116760466 306116860 515395406 410792000 402353758 983071986 765870580 271077580 590314668 931629006 995407534 563925526 841670592 322183714 254001234 135230822 332838648 656111234 989475426 14045242 596013248 609955100 820774020 425806132 193645968 452016264 808971800 312645052 750069970 304075142 699898622 246635604 501993612 833811472 215095450 263457928 341261158 54965546 83384422 398200216 180696606 593353732 395870554 367741226 667303540 256623932 670939296 363476530 176628746 942205988 578030168 992573754 204138610 177240902 498342586 307699738 325181230 103909378 529096054 971359778 372566668 948958150 159967738 423498108 584976680 706136062 259275138 475370366 601604020 625815390 141254870 556997720 62185248 65251320 282087366 627016690 713346324 982922620 807584482 258805252 867946802 213730302 633460804 102554232 904965094 563451038 647049796 781485102 711557982 318078054 225028944 495093474 780833590 141686064 395201444 965817690 377456658 387170490 542850260 341347538 909936134 386552040 483238536 464834890 486589894 141339924 184778940 146445740 949127000 793269592 194105224 647244332 181843382 757253500 175970186 325713464 662922252 355394408 946214964 604808874 185496702 652223282 469638934 917697148 369400558 735216208 232222330 759264854 354329864 840420276 214056280 550204232 727788426 902110024 147158552 280129272 440085372 812341022 787295652 468893968 431194386 151331962 921956226 109744386 516803926 986344848 52025510 233563254 763300360 377582380 370198178 620488026 452158632 198830836 997769874 416926498 457391214 334178766 421085208 423849754 26098712 557894606 848309058 735623082 62780732 715210162 314753016 8471084 852919412 283099904 623553442 585564418 50080642 878793392 139735114 664030614 893855510 952400336 181996420 793428302 711754798 318585572 771472562 286150164 473284460 985196636 885341994 890211308 374386928 307120112 489622156 913214238 421237282 420461716 519453086 750826024 235823834 609633874 584085752 669181062 81445166 865371084 387478526 648976522 191744520 139553012 846990692 200610230 799514766 866032154 715607910 967019758 763780024 925438034 235145776 397567558 559933928 847669028 818230914 622296820 144736494 537161564 988017272 998206162 116675734 670047344 335725342 46128964 496892092 759873752 421961652 579024678 701210586 105123222 716127538 240303318 247585168 44976606 148558960 980295908 50893712 719289930 755440692 880660196 932004386 788111424 488715662 76325076 572296628 375740454 891972368 422372592 593077864 225798354 413136510 346221608 878283276 199713362 532755326 845324016 564394016 874096134 848767510 768623998 611688626 335243948 389831780 150241222 510540196 923661252 469761226 230424578 423921426 851408480 422470732 125186224 370651926 452923136 800658058 357059350 209864726 457220394 823761646 335488198 855331254 632817832 435538548 743913902 107970614 964496744 645331830 402338498 299918404 424787730 270283658 542236366 195657676 360016306 402393078 797641314 630313866 869223030 444449072 477981582 706965672 448039392 632261254 621804560 413506300 880035100 626931244 425564662 154364180 577606830 348645532 80447004 388025616 121035154 802052832 516616448 479714242 988600400 951494824 774104374 830986918 388205420 221498324 758655334 875677518 244572388 913467992 400786672 362369026 161355700 235315048 479076714 925541796 551921204 13396144 969956912 296359212 598542312 891053972 532423542 892398572 189848622 874350208 833300616 779472708 273513806 317124350 485414600 774972482 600821572 661866118 213312146 962840990 73604062 935460012 513395046 821724004 391871266 310117104 1428168 231599654 557482508 496694264 260220784 3432844 873887158 758428600 137765494 589569812 468924444 442094138 597403696 746985888 393113248 471866472 309962890 574765712 313509642 221253926 99492738 566672054 702607938 565362270 215250790 987324248 454985598 93644502 119410204 321243180 299389554 435253678 300169132 584181670 211158238 367899738 732421480 980845838 823193230 787980638 753018316 411574578 61777930 135219740 90325536 478652742 515181474 306634070 609261832 528271728 52562740 577949742 991787340 6661826 562751526 801907230 454627966 254880800 368711878 835541702 50145738 710429502 899058600 734960888 31593030 360545968 86710640 991101564 203592836 285124358 774459568 289915564 19352236 752146230 694238096 478203344 78287566 823231794 615804524 661889978 213973602 384272120 507874524 801367748 600301556 698215198 234644920 573942148 108474440 193975986 889028090 259168650 349979998 698411686 447955960 157871156 562899320 719599938 893112400 960595948 431291622 161537096 52130224 618384260 215682622 733865874 111570122 523457258 86876080 455059126 602153800 133103966 16108338 725942236 433781624 637656436 772304464 911113122 828931394 22199072 301902808 262490950 942293604 478618622 674053630 177635226 504045486 306942024 262478528 160698418 546584856 195964160 762596340 898122138 589916098 931870832 800902178 977062302 337169326 510079338 537798092 252895096 982032056 269836630 311391540 56756650 969802106 775687270 891906292 883869714 490026624 606047468 448575826 359644896 599415374 883637420 770791516 864012328 604236526 106274630 835004910 641020610 622325788 367495796 212740900 684104814 522753166 686048218 560124804 971168552 64398484 159400936 388541428 333106508 398035090 357744872 374898088 296283076 731374836 912073436 729923788 174910162 699437926 126374084 994552138 433121148 363103404 640000964 923150454 328854044 270793126 610715028 376725338 785402942 80072398 663651244 48405988 75678654 506164830 331381284 23254554 702620450 195395894 104400414 85185614 550242298 139826212 91109042 508225264 714481454 681549264 626953476 212030190 815596212 631682256 588073604 232565376 465454090 69896616 100385620 604457730 81848656 866897732 767357892 267723506 71606812 132447104 133394924 493238344 986330206 407093288 452796622 847978264 32765784 776978984 807948784 274724666 230034734 276879116 923021228 5534326 960552906 831317232 707781354 592918062 630734986 413831100 549903880 61339812 842312474 322430498 690965434 158501526 355233756 914836590 106346110 926443888 686965608 490470314 662102100 183964584 749107242 651837054 304980320 78123166 692053900 144272988 358514266 944299814 114897524 973319248 939533418 788293442 400751602 681579538 264536778 228907932 589037566 152359154 969412702 319235340 154558504 619294454 433676904 407407230 998258850 146318652 916898528 875272570 387261054 865615200 144763456 601939936 409218470 15171532 642949468 675849594 252338148 74018688 33128140 499229394 741647224 879438004 663685516 426104880 973917096 147121298 215236668 646998558 989626874 186136600 258851472 230276926 237461796 958522092 940606668 752533784 870949874 270355230 98320928 295534136 449565474 298410476 837100264 932774854 73961434 448920652 770433922 424728834 550788694 982986704 472485590 918295442 713976734 365538032 616367316 252082058 956915492 788040174 737038142 38733196 486104854 82608670 437148762 130301096 56432442 241419090 905587172 170663576 387479942 229929340 511444330 650244032 704434734 130118024 151466638 107476214 828019912 81615798 701611106 983979600 54696480 344244488 599191346 726077078 919965314 152290168 663828876 878926106 522084758 354325466 479873444 862304900 406477318 283289430 587242806 377836386 844524184 27347538 194779612 334556616 362263574 873096158 667330636 260857272 265106958 182135586 617557154 541178212 754322486 709080788 676432726 295712556 85858986 366204722 270816738 768840826 633329424 356062962 445125524 358077280 982726064 205802122 984205908 919804796 80079998 319396992 257909074 869711500 556350280 262435222 290307328 38863678 293972170 93528524 905394324 984806392 820560742 786647904 209270182 832692972 358278480 592469790 853320646 363102338 369712044 505087580 729106432 680613352 658854012 62400028 789613018 330084390 598309178 602667902 129903664 248497076 791212346 865047988 94409358 704175708 334656004 770816790 328147114 634550616 10007238 951269210 25228534 505174426 527019222 266794326 737232704 779305906 29371034 470896080 820034970 282423698 461336642 692223358 941259302 564386552 694508622 454439610 997286416 139397936 456350636 19740894 25128466 691806628 380034094 152419832 220661518 931161820 505622914 963685182 249915014 140941356 23178546 231988394 291410146 874231942 49060306 254395684 87801766 712129222 281065174 6284124 957300576 242773140 132285388 114203356 159019588 601108512 220201314 125526642 480502732 940965204 27181188 981062964 882838676 832274412 834679858 3193410 327916214 838104286 337288970 199209774 794889312 7117580 513580048 521867626 867892766 987437880 343330266 909256614 229953592 642804254 806794144 236732840 111980532 887174380 162880362 929192480 839151848 394995926 513532306 839247298 460353856 563075432 181918846 391711178 876915042 803481796 23478730 467358890 827001200 51294012 642351278 46081446 585999474 76855582 424402758 18805278 827270476 96307492 79050270 63575846 546292384 403515830 880078856 786712862 528885446 803361448 709381746 358272372 969387300 512540260 560299698 618397502 871932408 697044920 764800214 740786254 387048666 767072240 280516254 209938200 281266596 652567774 582454518 343249772 814802338 354484594 27192668 561432208 745382174 313082276 360662480 434695880 104992644 286850010 226186348 465441992 172855014 227058686 922969078 724541436 417112000 615187880 360006748 270362652 247126498 461975184 411626476 270918646 896547162 165410132 635781296 822815464 411723010 859857134 58361396 316361930 81804958 491867418 85554456 470986322 949418074 502994208 593259002 749855454 458336842 855229108 479128796 343081518 232938096 550327744 939607552 776477384 682942438 489407670 110338106 813488812 99935748 482459696 501490996 404900558 283090944 937737192 312866152 176602460 185718312 549484568 674452434 834932986 881913734 84635900 341507298 575869590 939207450 834803974 404755044 452094646 778562898 231771544 790362736 767823660 870009578 31400194 683357134 753518454 926626292 881284148 968600790 687082296 19804386 856854810 777792218 590894558 186162230 33696600 722364606 484708988 320003024 173461172 404960922 870959380 666306868 832780118 681553284 200628744 179391448 611997704 745972698 895576048 281193474 172686080 702406082 587100072 690281346 671409524 198413442 229375754 863536246 225820186 933925486 508944132 359796154 936899496 920564978 92678748 595888338 842121668 698706774 148363750 196090488 455099400 65317268 644110804 542609734 702882964 528347978 490693272 115104076 845077012 139789462 290332638 749197028 886998818 546999012 581287276 694540154 553744806 726387356 878943536 632453312 997292008 27419492 276139136 349585224 953811702 608227912 955751070 435196946 814444404 420894456 941580416 391897420 852471036 831277802 422518250 277793786 477022898 103548034 331371314 628252360 525584200 392908428 967573742 502477406 93477510 926219482 283496364 587259306 755639694 55909788 826362178 391879700 627067706 229153614 191005160 724073644 457827500 162577462 562919642 896711402 180559934 954288802 647734126 605750634 539001716 931818750 865399000 197879026 910549882 222994536 668129002 814354588 933339082 515937488 265459382 592965548 267987810 770563518 647933248 875036638 797410524 277707782 313055296 102054202 373328118 820620460 885767914 47504534 271272818 936926694 451206960 18353386 565682426 340474374 169770898 376543404 248419136 126584636 60593450 644672620 892674554 26505576 671252460 803017534 316070932 775240116 581773948 541548220 781413678 905828650 619834354 28600056 981674590 649387238 326629040 116806410 307360102 124288236 509415510 416252234 296487592 698140096 53862066 41990006 636224738 261452494 263563320 367751352 185362770 212360420 222469882 498169048 773372834 306114624 630591816 786722702 676705494 619567176 860375678 535524422 800693610 398269952 5447894 947536548 324732390 370166860 336800074 637086722 461435864 655449268 200657276 850826340 370024344 611259592 754013542 594441004 569548186 818313076 762192318 482184276 795575440 684847786 194312292 164249808 797945616 255520954 690499978 845762196 946736284 725355098 748982912 518719922 119694254 75615174 699794994 113651172 426746978 518323562 775094744 657516398 576263482 629212954 349624918 80241870 601533416 279364784 326500704 80982876 539630814 454199318 719055016 268407752 148229846 880940190 460095300 272494122 907734152 432036968 400308138 766486628 856601634 532950142 515930726 717429074 836603088 700998128 304703006 75353902 973402976 689831554 485795282 551824516 639273778 566194008 807872098 34406452 646673518 252336718 892653440 781172096 90621916 704404354 706903166 294850228 570025242 813815738 900913902 591215948 691951660 486380774 218797616 39557604 245150854 951825974 497126900 595018402 182437342 524642948 161227490 633781678 858033918 402752704 813137468 168598148 333399896 753637106 670025406 170462856 629378952 531569104 539627936 685177702 499520644 726834454 338253328 604186882 470342444 345881358 642359104 385778034 947461996 247613158 656974696 851512224 151570886 581427774 69688118 228668306 610866754 118300814 770252416 270305700 277674500 654879544 275900394 129059632 823708154 870762980 398016014 151598012 844493388 30769846 624184408 8316478 720007308 889800338 838395808 324195502 59014468 159960552 100701292 199628008 615141346 395466658 813211574 396301776 196931230 258272394 798714954 107953198 813144332 919797650 57473022 902930230 451675156 128598586 288313068 644658304 506358622 879616294 148890916 666540948 274430362 876415788 654982078 222724674 523572388 236683496 910073356 267152530 48491890 182091578 555711426 65506284 780391390 87254892 897511420 857148 158838672 563868208 838557370 27345094 419615526 552292908 967312620 35057530 481005536 393253544 562767626 617414696 764566840 157256328 907691152 385020236 41953034 127325582 747650974 541224100 910292770 499262814 139996856 985611368 404376544 570279100 278424426 957996766 528504934 500972550 937871986 175762238 8713700 58529082 307421156 761804110 365740830 318771038 907503936 240010086 353944812 673462062 488551396 297300870 917091456 276720424 227693146 259406064 12018668 64373898 147619198 764665960 561736966 801223650 54133760 314918860 207798270 696557852 419340494 923154754 833200700 514312460 760484346 810804166 74015150 205912210 291944010 676394230 84666438 669916440 150302204 840756654 687167354 474920296 898757186 134824556 4865068 761912352 501475756 662401592 365454082 425284704 864783206 590386374 336925318 215550770 118617044 124040750 925898420 118180410 53098502 858033012 598410776 820720232 279478510 846250410 119290958 97893552 541954002 517997616 638592008 27674272 912869408 720825908 617360712 747315098 238477022 888061320 92667672 143120218 578171966 671121162 860719532 786352834 777623128 402670652 655250416 897760634 185441212 533780708 201543908 228517572 58030732 451793870 272844908 910686246 418148632 448741168 666520226 466967558 196303266 919817834 830345240 784086460 153082858 754178446 770142764 310601556 19936262 845717658 663256008 604114354 449059984 840584546 363809830 556300544 335763876 63352966 446277048 818704928 348359040 570826610 709286672 197577022 285335922 616237406 588919072 435560362 304013380 11635806 58600088 68948046 405547724 811603926 439862228 631113168 612968428 186397232 402117650 985152086 96383828 118491036 157879752 235098332 336531750 838887010 331567816 550702792 162017724 424122190 705979214 757520032 290288372 162325986 438817082 787303002 879952468 789016674 519494316 454481046 900871464 837165890 235621460 686721348 18194350 9337604 930155280 513600510 35315064 290297100 950497018 256876738 726818782 289762258 159872516 252177588 333231790 266561888 530101270 641575282 616756598 342859088 825936356 764647962 812233506 320893380 234959304 318576166 506611030 949641836 826195598 83171868 620480000 871728426 355527458 510582500 113425046 81974962 786854350 108302114 211566678 931443086 657884044 385620474 294802986 511616374 670114856 895030644 778685410 835816934 550859462 274920182 48862794 818639832 370266 582415122 790284440 42406618 126992998 905225216 139746642 109117226 26891148 352557026 217569274 780540384 971807958 942461328 621547038 662391296 893011580 103238266 165673574 666588386 755603628 938376508 709080326 350874182 950544680 758356114 571462190 465961378 97232868 935986290 263906000 385375518 114606804 919537432 864749626 39268394 145297114 813528266 590316234 586810758 308208390 247965408 511405536 138865638 881989488 581663168 209902570 476428164 526468164 964377154 684128500 866364216 505104414 582303448 220678608 637353074 244542658 783645228 515135056 622853648 480971874 441077236 961515850 867419398 785821772 229072850 186616890 204291374 718562406 867447130 558670002 276447450 986168736 124917642 361801838 280931974 875606560 809639306 429508516 607969890 232586174 67887878 6662658 436415474 157645440 481843740 356583814 585963024 112088040 533749262 7746094 381565360 546683362 62731050 953121002 126392220 795568944 471893976 560525920 225158068 319212602 20760964 551776452 313386368 502377476 588118782 719750136 74540022 394175766 394237474 87882092 446410612 635193590 436152558 373845630 126512408 2250760 716532456 894959418 20175788 220128858 421400848 34579804 414737178 762642678 404910360 283941526 671777268 191593396 787434054 158466118 592372232 9817010 792969662 675228500 502919482 735458440 670496586 226129816 366467488 118955740 684064728 220269898 583929744 173221252 681503564 417016488 25948770 112763806 606036976 691030186 16164660 879358768 747032624 802843306 855715730 162854104 870356522 613033314 809164528 696513804 752408968 428094250 180955672 500941774 630889190 861660758 261519130 21089668 782178986 508005898 789841160 538913908 785108674 313273524 295430106 659699908 763987434 932205174 315481956 851735710 18081368 209473012 55704938 966494214 343916550 19421382 434015640 176997538 180500032 32421610 961676030 408216954 376444624 117624540 176819636 912288744 467544612 171694160 25479024 246617868 832652792 748762398 586843454 207323180 373610118 210281712 984067608 235217374 325509640 41648194 793400256 341415186 586279532 317537656 225391264 570351746 236586266 429361406 588310432 835448206 285643102 416476298 313459372 998001702 560326026 50729352 533961958 810888876 997997496 835931432 714205492 853530188 186293796 760756984 409531810 125400820 651134674 593867284 700775824 326240446 835912100 272662818 752546610 399918 331345786 108701250 674490908 420969762 64426816 744630498 417566702 733224274 211845456 618347760 330640132 428537366 185725954 993311844 178996882 193790706 604530016 610687328 667141672 543755100 582904434 739782206 765242918 531960170 984128828 435285630 124944654 4178788 91517240 83359880 907804676 635230170 602863540 404525366 932378912 581554136 525370768 994084672 721956272 701951508 760568580 402724162 729696806 748494912 494551910 496297518 38628956 306798104 755461984 357227046 833088226 477473302 911009988 188520048 387688874 738795308 683580966 127873712 296577194 285881408 238215850 870949236 766278002 753396626 720153718 187902970 938762092 651862446 808134494 9397512 216949598 192522852 642637240 738462546 671437854 983821956 553883186 319578388 389195056 412432512 447606876 426071622 650247972 795090732 531909038 65598622 136201150 507902678 563581386 710811038 895055418 979574078 838193952 785112236 37504176 251421204 703505106 573954420 946590128 93858544 92793874 616911898 760649750 234722768 147214636 225085492 108772902 182227960 499222920 616979084 21743186 101826104 921052956 229683742 368963588 1471314 608047208 533636154 323052398 455048550 367797498 379821004 813763562 599136180 478496638 385215334 457473732 337457348 329566816 171195654 142484934 406521622 860614850 884725954 958293378 106962558 769503266 32226382 757046234 297906614 983965226 44236942 686259720 122241488 312157638 429340018 631581254 286288930 679015620 795011490 582031312 703055130 961742782 359839984 366191108 475675268 241267670 254155478 461803552 17749842 114526614 291276936 139315596 249879778 530140082 948253724 935744966 881380660 48264830 501536620 433161440 359010694 28051812 707219304 250195596 976040618 28248008 321394976 262133338 136091658 393437410 756234114 263655276 406263708 281295766 586941324 623807380 774822514 318865956 995654332 80324490 27881660 41017998 314609704 241347974 62647542 517165482 844881014 90519992 470880290 309687396 537876676 674823026 446475732 232784250 842274344 21797864 934626330 343735622 403549616 776217226 185614832 411941546 613860628 259970876 232598118 603871086 793636724 554273706 244110192 887617934 738219248 309489878 928826232 446613286 36200196 928173072 910194960 605773660 738850938 742873472 641174686 430732584 347318176 472162566 624746082 21982126 652469982 233517288 54029244 755159194 559494366 984256178 116920998 812073980 718391840 842595010 508631616 262283640 147025890 466524522 701983928 907261914 485623294 551029462 365169668 128033020 320445982 874190534 161158660 58366694 558486658 73244968 950618234 560666994 260152142 657054890 109114394 933603456 687763736 580066152 555140350 840258620 429838516 187508026 69978494 201809794 203963590 31581722 681992492 501395598 209014300 704057116 480227364 415506376 423433130 17120970 856210184 799915818 195021632 474217390 958108598 436351368 600473212 485687440 639262076 334103666 111517346 864669666 828062658 14290842 534135498 539520504 433691202 183294448 601211818 878105212 305052608 17257832 589284582 466226370 461972292 784279860 135822326 651372190 728646534 342944240 670907858 199713164 832630734 847935918 499122632 871618132 216946594 63357782 787683972 243037326 985303220 823000420 766321530 852802794 520616890 258098054 393284446 481654752 899460002 830609108 20968252 171812294 464084052 155538710 644076008 587510630 670245022 694735378 208479762 714339342 978390210 724521152 390093796 168490882 155721892 548730280 49429804 449056442 325404544 407284032 909265376 863106464 293013310 797663572 775934240 759421030 204002936 889057796 149064134 791610792 479991164 5408072 478135242 308538894 456723682 840672268 551368828 476143600 30383508 46017498 278001032 397206374 492502590 998687852 134210544 136393356 831808490 419503348 154936236 264325934 175206014 587289164 806384634 170470186 545180784 249023042 280410368 406523462 595882564 565253470 567783130 572625880 387138700 988856388 895127764 503809190 642808858 212681240 83041672 620482756 384869646 917354198 870344420 598344916 449847358 848389484 334048086 158998052 108031160 457612012 721260288 556571832 645838230 181373182 221906916 80972816 182595280 257134562 79707014 51425494 987616016 652740358 937010828 8544492 976065556 38574822 837272714 427523064 553998882 829281600 1544818 414494452 668938636 795439518 677455562 305769506 251886030 754843840 718431612 825122606 627507470 99762804 684476460 561517988 29215166 691689602 69233076 434060124 521834962 74814240 880175562 835048564 903246872 245289514 131877170 380416336 629642872 837919198 532646462 627796298 326105364 259444898 550818234 914934352 147247082 255670010 998119362 145415130 906129078 956748470 125500020 421059682 619798694 838899188 917995268 846465900 302911188 950706652 380849992 601874288 703879606 48832420 240694932 57341864 733921858 971363990 372680184 922163644 96553606 638120094 811322454 669641150 918654934 157459330 452408840 479590734 587244276 35747318 814479438 609127392 387699892 422770888 955933812 976458654 514098608 214067874 734284982 129980396 752257272 420026576 219794558 543135910 387962408 111248940 799505792 11791678 611601968 557345104 530028462 817521324 22505980 279932920 706496804 153199808 240172828 273110076 287088056 581344470 333534970 749677708 342190506 390307780 185091228 100509310 773695268 292465610 17721870 552389700 94610358 956969244 699508330 339869460 252995656 949481954 322880742 435553790 165558218 512791084 854966468 729193890 698120818 792745014 562891562 763406874 452709420 797639344 955315500 953369654 459715998 409461360 196268876 759753642 47964316 309628892 642071322 788015756 763714996 338696898 775745060 53027250 577699324 575248412 66965886 299769090 632069036 724883080 280274660 936648944 610196908 96440354 439611256 720891760 234835560 378604438 396142858 675141768 438061464 283974624 910919136 505764068 883717926 323642934 964143980 296160020 695555344 955048592 319112490 740130544 957423740 458883636 738664760 73222054 571917846 786032226 281555972 958333556 939773694 383929554 588402716 238181254 147024626 322179112 413283742 129649718 431205408 891405044 356049222 159475794 774807196 360715054 894586054 309655620 501026004 652751876 351769580 335508372 147996540 239140246 966912210 941424182 835451132 50733100 186235684 837053830 44409550 248127916 329013274 765235170 133968194 242078878 615768654 822016352 780758954 32560278 806815710 725113920 700706872 74377648 142839530 508047684 935607350 868921402 957714614 392241346 832554816 883809638 635659234 891665762 308472456 686504966 664178162 118138616 379840878 462474940 152008322 109791288 518544328 874586036 794553896 568992672 652184460 883926498 463014654 887781100 38841512 659340884 825714650 530312428 9892424 291332354 487969196 766787394 63255686 279669746 380436044 954359868 351037002 918749512 825237360 865713820 709922696 501550424 762574176 618627608 722617820 549732926 596367186 476928122 279063080 397760300 550768450 856817026 783213384 952034620 117478690 311727728 384694004 593140436 973728902 804177352 536718782 966427180 562927914 687581386 780248958 458242994 862737360 722846290 321252394 74898442 279174354 840944318 523805908 895489524 680236744 802600306 320992778 778421578 221476004 103717806 902509944 542314444 151480648 290490 333038064 130964814 476251056 774007382 589116058 984781098 222687190 729990102 465376198 593494112 779829576 164040674 586218 228076048 20359312 72826256 973336602 517140660 729287028 90935630 480866486 816716508 982815850 930208198 57675362 757230664 291130126 918014348 686020586 355627228 348417746 949052120 11889338 444461420 542412114 504318050 505644412 659012368 591997446 467888338 831038554 941152882 809812468 829980272 456450940 761832904 955315556 193649010 487438408 828676280 671136218 475515420 921578956 593185794 428939464 198102854 413714138 509650530 197941676 810541562 804640032 49636018 884394002 354071162 738075886 989630148 454641434 299877604 834452248 341386586 430464736 352249750 566640632 897737750 567957072 809057392 78193142 522654148 448931738 26853596 805509126 715061480 756312230 773134570 83205750 26985162 272803956 762523800 290651010 243205376 311767110 850496908 73909680 866390786 404576576 947462400 376131640 227568882 448800706 468504848 329525588 584818088 267666640 961762902 119796736 465872948 238238858 335002698 448348814 56652870 295615888 577114102 468853884 715249882 33832342 337987120 16240632 3951530 599392238 178869042 726843738 437150720 939393874 249071976 194463070 143541264 690403494 288457224 648144368 121059024 109092484 714685596 771006986 948496464 78207284 553559796 45738220 142548446 457973162 145978692 89614700 929703492 414901422 512219222 304837362 704011722 320674446 620899976 788376470 851203388 736364670 483756460 807482222 335642202 604785158 965463866 442534138 416639698 130115044 264114680 86629334 238774488 735249830 203549402 549674248 159100540 714380752 911737108 722521334 865149210 759385980 251917144 897115924 333515876 880264724 428149196 131018084 863840516 379471636 449150550 58774126 698996512 979684736 985686200 986315542 361824462 947699052 652831806 921105608 414643238 329974062 251910540 744236860 695539948 560932000 477604756 382606758 916597224 795216780 207024084 665806318 462099716 721295770 554614994 906430964 978649786 193473476 661687670 912987050 314549802 19220786 883249136 470545980 276896936 128499600 715487086 874772552 911764868 613525774 152330140 283180314 205991026 372165042 473342202 975403344 17697076 754623026 720242878 447969918 571217400 492329972 801529420 890879432 800514208 610211308 430743894 464994000 794690306 754138742 625483428 931259066 547936830 25217074 788020202 962065600 194640606 61565682 129117108 890664294 546992786 430065240 998330430 167257460 226869636 741394578 522808814 677019912 155441536 659779198 718341208 969358460 615384622 497867594 476794176 815001942 909865848 588893058 111009412 839908486 113015942 259146908 292176868 24879292 499758 345530502 259661540 112999038 53686512 918943392 284139332 847777526 86520322 416166026 625378732 135330188 524069382 319831222 532700382 282715706 48008266 337700010 246662888 552201898 522996340 948547648 959796288 595586410 92686000 877400848 105043160 137401560 656143724 612946268 410660002 587091920 922012478 768408492 330826474 475856252 859983298 380335692 463620292 459564942 139462184 927833838 967518974 674450706 879444994 820550514 877688450 483576740 561251822 226387600 677274438 640930272 412575258 987999924 901149458 861323030 648908504 211509250 150838766 943400662 275574908 535423338 981556362 696968370 961617782 255858558 57602424 415177844 308839000 723793180 916016840 880776450 628873610 199341568 274842686 169584866 634059968 312851992 539342280 933259474 331574022 907061256 372591806 657946498 969640568 569908372 883835764 210567290 569950972 637464200 633091378 508041152 309525074 673810462 839772048 187738642 378576746 26657636 667421562 881914932 486857348 852104680 14223534 399665188 252291496 187062824 886128980 475454058 577992414 201864482 825889446 14577992 749372584 513162842 220625330 765744958 656019582 117131352 982108630 845687116 61438032 453126470 374516234 42558362 197780182 206103466 406040100 39284790 509560144 473316750 551938090 733250014 845615276 577239844 914463418 253589292 665491706 117134612 808645498 716073204 792043290 556429998 400939348 731039380 267819778 566856092 729354836 663709266 959194336 778683744 869098602 337087682 721520718 340130984 633382226 388033302 396598214 315072396 184287570 275249648 903131188 416313000 467630550 423302886 416683220 909698982 206396888 635088074 192884222 566039660 135508620 235988912 340109146 297153422 481783968 67824188 882144380 574453878 954476114 225147268 145095584 288384262 546938964 529435098 156191022 184718536 57135814 983215414 117834 451598582 148982804 526752942 14868406 514209624 526314396 816690844 719505732 773262840 565459842 965511434 493998550 196784878 188937796 209207722 731494082 506722508 900884456 302033764 892250054 382867320 96432680 127638018 873740454 599139866 563671982 95142892 563207986 922235428 135868290 976680664 648707418 163965166 878305410 501870740 374611440 259116668 582166140 758338928 340618900 81126200 973249306 467184876 317653196 997601102 207398384 206308592 183559256 637615408 387261914 547998590 761393580 459068942 667004982 415310124 599424572 607592166 673389734 833097214 432596256 283792474 546347216 483823994 145915072 174772310 433138956 965969562 669897526 351954028 237705858 724734784 744751738 944387010 775468340 74935796 826266528 855816222 791714836 356354772 476536346 585671888 557999174 60973014 154867710 612832844 965446492 339727052 615499002 89166756 417337450 86048436 275584364 421308988 175760478 714487336 178301850 238802900 228791698 689142070 422145840 355737554 599206328 427085916 387098662 537641668 715889814 142259410 308345872 37491632 293542580 766900132 55965698 568731526 975988038 791090132 468100058 295855704 776033996 817052904 321145380 880747244 652147370 905919366 99365750 145233258 459195098 190365654 734958682 987376878 431845122 885152766 190405718 877596912 736515280 21256102 721853986 416774620 191734426 229855402 663009742 112387206 200413722 464351436 455692574 733259978 16347450 908606144 325457550 920984162 427585654 170064584 14204898 35180246 903110610 964352274 17235324 451297314 52289424 324380724 833892214 367504972 621336376 445949412 844028222 134783754 997730032 895250526 514011444 42963026 270070586 960993954 553211446 363612978 686514268 406273984 998886494 78855472 459319710 930225958 996366952 308441978 729854060 502227530 716634986 333018726 914162832 145646392 846340136 628424404 953985696 927840814 728909428 543122610 461671258 604252300 233943282 79226056 870438552 949720940 110857948 185650356 973861550 224576444 730049936 666141866 311016030 432494406 457786274 608941370 966281120 454885866 938477590 906184256 651554064 908746816 487288118 921265102 172378748 582388512 90930348 980822906 367698036 307086384 2294542 676418196 48426492 688015480 230092470 229173440 484909884 751157880 260617670 861075100 252497018 679409594 898917672 6345764 665633020 433429774 92705994 81956084 150594436 53330366 684914752 927026332 188864974 471246606 574343844 568978708 30328500 265954412 267649388 659829326 613526672 549100150 47758104 664667734 703668428 252054938 908468040 809221438 543226046 102149490 221640492 270393360 714856622 3718434 714742152 919773774 706662322 809544994 563728014 848175476 547358832 690024698 865398634 840874552 870141792 745469646 449345232 290548946 133793000 112808546 614814422 883345546 954568894 149113888 297114814 548448698 45690862 977522026 149905178 129627096 765592908 442333788 256164668 178942054 179035616 991135796 799427838 731945928 628277998 159631734 180247276 634249794 925199092 349772438 946975552 724487432 885282702 466203098 97819748 94458180 35765696 776626478 766704428 333770674 28499176 967149158 516810772 354171164 985954734 862505168 921222306 731375836 777791682 234329614 193928932 49700666 192776076 899088436 956553330 491964732 609096014 874266722 948759194 88178490 438249486 29904784 362343400 466630712 511538184 197283366 46763070 690228862 851999372 846501558 752010346 526638400 182818646 6918178 900600396 778356144 838412378 294819882 21119508 464732150 263548256 678559042 625170276 808232602 850339744 156472954 620630478 39992280 552051152 393783516 660098620 201743984 21032954 449988170 222007698 992754904 666319868 861111356 492954636 87986306 929793550 937225764 420363100 473602042 90763088 826204284 872918248 472995188 697937470 402821868 343754934 243898916 786187796 796319444 457683432 399588290 585399738 495221670 41132452 164505366 5788568 488444602 969990806 719975580 858503072 370988938 793698926 81836760 957801284 344882974 93692678 184510126 255781212 288915216 421125910 836345662 156537230 87931316 405199504 184252390 339110922 981090882 78482960 667540438 533303404 306911256 678001450 739668374 483162746 76690550 889870256 650114746 23342438 86689924 826370966 876869414 743972246 953889076 488499094 918032168 389020790 652802052 127872834 602223696 719109472 147044636 517943930 186056326 881368706 737983218 645935184 533073348 393029832 422531872 339721646 40588934 956176790 77001078 956417452 666722280 500890022 285238422 710074026 636441276 232727614 664609466 582698312 184248650 853522542 83309550 528774848 951291978 869145390 119809352 653014234 161173256 525778928 933859658 269449566 729705946 264283700 10113156 629494132 607726926 844674556 858785080 178175098 549845142 915865746 666586152 735140566 305141490 275852906 539234754 949304842 271339706 829035262 388061922 596498246 711549732 277250500 246075844 476276394 262593070 888998518 173387940 683902000 781178798 674456596 874661342 771441358 407218218 198830018 171945918 346912740 442139274 433361218 263549826 375100232 86257754 149308224 146742500 67972514 205473910 619824318 115307988 470187440 269301876 101542142 738896066 991584552 957772614 925584924 157116228 755058432 420095500 784563802 117568948 959205774 252484146 401484396 423260386 383457620 613291800 275271544 527522340 525285664 40252766 987803430 840754684 881158392 442275822 770689580 217960098 780542296 714769754 333586896 44537280 946935204 970287244 918961648 446531088 660114360 651216824 722545058 193104888 776066284 785400062 914585562 94264020 497424550 168576942 382721566 969257720 414075750 261804172 751776008 819033204 397790652 64898378 92201972 62084374 654456476 331561298 138965488 247346660 393656744 121054566 30493814 443545442 472862058 262323190 57026048 914650900 132600782 691416482 917665110 386745186 412094580 246715782 639090810 308005572 372151768 885354508 402196698 910896848 479100848 538303936 157082378 521211244 555158004 649522324 530606968 445557480 53530242 963643754 582872722 204728916 917244164 622256286 646024094 838319946 976565292 697215092 986596384 749271706 461166166 302062198 38315730 301147298 400531814 533764042 707528064 713308728 272478798 113863262 200764348 280764418 581460512 203257424 496343448 532234750 731749264 709756112 161451948 746398916 815668214 289370442 277098650 90263920 36664124 255952024 577307530 142120044 487262918 985517354 115476790 203000190 105024656 376448854 800209702 247755040 928203454 214489272 498154640 142632382 118048666 37581968 881797806 156629198 844601804 222135276 195967786 687575226 178486518 774801028 677880136 944104472 566018862 555903172 140608630 453922334 439706132 659850756 21457338 887290432 456875188 79480442 135789884 663514638 142804754 867146302 925722522 298912330 319098280 217823486 145310176 127742050 935423630 657401122 831924484 346116190 434268630 370933986 379447128 922617798 479600194 382672146 181513572 332346170 342074748 161760822 704168916 44649344 20463324 661459504 362855136 847888600 288321194 505716540 838161806 365511806 190794966 677607408 813461380 519165990 371451428 236587670 158200202 624158166 887662960 581930824 67745150 328506682 862175470 677746692 152278912 525059656 972010596 275195978 653609720 714481180 495281206 229380106 41437136 97287060 8898026 400669170 439404860 313178876 844022230 675978080 487672792 212445256 56000860 106624356 290788842 424848588 848037638 359556790 629165742 442111388 849925590 953768194 136911452 189266366 515283264 730197692 882252318 56593754 131768546 659837498 585710152 429754258 219979172 416383730 246077644 446586440 194373288 70714764 786899498 683778560 362511974 391046054 260739860 288945160 571300684 84205208 993638208 772552772 227778350 301044576 639834582 157412708 125761706 29266930 139963784 941241674 786156528 237325010 376580364 921271334 730477650 667657036 613102500 204538152 656634862 110838854 909012262 757250122 226441102 893655108 24076736 686178470 385651812 272404208 937031486 581589540 537672136 874801538 71074940 433238160 150166628 281312524 954212924 790168822 476555136 907371600 596551760 42569908 740428072 648791074 607692286 819656762 151750162 441820696 792283304 941787242 629226978 297310852 21070966 414300786 614730352 310984882 193180946 229754346 271728240 184547366 237477156 734938672 910439836 486501594 766733028 560101952 484348394 34021142 365279188 902074088 219305174 512900002 245722474 171715276 301941736 113454712 6489468 835045878 641730540 703347710 32798952 41316888 537938058 236943816 871048526 244185448 704853654 446030302 535426390 254996344 320101302 70168402 474501644 300589506 493742038 321566270 296693028 918619514 431956734 577338474 342207350 220340272 859379538 496600090 519639480 495525030 91439748 984509492 376653628 267017108 417106932 937910080 449465182 286036236 886003352 618496102 132683088 929281542 847423978 965491870 520366970 292433438 227422412 647021010 445112142 846395882 440064302 72495820 51522154 789361792 63138082 59086014 524066918 583694430 32272740 687471238 797710770 66963186 828525668 914150598 503866828 443095378 663686772 288555290 208148126 230118420 36307292 54092964 164131618 562507978 345386330 340219034 958762108 970782308 718543444 558486834 140106084 198970362 282692846 536965124 930085984 282565956 838098504 126428398 42164854 767929694 630098400 332901784 582220762 266483240 185821674 725004216 984351746 618684040 473185606 207356944 321396216 297865656 644131072 506910502 272453002 239335734 206416382 847035704 782092498 593435642 176051158 640715002 244656748 548445764 610658778 518349050 853364762 166196166 327457746 352307362 404153080 796100244 644474466 930386558 436494166 243536248 324932414 394909982 788223386 786364086 243221518 857076024 283682896 527159214 58469348 161552728 646792460 425977080 772194084 164823682 278415636 793717152 775926902 834346516 996721194 719552158 528820724 33159230 133122116 470267866 882995624 819857692 321121054 24937368 878491480 969737162 344855840 518154920 631800570 461405426 636283576 505257334 4511492 282177410 408426944 223402112 403685932 926492158 22189490 568960060 212030990 409695168 16309812 170343414 421449946 293536372 104243878 271919756 931390234 961715404 198353642 902478456 605766130 744180314 306137532 773102486 743729492 648675656 596009070 468329992 807748296 421032458 210186848 609942482 664842386 508216198 741977544 450437152 860518762 102825866 367096178 612517824 542551398 237336838 784736590 282759482 857105364 291125318 454364470 523395830 606734638 963734612 530044486 913194664 895948138 679455920 312827362 475494064 184858630 93001064 46216218 65595230 600374108 168678836 377940886 243533260 58108874 732512060 201107558 414707030 865953388 215201460 426289462 676053944 369079730 244473412 313269832 510244280 955673202 935160486 333480350 909118940 620786868 666245478 639565898 698653132 428096056 121060222 994416596 318053248 917390502 857456824 71151772 395166890 708172498 131831452 888894446 981118540 436044460 519730834 352997672 421607318 762612930 917905852 334216734 722825800 874652584 474724492 450800914 104125786 671924988 863528822 219544438 384232134 250625674 364451154 781883212 888645472 257578130 311258762 863769100 887904072 924649502 479154538 710281278 448408286 309809814 768891336 105498438 73378822 117934564 50022376 326992156 480612222 312501724 110773040 563514824 638828738 146882050 247697420 855098630 336640062 555450390 710623676 572404466 175458674 255907064 266523190 500041244 464534872 971237656 988428312 723654330 759612928 263707016 302738872 83565386 737654476 198669298 863638308 47291762 398803672 984712238 384586938 357834218 772660074 80758130 652027666 621445634 932148552 195542910 7018654 432379718 419145526 246326114 102159230 259809760 381248344 488147044 703403010 143033140 286729764 719658590 104889804 37322260 628056838 211260858 729442424 762160226 329613544 58085032 861240654 120297690 8073150 317187048 132525014 550315620 953004156 907717790 222244842 878103370 360099870 299093810 206306202 559923780 885636794 996589114 847866562 279859658 525920072 819978524 853645966 517492290 685725068 863076112 330463616 99999830 517380602 885241614 52991178 730697802 951252736 12504988 710974002 794718650 773416368 873522766 91612058 788803086 148975338 992485480 116095816 946886084 915654382 134242842 304307148 519091202 403752452 31904574 966977188 575323898 587437518 967066328 753695764 833774386 342761696 152842344 917408670 872222928 790875430 713479524 789655402 916103778 273637702 128462492 66136112 466239578 95298244 359081262 513729506 519451786 65399798 891187588 823419956 300070616 959329846 10490318 696738384 980897320 690759980 998866404 464301130 698627526 737973516 182709280 963754976 664112198 964541744 548559574 67882844 749914020 443610058 476116738 817014000 106103528 74698196 101834142 271777958 835051732 558330684 885390428 508890730 846153596 873061174 944812462 263798902 403618026 624330292 199221424 882646780 393162044 432353990 940445590 954291614 698833968 341016558 722381472 818996180 722204362 553711610 85675824 358147536 522797722 2424950 471415338 144739906 137959326 608251302 300199694 985424432 684066032 629312760 253566230 812744770 716263352 410313558 900160592 777964664 617730332 647670102 688198814 429012982 51559970 385062996 348695232 92854656 560892428 479302956 290574304 292865584 100112532 399541282 607434094 533657376 887758608 774789068 856840550 290113202 593332842 438281764 470341760 592434700 468475210 308683240 7673904 100688912 409048612 654925618 289722692 322787352 452551638 444734874 977600210 119547706 374791620 571112102 762896556 83195954 59273954 35013332 130129374 250658836 350125100 300445200 669418920 132791856 251817282 141295600 608518344 160784918 800600512 660859040 84974576 561669702 740781314 655244148 97546284 974828060 778295476 675839576 521668780 302471902 876425550 387421896 444103452 693558008 87611950 359077988 227870710 216930954 796383950 570890614 85496330 683303638 289837156 652950760 710146164 71406690 712433116 640119422 531155362 318311764 292967224 170234836 269699340 948130452 106648916 428966746 181999024 323955630 848548828 571960318 215951954 548819556 216316532 703290432 490109920 795216538 873303898 606059940 434097114 755140110 354285260 993818518 60450778 811735444 53345092 156947254 50294796 836842220 904254678 678224794 969736468 817145582 854556034 60900124 18409972 856416006 426289056 190179754 28689658 409386050 899600726 970074614 285650880 123849442 49449312 552081180 515328080 771401322 854793910 766909992 441078454 655900776 405189426 453503438 87904724 263800506 530035506 816792490 573745250 140365624 308491802 727801204 440048402 461615470 344812920 47070682 332296790 370991028 428137902 139808446 236044810 319036960 490359912 803428860 704890752 955791530 456916066 67243318 905785532 191241770 823684122 104294790 361525356 836832708 512671854 387543146 601202676 3221004 461648124 835077536 680942918 56393698 321215594 66046210 706668362 267614906 751149094 112504188 54345972 475577452 458494908 67268810 712021352 250694824 729762050 200055854 340331788 12187190 614550920 110207976 154612654 791064632 414905042 887881574 898299532 510128448 321065188 448683844 100419300 962431782 181829592 70250966 525014080 297632748 981442484 258677034 73407078 300871918 44014876 333498524 824015360 772883722 316751090 175236698 674775982 729348314 666930276 215484220 427242572 120210012 551287742 886379978 111919934 693175088 280378192 850066154 87572000 486779202 968360866 725299440 838179556 57313416 963050422 932164340 653353204 753626238 263077788 640942076 29480204 583558628 200966846 112090866 828059964 897735804 37790248 189847346 780334522 644787860 362558380 383078572 76691088 938145354 338615842 2270190 844716340 48527768 709540 827987330 379832522 893095470 679115288 135593540 34210598 105010714 749606180 120532810 814015660 340359358 502818776 332093590 90299570 847377430 51001190 209594318 262052346 344012948 260272274 404920152 958862202 982023008 169186932 43236154 784381134 246844044 969249502 864083090 84219754 314481372 596838774 149270090 760350148 404948132 710406410 718647464 988791178 823195864 333311768 511834010 538331494 788660688 183159712 604420808 945717304 920220728 511253152 554261692 100865952 283385440 436663668 4790482 910717966 983965578 478289000 845764724 417893552 632032204 204993076 824804980 552720282 711047862 388457148 894643744 299221592 262376062 25735966 933937016 560262792 147211808 858671140 581804566 609311496 855909906 535705470 702383488 614687224 641562442 479292618 97317624 384784954 76870202 429352304 516235148 537118020 901504880 261411558 909950544 793997402 999408534 516478004 547934520 983261434 452778784 749812836 548738324 24071684 475252090 967015564 724549020 169178598 803800046 366956608 623502274 47773752 509034912 330729196 948685790 435391540 448644822 188625312 820149388 88860726 472380892 286766800 914484010 431731486 327413498 40904760 535380616 200456266 506808150 334540674 825501602 3674974 250882752 658446554 370493188 266386796 816138808 191428152 391162758 744853478 428716976 781428732 569127468 508670966 962902924 265759678 234340492 790179010 717405248 311526708 394999906 171688964 546590674 271308482 636504906 342013062 799316372 606473914 331341548 864038938 408369176 788338436 939433214 162814692 78166816 455455570 280702188 159006932 45612364 360977982 313091968 516880680 195247300 789402264 666112842 172531768 455616930 739669062 54758074 152571220 114008234 401821170 168312782 370593432 753282198 795682126 346934652 424049884 705967308 951051734 973510112 913060218 644522038 375439414 661806208 307746686 124993672 951400860 622829842 181986190 247292828 152014778 982477660 148103698 300205356 42192294 215854798 905039248 694607460 528335998 225548448 356267036 161509738 899426652 856282330 761435600 180590548 867445924 390004532 543682812 61440698 432272720 94509362 110444830 52447114 412862788 561427556 897642818 377801206 594271828 495478918 857517980 555240710 475160856 117831622 955856150 752659930 425493762 124719660 267274016 561944242 616196840 168464078 444715796 786728302 204748826 85370180 867084586 424526586 58105304 619216670 112641338 97537888 304832638 841072110 884742964 526340786 428426230 317373326 402722794 145336470 575664186 287469084 249927184 243321236 658151882 268505984 12170604 916815134 882025306 820279540 762570648 461554830 558038654 158162758 178964506 268399622 516191048 914538670 399460698 510327222 862478902 748302420 529947646 327732550 461156986 196414256 352363916 734133734 721670610 940384946 686038446 825690996 72917386 539171610 142739500 174442426 418003930 228417708 564545486 871011990 111632008 151316464 224063086 838114422 957364610 24768756 236228922 5597264 856586244 395425308 582731632 50960554 187158260 380425792 748226484 784297270 371461154 287544250 561223912 580615862 814180956 95054762 755601646 53138528 414849974 183105004 891859444 229416030 72429410 377558918 756757652 930951470 310839196 992282042 283090680 739574684 731991730 830358826 583739840 268454136 939282022 252693582 5240440 469241030 615772510 304356226 443232662 540276558 61167692 352356622 850966378 928613240 966736826 544865842 718539320 263549292 852180208 355213476 773862340 85264928 134701796 78157488 878406652 900905616 723755098 481288252 945259376 763098888 844364246 746933916 609423344 935914104 784236420 647922392 383436218 140864674 121091620 602574136 87005496 683654196 581927540 79704536 335452520 145203064 811867180 698021108 344705556 44942706 640171388 76197086 104225510 199161644 73325780 636791102 807568842 693719768 980205830 837199386 192848692 302210588 161544620 735269866 539521426 494213518 985521848 129739474 724994320 914611252 757920354 265501738 70944080 611494772 815720698 458275514 37244062 678462340 993406456 791617856 272784600 282095748 446949324 999087298 140697850 685024964 779724440 514126008 295198714 623704068 50150822 400189734 40923066 861113770 332633054 418430464 970691050 730858476 908708872 483478730 720216592 595460102 923455754 740343092 171463234 501454364 594785590 208671334 209882466 761216324 437530256 852000926 758230832 322767768 260737116 66731352 223282828 611328588 45021570 462441642 848517488 998060540 150000600 848160382 751425256 998982660 144007874 179330120 425813620 930539458 813357956 152446544 396213028 857293800 539148592 779969762 728438330 509726822 856811596 818705582 274938560 941918912 674253366 141896474 208441096 141966712 316028482 829060646 245790866 522417954 67315258 956918974 982651378 876719552 948980208 671208064 802009764 188348180 567967692 433571762 557024712 27136246 618586066 114060312 949036508 923447086 179737824 695767808 619215838 681194988 951290256 753933948 649042380 67143448 744268350 833689384 395545670 655280078 305191416 506765790 34665072 323888816 770342806 942757602 676390918 604793360 661868824 932108260 185320196 357968928 240961442 71278042 501996484 751670286 573812638 220118672 303763172 525278842 353401268 684479662 866781384 388313694 213419756 751723108 395367092 945880082 413237046 693305854 13332394 736034996 386221520 365444564 827086244 615388276 422732706 198573246 654498318 361874244 977204718 541256982 334048340 922440302 608425788 438081618 45287026 560666068 105322234 145018812 977296260 946918102 67336642 302600734 721560758 759116828 926187624 323628620 26813050 735539372 183741718 183214018 409987458 699851828 106685984 901682660 577719852 376466288 35571642 971536452 466164488 983657758 44328402 74033448 424670210 445377226 947081476 849619058 338819854 75367132 70392526 270092996 647093064 567218026 770509532 304253788 122481830 186085122 186122820 349644768 898720402 163421178 481001410 714489344 403790858 343556040 185739404 632309646 329030574 257696328 130856576 500981486 708342866 399846428 816111614 15072754 901086284 127634842 709297802 462636708 604621688 306674434 943937534 289651320 81859602 182660344 223603336 159359878 772222938 133549514 154548122 330728448 272918452 855838676 605849570 721240120 423557874 24125078 958017572 159584012 281280486 321312494 952639930 212810524 560140128 310760794 336765382 569075938 627063488 321291144 615373752 603062754 737084146 335299082 142620412 643572468 986925972 218729982 790765126 523127728 810907104 793665070 272330126 603652738 256598502 835651754 400500580 980563662 675426388 820589882 830771888 813342972 680699458 518752010 474324418 545377464 975480896 427810024 349622216 475359414 124893656 50630752 721838014 325920860 578072236 580475016 989947078 936924640 774729680 561174104 765489272 521663792 448521948 974810420 122818052 369887218 127228518 279020278 760792888 836171930 509035882 349438594 140193232 69373356 435059680 593597670 524624230 442563082 208851894 766518756 166232196 504794894 157558740 877219392 702245896 872631284 852400846 394927776 619573082 195051786 302400506 580954924 631694220 186604602 296439348 101830190 692462018 956319840 843796700 534981256 295402920 125846222 408904190 36402476 156800606 542653260 751992022 203840548 469978460 416407628 270925878 641331610 692857136 779109456 456356774 683846920 404446846 152022414 122833676 227890672 769174600 65832836 710718604 38171428 354749062 244893514 971260218 376310982 966604714 2254668 775238914 706791566 868757320 53970912 943988498 782659506 961422856 872667900 875456272 421309668 766047616 884162510 757164668 542022030 714090716 956049288 533576458 701907134 846399582 601144658 381291214 941915116 63151568 281118364 27698474 238335200 497538130 53434292 753309522 886708240 20970972 474467642 369799684 88123106 214378576 623738794 101236644 563595696 466057236 137457196 15321152 235424962 701778472 950670518 553297116 29623640 656393410 55524332 567656598 416236492 396137286 696951094 409456414 791558932 617982880 841425930 207074106 263267532 261633564 812309212 168145314 174228968 610906816 20655122 137501556 356091926 321773790 401894344 535329084 746010744 478366908 831522874 649923378 644926238 867226600 587300086 308642316 340962536 713595182 96517798 961818758 519831232 26354076 823663974 929248166 373905630 526550564 896088716 122290504 151220998 877330400 111119056 921702156 641045592 61248050 598853946 527950460 766516694 464304346 714190270 832245404 112414692 294910246 3227670 440177794 181283978 542341456 37023190 663631366 453717318 603877822 188284024 551472672 610241708 593243336 738587068 785922444 407725650 237757450 134301260 34712064 961283302 164768964 174964280 400804108 408026286 57180290 887769550 842820282 791870240 921967372 965208368 774476202 314328444 421369828 949814586 152740130 585904260 417320820 971597808 961973324 339859540 532972296 417695942 278972726 828909362 943978050 77369048 109286314 26170198 481585834 35747068 901484228 284662154 776863806 169848304 381986672 983814116 794972846 624348434 619918870 233447992 252296064 741224792 654645822 556499832 354297508 164196360 808771950 570288350 628210054 45845940 888513100 52465522 471090892 830558502 971300142 74832976 9127304 811169246 257956334 406732376 30205414 86233800 939937136 135772504 920637474 12112106 295261002 512964926 49487182 665692288 425360846 580577146 570312680 827755976 225344080 787244910 207242142 714010618 734281012 458380594 380477358 151031304 321680200 955311044 161992876 774889840 345982752 1279374 927700476 719157978 63662596 44283186 998240286 227847926 505724022 864940226 990556994 162805002 220595540 414357348 11040640 561285324 281407962 247868724 115421922 123908118 130966782 44677352 237868768 855194556 941447056 918152840 118613944 693072888 874567418 140846454 46730808 566854546 457613874 12629472 635397092 724786604 935718488 16835562 265890270 272023022 433581318 518528300 399168124 380239668 247875452 675198996 129271350 893066812 938692092 517808736 439356594 155172472 21946758 395101786 623286448 285956512 417804918 673937152 851622278 299762388 853076110 163958034 176520954 853702670 929509622 668789678 892871802 901342892 585958874 405686506 93068030 101934368 126005388 208158098 487080250 343140286 495136094 248499790 555406490 990576640 220965572 49886782 365572492 509818612 313569730 746188164 868949650 788925764 411375072 600113352 467044510 864322916 818746664 644270984 989383448 761847138 510112212 686496598 507693176 198628638 90945532 760708214 406425506 576628694 902659190 194187156 781229902 561314974 960167832 767884040 803893282 448532386 88879814 358336220 282306628 891568112 225448706 706462976 379687174 35472318 636172770 238102578 229767312 219863384 15942694 717022974 446656270 803869066 541396024 797568162 972785090 106340458 619270022 11551646 231257160 702749676 887428002 632232794 553773812 404410668 619745572 359587846 944813228 872643966 397165726 726869506 981660356 886567148 62383614 41109876 364436848 412184568 680328244 883502238 26065508 700209102 630312632 98124156 546676148 414908772 162085122 864280664 284288796 518936256 193578172 595534956 505299540 45512268 171404252 562548592 431444270 889595904 498053790 504377308 728270154 620834292 401240812 714993516 831761922 560126496 839311632 744093192 955528684 469909304 805989096 70316488 702195560 270873820 864882060 374819346 110200684 883516844 706074504 764101094 727110458 865960984 825573622 875107714 354611072 71066890 57316970 583885308 566128594 50396294 318899684 331690084 919181202 889134502 716010588 513479382 607203010 778771708 807404 42212788 806372790 144824838 659715438 162257858 124111298 995205076 617227256 605897042 684496810 72373028 962527188 526815976 826784140 545095906 778021092 616831202 297779186 798994412 237986556 209158394 632538094 257432356 749548764 12514684 834094962 485667674 147357096 514423198 966154114 510406126 54679910 136064270 605337982 391808882 103635332 155035794 314436392 720433816 327736052 206744862 719170456 364607216 953691746 776435236 604058268 986687472 416862098 634580144 140309854 813507066 520804418 673309858 671812156 104526886 329002478 35968130 320702678 947213194 657492934 181893818 618203788 815781704 872760722 930123348 614466178 423075570 447299760 631855388 865365914 526255864 292584296 172256244 693898562 564116822 162236318 170595968 700075202 216025660 271597196 672035780 985589538 334655386 681890272 926872634 598125756 915864636 87042164 310327666 268175182 846245498 715815644 435571730 575736492 617700946 486806238 665915592 203008856 492837380 923558288 479937982 533666454 83906172 634986344 185529440 20288232 484514034 354934442 117020752 635416372 29851224 124150482 962797582 656047904 992780320 644411510 99563930 840672530 331918718 419815020 948546954 551817084 773497516 578131886 800139216 10579612 764566488 869336082 746785992 855180350 780662396 760786594 161983992 232771756 826581866 85116506 38207324 471883682 395603438 597366780 52710052 546968260 578291874 66887156 40213626 585318020 737414866 146318664 423864800 347615618 322870908 978660658 954763744 177112652 803116838 554421786 920242254 996442758 672989398 80627234 234973872 2365276 822950400 936920564 42285974 419338464 319257022 585068464 875271260 845088682 401790964 288145292 26399614 605084938 302526790 771617964 858851750 15755518 337765652 901100890 312393872 934713106 921644212 710096364 895743722 836066394 73810344 833639452 449015392 977251194 237409266 251173440 494148520 52623622 264967106 536665598 664744054 692840254 676865772 950558932 264289054 347493136 212858962 515789488 675477924 833544092 408932322 545252070 95975346 469792870 797875206 103216114 704928268 721086082 844821672 328025648 133548456 619431772 874604074 718714244 517175346 103978410 284186710 285850866 601300114 99908514 807498216 179139292 916673666 572531126 925470498 964854588 71823796 699530008 160855958 943750514 303692994 831662382 170943612 13325540 213457042 984409538 760908308 904810594 924227730 282504926 670601328 395403876 60432650 2775008 629500654 802443154 757056820 437926324 906758786 784726112 315666794 690612086 724228824 806897926 276151870 311765784 354648074 446082444 681881924 132394358 448827964 419235382 375925668 416746930 116124542 171195560 320613942 124458614 981193808 28355586 5491672 677362692 554400270 984962630 612305962 938100052 386751940 391007876 432209446 107417926 266093960 1847718 151128912 899074280 981714074 990589494 289695218 857196842 317298590 273265952 32533464 702332570 814522410 553862154 242710586 32340564 847395234 484186934 177147794 493201410 121012504 533120566 221019994 441844022 899965026 741217492 255870214 243425214 722520358 173022586 915273328 616190042 941317440 989697728 44371208 958033838 787427678 198614336 608483806 888832724 461135912 122472098 967777042 791218046 237731038 764301370 630550834 68469786 581193868 684744360 150081510 291794394 560625570 524005130 944819162 317811490 697673278 534639768 102756320 904946424 157488878 147801652 657364624 81665964 376980338 882280690 600593666 136704002 716285190 798919276 343633444 375722090 381974196 655152836 590124236 330343114 171592698 65563528 949820902 348792122 346006486 525674980 302467272 834282434 330573392 475183772 979829916 339981848 676278388 183583706 537193820 435944760 797563096 327170482 378875332 144023370 551743036 855831266 549041398 134474722 624983564 490963606 442500286 570143438 758439248 863884630 143425670 84174516 756780838 164332152 236827116 21120870 518164118 605875816 663609244 319718012 582207344 702188974 65159592 726117726 737406364 435433576 828075086 658999902 732917330 889470742 736000004 285463012 478336020 558425442 598307950 143316232 785077058 83869668 409660104 828342730 805727990 74288060 88806946 10240202 405992126 752272512 753558178 66324228 331564840 207250286 681968766 160732642 372882456 573577624 367709128 7978202 677577144 528319506 686056094 749517500 889235034 872724642 647630428 489422636 253733480 373547018 885312566 914505886 58182072 766083480 957767396 942709640 726283910 450978734 149800088 989901186 741485506 831925562 256137036 952101274 688025338 821764678 607365448 328026800 394334 906205952 199943736 634434758 39319586 178817188 623672680 872930446 470529222 477840252 532159092 757278758 436124476 726709144 56341026 136995834 934951736 69947180 774402944 813315062 437527032 260352190 752476550 199520360 918705550 82095406 101416004 784507358 471663824 797754928 691350456 683400012 244689444 613442526 515978552 556261598 620560446 99889362 58601574 708276412 549517608 395484742 754685620 993298102 152550074 713217934 847929852 767099096 177225746 544872410 973405856 983802334 619016606 514723640 513407130 621778698 721938940 690587824 954069174 128223314 183841040 748765302 883277734 534779112 28693464 69774088 10839528 682145448 463928212 19254638 730656214 333743140 516995648 179274496 140468652 260474096 343967526 964059478 73221934 165920544 390059966 717454108 190790456 45777596 242747964 252676746 660137134 193200510 549951168 763372090 313993474 943354610 750698588 732326264 192982638 567829498 24218656 10966512 634112992 919993490 907530496 21918420 427745480 28404392 150167900 248350884 878065960 553499926 361854922 549727926 312735142 66939834 990267684 372142396 974426900 834620412 945196616 623937878 486383220 561135760 299010734 536715762 383612428 499801872 820697248 200765518 687034112 10575852 117453078 646722672 732980870 803581892 67997220 542060532 153015480 791474196 954814540 918395816 63455460 407790862 645676500 800244214 124361504 706889768 256989418 81633116 18146908 831509440 449824664 141149732 37561760 228920608 725828168 420055454 597641926 594896348 602824406 392618158 202505196 747247312 133669692 797592190 855623882 810512140 92879022 850578334 625070758 109185780 101715780 217785694 506980052 639694234 645878706 48772760 777910182 710249226 297869432 724288522 429018654 157612028 99336244 729888562 544233886 63005716 736186970 997593294 284043584 520462080 848168276 458848284 121675598 68374148 642212218 3170646 760255848 214597076 312527164 588362752 734285800 625339862 155037994 131239246 362652624 220564958 47515800 958484782 805187222 340433256 13857642 817094714 978432456 713150630 490816240 37317368 872979032 683782886 960514912 12194176 478772274 315308412 376933106 652638128 719511150 613410280 420338968 23206410 659261390 627460808 784339550 302387592 12357124 4378844 774103316 565171578 312403224 190292124 530940560 156290578 153250504 735377868 738994710 399373378 814882028 653736568 986233936 43562572 591454952 560283288 674129966 40006850 80468850 662307346 336077856 911543350 903509364 943325432 738842828 145326922 928049260 72474342 746915536 51064336 220521730 130802230 101695182 812891632 379711918 110568596 539496208 579360662 738948140 375550346 698369358 164118194 730520078 509778608 777304958 208061884 607787068 188371802 83641914 904084392 507090258 605737066 678369146 413573226 21300476 814390946 279150872 370181428 278621314 267584154 754507314 955801366 891187964 377847552 626039280 116443444 749658886 373013064 461013042 14756776 248987616 846307200 191969768 220810888 577362584 847144566 354314536 445138068 459272044 819154188 900294324 591360 21824916 983508292 889058862 484227348 936385678 397586102 2910294 662287688 563111072 319851558 451326732 966570156 898590088 262839486 768636178 153555386 935743092 544649180 257311506 513843856 409492396 970011800 460341594 312525576 203265048 972045866 395568884 445757364 519949938 3462500 896148768 455704396 229511440 995307688 780901196 520376882 35265250 964814018 910970592 863298160 122763250 435910546 146731168 64466576 605823660 643792002 994002316 628056612 3445162 562539220 345517868 886052734 5526702 200007320 511065626 826504852 144191230 392172082 113228822 554230110 903088144 517695332 126918860 447360754 654501992 51442228 854539198 544699384 605451696 55616332 7070808 262956254 904758526 971786932 247355818 518922470 20976068 23665640 112520856 419423594 217096238 511080404 104577642 367334058 801654220 862618782 506459568 285234664 542625534 617770728 165096894 394921988 274158090 327015210 9614298 217730652 702515962 42895596 918111254 581305828 707086930 424254374 357586602 676761806 379375878 391116264 393659016 56919978 744634844 521232130 815717988 525798430 757180214 55481300 918876590 285143616 554910272 239349846 70105900 238802598 421129778 693350564 131774008 354359174 130621486 541857956 688293156 168644320 514567778 896230984 802917424 258137688 596823746 752584120 127296264 370113170 591020462 898344944 227947194 973680884 338650498 387963950 283482662 178678374 209085180 186295084 884281216 499064792 464227632 747817350 834765010 378670424 852703530 619365098 40132960 883058186 252803890 311145270 339537396 391920226 347532552 635203138 53010708 882412988 296584102 228752368 336852864 203863520 487816042 355267774 591987694 130658314 50001268 779371908 390857526 707032028 295875568 258300470 481280790 142060566 437450630 646645778 742350466 122985626 164356114 969099862 358330938 124737186 744838220 592372266 915507460 953307914 369100362 828454618 544668144 161241182 37682384 472703952 20955946 260375922 68828134 762935000 941847906 570392740 425222036 675407458 731876644 553115718 952519560 912539494 638401578 769832306 788521040 825994262 611499976 445372138 763198414 637331296 769137052 556132436 325326942 127910080 276101196 646459786 299207186 962320080 835901466 746692054 579145740 843001388 339009532 901217768 634754310 980756760 831073800 199123540 981577456 610119904 321605820 847419988 271293524 979103570 245137512 761991174 947904576 867730824 597762038 32612606 324544960 51607286 377577132 139763424 311406006 914912440 695259662 678292746 996544812 74944392 406531934 65711092 404077288 901626536 455135372 557615144 694210642 357610240 219832556 388269044 672290750 644750366 291494928 73394118 567362840 750263134 590572758 271889860 946560544 502702144 458308040 231656924 383350904 196970512 438392956 323758480 784323424 8301664 23795162 34646412 233992696 469167476 145889818 448570376 783934506 769346440 183396004 525188000 514602990 735925892 541473098 567082228 882598224 312115242 71468418 495286454 100542790 854678538 88944686 586113600 826187380 655437862 920111558 716243026 586017026 963333870 160174276 909638110 904666510 624384182 204343618 312750892 956058530 212641536 441595172 92784866 483247050 211118714 168572918 846411872 756536872 604838376 950601234 190421838 969150810 723701082 93924232 520594018 750471818 392340872 314753662 501941196 502588580 653660302 317774882 28298702 229135068 328321242 336038846 571506502 711649382 130258370 362113852 553829962 229720680 600861874 33548368 827366206 729793854 151084808 792254902 39556176 669408980 97720152 847667848 204272960 464512942 533705894 519890612 351546394 821462466 225400858 133932750 678189456 63939842 878393310 86207958 483405120 952027220 995906564 823466982 265807200 32733476 513721110 659336624 634834346 98355976 698964482 957698670 504368288 357961488 778217194 504910270 805735344 708253170 406197710 556767260 791926086 342593570 692948204 780719674 215648350 981217808 597931714 897074918 459690584 733028170 43456770 892194278 705646038 808546524 750477246 817607862 708834230 302572894 787199686 829426302 309489254 741026510 559090792 698705740 359628276 390607664 901101244 530354182 354334364 273398284 209502356 354976038 387751920 459893844 956974658 902825416 328939940 543638604 134910454 831468036 371054860 248609036 380724432 170844182 728410474 643652242 496892070 751919994 303759692 31900418 722711544 500468818 404688518 142079570 998934030 846048508 566617494 136551298 316541664 74831232 539783144 434520658 746895826 619190300 511242316 634516290 878811840 825733720 799563742 212200610 852388290 631011500 502507488 959552428 540222162 252702062 309786258 724475758 395088950 371950454 304858688 40996894 543455852 757958500 841884294 605714196 231534064 830068684 794615570 22290038 912396392 349540820 937128028 821596014 523085550 52897616 692923206 889979382 874245408 358435350 124080000 341009912 871490166 978064214 930988572 883412584 588963942 468382488 294227998 290212568 457314380 590107068 764194746 180525220 535783630 77878474 888266814 838011222 371947202 418452200 23426604 79897866 275025780 988164106 163134048 121120504 875899632 379174566 955209716 898423818 271451482 69806688 533862324 673721600 149842784 422530952 983584260 726401316 288352426 345662212 649792210 251079004 415000090 605305946 392985896 45633872 159501268 990404602 110263240 509462088 356210740 688437548 842781974 147127636 312076314 538428310 666290696 565643754 506875498 459668198 773760060 847124776 729461592 674685960 739172894 804122154 702418704 245884864 333745314 373774930 75451060 865410346 456690870 863287830 4800260 966188020 798043722 841219126 574656664 462637714 234309860 85050890 797010666 617982474 885566280 190909384 736940132 989518078 116388980 473764278 759181230 900315640 882628130 502301898 90360986 518687240 951260690 364699918 558701914 331607266 245060402 530411286 989292774 610718120 177087412 291910108 230063634 997813386 746652222 17126484 593725334 237426124 181347024 393335820 885082320 185149882 940798314 79823596 301131206 485189384 264511980 540135452 376035694 411262252 652235384 838882772 262604556 89360278 900407202 217444912 27306262 485143856 248762718 768368250 858502530 939155092 805955620 843022312 736784114 226397024 679071324 892476182 46091220 953138618 11265306 888348414 99865920 75398352 360375804 326311476 423757044 129339334 738218630 958842910 643118934 623119572 173265820 727010596 762022912 413142626 684708070 249917790 570050988 91712192 819320456 588266670 738638498 667047904 160533476 316029864 816301552 440296020 890325726 365037346 107535098 655803582 645624246 593883348 703206506 930168154 799483464 464552748 24570008 616030030 215404432 478755708 868249934 605000896 316579800 952215190 266069010 551049542 540358720 853125388 752709034 572352798 968853408 261039900 592970016 807825338 48745914 728969682 761594498 403915002 737755592 730892636 201958370 682133204 547045320 731688724 599209596 639647728 17933202 788217270 195119410 616346424 173032982 340481878 725418032 908610686 248926210 498407908 983601534 489365470 911985620 610383174 639032382 690644782 657086302 156463934 284896362 100273624 514884344 741402438 104635824 951456430 129852156 784219940 613759286 535275746 717995154 764045090 27468186 16895006 203954160 285514382 12144982 530825880 324539878 807581866 625160186 500804206 639962450 175551130 549212154 740446508 795302640 612885440 386220582 228212568 317874546 440478670 100607290 148300300 771280628 629569126 584371864 400645058 571503104 393384896 589083790 83803848 310193696 114547010 709994128 88239190 948849532 435918028 820415368 128847948 197341590 193479922 757827498 801124310 965334292 705220064 792333754 421927682 235071564 168225612 493933904 493062546 813223888 313762228 658411776 762767694 386523066 395413174 108013600 111329218 488428884 625109810 869299640 328166312 616844804 475735268 294591144 758755512 653876638 123464324 434435212 969900644 48195610 74619490 865381286 160521348 555578452 163944388 477638192 390580452 112680890 291377002 470330598 721119292 863036974 730803994 705369068 59576416 708775794 799200534 635341812 868536182 579474860 958463054 62029850 912962616 815461420 883064270 431801384 313205342 456941460 455228472 353392792 321128646 320397560 273600252 600623708 365834914 287516042 621753652 26182276 224740788 111635238 840842376 368155798 845427494 725162482 917221310 866406052 9943188 663587218 961697206 850828564 114098082 441228602 968293472 966182436 130143482 739130488 90425090 943723990 270026730 420023088 12608960 517360742 611946596 655336604 488951526 781137980 701895744 795460476 8418806 683434780 66903026 226391772 759780722 856385500 891135566 642705566 796984934 66323888 545036956 992881528 392330664 887730996 42631514 666270102 580900168 719340306 760354694 415039200 229588812 19763410 682747458 690523094 702567548 31182256 456699852 316929478 78742252 737778470 835403756 438675396 368413408 288384708 410808800 313325570 679101752 504367506 545170506 157785942 913248486 664551060 165230268 250200248 710169120 559478290 620531182 658398816 86536226 127249660 260465564 732721316 436167546 573963714 204513918 644915628 477952394 67777926 106913096 979532340 71844620 309839592 111684760 644489530 132761892 909097180 40236144 325595530 114818332 693254030 548856814 903116838 134316294 592168234 911318382 636180956 796582616 730579642 982130480 221945342 28787452 433907540 227610426 421223964 949208326 330872520 549715526 117987624 64238368 455937090 272330064 222359616 184104928 866570520 576757338 281361364 332320386 732133460 318745098 138080248 476747732 88658414 653810990 365414912 295730464 96253760 695028276 351462 610907526 565575118 994855384 24396572 262944408 837472090 231437310 710801334 410762698 290665766 437617924 708794240 778139374 425507252 939453212 594044236 594952386 254381846 559071342 60967524 920222672 64397900 152312570 953466572 51137798 749520850 637258126 45364188 105765788 699404000 456659608 900252084 182896268 9828050 828701646 283996580 209578222 264808756 852614128 678466484 114680728 632777694 420278440 338968388 401454840 943237432 815281120 637433640 187213536 17887338 224629814 43174400 307406992 369664098 680496746 341911742 42131280 219274858 229351250 60814602 706520750 687401480 620677312 136284866 884315496 110554636 758137480 877092008 470084172 626535246 442998592 374536052 209401394 619666208 561126078 341272022 609274466 221218834 536255702 307335838 536353326 408178088 180479280 276969284 570989646 802892956 462715534 614368846 166078408 5191976 350037512 414536420 211027418 724466690 102058506 674740974 709055496 477958500 915908626 688330244 538285142 290802832 258245694 484146136 528034634 96930056 525836234 18218874 885505116 881505526 708486840 337489948 707461090 325705852 455366986 888813990 187224918 484091564 947861358 83798582 631933730 70967048 656981258 732929704 514196468 527348070 974517374 934889852 662072 250980514 79471106 42302274 817394030 546785680 202507696 164043382 517181222 533169060 282662484 629658634 679198998 109275334 978510762 147279774 441924720 960172166 625274974 524048922 753005124 102616048 48893192 475445698 948200994 359837264 727644612 218398582 595272246 476115166 255302474 358820812 980205976 644201276 479581902 191929710 682709064 113903126 336249976 787774826 112883120 783060564 941363322 997267978 172974408 43188046 176575736 167023960 846626166 336180808 480207170 237813598 205694082 864055090 55279824 510838186 975408728 436367548 817748862 806772664 629542714 869536644 382811866 880766088 394912716 829916972 117692794 945446772 958697810 968922144 794267618 431387120 930308622 311547528 857046730 154732060 222523714 538722680 606856084 521046004 857264040 992713316 755127990 568065706 463631098 792257854 970843088 337721594 82053024 632267282 534416510 253098308 307774440 160665086 10036998 880526632 868527456 235187836 45673912 33891640 341701672 848627026 558554468 276441812 852626992 169547250 131110276 480518712 124763352 562410426 504024094 394644796 8545172 241705724 485557202 347599526 974449804 507088816 998571882 201336136 181603202 473449446 862363760 859920740 7480012 47815704 657588400 670359050 608918332 20401228 637339282 207711270 451484582 776740874 547542360 578442660 58388258 968285460 436927252 679223234 982877134 705317884 771064334 135876592 276903498 882381106 643823286 75151990 641147894 515715154 946356212 798084338 881891972 834493908 301893570 106557680 632302852 26115246 919569646 630635310 267379920 200909548 835407300 288288672 117842622 610369600 972352166 576111572 568717454 295739558 939498748 776153750 213600960 702363616 692522940 526330304 37113442 742714132 279932058 657436302 968987120 626164484 909234306 98102228 960761660 205495196 912652010 423249772 581079662 270036328 895053464 106524338 468732010 480873082 479905850 310416024 26545974 419817306 612454866 604828094 739545442 149000324 781059186 195455186 341989344 243888402 733389416 158973950 731692204 828258712 934176464 172749534 484718444 221048384 6289974 371951596 537206152 197617650 602915398 906202128 72047288 941331742 860900644 969187026 744795808 225697818 576884570 438310992 758188492 171125140 62038168 977330194 407384328 982914102 327703754 456023682 986656364 988711134 362230336 342638878 564553904 21146012 157401492 897987988 362022224 879564482 310659750 41766344 463927086 575288364 421106708 94099456 309338260 519169110 260407684 672669228 18624402 688379790 168792340 230495578 453787494 930476110 514606118 11385838 489348734 878901346 262492446 214773544 510113958 77028138 71620750 190696526 854447760 378112216 750297346 776261764 978338242 635750064 566772418 475383880 941304288 469904744 621439126 985422528 607660596 921643344 705195038 233808718 452794966 142154276 381639936 895893014 244040874 950246736 807724710 597207566 32152032 231495642 673960068 495606688 87102870 941848038 247146186 161345560 917128034 360457624 724398872 305721290 238030974 155561740 346093684 945281932 554672170 524005820 358945274 350112320 205607538 324878814 481126670 282575552 648073530 931429574 415689266 539048782 789843292 871047152 893751352 450861596 191523890 985637038 526522612 289267192 602691008 675368872 977295726 372026140 155832970 599019378 280513458 358263728 916587320 681258910 575849882 937887894 268532 712478308 132423060 749251160 372773448 797668266 326554734 853463276 702245498 613082784 457105094 729513700 788393908 373861604 790479182 313297382 415207432 353880194 176616524 624777270 190227266 219225300 646399534 335046206 153993052 172092806 557088140 912336074 889096648 574774496 857078008 316230610 806546878 146647328 321347482 636188550 563144146 739084750 276225774 841436002 900425812 397801128 317552410 793517180 386534988 44101926 685575486 583152998 878310472 755016742 378254074 33196942 854885412 274932018 44702898 601065066 848799982 449890196 77676454 273060374 992304374 485741946 155654754 774261926 413311042 404420992 19224048 757712546 436444896 131630302 487487656 929414484 462113306 900970160 5767560 466440340 515636994 979973698 904789890 114365882 93931942 408877740 215780642 70805774 746564716 437251414 97398634 180849554 130759534 843595030 670528168 362208346 452619060 414815792 19379416 212140750 463304266 643479426 112472908 950222754 110403874 221878522 858458252 535284670 378607006 564357288 80079866 625223764 17861466 275039484 397883032 274513526 690687676 127849876 394411866 462753002 956750438 957530826 608410094 373085474 267114512 283529698 89372742 753998736 357758460 361748836 227322562 350765982 170513524 828400738 214165460 71862802 186558820 265268676 104086394 311754490 396809268 834629226 42478254 230594262 75147392 227260124 158580506 713849086 797599338 760383858 848693458 525272174 696729218 842213166 765780000 578635282 700924692 869920512 750775144 778650118 167846626 958989474 167120316 21292656 348799352 885530420 273869564 566132436 291690212 261533874 495216236 264585058 93390882 953420528 548214624 552628024 868529128 183661108 577084564 171694082 340986072 673412352 938353118 482647862 588188934 690346892 492951944 468430122 621595930 425238154 344178778 998912734 12233350 319285954 155253696 904748468 181619008 780907220 103685436 244819926 224523604 157522810 800647294 862039918 519097534 756454778 933871406 479268458 204555886 12333118 791553292 968825594 357274656 675908530 596638742 461801030 883114454 309952494 769831342 71698008 654075660 559486722 998984548 605468898 362312652 458745354 119295724 762576406 671462210 583125202 448212492 239927732 891758254 872381588 47950624 558722976 638622032 264086048 212238690 902100706 606426828 83193270 838991280 952057810 607949228 683537950 729885316 673160874 969113762 752965558 747318160 590670044 923121374 150465426 903240332 371421066 91593430 776052834 830328886 912708084 964651874 365849052 234520762 808356698 520566364 208527874 928869812 115566074 661624582 449750976 97725098 733021878 368039840 796865228 283377208 951772194 446855080 229787010 986456848 758436016 365670140 836918024 149363934 294053416 31665818 239928946 797695432 258230576 449282874 304307980 120341240 326689388 679884176 750726328 93863498 457148354 960912744 793742680 120912696 704954952 910234260 707520582 712065222 570851912 191286892 931731506 488960228 783378590 762123738 365269642 544626848 107581218 244938212 454435706 460167180 539598028 914547142 364649022 842250098 137644838 446748532 427576770 891000308 8974626 404251912 522827034 221241052 112366170 422191774 809910606 622767556 662534032 222148068 127396934 625200432 555698456 860706524 984297778 395493708 470190570 402742258 291845438 506311892 144917140 180236082 359972738 420331718 610689924 141755500 367390832 758918112 579869998 171182316 344776272 192860368 61289104 543828352 373082920 881643550 520402346 312747586 193882958 848063340 342478358 899712396 392588182 187871898 923589360 244976322 127931596 848411174 828268528 177357874 741976512 408887644 771180674 752025362 483767764 5617708 41776804 675384006 197013498 806066782 799141688 601785806 277872012 602521336 198018150 106766340 568512662 41783302 590175678 526859192 669076844 214827812 899967476 185100852 137895258 359869108 922488986 238712540 726543296 253748300 347120488 287399910 426423808 329168776 822961314 875597384 82775470 888242940 753048446 887893556 291817188 366301942 296885484 866554684 891988318 512374392 316830332 174485846 666086020 242628518 351609862 598130812 621456902 405014 153010012 805882932 84319638 455052984 846980880 729105548 848402310 15525374 167046692 280016134 896332040 312134956 402773094 902886538 679414406 461502184 770457700 733587830 974036882 912061366 673870694 319329332 215946024 860946698 352053124 989725920 571262606 776712050 356804908 668418950 337484796 755502856 154379208 404333550 532960976 109887200 331586400 926033070 121408684 776145244 889855606 886801392 98132524 713753520 437364108 265536642 602906084 654254282 941688934 40848622 19611326 10117786 415705106 149765074 606439106 119788140 20706682 480423892 65434206 475481138 796632856 498304480 7278508 349720338 470055506 589262368 67807684 326548298 595985722 148555646 970844898 204867660 214033984 46718770 615024396 607953666 437511694 581172940 136467156 960000160 829495632 808694452 109556336 922975206 23046820 302265362 635809332 916609528 756875576 165533388 875204072 779399602 717581312 901454670 826466968 977894432 89148726 819746976 429030826 178497760 746983048 350369016 365346928 295086762 922967358 455658522 382088822 304859680 727262628 816418286 863309364 503317912 37261306 516579786 342854202 91912090 983520832 448055160 499051358 489114300 593837448 236075090 779023338 531266280 581177632 607989128 771517872 431364830 390564462 325055280 632392716 208871924 197044210 90627484 422457118 508085216 585907004 223068188 802686614 264025768 530703670 436939478 807279128 819086764 569282036 811361188 501405170 608564678 789952500 360047808 897128702 917729170 914106864 324859868 875997366 476624398 599634178 974906284 289162210 854466804 404018134 492545354 774649982 254271832 981731796 686281866 707578870 701926706 631958358 443263318 757513984 718365800 775666436 552899552 950080124 706289898 86342598 849859616 5745286 800988774 215142976 36212478 229252624 906411202 730888840 493438248 712179998 535036220 716078442 523057920 538667042 458624418 950017972 397764230 681245324 172222474 996008850 569122502 977718354 437515388 917047048 446450850 5981956 558812982 693581948 908792746 827846554 884248756 465526058 545092068 72791364 317513414 786036360 421344980 919026532 83269294 435757988 286805326 941881414 142375014 777892960 524585994 215260968 309512508 176943562 299554264 435646128 851384466 458780144 624539032 333333050 157342396 852692932 699109172 188719486 657484698 300982002 610184848 401551568 958404236 279433454 323357926 210853282 822103134 435797480 65000286 334848326 548810376 123886388 487789350 445315812 4827784 354640088 776645960 785854272 931849398 861240186 165693278 588395670 993798916 396955920 572409168 747347206 688978402 611456928 956138338 187272512 691274678 479403894 878893296 261079014 710259958 566531742 234375726 107596360 468619196 8648136 376318362 938550280 821281130 629382416 356084536 586396490 713063788 973053362 671571684 369343962 810993176 898629076 775499410 600683806 443157148 311614204 896063822 444831852 520599328 233379318 755633396 743022878 677650146 845205384 604316988 337514434 490792722 279704336 796231378 476145508 357339096 666278774 826023010 58695236 325940642 396094942 218240342 760106758 489684668 15958338 450648946 724573858 936666904 49224188 791631532 919981198 431896556 410116564 231822444 180072304 632964274 941310996 443899498 443772964 12970232 967658260 144484682 651283148 876686844 280242630 570365946 804858782 107507010 419165950 694403128 23746556 927972042 633847848 257042462 619625906 660474716 53459186 74753296 124087024 916241314 277448358 112548124 506700034 532168034 162385994 256277766 249957106 970280372 819722500 413505404 500782042 370386248 499628586 193348882 66121618 866311492 12134056 192945688 433356960 384422042 324539620 240548456 245046538 730853444 544524006 761421524 411067832 648101056 735890876 37389048 833147308 112853286 633244984 141740764 721312456 832947016 221830448 742573908 178746236 371053880 607991484 674458860 766020014 178894608 389117648 20474808 203708772 169663980 987698992 149376912 48255154 719748718 256543336 996491122 64420662 311182562 570307142 891988310 474577514 782860564 80647490 520308932 850074794 572266704 743288244 686353300 206291062 910658750 448565670 191013758 310654130 891848876 552528356 883815724 930009682 661519896 632639882 770151458 186896860 321257078 174219158 53436058 112378228 713723832 440094238 815545704 598313238 677259032 564980192 685276366 63891692 677870286 152502106 101440512 867411492 592808136 435474932 333621856 191939300 36958458 488164184 734042990 477054000 575833028 555343538 930231314 425592106 213400682 824750462 67371632 251483894 680308664 62956500 520657712 908162682 542180744 23610136 133687680 311421148 674547734 868850570 80142502 759573454 952536416 254239868 737189238 619755278 349952752 510971014 38301758 931315584 923619080 253489712 517003450 441954708 142827330 247722692 566338636 787490250 793158398 920069798 692151350 783386066 89789316 408967408 324475046 623187518 406516272 928249648 597087586 7351708 209898260 677481620 121536450 450878256 526164702 308306918 909005406 377980632 176506368 989307182 132816492 284222146 340106100 187482064 10817868 356572796 738194024 210872744 945337470 268998606 605935998 238744812 40497700 138854568 36823320 343895960 263055200 55589464 481449508 824736018 362534418 893901790 214179766 292028448 737047376 475017994 657393530 10492474 219467582 571043080 913220848 128185474 379535632 555641884 665761572 558569720 868605498 136918530 54703552 363467248 731328830 758718384 637101118 590576562 765965178 519342648 780775186 262894272 885716502 912226132 288180556 589511792 330374306 981416398 217008360 887294238 971342638 899207974 49288528 5227348 477782076 249530830 52881280 227840316 272771404 200622934 285829350 462589452 324134772 10375252 840485750 366620272 225567918 287362702 497590060 94059700 234070918 32659168 272713966 998483228 162330754 275248532 501866536 121935212 552724390 9878954 638451298 184965962 181426250 842164938 548695066 427579622 302418976 893891042 34041798 863477430 174146622 287507160 126075236 609260342 118423730 658630608 299055238 493575926 567295902 924833946 696745680 478014612 16744890 649415650 114371066 900718022 266619998 933027252 305122508 39277624 794896882 152222668 894715440 261257118 225209352 716567582 567296956 109222276 855519762 75414572 777614268 259911658 388853744 231389858 526768420 39121630 687654330 926561234 937343208 607052962 804623328 206032892 145486820 687994584 864600978 757335244 431736270 739172326 583545452 6936374 783067370 228282738 463562744 649573262 568955752 523002308 314594118 965078630 813732008 131169388 221889786 707290688 664640022 15067308 90484486 469980556 913396534 925476668 877140614 17855628 943971016 391037436 231456766 532102734 832658964 856754662 852389290 510201300 478735778 675313372 477134364 955304288 691348828 113118710 558583300 34510144 753712556 166302076 548312748 309357978 346265740 159556766 724693908 275868596 193774226 547278682 607827196 370379312 677199684 940238888 955926400 585389068 302335176 540759596 24471068 179620226 56327122 678097942 570722854 720152944 688332740 524495302 955694364 527172966 638557016 956499424 105340612 774955690 303300034 576058832 372509858 106688482 684303202 72550868 104921928 892185088 787834968 504920288 139158140 464203008 43318608 205075874 863808488 510228496 932132140 244340568 53262862 184567788 589093978 728436304 806678932 98843216 677624124 701853042 60244068 579826950 900117754 504938920 771260338 949182208 456495872 549966872 975392624 581425218 36473248 57286688 911256934 518767424 431629786 14180304 455656888 229278044 970986564 865699682 936180712 638821610 10887704 315889668 866320712 344388078 275683834 884411038 191459426 476709996 509479568 129015880 821575010 78420918 903565042 899465110 339822500 821810372 115410956 899669322 67965216 111636480 620584740 870485616 952001228 400557240 292082932 402560924 19210366 897137360 43429280 474828136 659995692 888977100 279881046 82757820 290640278 337194892 182790832 857085864 282410982 844607074 680074374 366423170 729678320 637444210 737481488 838730062 614160090 601906212 580157392 523454086 318265340 988836208 744604662 483647564 167088818 741365250 967748294 992228148 50025340 217149248 486858570 713581274 800027706 261024272 817419916 365246850 476667996 795906474 622198198 372818772 140700620 836034346 990120810 693354516 901344990 398572 235351990 191052774 581971534 523730174 463521116 924320770 140745248 651933354 852643820 166164298 99669180 555601092 712247250 880975658 89354896 266379058 757513418 638347760 621779400 478942262 761382696 504145702 256979548 76364556 653812308 354269222 99465696 314929128 164016092 91045370 60625038 140528188 774257790 124766376 154720028 253742248 890480910 330638884 676668566 206027598 48763412 178473816 489961338 248532760 668311660 805559380 418202772 248575046 277765788 755367176 169038720 672450350 580420836 781174232 561702508 577717702 154650222 248376134 696769300 875460236 39131736 281036822 848762086 718745610 286067482 275338496 148218118 181889360 728845114 615633584 471512900 691215728 338299870 566003996 38101266 511790788 689802892 558464272 663824188 477346698 641671442 250032528 105295384 757271894 298573658 810716508 472241974 854224932 751596976 60258934 650100648 616241156 662917772 699644644 478261082 462520236 613302590 346851330 412234582 208006776 988297698 821556658 604566788 989700972 313976774 525351594 311866116 346456156 115633224 522753518 240181976 758532548 638151506 361653514 923406986 722629166 362958000 622277984 733482416 503821866 998183590 828301690 4056722 32625606 885704896 606293874 476734034 490387256 886619616 643319098 34722584 859788886 912846140 98830104 322557960 743507504 482413668 382553768 950256120 925801398 343440862 840491300 856158198 388848450 759402164 861103034 508273098 675614610 748071292 620401592 432304948 260266496 570303600 63660910 471133704 472862660 376812580 759900832 369542884 37156124 926543948 661521554 789484584 827242642 954332178 315985036 840180954 588565134 42829250 327652092 590876662 574604170 316435608 465447858 425049202 165140978 206512322 960145516 302727014 440461862 599253688 958972524 189637160 660155746 438532404 100266050 403998066 105148970 261125578 209149664 211012954 328767702 371097868 185774840 456524354 718555206 448261684 950259076 390343406 886001984 708799570 13567794 42851066 508898700 807904170 928009480 26616956 964323734 695960320 743215112 969083022 58850702 201480198 105954924 146017168 573711786 836012328 466436476 348910286 636743120 398161292 324154140 865657002 404281930 915229124 23099296 971624862 816096984 793665836 243695518 123566800 221282396 443186874 102149980 615621478 591645800 67683276 793490300 82221256 923853408 781195702 210744960 866220388 358508946 39440830 86373634 158102112 253288824 491839454 191107648 781247150 936749356 343527672 977141734 506625604 352254152 675187746 335323044 575477640 198580328 935685798 433821318 213018362 662272748 41055058 860686180 903548082 232695708 229654626 865682834 204892680 32406608 115069612 243416476 537814012 289118126 708869220 53603506 865228270 265578232 103699306 497651574 496620146 637014130 189350044 52071674 569955828 641661328 746012658 459433768 656213892 43222840 935841446 571759624 222950752 295330366 550728370 276133382 132273860 563170036 949571424 243750950 407227862 966087398 940545234 128216692 286197612 65380056 547483482 984096926 807017450 355787476 461369262 838226448 931873692 645025408 670157254 125340226 183036828 568816704 184418252 632183822 922963552 98413998 459074702 961352136 913552962 873776888 582736364 697496864 680364548 592102004 244370556 611548334 831150700 225264420 352857476 961328112 285386020 700355596 295876868 373756736 82236402 386397858 467608474 927677696 499323994 701034890 62865968 835115960 520277346 594848628 829240250 172545134 958632768 865566698 964621978 714312396 227899794 538315046 785658202 327363556 87686786 304010230 853934612 50896868 63014154 146188978 586508420 809988948 424720964 374268772 748116464 603594422 154627028 563446564 71050518 115290306 859211056 101495636 939480984 145427044 535940174 799167828 817377328 866233712 27171894 25915606 971507920 456495304 530713892 292185424 137503720 24492252 978466872 640128390 610781222 291318654 858902782 504777112 297084846 676742422 356096468 740014038 290228160 414553436 42726896 155828782 924990178 131614136 892418352 106984176 520919280 700026560 570247628 6407916 410789576 672302298 133197560 398141174 845905064 885415100 970523576 127189972 160692450 687556502 12789356 36713528 503738078 990843298 975496454 723566862 255954380 264607592 151182824 877436350 673201034 865466710 119146824 212641198 250291322 683859806 413659338 751406072 348714250 924174480 955038432 424220524 979385084 993592522 283100400 244856252 853995290 970254250 968278920 56020318 292336802 588695914 61603758 698123306 229866162 360364372 752454656 793558354 788106470 732884274 557096350 850786418 865342464 189370194 102958284 403379796 138893884 761989502 45323964 335102010 669508852 538714356 465943696 46280278 514732220 339553212 529197198 414557984 993103834 657997590 88448100 652805316 327052552 366851488 546536756 496643512 202765234 211885802 971855338 744130326 718796524 264890772 445178994 62325626 665071144 578143768 529901670 794256906 835433700 661742134 788330910 67560100 317298198 705629622 816649356 963688526 722246676 182168508 823137920 294928590 421863046 773260226 775393526 339481292 241665694 174895090 174164416 704176892 315619330 432168214 589779348 823651546 355453182 698685188 700377038 923853618 353745128 438149660 86948260 644624646 981775986 156723230 169944604 854463524 709609098 101385804 25304234 888290050 296061012 803104046 312005828 360394002 71890768 934960032 871282396 852166874 988530858 52361068 345809144 343816430 249683218 832958296 49588994 634088588 300321528 987596630 996996074 879149952 341217920 187707824 433600338 558500328 354568850 15169448 626111664 10387652 466783404 672079258 856090824 999225790 531161514 232725106 529711154 515832184 503489408 703905600 861401346 406637558 664506676 910270388 679179656 149365666 849014294 927493998 123396904 355391602 965425422 234459302 540973562 531435372 314499830 247681162 812517628 135977724 269988132 998721858 41779428 638146978 101110782 531368820 558747758 854563154 349913742 630297812 278567172 407383000 523876926 264813890 282182588 840403064 267323198 90284086 133186138 485094774 418218528 745876854 874252728 998319874 619865538 467523852 490354010 137530256 346071108 137037920 697500820 721239688 147974338 451269232 89458052 698865978 765383566 44693874 114801450 320938764 418950012 227465954 916879106 796825626 12216810 953294484 497479648 280254626 526570632 487716228 237732608 491682718 454556086 95815310 153343494 512703768 156729644 563297046 169278362 377942178 706650624 588520516 101843070 659373958 526569920 19562866 366026260 689413066 933382970 873728190 880309348 557851456 745971710 153374612 539191180 315216892 928256592 376507778 306120552 306094152 232437496 393575204 558612686 615565776 744066246 86733374 509488638 979202792 4879730 658256014 584654432 140194046 70288198 420564378 671235944 965483668 567182678 441586940 55590926 399185244 446520946 501916476 106646064 490787410 85806476 75872030 515823482 537087722 220447864 385071636 775063152 331405774 621776910 216157862 742974078 15744988 420064478 896774586 434392396 684220540 18267992 67229264 475746996 593864480 202049658 387329622 266091438 688709678 537961962 736212278 138955500 43475754 666043210 313785202 999864608 852976650 890396330 543905176 896762566 34262446 738389536 224972652 625398698 218830786 188988924 49120278 591712834 988022108 81603074 818954458 789410762 232760648 958000716 877344840 712630426 362229552 685152952 134293860 304885870 702236770 286299006 535633000 36821754 846942120 383576236 238696958 339771740 780923876 912287980 369950280 63176722 996215502 6946924 285245306 644701240 219904676 475599570 436846256 677308554 40643778 354040956 839648626 559742400 369299790 925720584 157675010 222789146 101469844 242362166 826734284 56728264 497039214 101599408 448336880 939569960 694829660 43315056 455536874 993712868 196245574 738002924 987878312 17234214 56059284 658644836 193003644 81677784 662710828 964817152 190278130 856953156 340289268 621284694 320548210 287748228 175827636 340919928 44829806 755861302 543083126 147159518 405501442 210441762 427820660 231557798 281657588 575544252 18714448 889903000 770829812 653865194 561412212 40435898 48017822 182818664 11284006 518978892 539368642 27848568 36629752 568252452 481354596 267688410 498544960 281989410 287978274 704152678 245905666 98258558 948143060 264078960 972124310 233947144 564499214 84041974 373342716 545403264 347865482 352317002 160651086 302013938 483638180 745618090 585882816 90473182 308075444 526218610 540445064 777943316 996251692 110284242 673440156 325135844 641277638 411905410 254640884 38387394 33273170 52062808 91151488 946295840 755577712 827223150 624897906 315771714 966872180 788211660 486531532 995388412 642945504 105316336 83505110 558741760 914973176 467725088 813302436 390881280 285078326 357113626 592739640 801371758 766217484 792290076 662939494 238035430 360062914 788285030 770279776 611100606 751092908 584168622 350154696 102836188 109480554 195369398 544500284 56337378 507467376 97792452 885475482 321715172 66920048 260842324 984954770 693132450 325384260 152430054 882130344 795423726 972978010 23728554 269093328 690194732 679025714 623314664 330330074 594771832 390705394 236068730 545518450 878769188 714263180 919525266 510925278 217043104 491591862 614969612 87812624 552129670 689233026 211746746 465183182 329695972 508525556 216309486 132907054 113561380 249031250 978643794 466023326 774364746 53858366 514292568 832340470 497971102 674840980 249880512 724210304 222848274 588518362 408465516 763653064 265888588 736681168 635438592 619788240 719731486 851985966 854325704 235466852 233003610 36974380 155610508 504907204 140839826 276073732 255502912 931245224 23354212 5667064 224863718 644348308 877854582 773656890 568811424 414994186 90326506 521378200 597601888 319698342 982588038 994695346 649393852 312213054 323756514 751668348 696326086 144114810 24324430 121710154 945997522 964837664 3573112 539549316 251701536 662136002 331824676 828942306 102137386 147746364 489180586 387895640 629164610 769902946 648247328 672738506 324300850 126205898 996193780 380202550 732915312 127027054 848247938 867002542 241151118 198415136 242809742 259406370 102482020 661559222 934025074 462328954 896896300 412902318 729275022 469230912 414365736 729117750 130797860 370741578 109084014 550105672 211766894 385786958 264815978 797747874 881865238 534279574 499221492 276807268 532888532 442878804 383084048 324682862 164406982 653456306 224275936 811093942 848095106 495495206 760256810 7771708 375828462 699660944 899731512 753983272 239569712 549932540 242883068 891905456 369926620 188303680 395311338 357497568 32930496 365196422 635219632 464703474 87476828 965641564 979154840 21418728 790766534 385292890 591578158 808735220 362882756 904797810 535333202 761691354 592240438 145536202 459307564 884639200 415191874 64384484 909103404 820635642 807452488 241421436 590684324 618787754 328512752 58427288 991337630 872141336 666706070 518409370 198435156 393954622 603048990 789583542 725173706 228211638 313376888 896594716 341097626 884948966 197368292 265734412 539700698 115518012 456240314 634585908 506028644 40761406 408758652 373826548 640901506 163623746 483817474 519230206 575167060 605463900 38728942 569303004 419000472 345386276 620903890 382541054 674749782 717959856 479760426 182807374 344048222 654071848 53544258 153177568 873643664 721918568 854943910 674490036 840284776 456386200 523715036 65382686 102221036 256993830 10381970 193374392 178482328 67404024 234794464 279766084 396766390 172413096 532246182 507600218 405091846 808804404 958905280 783336554 742426502 406699696 903706572 676762666 472478578 53204612 880205426 467932672 420748348 448787198 462590648 299260956 948495808 100307490 826910772 733538064 960959030 173738022 330401250 983407336 673980856 460901486 291582726 201218506 304996570 661815252 139417500 657848718 72814128 870290804 819802064 167148936 325616108 806911832 147803880 33232728 99540986 624174694 153001310 27771790 104833982 110453706 681430182 472712956 928564592 960598558 168718596 813815372 321062494 642775646 106065252 87391854 292474898 220652302 44215732 916107498 51230744 47552618 562588766 520688850 697095564 845337314 902033608 654623584 542053268 657053242 986942122 354439992 317211452 564017654 777367718 946394562 976489500 864164846 259106560 941723320 487229748 985222388 795358012 561450946 348237312 148952008 117485838 926775590 829622606 820131034 202879156 67530404 65280858 481330628 760758374 656319418 624169712 342594522 634528354 453672428 958205506 3837724 44484142 489593058 686586080 21540590 809796496 137322026 838979232 160459780 305968064 157157782 767254236 171094192 944425488 904331480 478616970 775790478 162721920 92685004 381856312 933658134 55872698 258066690 853391800 740374216 38357996 764267050 454520190 81859276 739242968 461412498 324336984 725552590 606743016 600925804 828193478 642786842 558794578 821087640 616682584 751246494 128285272 104900520 285818698 286404386 574457560 674984346 365479340 24406924 570512438 207020676 224885328 298359460 150293956 395194394 615555820 973075720 515388176 961037214 390089374 7919858 474966574 887678478 684645282 207659512 734826974 500259628 871889016 313798430 887870194 251164656 798112552 853182424 162258378 1237878 70212516 996902914 906426724 682805118 304368262 789864668 486552520 786323456 196814048 989004448 442793730 940959842 481201320 127033342 968439060 531398206 221884036 479022448 247822162 707761172 654297554 377143714 355181048 219501226 180584222 894596528 590462458 828655622 19081678 403510938 388523274 141452232 462226236 980723724 697370876 992500146 212573402 943340132 767716710 519487800 813393540 966679446 357562216 274957958 455576606 87200566 609924270 760525798 219156374 319648838 278512176 384793194 948279254 522543054 323469710 818337702 295974344 361268762 883537300 233826510 459852244 771696174 917160974 781627530 398854822 800043202 867073180 309600272 687960778 951104056 376125590 934194796 131189818 861980472 853410332 658436278 817744024 774855294 247159670 864885706 498499884 885993226 594310150 631585712 868968630 846153088 89583226 676575912 89897032 728465488 938540524 330257878 662957054 223703912 713979880 980690568 878703436 38240402 328863042 252350782 907456558 879587012 623876934 834836888 922392916 872684452 578535118 578201354 825443058 599619416 66055904 978307744 467524044 848957336 472662760 672351066 828432836 860614786 202254784 191953168 383084524 673631220 677268674 864561796 531024792 449308520 461589668 514979578 992836680 254645508 197584020 704462064 779978882 93846692 269025318 25830466 452217236 698236062 198466346 918583196 429048558 966128614 222014358 477463756 47427970 926369984 683035456 980693752 844648990 17927748 414801354 364324162 772224862 142026806 592575718 223426888 763110540 405770112 281224894 893602118 768486704 562434566 28095484 262410124 18238256 385039114 931535912 716777510 802910720 748611182 702125976 623399728 869227316 407993894 215919008 807730390 906136762 457537806 318828106 405238150 642994376 242132784 852338128 151297128 943761264 439999772 164847648 933808168 999627294 90807602 96475566 71382652 655836126 272185704 678972024 669183296 247895038 458347586 875393968 50439062 451628138 598753568 181520550 819958982 355455340 614421194 263482766 414071568 610306440 39269590 791460580 714374332 740037404 966025846 468027298 72078610 880349598 258718454 548708232 738030152 267323066 116493250 685690080 858815876 159093854 767860866 919390114 204703198 276792936 565204540 187809812 304181870 47008 13110426 490986458 976272922 788758022 546609036 63740850 707184052 350105680 630804136 681946234 812383110 626023888 525651770 732336258 96164658 926897714 285298204 97284088 405168932 374066388 137957210 973627030 678788672 316725400 299562158 825882566 882822654 467075738 896535256 951735874 621666842 550619848 415539000 855659696 571219908 431580842 751443884 861350338 610795724 753234106 532009138 201922448 191590564 342407356 510888314 861454918 341286892 64913756 680375244 954225198 144141920 332071640 626809146 921552830 893443394 521044482 699302192 237931122 361112530 217053090 375191080 817573214 639831014 275978734 694386520 522074564 37032268 86463230 61279772 278828926 832180036 936679406 56491866 372199472 552005856 337359962 821953300 617948352 85093350 114640350 325035796 328115962 603605714 928095110 834991766 766201854 65066496 426072620 537957524 22813944 2348706 827056592 426495454 820408752 152685156 499194488 317117002 373186018 451210570 502950022 401373032 446745312 903193638 351404728 581876784 874198530 539041504 229724628 794251128 32913446 291871906 487359176 638470514 589246346 330914142 960238472 57169944 142434932 201955772 92012144 413409730 665199140 687519716 446156578 20531160 127132350 25371482 557080338 12985484 151339108 509680310 549712720 215107470 265681196 582697800 715304060 549891612 866397524 103795918 813726062 224210790 235206718 999439480 924768102 217405124 89599260 917028324 608617812 346824192 534831786 845992362 416659574 624770752 65047288 245698754 165849674 385806786 987674972 595002022 878086410 843306546 707000282 968852154 270369068 19481106 93593206 675462494 154466632 367444840 862250322 144578408 901825016 154051804 993461008 865523300 843585050 526577300 228952586 935524886 474733984 581206690 588865308 735126020 988614980 327107004 260621930 423074748 523947128 880321308 1491648 593362904 545422408 866564674 239290706 24385378 290259142 209727644 207301942 147512080 146872812 5292952 904006210 305832282 467618134 877964378 944638146 203558240 144909942 268384694 586642752 982393472 765719808 554737072 924597140 845078800 946324630 45453328 770458420 143695680 602721024 937791446 202800536 973288026 276078968 239935816 476826718 577837528 148913352 287827844 893366692 704092674 911418566 250209826 201786446 834386100 942531930 334373848 489231478 253003618 657701708 308016648 496021358 310092130 697907532 894758342 326956254 724854954 434059444 309587292 272600084 509168788 734413624 267785556 717473434 995762650 376451830 631865830 551962106 251230784 612143286 981001118 326192486 170071046 345058760 757493684 594479428 115417526 301843088 864360772 681831886 631758536 645281372 793248208 323324882 606479528 329984144 727303402 502554950 457448578 11847316 264822352 222631512 460822696 614853514 466058304 486171728 534253292 46244614 165474646 802232292 301099740 752561738 310005546 268497248 664389208 177176766 684626716 750176728 8754758 968870924 866884620 516737870 624042572 422125660 572727258 840510306 659539470 922784506 419534354 840244230 846153382 209740770 337451250 642799164 880374714 813625800 598810246 860169398 65616062 638461870 506837228 37098106 419841524 64240454 880946050 506590392 908384556 512132304 915004692 410248048 352077320 383141826 281139394 965627718 38417842 610516070 642743884 887709008 528814612 377851210 186535496 674190430 995874062 472898288 457225582 448197066 971256662 72016126 734120394 997513610 958956636 250971542 451013996 126757676 774847196 613214950 36664460 568403870 882388606 402343026 568606930 793492214 663508554 1360922 719733542 907889804 657975022 994081268 780243764 197808168 600538514 29044876 48478880 755260878 405334784 895991924 330297698 154891322 510576224 563326852 865702440 454389070 608872892 490664692 56200096 45246654 557903892 656892898 475523042 976536842 307363732 820555580 747769672 87972210 74539632 881046430 935575668 988154796 164152310 11194948 386828444 243232524 982712928 857460472 529424644 316667448 438506120 25370398 256093534 418738126 607745080 686070458 975298398 895148736 617108338 984021902 560919098 505118408 491271184 649546742 780096880 584796492 75764396 353822882 642249332 399232474 436134808 551688342 525331192 498663700 709911078 336641664 737643038 211819842 516465516 467365492 483163550 165955922 206275210 573808854 178704910 592214204 794134950 493414404 296515446 163728382 717350392 18283364 557758692 619054002 962559174 420987578 287905394 353286460 599172962 208538260 575176828 827609886 655168242 730289718 424883228 804982884 507662176 195416222 237806598 127573204 420981132 526853766 476053210 809623074 978899170 777749560 944496860 594398098 189406404 34628754 100571136 974019450 189444680 175004906 316171126 839495212 125198122 594487872 10512246 919602490 553031066 961292286 193888756 907512524 56296 238393672 340912688 982122070 981635642 801471280 601315022 357497540 285201710 158307706 593202786 639791282 547725450 570079308 489594818 511574960 324017742 470660900 45898162 987836242 588854158 181766426 951750236 894225030 182516644 41519806 508715534 277141684 257038494 480816906 585866524 13799970 224562060 68716542 366670904 284607656 684876340 421662714 808800470 188285610 897085426 528252212 382668682 898614216 775834060 544868578 755317390 842426188 993777638 137424768 20769152 897790276 382423038 859014118 727280086 936539000 415548640 14696204 397123650 550597046 285883636 147881174 820659388 781404218 59849492 527912378 920404326 401110454 188070494 395785262 622326942 302485430 643007272 487670942 137501504 515953554 205424036 648004832 665125202 146596486 615409060 836786090 304385632 459389164 596839814 801130198 601408288 836105506 346799754 170691694 225898080 31598020 738247930 948458036 521757278 761564026 357945784 502733188 211927032 807811236 321422712 220175736 501469324 333434450 378698600 732136982 785156138 587452604 130499444 639274992 638634872 233003926 98665786 250359546 802004326 874091952 294189826 20416262 625889880 717450704 223987980 235654742 759591740 530763678 726640618 803504500 364739480 641918730 807439062 427382846 946390590 358921176 48012622 216656794 225315484 823571122 554677176 858747104 366971826 477266222 298357128 914905688 173972378 3746156 655736054 737338612 960360026 367568272 492294838 851806556 435287126 553093732 955978648 289578028 288615026 714108170 821813750 247020408 870697074 280044922 250257352 505903004 385249852 876796152 699119264 544061404 571796526 479188114 323935526 96529234 359399426 690729908 376868192 386263760 677751126 727594438 568246532 53245526 233258806 515874102 973522846 899710228 370242884 965574822 17330966 479672736 337797374 777297422 533950376 451459726 312082320 908080354 776762558 109250244 519071722 700776818 93243828 296899852 266664260 992649000 505065650 203165308 528689850 720953820 735451782 771435402 963751360 583718898 257531244 276990212 621792520 904706980 924875272 422774776 679520720 83549760 581666074 602825946 920973734 716257692 364578040 631818814 831012478 414020660 663133158 184103810 646356794 257645072 383120452 499320300 759016706 494574572 225096358 984860416 258673942 585599200 675023850 351520970 76345620 400033560 696355744 551372028 519328304 258148686 509464028 697346290 632537746 821774228 224592606 865427166 50019086 21090124 888432104 219663888 862391124 320605748 701113002 14139854 554994718 511590960 106848132 65586988 306370444 128299476 926392336 160302608 839362064 462934058 296832822 935238758 116153500 361320870 630480128 503878064 460167444 644080692 835668050 909077500 859593568 169599388 67815260 344930030 432263366 935938768 461100744 182035276 594386528 215816624 865611408 764350106 568030778 297920370 280567608 919124382 585786816 957992210 976728410 744437120 898326520 601724002 760983500 788536408 686164798 929810680 497227786 237038894 935959720 17450914 72676670 816568992 280075260 580256712 230112372 317861630 766893686 341420936 347340506 432223690 553858286 251127660 517274410 837293336 100329616 641698908 842094786 972653220 173539756 918320136 81795342 228390312 811706852 340872112 212152316 862153924 555088946 458619520 661934392 139634426 341795388 48386838 118881232 535770714 688352392 917179004 822244400 357187130 192515264 266443176 976391586 118005376 349723540 872768322 798208284 579135400 215374330 82229088 340084854 302020280 945703648 128176200 156139372 842348192 466755546 280175062 507734084 638145064 265783482 785938144 755812564 89681940 257470506 876000594 415143546 720895114 37261806 479672100 625762970 90042338 271777446 529694928 239422084 168513240 999612270 530513782 95416086 26308260 699202100 292459102 167127354 620073764 764171578 193529756 663589274 687518080 458117082 497396094 869002798 208240252 202116260 892245164 164348834 706376442 123796330 458545866 696277532 484913542 657711580 852456670 425905988 584851946 774827318 27820964 302014806 354056602 449589966 237723986 210783658 476039096 187480054 412106598 882619258 754861968 440696608 422280156 77859772 840889744 87122432 638025064 394532150 102804064 35088590 553468112 9888518 612636178 782635976 638415186 606884554 970876906 496297506 154983492 477774394 791004054 58531212 834942654 951667746 725785796 786740578 503777822 795941018 574599926 759390706 903816236 437213484 871560688 900866244 265296410 299786722 7146856 564620704 393216720 246505304 351634286 721806606 899907856 567953924 486931976 287214720 819272226 356639828 689030100 575843764 399913790 937516504 923603712 290662786 648947856 143133738 826805980 695186260 52229622 206284276 828863210 171914346 954758226 30840950 944119276 909300980 869257390 63144938 294358802 172579004 416234128 194804542 558585484 635640320 117361938 709950856 153100092 66948306 835709950 213138102 300764940 18293142 643561362 807044918 664304700 809466716 704590336 402800476 644925738 888125972 880420886 839641746 547445306 26085202 353953770 23288942 637107446 591002496 61173878 755396142 501695062 87517782 129456276 193728594 907582444 87238752 637663964 464498988 908236038 204698200 42812978 766772502 754113574 99640988 864322734 66549912 999902800 560479066 816266872 590850392 742774826 327106434 183403256 34070226 639921756 764525042 745257414 553380458 490285598 595192748 101924 419994016 182776690 572779802 890675524 792081344 897163164 483264128 168876272 732014918 439190824 683179912 604527712 813987788 205890266 105790692 735816952 150177430 791552584 204142976 336984990 25388298 846355682 355389772 216701084 211181960 53220128 469314342 90158454 646985658 844225962 660436510 332887520 403815552 992364218 734074666 611589408 12748044 903663818 687195654 352774282 782339644 464334900 964493172 359581150 591490068 687561926 131351756 959155476 916237148 181543496 227747656 297919252 941742370 571648390 11909714 88327438 789410838 178333786 600754534 988654124 281123620 838461080 506603910 558220300 184055526 973352710 536337214 47087748 10544068 128394044 329357774 979367036 984791522 553275230 951548474 678033798 229776816 904984198 970352290 941980684 734566872 401359382 829400506 36215714 719652878 171279608 541941550 470252612 656408694 409704380 286300652 918407446 818949166 935686148 814517008 739549742 899534034 462725140 221285408 665692414 572394848 742109944 363063076 398715460 733423032 264452546 861496342 631567390 890567410 923929840 717603996 788561208 744400274 207029736 585043686 191629976 998304650 947257398 666700050 502398508 152296286 378619020 616495118 974332376 91418510 91130134 944595740 158892502 267504338 611108332 842134586 186604498 735598218 71032122 574167618 943897258 521342234 455919860 507305886 532563682 571425006 835823876 251713964 588422882 344660138 44562956 365189310 7940218 355261578 736774876 780723234 775983698 368743002 990548988 133427432 456749556 454973744 64125824 105020282 393361778 586093264 273256416 507838752 623460688 904420132 914635280 246514318 463136936 933860374 379165402 394837630 959379970 778336070 796457802 437124790 965709582 114423400 53480400 34699084 369171678 884298588 893127834 997826714 594891560 435076704 182684650 532274714 645828504 313943000 275704778 866662012 730131890 658245616 882886532 952661850 701068682 477003592 942204586 75584994 765106438 279984902 189418176 636037054 918125578 40578620 683078178 392400136 808548684 435121346 326350948 722705322 984301908 183434424 858796336 980102470 577525080 435873204 733442676 897813410 23452300 123439334 407827046 725841354 922858108 554737890 253206466 309286182 852711324 545346366 4072668 184451678 837185024 991173774 813733382 774130886 817881158 704197446 538707554 108882846 785648824 789817000 616331998 502732748 145326826 312159896 300291856 42846718 924727614 385289918 502145112 296075414 771595314 275957964 344066152 434930850 132830446 277257396 960688874 967553374 194053562 105591902 701492560 418918892 332440304 873432218 134322622 815038408 42269826 273555748 439771398 740732308 73300656 98329582 263446784 153680968 905413344 362852662 858743376 941878292 800088100 497841166 975567362 969179388 426005086 981285512 749180966 964437868 62695796 332900184 527089176 663536898 708962362 827991844 166913650 688356370 706892030 846147632 839075418 112125232 558385404 443653100 767102422 984739824 731691820 970643584 79629892 568069702 487967538 808413030 137638388 518344920 600226496 296732750 948351742 96115580 223285972 903243230 746841446 971796518 871130556 611976416 101306786 790028814 817806944 414303104 177920914 343931364 353307318 687341744 686469434 289824142 681608764 731430728 634926964 784890026 967056710 728163102 858386580 480258208 414731050 106441796 574304674 341029414 163876362 145502540 424835266 432499554 877570690 265333758 393504006 677682428 512913172 83403980 391548966 663116802 133555466 940121090 148049186 258576074 911781048 715625960 517813390 336833236 17793294 817187762 342009264 288734878 503532780 394161674 685373616 376763232 346666436 413167108 124792452 64072 614541018 788172238 150263078 873923912 602722564 520247404 126211818 497109996 72308706 599851160 84232858 41115282 896074318 460036842 646329154 53925890 423188918 105730290 283314532 231649770 528262202 570481970 835494876 808632452 911107174 348745538 599352644 967801056 591449866 602146344 308672748 471078440 970994944 655150452 916129010 251735494 612942576 138034818 580738702 793341462 662406894 102068812 271398680 601680776 502487318 369628098 585534708 730635010 247266342 423352540 137995522 950000360 51188088 91365040 593872150 350491686 499516828 84648664 819097062 268828112 975025578 831086836 185767148 402361118 393452718 142519170 227483922 521178706 958549794 207138474 83163766 872597306 403226934 44636734 67044862 432167876 529044896 326580524 158346956 961111568 621668238 765276676 822457732 636535106 441346884 624304938 246839090 943396142 512194172 930086850 62754794 113763390 535520412 236250276 365505202 551086260 212782372 755631500 818814558 359739650 721635602 358660218 932866288 82233832 314502926 799822912 771582014 138359594 274859260 489689146 777841506 252888288 738165352 406200410 70574336 605705172 841059466 632184264 197399546 374699182 384364320 337607782 50819618 848215470 169060736 3440124 93538588 629740872 361002212 471488182 790390812 151574468 542745830 345640964 174936692 369448456 265213502 703933622 444393708 727324834 755198442 841398376 504713940 469189072 310350610 175602334 189780646 930074920 221364428 999976248 761095956 389834732 737463712 396406804 25021004 399876490 705177226 272944342 61571462 141676194 382930288 161077680 269156790 212739044 632207118 436367144 514786416 826473676 87916872 851580202 841968996 275414254 881024354 771071974 275426790 404729764 53348212 378540014 948817384 831607046 328662212 191833128 577567210 969384800 658989114 202173042 14546662 583435550 874825304 693250898 721806098 416050762 88230810 390393240 373855406 740760354 731261686 550821964 570609082 832664348 302542934 306428460 486296506 659823652 248571866 375781266 570371698 889666730 332516062 859230954 37709306 879567148 909923796 588763058 35347106 689101628 251993828 494488796 411811942 17584684 857506740 832251140 829626084 245948712 764684642 491681136 25119566 816222594 136228168 263584282 103954458 167874468 87810090 128026314 929972314 849287518 509496604 600162688 709907240 387149416 345067850 377784362 845624008 388361486 678992664 305637912 204882038 902289958 191001164 695512368 192814090 761095542 75973462 724402682 60316876 581148280 220643264 524669092 373353800 14351886 229913158 293465696 688807626 790347344 174146046 628421500 955917082 133569704 140796196 559541778 463547564 823298410 760128908 474255042 695113054 172613094 473902654 381764028 180239444 619779014 973413650 852330282 308573762 455562866 388069392 56195260 547290338 109360524 206743640 920185238 376264582 768705548 468821060 563288998 176817790 763670562 361264892 690836814 364527692 710150006 422456558 747681538 703373936 504867560 549266428 645848122 797475312 810998604 685936964 412052120 235769048 80618346 144263222 949610624 668740500 577896998 262924502 862513724 953228980 289078442 59037316 59896328 797018726 605454484 977727072 297023744 311591806 824127832 893232054 489044856 232367894 89125414 288369200 649076120 79020274 89504834 260254260 796448886 936649870 535325302 568240076 79178648 441781814 934324742 183423320 231351550 807004768 196847706 540979450 12284880 141727488 873352170 291927938 785925746 669795320 285522848 324254750 472066220 853842420 261785628 351249730 443940132 239198362 673344070 367722906 313574198 690742530 624310116 365458996 995115546 766753948 360367012 311690944 403265478 727109894 678161106 610047342 697862488 614849402 576588560 219772080 78157066 844924142 666573634 285074686 695609962 203842834 234209574 718853518 65575120 546773662 726687800 987041456 486980120 93160574 553714074 901717910 22874302 466317218 46473222 173501628 214778766 734818550 131058570 90555652 217161688 117483274 729498928 349830942 484392220 642764550 527634032 79961146 125005862 291368046 438659296 845660686 870572170 294899352 126156514 133644760 741406332 247781676 331491812 260357780 433375380 616286230 71773560 830825890 170101034 132197798 397242244 208312742 393593298 766639968 406665620 798280026 988493958 175392022 62624230 242963236 702378602 160974498 711752914 758772496 300871312 494254258 98452802 708874612 809375604 457824830 43093398 147119538 526171858 542748268 440099470 821268942 984665318 240249876 299035386 244559172 637130700 329547922 428258084 818519254 575056348 608227394 36262272 316785850 531697164 729524402 2941610 801796654 614361652 324557730 256428596 268232330 6953860 425451272 156161972 913757248 893637952 860065108 532574296 299733470 619164252 408702822 123478978 708173904 437217054 50197918 516467208 76229210 408530370 835251844 696721066 895996260 52449214 656666614 332654530 94729996 257694024 40658630 975174626 315285382 483879856 433700814 355765542 855981092 427484088 410942696 232070178 452883222 375470262 83061518 535255668 653622670 175622046 488035238 992070004 413183064 193739716 821889680 290323390 394598394 484032526 836065064 792329168 417362920 634039258 566620828 77581184 841752012 72347546 502525790 394349042 755855308 770041094 848964444 665493932 67573046 131535844 30884204 999607448 922178066 34201118 41642538 408775778 817035338 445723532 490292570 517604832 316876052 430102914 587570190 600533202 653716094 75856110 748205938 555434316 511532224 612111004 844445552 893070344 348253910 161289670 296669122 264793088 966932494 598022672 540707026 833891334 846132902 199383202 699373088 77646068 484470088 729904390 24175802 718937888 872432718 511983882 918137746 716897242 297750774 556210912 831228634 907886164 403282440 986032166 125215262 948700812 485444986 58837204 266173644 498588302 390186066 774301364 36427362 910909332 379203374 703788222 99035960 629056244 614313242 278153324 816453192 269564712 591386194 722136780 848708528 42040068 21524396 548560678 273807050 571952880 982653320 712182372 573837034 878907470 352062528 722728842 34719416 886948052 652776846 137484484 684262500 203291770 39888478 571500742 224360922 479979708 671953988 707154638 956255852 570796874 328082854 35158790 122146948 604744156 324206074 359560442 549933698 107150238 454395740 286774476 905964530 488020634 529543622 121434062 448296940 845544836 648526958 116419754 51473946 280031590 967170778 404837044 171608572 373715044 695960274 811235914 902787854 731910894 6602116 497243486 366150696 652297954 793338968 579841496 855012908 994249434 122310640 594019674 903715502 451329850 888846696 673739204 720326190 770582556 561961262 3478614 637571966 868030562 358790114 284914930 522732256 62212914 629394484 756111244 345566458 421271644 795519780 123902392 525734070 355617516 282429762 858733752 426905010 438954484 923410584 883757986 509690576 818485790 284247584 757441488 77104532 182512644 584531414 936463908 381794152 592343788 651610152 58915192 158078860 509948530 964070882 975558676 4117656 63817878 571372784 155008570 865149264 954561314 69811560 182564028 977854308 508913508 879053828 480010936 683083706 733158956 33918900 209659908 168774534 457797246 522863224 207819254 597785638 579942710 452573802 646089870 376172716 665561624 465456652 44240612 383295968 894543660 404719788 549918342 752823526 439931332 609505298 113779228 685062896 172478390 686189690 853488794 66986090 985695208 225444810 7049072 935920946 898872632 657452174 833754256 282111072 851547394 510142394 483415586 639896036 848406688 551851306 450829088 284381296 166771120 162546310 419145340 142826462 331172738 200377402 141654326 163756110 283284222 946262708 416722498 443021980 340816272 201449900 566588758 764620276 738268850 73358538 20890712 29627870 940936818 561777756 915518344 231233198 379809824 173568958 215893162 292144124 582576946 512480610 418943758 28498332 390040250 203699276 936794550 5070086 110164644 706633746 823442748 414028740 519893180 753227676 462061482 284060942 244933262 593928414 49337846 465894154 410824684 675947332 661805718 672421982 182829948 472509600 496608458 810570240 82368334 230225174 30475670 301655218 492668620 896006524 8433538 139421626 625243272 969876668 696730844 1078012 545889188 586278594 990582980 907751194 719380734 821891214 559908154 434271750 326276440 828520498 151051558 221415426 699459152 260718808 843520024 624253716 584821614 863488816 234579944 938405072 586275642 952191134 901907078 190796316 439059562 191258420 914181718 549072512 971527274 453074242 895366692 733908002 636106408 727974212 100291046 23542548 536775166 383442388 48400584 59972026 961730890 586504380 546135622 220898848 508346692 444895804 717163058 329320022 399977856 582672010 243678452 785481840 380223158 55923900 216917936 305974658 993548092 757921100 279163136 171342404 184916420 855030898 347926074 93832678 661622996 465557696 675910848 377670530 336408878 930787326 212271702 188346736 120093408 514595690 165864202 814451898 33697420 675612130 995380922 704466054 935143632 153544320 999782662 351962250 842482862 827666116 340722960 555066216 638372236 864071628 56768286 188036308 138592656 769767774 986988928 913854954 523438074 325491082 230535478 922072320 113768446 711363572 23778178 397487614 132483164 590574302 307235272 822894800 785928034 11563548 293294160 545961264 753108400 850659566 304185186 293174444 760943168 716248162 723261678 743289984 820622892 820359950 781276734 469607996 214566298 71466438 186999720 923759060 792051462 263727540 266759770 165813522 424345818 827901456 230397856 960678408 475992982 278237476 635025606 322297416 53015778 826162742 421941838 92163566 620010410 766398476 490810212 312825350 203517334 375406736 575580444 216535186 13658176 572623292 693432464 303931990 836035480 169086734 486455428 243320626 463321404 319060208 643130054 212041450 511838770 608248782 451038428 310696790 377606764 281340278 128340818 370917258 118008468 157373132 67225942 526490674 788498342 316232060 379253882 275825294 991727078 258951694 456123256 817839278 435623900 276801290 618123790 551985520 403123046 489222194 495796106 73398470 760012772 981311406 319854818 292730330 129211652 554838164 962969948 552484608 29667950 397783828 91316916 401234890 717919816 458826090 435957336 292324220 285216218 81836270 6139666 658379918 694100652 504967236 315498794 550372996 781798610 492225526 151610130 604451996 818683384 350737646 832225176 210896488 749465964 392935692 931063364 316667072 741652486 765151850 980267424 559064792 946036876 639846768 40696822 506157436 693056656 263524890 200437304 126942168 419702528 934865144 659154794 375833020 503269224 153676418 854939750 911220694 423748184 962885082 245260370 298560216 660788116 739472238 198822622 345259968 691305382 838104762 760983392 612640848 426535830 38722538 925565390 133119738 938716516 669661530 365440056 697053054 395858030 156511530 379158342 494640726 258296996 877700774 781722256 888489950 696309902 102211056 281316242 806313350 187539158 154984576 774269878 981894356 728190770 316877964 968273414 568978832 73820284 871647824 144977020 894046864 289012158 212414220 47997128 440894848 351020172 903975902 808692530 731926798 350962954 113689264 698003698 313662446 304262346 158579872 180353826 371635006 994570222 659878960 922314958 388959534 6733072 106100546 27297566 515001110 335802108 339150926 999021472 513872562 939921458 536259940 134526104 58955510 881920538 47967352 247932874 965332552 477025666 158073658 723883446 601286568 541059866 827675260 67435390 275245782 618505236 912816668 576136226 60197574 118112464 665239166 32050272 57868440 836694666 353147060 44673528 571948458 300889320 187913646 878917498 958372648 800532438 96846926 3380852 843523896 498388374 670298308 245267236 534369098 60380196 180259348 359261988 167803186 174744840 974544374 746260642 537790126 894293502 466445286 358244442 664435622 331959952 791515140 864271030 881156808 70837448 112695364 581846882 469616210 91445188 282793702 324754912 674053874 471578674 470365986 677890300 896035508 971140340 529801206 281167736 754118772 946315388 252004598 247995146 814481674 185003330 444996562 799162062 813344506 966290674 212097456 589267612 993344224 136636268 924535310 844262726 379645712 779229336 695813030 28881450 12321080 716192034 629669932 790114800 987048448 592783272 545646572 620453246 588520 511258406 719751666 405163960 210487292 897926268 612548484 805990604 935121228 593555606 218599156 699104624 704398874 672640938 511226072 535078778 863494442 897501576 40516996 762949980 716212642 234722668 648797198 698201050 20342320 918819188 958988586 693679202 19172782 343760486 437820456 496597516 387884222 816589054 528813980 891330388 578058552 535845990 938732070 715441946 896356632 502493914 485653792 528188472 967877318 988795282 318034946 240437544 728994486 717525744 384479864 672150282 755152776 557166572 367540766 38026746 657274886 98656044 421115672 456799274 444680746 699852206 198550124 424721942 518180844 614510246 552094464 620060774 619503070 544932352 607293448 762078236 62683290 566418372 606622674 801605510 700635296 266898790 895280512 308713838 917303954 590762402 343571218 624836760 23699582 53115144 661706998 332552236 820366224 62081052 334245560 672835068 547062576 551734236 412633412 520185992 795594756 608033306 6899842 92832156 134837288 82981462 53806592 799413308 826973418 146379466 793260996 120237974 290166652 374075428 113320186 484043196 544176782 382328576 51014772 127563460 475393032 877603704 509378516 395431264 90567132 953935322 333593062 368367252 789376312 969899348 618478264 384478424 225970682 998912042 295536364 728211304 828925050 555597048 311624798 325130072 271303988 492260310 504589792 134897812 531626062 786803156 82824044 758025884 492798102 126890950 421741260 976923358 644261462 753253246 472031788 754775076 440926582 779006192 472487866 385169164 647403120 506497472 885049520 409880232 951626882 659482160 930660648 548133368 109442862 226525136 54855456 206487064 905625322 659970352 958899664 613449312 532667758 233949356 868347216 804776028 510961116 596215408 201259640 617872354 456735974 202323476 490866506 223650176 85675484 598494008 968053826 636959890 570386302 711766734 72716234 69106236 307966288 287385362 813097014 510859294 412992938 792996318 363041000 148912270 532887944 623842842 383201434 793362076 131232882 619923264 767855770 491133518 80319542 216163056 361296874 19773702 791439024 554986934 187750210 267309686 118636714 44943090 308856022 903806406 24724942 995139130 199076196 231292502 518433064 665270640 249195656 662105478 930405764 180388294 461858752 671847648 542204824 480904266 656552898 279704944 177106588 941681940 574553306 702120688 215477454 449911886 532253334 71672988 984052058 892212360 532276120 148155802 563929886 437712444 18143918 227065484 693555644 722959614 474065738 41259348 402709774 907525724 594941026 819093054 709209602 343305650 713539388 311705804 958306098 146653820 377275542 198171912 241553000 332778390 439788838 870812064 784987522 695294964 683824356 375252550 707256106 674642532 175470852 362955946 71260958 569783288 564065328 567690954 656541088 149576560 545472494 426108498 420087902 331664782 448720586 668985882 922999348 259769472 30591416 5415208 436614312 708532950 22043212 442073974 480160344 388068198 840941842 746911470 115101706 661469480 294496412 692798094 491069324 540465428 26938862 86476166 328730126 228836494 285214926 411713958 642143400 431970826 860436642 428909768 783271766 43046494 326102290 145893066 442944964 287374706 254533234 758811808 9840262 575544560 238836330 682446804 208474988 260449340 315101078 343239780 852741828 875847380 606633340 610340114 622445460 452147932 665378296 695975232 549677074 107049762 136448890 770724746 178837546 211848314 262055526 89922646 175357612 18894046 857061982 64455924 280476930 422532958 295647098 332459182 52389116 814158656 1571928 172214126 925057952 509706528 97880302 978282542 461459824 681368140 65755116 183637548 71218120 143215126 488096196 769915628 468870854 30327470 802949212 818022052 9690058 426554052 129335286 664159130 997054488 559012288 853262412 529613594 99821160 20826960 110292356 723618314 16215756 890230866 740752514 401015626 904682836 420800616 82834604 575863558 834554298 942956458 715906874 592088698 356936150 870388530 294840926 605905018 66103918 19391904 233406072 485582116 346591014 630299474 414530000 94904634 217664288 65438846 283731010 997819276 949854152 448754872 164956886 819304670 228196146 26659898 669318756 59581694 12947950 946814254 747935812 23656590 528071524 731508840 474538396 563165270 876226740 831790246 906356292 482366488 786025564 253959918 569754248 310746368 412010350 146667116 353370072 750646676 413858228 374359534 537478048 193650406 770085278 27728312 85084944 27458094 950864082 300585812 897828422 115367256 687787824 911117446 862456916 16341310 303353266 804029820 330440024 903917592 420632898 142724756 652018742 902509502 805802282 12938462 890893834 206507086 274517866 265338214 329084772 611520056 675442506 722181302 673144944 433984156 859552708 664064846 553039750 206064340 501986080 40633932 394018016 395436290 402993502 735586970 898269510 315825814 687013140 423713430 794032700 841734692 637977454 438210928 286478476 272618146 493793940 656165126 543845470 150077646 677615264 184059084 551961512 973472480 971110162 222459848 602720304 770345124 415568758 816831784 434887582 92703964 175057786 945864906 679269754 359820716 989804626 364029558 563411608 438379100 276735666 770094628 674497980 702955654 988841096 870515626 628590706 380676906 210269160 713803786 14648614 521360982 577169176 698524136 750051772 103748638 729325308 697971632 731595772 265118576 419233822 503047040 336769724 586859666 450886200 426139038 386754378 54299944 91783156 347775046 75196258 906207002 972183286 813916376 615252038 683352938 1575970 856697914 623068974 30884584 53157260 427350638 351524122 977941684 807937846 883476964 33058272 526343872 708825624 357168562 414158630 964769442 345404366 489166470 448214808 997231274 540783772 521539308 782487572 333995516 584694668 455813380 612783290 708847162 868365334 582268872 610210404 136336188 424122826 931130452 321007018 772134088 47077222 968258894 402063564 236382914 651673268 607182796 602698718 223648532 688807064 157211080 398508504 922013634 876984220 74735142 857574060 326407788 295875692 505694932 485778114 888229420 525121438 683537140 636156234 999667382 872764688 926250110 890353832 234135060 511787722 918579032 36217310 93885790 593096566 862821002 242944424 927560646 872032892 975780794 368832928 248293062 922808354 938450492 762684090 216999298 994288846 481307772 364664534 333854462 15347190 963321806 790757228 485870528 204052690 489764136 547138428 114432136 543921130 44876448 764290506 415630474 495023258 707821870 292989872 334787292 403134464 252473718 410566794 564382436 289234360 496664656 317652032 214545992 478387770 596852328 80637502 240343408 871570540 462783400 866189142 210992434 156223766 378076144 649785974 695824010 152377228 452878062 736493382 105495578 997727690 875440818 809774726 387618042 933002142 865463634 889839532 963730754 831502808 145363712 890034066 401580316 214292084 104122940 314227410 287461350 896774110 766732876 715834718 157725434 448526856 891758912 532576988 650738406 170193640 446843700 898789354 664848886 278147670 38228230 902766348 922673394 364523784 139467104 334872842 92589122 1258488 196922458 606328024 370254878 853083666 404776092 233811270 631261018 214281728 278945320 3754952 204653792 659721042 63167342 349333072 495198858 618673396 942234454 754762852 454693428 520434776 617537192 117674054 524761248 393532908 644677766 132147746 197289842 947923458 634195176 793125500 203149660 220469732 803072416 619997082 44635114 423445512 283587846 662684120 797776472 757115106 953167232 721310510 967359010 152016936 78596528 959511568 29320152 33413114 875494012 772773298 514820710 176262768 275666488 454243724 459421498 472978028 84927614 197656880 543945266 21405184 388419686 407018912 467103572 685124412 367260040 658112952 953761602 584198234 539873910 868453264 846167874 211459514 993873222 568504726 443496894 832303702 875089006 690228952 716728808 991738148 60505484 808927994 786925442 467652532 28094092 809498130 52964046 978535748 947444882 939770288 620627620 147351478 793763748 407736530 4438488 853371560 266732394 789807848 651244592 904105448 653302566 838828874 697247556 603490988 652007894 621909432 334796406 618486506 601551526 440146488 358538804 262446958 343183258 498992704 566274176 715981078 896157936 143692588 363337170 613275720 759312730 497130688 40072442 734795954 381121430 75248324 439776832 227434264 675325718 456928778 133342556 128505810 653665784 681876668 868413784 699903664 758519570 915027234 940070124 986473844 944310784 97177076 790783918 120368348 843144736 838958792 794289418 930431782 621178690 25834194 520386720 925358334 663538876 641307008 934624988 649726610 307211234 960498580 181797690 615175866 414028230 132762016 710224868 50148554 780103052 288607190 539794082 729806024 79069968 436179598 935917292 156060206 182964392 809749978 991637650 936017742 355735982 327026506 520590846 980709500 232790896 536228492 729411186 103124406 693883858 345489968 926573752 661438418 365673408 72601326 406487782 95495314 286229618 639957664 846430006 154156154 930235460 740803818 131285690 476376802 731727436 448463062 508383360 248639670 393202590 565528442 513379184 942580108 322104820 249881134 553958406 556404092 143911944 15502766 684917528 225983150 480744704 50777356 738880882 98704924 839914470 4248920 99814546 889485812 925919162 418846588 896033334 467108068 648458848 723758022 298714096 584237204 817741116 967687504 776289290 221140598 342447836 850988022 142012990 129935082 439670892 949759900 696542058 951391944 381086588 997821804 243012962 28832760 569757526 114557834 900462496 341999138 546967610 48922688 240504170 475030278 560564498 389431286 278997986 4570296 92349806 390031080 400989066 664482778 692711974 450717376 868105502 622320410 659913448 879042336 849184592 123618296 871041488 73777144 480008864 538961394 234533492 532281938 383415008 82963594 421622746 309357100 146380790 637782552 694795852 100564014 463318390 668498318 995404608 72596664 229177146 856927894 91527556 765636702 79645180 805770596 910653146 201331206 621345650 813776016 148861196 189647854 473551992 732484034 172539650 926175172 402117418 218227606 457820636 493429116 618884044 873764938 63922472 139314722 976018184 983227524 895483344 112375558 31294202 976090470 624088654 781170246 216331018 810231162 583098868 157869068 719445236 466718858 900767714 588939976 804452740 590727666 616579354 730323516 909450204 634421370 976888320 48812744 570857606 884799340 167765876 957438540 474505270 565010196 961716662 834863614 33611598 727874026 619025762 810654476 82402648 861957030 842692194 52325188 624144324 234595046 98149232 490916712 203331358 581387324 236390456 206686572 607748550 861057010 270314260 849257030 714089960 248898224 702282810 238064720 192973006 83544262 857690518 679126022 432270250 160237610 980552738 324938376 249808594 493209044 443270360 451680648 209287026 656713806 352203616 345485048 590955228 93358892 309166128 157102964 171407376 280454272 151554254 173838124 536250422 551072746 606221886 533941898 333173258 889622466 805351706 434451282 858632948 426564036 433414756 674478002 182527404 630648606 211193456 830235926 638819644 789793248 681022998 969461032 367935036 268389426 690758142 687359118 768768896 454183568 597526280 242615408 641889010 413314946 625603954 67564000 561124022 754171536 28942960 219955844 918630372 44786676 505699262 11414146 374223432 723915870 244075128 307255370 473878316 741179788 879934854 214820140 49566746 893066070 70722696 441354250 758181898 97493700 876204862 606595976 850700230 890712706 568155864 988338772 417192418 543812952 57880212 539198274 801377868 81526072 911777186 470332340 990782000 889738398 689868412 285549494 246546246 153827564 394184426 22817554 654381872 38118474 263247512 237207924 520007208 59053544 706407504 704853850 366091460 511216136 703685910 145109848 169776050 166986422 11613212 149585328 893400146 631966158 810360978 473849216 155950212 657357960 18825266 779880384 527995294 974925620 552793130 509391146 774381204 781732628 511489918 923693830 962185066 916111388 929257786 818883820 688201686 838813916 620598628 393489674 83302040 596188976 109461124 437454398 478325806 90848336 204022772 526912544 457703120 564847080 823371838 558699488 531563834 441050650 957664612 362346492 155035214 589366910 942495942 855411788 620547156 559262702 15258904 639502298 509555592 329715752 720279898 534228842 883678718 688740972 332776046 161109594 830695586 12081990 745135634 51218416 639375026 360664630 542182456 861002504 187982164 996426188 186802646 679364416 812215634 757571312 619055264 857955270 802997340 545376078 32209404 625626368 843906754 836730044 710820334 88943014 668197896 684997394 119380780 295653072 994436446 826981994 107965154 496231284 250114250 123761784 786406944 625373120 131481586 607246858 992697708 429276450 386344870 729252214 382703442 906904168 657308180 312536964 212997604 116112758 255032974 24176482 380091828 573579948 809414092 572658290 972082458 395585266 370759882 138651750 274592542 231838090 154794388 902714604 421538442 810229094 821476910 705686484 919722614 175810826 466158636 293262650 451024374 912199020 798656946 975101358 593541866 631222764 762986900 705072492 164371942 407697630 62959300 992240664 515580840 504358648 715952796 418635670 24882188 834188594 641161138 581609318 975069780 754359808 106134502 38986564 593010486 795752112 635491826 633330566 133463442 176520714 70013194 726583374 516994186 533959126 897641108 278629950 177359944 604959834 344307542 978025762 820510864 317065018 641238720 709501966 288862746 295812594 692221552 137290120 662557786 163108058 863336594 394674290 824502142 260520340 465457058 929621880 211253204 291267492 32816940 28314018 303182336 834458368 759048644 926931766 424134418 459151318 427289850 1667226 587717896 274322730 670543858 211821708 278364036 114549080 589195758 676071310 514105646 31621902 9192044 518013838 68592702 114681562 383643494 914274150 311372924 386392664 965809958 621195342 809971228 724662492 177245452 469776980 831493438 124853274 199608 849767926 398575362 815238870 488531226 821332656 857497504 408454222 170636714 642860250 239176694 810772168 670924046 315859370 132506990 566585934 208757538 771092624 915772426 558506450 516645798 205662184 272125286 898168284 310320558 603385998 247048870 673418922 135600638 619559118 575485548 188484040 186107374 517990146 930544514 887614144 79182968 486205296 277909220 541402 873816518 421769680 237073270 774813498 815299720 851214594 618777882 983986748 912678062 186753066 706684208 250598158 180284240 458682284 235391358 203973224 493621046 301198044 235013296 827581050 446462764 45260660 440742938 257685422 903207386 428054822 609136356 45282460 401167868 90797542 697967650 147037378 569837942 198749538 888331348 786153604 536622922 670581300 152837228 301161160 98335140 465546490 506582850 106551212 316184776 37035936 446517910 548074542 406026256 659053672 917814588 854882878 566354958 541052870 841229878 674227276 379821298 563459494 391441820 868031622 382904010 121478120 416130964 119992822 515239504 436901574 905239042 837170896 412587412 777602364 837780238 839586228 824002970 450058860 136784262 983460960 685040012 648309504 407134606 798760814 751446272 858751474 511173360 982225814 56979888 443894522 826366504 440113208 363836876 754410512 597529446 449418132 350717252 480507900 61064406 651884414 71534498 392168100 827513102 562388430 195823788 919934568 479071068 910209554 625498896 874006682 54637428 766662754 91578512 119270700 789795246 842075706 684327310 921123172 203658272 303634402 230932682 951977672 492951074 443903906 11534584 608216054 644425860 964671198 853506372 472989346 759344170 823618500 650313342 251252374 121924202 536219836 719498386 82125642 186095520 475382366 815919250 815204526 709223282 737129614 631691988 85261742 666353788 310724916 91761414 189337186 358393096 688709360 143598478 789942024 390394270 787872226 105348076 272466574 115853582 995430752 674236160 620364000 268752848 941658850 231122754 118109578 966406712 772784834 63642098 210916824 537573312 775216276 127955910 274022234 142584308 493812118 630328886 500442624 45303262 34689324 826914558 805471758 714899156 173673350 677505878 316782390 298932508 612907716 181533516 615281820 638545786 409427644 196574902 256954394 430965066 781310098 231811426 928223642 384541018 887560282 829134284 497581580 998782916 109828128 649435070 720453732 225111656 843079848 587856658 706580562 152843442 932437272 63215098 906742796 516045736 828143612 617898480 504349238 229255496 31076222 945363180 534651572 680107560 950274846 299679698 323803678 594012630 136870132 357572506 44690666 985888936 640970022 247152030 519846164 310617374 38067472 998688826 681220820 315748282 394085914 455941970 644622294 507462734 915377450 633478386 327814496 297462422 736383100 245442910 117918858 385047430 549105596 776097102 579417152 817832180 761867892 727198660 22097108 907436708 236136178 462642696 959863462 464673134 201003052 148201214 671334488 672154304 703827728 457527058 815709094 694809158 825510712 950204048 373719290 435660660 722191590 21992082 647827080 931399492 837591916 199168074 558599024 620642188 634654270 970954022 201732580 370069102 870969534 102951906 330937206 786433334 439757298 72369354 115078538 254344630 971785140 29885400 757328408 954301162 464496902 1596814 415080 395407064 667348282 731409636 407299724 574159026 610655068 144375270 425762474 304161882 808285282 819319188 627281164 756750354 683863252 410294398 423914408 228493660 360518330 773160592 721832726 869018962 148895892 150808312 174671354 537294700 27419658 199253508 829819334 66693140 250031796 192417498 729763550 890314722 394333466 29902524 971228396 102736586 481139312 63599296 85166698 278973498 637531788 40966130 770558798 823388168 982220174 36246208 95361520 956420018 893893682 824492614 845602510 653492580 651686340 484602130 82452100 660579644 515023874 459078456 520309276 554922578 950472040 49622836 424198230 55297554 970979474 269626966 739203564 132367854 895407758 405649806 313914834 250421544 842588600 758609268 454272140 664774244 764118630 129574352 346772670 123727544 421279454 444147488 856456892 637835176 410292784 628082450 520048828 673915868 325318560 92087432 175043418 417088714 184808954 861999990 826540456 912855380 374728288 457902390 138879118 100363128 783500254 722361748 387573978 306847890 969383058 480945078 762612386 447895666 294617904 972634332 37676044 878400570 532706382 821194268 109642094 943795878 168233054 495592612 522648720 282647614 280938058 93400784 80604636 839215928 666747762 125528418 724603922 156914638 939367188 438967838 837407400 112638992 725488258 427031226 998891428 72453078 556199896 85879514 275832990 565491710 108600792 468416218 419091164 476793932 578939724 329151922 36411296 690946258 564411816 324153880 187195244 723728674 8640886 339090178 640826468 862603366 668623654 977116650 139108970 322105398 68788920 90511488 295321448 244173094 829581892 994945162 884016504 5198634 798562150 729335546 524925694 934081616 182446710 88480094 561400604 785187934 197838280 293910264 121921412 623131166 82327088 9110716 114812806 185635082 325052924 708733072 253389724 713636472 461920634 259818730 228531244 111020470 968721810 542358074 171081728 388119252 35636944 317705130 491777364 975951824 556692714 587432070 386603732 649188260 695233290 281461694 676931306 522394192 250914168 684664926 517244924 828885502 490786772 516448804 816728990 307044502 295299846 569934960 427761906 854720792 813950652 417234066 535989524 508706824 391159046 186576578 328798114 211993704 717197434 857888704 89953002 147676018 807762950 699494544 134465080 952202624 821013204 366222254 69870068 472140914 560230168 513453296 828750866 845841280 168323536 610941832 831817798 743855074 458538922 918447732 256187114 893287590 522473758 286847318 799993078 791866626 133527916 121905152 492630652 980309028 451947594 845255876 529235322 628748132 69972262 407375028 928660882 407651254 329804386 172915010 899579348 335271180 209156606 598752166 558894010 526156588 476020512 44825968 176296226 674417422 46802840 691469272 349391538 869476438 570786618 873532564 449089544 610585600 232770898 951226534 377501174 708193498 53477666 806618774 564227360 856899636 387851738 308347252 557376498 146125200 888805388 753901128 968207442 422178422 505006200 252089422 851821508 908361784 794266488 945866022 722716732 219447334 37214890 271958914 156279292 956696462 786842332 544312004 701781984 944842406 795678204 991338142 720796380 179364136 78776616 972586402 685296204 307319620 455578814 751306222 108733838 776494266 768498184 812183920 788957104 794758336 492423228 74404768 565777072 21137036 270789984 140030878 364098094 644982850 351174950 231660264 805536618 944648076 904237656 104718992 285404278 881284182 414518456 688937242 945550560 340682772 443379958 217229020 792757042 913546752 747293112 230397796 126796442 674704256 896103466 969496310 441586540 603564592 291226760 342480430 27354188 404650578 750207902 149152084 961100678 674506492 299076186 828864056 484301254 961636022 81050034 664487404 849324364 692725564 863370298 683284908 43532516 107496820 603981046 824832042 395017126 74243328 418861500 315713364 642939538 71401786 528920362 290930308 853310352 854552372 388250204 860087510 443980890 357164724 54530712 906100778 308724202 95415118 604080460 718667900 295236554 694631866 752380428 748771728 486386530 645593340 818705922 551260502 310507022 276051186 535682026 488533960 762810012 747111850 506084768 829515288 961376142 163226994 559729724 59869048 788301438 943667182 839089664 366168484 366325378 741355912 276908198 217297324 294021330 178932604 688717622 88635990 567310010 155361384 94404762 131073336 872144142 895097608 5374482 286643648 632834534 440223478 76910468 840331452 647289340 65261530 732361390 735251212 491000050 581928606 179393308 885998270 584525616 186839620 527180428 136129520 971551724 485546578 428425680 74375418 792810630 371763698 769229650 575409278 591971706 354206772 159804568 65356266 915531002 452887792 539883290 882863368 407060528 882184122 989760344 430059458 298168188 975191180 803089460 11504558 285245842 665868032 359761578 229800408 969926928 975177882 964126492 444808616 1587770 920402342 738402396 972263484 936690674 696348860 839311076 358684800 885970558 972192758 863862194 599023698 152719952 316878636 817609928 549320830 28136218 408135498 52960696 893293154 971274518 502063846 358342644 216127424 761953494 240326640 316745832 594240012 483882116 491384388 746210156 319061976 695288956 822136240 511726040 970410850 336728344 806715200 990190642 919708432 102943342 43535380 216086718 263061380 70818844 616410740 667567642 162231508 813466554 526047796 106746666 147689716 657520852 751886798 878958510 991806086 364124096 988248 251997328 593324166 378569892 693725632 115878806 799111112 979238146 106579654 268939758 217219532 534800792 61755952 513173466 98303230 175335240 116595576 993022936 477605362 697068316 950520918 500482724 832039788 304709114 888896656 957312382 701173088 125024758 593404158 849752834 623641286 917681290 287693792 123026206 665247738 457043426 23802232 696412934 557128320 737312148 567433702 149736978 101226246 145703774 500085342 256673676 897230466 985052166 829221458 50873368 443706464 907067824 346680920 601748756 371825034 724877130 380391680 68496190 841723132 407141816 103105370 825819294 55746216 899725506 895553082 862836822 529267392 349807992 960795548 829769368 871508032 929402770 513460612 623325162 420254430 955891706 147972908 553346010 280446674 873766324 165897168 557572728 631988022 81864250 980558006 680922824 476402588 786399034 805974126 398342664 460738352 147444994 740857164 49583500 694492906 531242204 894567772 898098716 214810920 120332564 378145874 697468920 122462640 895840394 515381688 396087318 600487096 532530958 219935872 928210334 609079658 140251926 539929706 132093324 23408262 129102204 137118378 800482642 350941214 245000682 649476106 338547912 150817696 622322660 95093008 102578648 111240090 516488960 767718482 212758484 959085764 353111680 464090104 822838906 696309052 469562400 238407810 836963976 389756562 355002990 189924666 418284730 906630488 761229068 506531490 262941370 595553360 927480332 528968934 508704778 931744480 790854902 66977132 147508816 573189608 818810800 630815794 695816160 148438448 539216512 827074990 614262752 282056662 623082168 440443052 250874328 318759194 54799224 160562258 503624456 888101520 185114884 803399526 4061602 931336386 511397150 259531238 41855644 966912576 816940554 687183930 965854872 510409556 170646552 231033238 449033822 59660514 235641430 388918984 133045552 602700620 364158970 831933540 454995528 840279800 118834002 401555118 820554954 417234196 348835242 510323786 819796820 887870958 3263354 747097200 361541906 601000126 408214280 877511548 231211942 657433814 62782192 437764158 456462154 937044694 37041676 861734022 696061304 398755820 441124992 405119988 506731776 17036338 317784928 731902410 62900452 263037738 103380452 912781854 971592098 114658250 657443612 480782742 505243892 194034858 780064088 873739824 784772716 982262908 81784682 302663960 467344582 840005258 260667234 290098896 162323828 838821302 550802744 812452406 276868838 135393484 571923858 163615198 398063914 535145058 49707088 280580550 851231726 319459752 802422142 97201696 187968350 479794420 803068990 956745820 913012610 97705092 802923314 450995706 751459608 311920992 443281684 935924402 880350556 688872836 833497542 556051366 220939854 842849272 748113674 289125502 566361474 979722696 579158538 224457734 209027384 48930886 158445566 870650488 411189752 430359282 189998620 676913962 592052058 566906780 754132502 619007758 69002502 448686070 879484318 600914454 582544992 286379524 793969832 587253122 437693822 96264820 469183178 707751558 555396914 389122308 8694142 629249544 444711114 779822080 308469210 490790664 853766046 109674776 575535182 42444428 536488068 96219576 703435798 939444870 846164714 968955118 861699850 226533674 11579726 56916886 438461506 748414824 645717362 936446970 960572844 166965390 542257638 180436710 573745262 327553010 104025838 565079664 186375818 876440560 921015500 64539290 869111586 616769098 596915080 27587200 237157082 336601002 771922664 454899426 500130398 936579000 455431778 901031398 837784198 115326222 164402792 89319426 110389244 460044708 826473826 179748192 731271082 151773302 996552604 292049500 121514404 415769408 812590894 885788406 699914364 412323144 44439096 842872600 424264814 889115246 433770834 846141792 141854588 78695860 624360776 10383722 469074400 716402438 188715936 953081522 360399274 884120708 539941738 561196350 913639882 276053164 904945982 969489376 34843844 490842758 186244942 515661930 349170258 963329048 153116922 543029204 64984486 307447556 29944802 923166970 80077134 814639008 753213136 534219290 539436734 148808406 707797406 607107198 715470948 975973984 890406454 754629840 288611044 38264442 715614406 989756580 942963094 577725568 456685666 932639048 12469754 308584040 77127588 542107834 753046094 270251976 223869082 619389728 300956014 367702558 27100554 346204566 914816536 30368170 787859954 683792766 188221190 206886868 368868158 857940074 795902356 144168196 508850950 799579662 41853308 196871672 973602706 111250796 755030936 388786540 593687914 152401956 703713630 571866036 157711786 457648082 160470694 724654844 914994168 890334068 19476572 608222160 107622206 96902320 896491582 101607332 606059026 456405476 677938698 34685776 211302058 72643504 196393416 122208466 579075412 797651566 66927338 690834644 985141298 659580518 153172434 659353088 873823302 43148850 188311680 18544346 278080770 556790454 630293700 500624350 208027430 660993816 697830672 459425892 93153630 877483064 420940586 752220122 516174218 26814162 478531650 190854260 730080946 142372836 188183108 265542954 709827550 183219820 349224438 59732184 47113046 688838158 90774518 494966810 98740464 547414426 469591460 780901164 550800960 872670252 57282574 345868658 964231536 745742000 414336556 684337946 229523432 501115042 889371842 969692434 178888906 408571194 752025996 127136014 851362226 281127308 248908344 466552236 443015218 666277748 710596892 781163756 761879038 64256410 269594762 168670490 100892716 304768674 598693194 202195008 626322232 121777150 208742820 66958544 176141164 151596148 768519470 834481470 685455710 649613098 290227168 167523818 789942732 226737214 550529940 104322870 139008988 840268506 133101936 772228120 41514648 235013508 925985060 162253536 403103114 688553036 53902856 442047624 470871852 120691348 731306334 365999296 346129070 137556598 267263512 744608094 113275698 592941210 906262150 428062990 42498906 223303852 669515590 682792208 466989454 418379664 369334530 218541394 534039806 350734952 370184476 636009996 688689484 675522408 617775556 202985376 659327264 552145784 854067094 279212032 684515362 422519074 282559996 329370084 873128628 363390894 992421128 394326418 922097774 874167728 933133514 721830796 120711914 331287766 999752628 815555674 999932546 347459982 882112828 317477200 1893376 242875348 242954972 353229736 27855024 39817626 804245520 915336144 247556206 669743508 288455910 634792310 799571098 136604460 426587970 132234846 336155326 468434532 204551552 175145730 278570580 882934926 930892562 345193070 358708522 842925336 207465534 820156514 928684786 511884734 774856854 381357368 625064128 507172916 691189462 139631436 480598958 20530322 94685720 362021274 84462074 264562010 705213194 172380116 73865968 69506524 361303586 140444606 901385378 502608612 492030232 504112788 946435994 224756830 919071306 423168118 775438408 577626224 243753570 821633330 91882836 303113050 706814256 218209124 474010432 322071310 765993930 275552658 729366074 219393318 138971668 453584314 435117982 724573012 953752278 203808686 758749786 999876076 68830022 85831854 528235830 646437110 585743706 181926960 688543234 696315572 301201906 61302396 931519596 630597916 383669834 199526654 594762388 658422130 580971838 202173520 515462324 732262838 851460960 692798776 506911864 899243526 381952216 919251646 985329564 742945652 948211648 76437834 379277328 178447880 369736808 224934794 701282430 835080220 636646528 193561514 52958466 951300558 251934908 619914822 770123778 363107806 356338982 267542224 72890988 851183800 875471206 341337036 823410312 190746454 969822556 678089720 337658536 274257418 957943100 891389748 267016960 767450874 228410582 801240228 725085298 288019048 871985950 730147120 664114894 629066302 339794828 366956736 429305624 328417606 941716780 665959738 330548706 403350450 549653820 674920486 98683716 932591682 521590794 136940968 362329504 298767396 816684966 808932220 373600886 60332442 934666964 742358992 598639368 478889550 275544816 332295930 520981918 513717994 218413614 727546580 186111818 665008622 475446434 577153988 21297878 72305686 84119538 366072970 168297590 961591050 361942640 285626958 17506732 886134842 46645702 949300020 963513556 159359394 151949408 562381312 834897382 760863834 113061674 417022926 960228872 402802214 691651946 811294474 580129232 698321968 252496448 221099792 750427628 212467170 462817662 485984900 755972292 707706344 24423388 666266260 923639304 800363600 516550216 419510328 193981576 792676558 642579482 6211816 884655278 649755414 159344382 939720354 683470716 581323136 266761686 61157708 418637038 637751202 960229508 384272366 349549094 820226692 511499372 545014848 902055538 478143186 330906666 845078576 455748356 679092406 295592932 958943838 928109626 634798346 49308064 854482474 585129486 649619216 81032510 378467932 213809840 244552718 229847896 333993858 535315694 388059626 47602868 845022844 98763962 933975336 630159042 53613652 418585244 155316522 94154888 717669370 663645982 52856556 46512712 472299564 111859730 803739492 584454106 576467004 277822058 103090680 449798824 942592972 863686040 742333506 801591592 981710798 12357358 459346248 648195138 584410718 55357416 579104506 553589248 662339366 137672028 672110024 969117634 139507632 853870968 360338606 763403318 56268450 287082328 29318506 734913548 995489582 433715102 23333110 625073070 43646630 11755842 269889666 203904102 980594100 357536518 997888370 271780772 786599564 804150108 436560964 650271226 968960678 389708986 422368608 934216870 194797258 306817038 614866578 844643134 465206688 530286664 207143784 340261342 535231344 441467848 392229432 529928452 940883860 196502648 93788960 160474500 12042264 49555860 85734430 803161890 832859942 925270494 620023380 847479454 151830274 979924334 102009498 835648352 890432544 207343868 172112684 579044264 507972566 560555224 764856620 167007360 472121508 450457562 494838090 692532356 446717744 615703540 168814668 643301522 171900036 536508950 343412640 509629046 170280080 389478492 462813412 230434846 509811828 410795160 460442568 62928430 679021956 523196234 231358596 270846846 504833544 152011440 608766126 586921416 12816240 638716552 978666512 340558060 233856280 505434522 942141072 501789420 303080752 670672164 209329856 379164032 933780156 754657154 496720868 625366880 266213846 118270264 126902268 550555744 69579800 385472926 519785892 359241016 602616362 523974250 597456282 917342236 990789544 778796776 868321510 476604014 465084000 430783844 694868748 353406332 850046280 349269354 169522096 567465772 517051000 823104114 149080924 885359658 70829988 146974888 721770890 306085374 881148016 341966540 491502098 862940710 87127576 470827784 876094604 802038366 320466604 374277932 984106640 706251162 695820276 133171322 703410964 72600426 146280824 122532408 539449814 544732662 578610864 409549608 343798600 286762022 900676864 234712440 366433984 483870934 305715826 580300928 458440352 339430568 660443064 616576100 529435186 464605410 754857130 122363306 797469118 187262946 57707388 952780882 439093478 946680594 927199368 224795612 448795572 64491880 503081640 680520896 889422296 185535794 378791156 336438586 537574728 987311838 172191962 959107732 372464578 814645994 230966296 35093454 551524634 376018218 842072466 449156606 666641086 772109160 483640626 255127858 236623232 894908688 213015782 776555294 985096242 71344416 642295880 176846724 878928966 634008110 460182778 880513152 208470136 805204280 484137546 182338834 851795808 224855214 218206586 206051742 966400684 874177408 419140488 944387922 585277372 446229662 504791934 193350168 355685332 309160564 961744610 494477562 991504252 641648678 961413976 806318612 870348988 181007530 629841900 767711844 987024914 634951266 719642068 870871186 450349364 342542110 70630994 692814708 299324720 852944906 1994024 821427290 774472068 411860860 609668878 462634810 983744718 305065744 910274560 111818266 868588422 442139780 556334882 14273804 590254774 367328366 468623078 67216974 387346772 182603942 230943174 755726266 15937506 239929398 32049902 749231222 203923612 928273948 75336610 889768666 521889624 182430888 706880252 913595040 78377914 281860162 365181754 76534038 119568342 71932336 591068670 30840620 455810490 350140278 582939022 524686948 598938938 185026344 53131366 910589524 37736664 388466484 658535546 991143730 910253360 278397778 88168642 106238852 271975394 641475306 103367712 943651860 971747358 649747942 74837434 639826242 742449774 615822390 328334920 229152490 896463832 976913074 199577556 886988214 516382600 960018176 996120960 897761554 179528848 774392158 812978180 919733632 320355052 443906554 18576564 977623212 288198310 315209588 246037378 926522546 221848372 406150116 334401294 368326842 753714774 511549126 705313130 372537892 950111866 115769370 860574238 193717700 557842746 456488576 242831508 348959100 342367368 534943746 946603190 290731042 173987280 826956462 540062130 410511942 405057202 75643956 555329196 348396354 275219838 212300790 584916670 784014842 775742838 828656954 183933516 437344464 366097606 627023242 161262930 878226998 45276096 92811878 457078762 252812936 106985668 239889762 350179508 919328986 716619540 374795932 673562350 85453028 232530858 237847794 443120214 229911070 52077564 447015914 56137632 76662384 504468900 341241734 9695616 207776854 549873766 85640070 80566106 282027388 428649498 25393196 16031684 902417700 672315122 946462968 815248494 159740796 137416042 284605702 576244070 604349310 47654164 630451366 923562596 301477638 132367592 649975890 788065528 773920576 829925652 746195530 561562012 138177380 176119898 190790338 745571098 524133634 666315904 502684262 749959532 430736648 625121882 576255086 220251416 353054182 484040420 810850680 67413628 743253614 242332732 47064820 892256496 789960316 592198796 620594698 619207636 346383118 686504408 612401458 46501712 727118130 199145652 278441568 160561762 649570440 654339722 149720448 437996210 117386132 75543808 330267524 880141036 154715200 516990922 728299206 674954260 468829786 184896136 363100672 246553180 761418570 829513904 656985466 883607178 161443132 735073866 799395626 93746228 477390340 680994464 603059650 941667360 411711762 953855840 716330260 862935662 230168040 430412460 171254592 421621976 749902774 729636402 664590496 695211434 156554598 821316138 754113830 673184552 599067164 284805452 142573560 299548604 115940540 743381882 900981394 822468892 522553278 652479392 90883120 700750672 786353240 943956036 340517860 132099508 645342826 152120182 133031566 747691018 96535844 456165264 729208950 45983284 827290078 972707850 35013302 844296702 692394988 757522384 350717358 47576446 801770616 620904622 398833988 533244590 480289678 683217618 668788890 396016208 528750916 999576030 89183314 697630464 334397958 545779092 756059040 399912308 263444852 737086232 449974096 389977348 621736182 627042874 388324810 731808338 448701642 705465530 511306830 253413220 803874154 116814104 829576502 774271340 603848392 196573300 66661920 235201150 945841476 401784166 715322638 338314284 512886978 937968892 559386980 76860382 428760872 620384116 44574232 586992426 740297726 974201302 761385014 709274590 653513424 122086094 288696718 893191800 941791350 312883876 698790280 747272192 920961636 60703080 541727878 802437458 388626706 466419806 359395826 818989522 641357774 755156162 894270566 794341190 249102516 250917860 438260370 611799460 400054000 556782106 375780566 842251270 527058668 405565164 286705592 918370570 222751538 904570202 533870014 807482412 268302148 87533676 885168856 269529904 267224378 517398058 50232298 974151348 980661478 756599486 465785546 502407766 962508798 291750842 759938338 160321066 710623994 559337192 554568322 247184596 503894688 684238526 793819748 189435350 833027782 247559768 315734830 156239020 317593176 480695388 730638546 326917816 207927376 356782968 208987916 973631050 738725320 234374432 189005300 79654992 197651646 45049352 963195532 498644956 390881242 477568084 180240478 623157008 877436984 452475780 217355020 19865898 884592814 987971032 156307544 129658296 465751766 249006706 812047110 112719566 967105590 137265926 870297618 537973828 933028238 68431688 766884246 844477816 918881500 560983484 779337778 11892130 474837310 465480396 722902068 354416184 346197982 725955928 506727666 160975612 934815964 471355874 532754308 661932580 851988860 232953972 602115042 816709718 136427190 16134236 873897712 62814572 381690766 948140656 686207778 898534592 137709536 946487696 823720594 320234296 78258344 123719762 556819532 212172916 631639312 552463252 483507894 479113402 599719426 603192778 606289830 972675418 346635140 871068322 970518674 451463536 276958306 300219818 49683668 49994778 267241136 70261802 203639542 936291558 724975158 636703812 281005842 522033486 528863142 484502142 295045308 744866870 53332870 554044712 853002864 772018598 195876414 743055804 429264062 671456196 492754284 647714584 460906674 625577628 404406182 200698534 342842916 52401994 848591842 641826962 978092628 920975896 581756262 640295962 360184280 139347742 193152336 497131506 940102372 411402466 666074062 463448614 404243228 647774084 447909008 205334428 478551812 714426878 71531694 780006252 693499766 345783778 9980308 558133172 190704196 261330978 857760582 48057828 338130048 308426528 66187014 274986604 419113282 512754740 486716124 228769500 794507958 988409546 385453912 339952580 280936476 223263164 702517922 964716330 169454004 933367776 632776510 466179242 707180646 306254922 858511104 463234758 559641870 142379716 991402452 488325692 199865488 225706588 575465770 214002662 877117292 999151762 143242592 254594412 334763810 377385234 629667160 228926804 930889464 963614346 146743394 165555050 325244602 736531056 374067110 898729856 745342820 334019566 670477832 880844252 73619136 361236504 49276984 228447054 405379242 956330812 495427272 182761288 668726166 996344432 884059864 886889214 65353958 382051402 736490972 202506416 705558838 62138920 309339176 984502326 594917632 800435422 43099668 921231150 286212202 125545108 384908514 851449016 420467280 298877068 218771804 684118518 980248718 302511034 218793594 297940958 640723044 486200440 528092978 429707978 267867986 832206020 801238526 630470780 952840196 843546356 856445176 233910404 425919964 948921138 390641072 658753940 99188382 622851938 151719216 797381470 722322546 680619912 392190994 339018100 165398540 376825580 475058356 663004244 911685780 239903166 186303616 487051462 467843194 940683884 221815958 496740282 645755612 503887754 714570302 490461516 697043214 8526662 449325092 813577180 258424458 624512912 399077218 761186354 460773494 900972992 78471946 978007370 637794580 877460360 358880046 831770308 935041010 673487114 511659380 965536506 817774262 937766582 608786472 708143064 862902984 181674948 275451146 502950040 162488080 372796848 298919372 230193892 302878196 692204506 70855688 804637674 828088940 479050416 376769670 111269708 697456088 768535470 637918976 676049840 594751348 479204016 788259298 357290912 926999876 115380350 389372136 723629690 345732812 614105194 535236318 408669842 662870918 871655806 369787326 38781916 149604084 279582118 370571460 647720764 575186170 441453330 255560964 430530686 668625422 880927728 343165586 193940336 231621212 627342266 432227940 758798316 958670044 625493620 815919880 798976160 414861854 295233250 321527474 423256652 218688756 493892864 837815026 853618194 823419802 458646190 230305182 250584530 281730306 438982008 769799560 359727058 685398340 697199206 30350796 297298822 379030314 419996518 824084074 399383836 412228846 616054194 713424666 368705476 696680308 335938300 75876922 303757294 401158190 449067274 140729066 222342356 472283890 487298912 134515202 798221744 268989792 624358146 792818574 607552110 356336528 347913230 609585310 789562516 130566560 636524832 240040546 883819412 689498304 218563668 884794342 254036176 896952686 793822304 381020462 132178066 820447364 581622180 248492602 637539008 505431024 193719536 506685950 33867284 815644576 885926080 992481674 945814626 539001068 326024788 143242962 466909758 206772360 838436210 33101098 289140018 269358552 483677078 54385282 441694746 995313702 604314202 687637692 938525176 579759898 885144258 477972738 554654170 105568218 821328658 216346284 161106298 968288252 302305994 765453296 82603810 501696484 207529290 141938184 804874286 635552200 494409084 396160916 423653150 784881218 610635364 418657100 777970414 693518476 703262850 387700696 123379840 416211694 835832958 238029934 139275346 953392040 178514850 695156870 108498350 780120884 794890594 465051436 990223762 960275824 180878328 339498852 389638444 425175438 394326324 800404560 999768608 930498094 738229894 895455836 588658064 979935768 700108590 299488736 396021936 978588390 228166606 914835860 936858288 196268762 964043292 373900568 112609628 876733448 146198792 169601762 134923494 276823664 157703796 100936914 552830486 794376954 73610356 803763902 925595416 872046466 368546888 250820502 687064208 914859148 969508080 678353428 495591618 345388182 4294926 417409630 6660156 820713988 327864816 664110750 343392910 26807126 345096476 425927280 733787346 904529092 93027214 761130218 604910590 83889708 857459198 736685922 189873858 228331818 146953406 650938102 680634880 161580968 37498112 687222582 638442098 796216984 485294854 656397560 885282438 541087190 283019086 10984070 869165226 620872816 70998308 958532342 575814718 630029100 521468238 891594960 977723952 677450632 771711790 1888590 602418626 885499866 247196524 579002112 262852616 624445116 510494866 385084302 219095316 608408042 542066820 540920054 731178678 7186894 512021816 686990238 746632826 645504300 204184998 336124934 214334550 29380702 726741754 482542916 515015958 551544396 123161744 246724268 230988216 78497682 715677144 776499908 30518736 434409076 253008152 99522280 191197280 738779304 832074634 733929758 589280352 206272042 731407900 859226908 548917266 375184300 780384728 583144820 864240134 920154358 81361084 871176130 254402700 63175006 797652808 674981936 36814232 314281240 516243286 777064128 869301158 693632590 707852772 363600876 368574616 902957526 351581828 337208710 579471024 620096874 57878754 52173196 450471906 114221634 880485480 291557074 569290218 713987216 36930480 766314036 545438788 220694920 257460440 61154082 918855474 948408066 543447286 646634224 537353654 550510322 388081154 267414582 589191094 910718208 453002096 846212398 358718834 132979370 551482716 139538658 588007340 267146622 981687562 592749530 129823140 382047722 4549924 718010486 503825174 897307478 406308576 41488356 944278118 603229388 582970854 555593218 449825778 963759948 917653040 674158968 813024034 879691456 744879228 881181548 272568304 974545924 590580696 912339870 335403968 583301114 69931194 289486116 290577846 839382110 473907888 855351320 433407506 250050692 454273304 152378278 632673320 507232752 117584338 306903586 716485616 110614750 469055628 509959018 129261084 289584480 672673204 365397950 629636372 176592410 73474504 660983878 825224648 774581192 312279766 565524692 135522476 421532908 961483018 152318036 64687774 743971166 644630508 973817338 889533550 856914436 363643370 340059728 266921356 287194046 254803992 281176982 235654304 229564608 27796980 459296410 856755440 717221094 973652590 747697808 146408342 159381902 534209814 518092538 278157058 570922254 83036732 52622100 35456320 833670074 904107606 348736360 753904634 289342812 334111566 935424948 94942942 956091616 971128518 805495686 395095922 630196346 913031102 480162010 625508320 34330658 747994530 599984962 944607784 15996728 915971040 902257198 800519942 418905710 229937886 276520032 391412282 634939504 188593916 177663270 437553288 868124340 411250194 456459856 628430486 125382578 646309008 216038726 447092772 746667332 253993584 546864748 974252926 573758490 315202708 64980142 136301654 828133594 986500574 64806098 667078780 59155652 18798072 741256810 404707566 761113566 76690558 184503358 834312504 675053258 285286518 867530020 199678124 84822018 583053086 281947338 729664504 131634256 750556238 850202748 422462762 129038828 137486428 824745326 583034604 722054940 128377132 220294434 198835536 714473858 817335180 226450102 202555276 223624446 20744634 861662162 498764604 714291482 101257980 502659752 903372440 97976834 901732972 683250012 558437624 467710010 355368812 360358466 108933676 596629948 981187404 961176644 328495398 22695182 831066720 422316742 283035578 15118140 920086770 523801156 803221866 65245942 222256530 505638366 68734814 305403510 632189114 600512058 824437832 608529410 177856914 313556636 948191028 94413708 648542334 749868540 873255824 917830546 23149888 788636432 488019470 985196114 794693026 335194562 406492562 639460882 44145158 736880166 109554604 295700508 955220036 175887214 177692258 37263524 894007738 562652022 398047330 140881626 197512104 807725314 492600146 692546016 12423744 94397444 905040670 255580406 73190460 252273808 249418128 218518834 112159654 332967260 153620032 289006264 884815214 289487860 528770078 678285876 824384952 369129040 904385474 433756584 645821526 18029900 544663766 277122568 549876844 473839184 377298318 44271240 558816826 364146258 54634164 66050202 205674196 467618048 244802690 277413410 913501734 843024950 380435698 627350936 294863554 342858544 383222008 147072834 990503194 64310158 562419620 862032326 464342768 396319986 607041710 116948578 20998604 806228656 176850260 633065594 677480106 55050552 1046750 75737206 466215952 92540286 237787778 917461556 538161248 23426594 416600724 147368806 305711084 708454084 175548246 900314958 828228816 753486184 528078536 446153888 943117686 81367578 239779848 48590694 394555842 203063866 743278942 391746504 749092282 786576376 379065670 394993778 326862172 967577918 406135678 546722910 805749106 705362596 884650796 899100352 669137782 243716534 282652194 846264506 70708754 99483966 902853334 682137910 326697498 811257352 145139524 857863008 287964590 158339276 925711114 761113874 46408558 785165820 832485896 986988796 366647124 591388840 333797030 538802324 494176240 359647822 668844508 965875504 761325694 373579210 39602354 13816124 645258034 548250020 452017278 13036128 338720338 107976408 130095358 346129014 386407998 788497530 115470594 189221978 798444324 574062496 676582384 832188332 598113432 661412378 95662438 539018332 541518812 961882160 751844442 662023680 968569840 538448908 167994748 33339516 49778964 144058538 855524476 659598314 349586230 444308454 513829348 947344108 943342028 962895114 801997964 351743492 514191570 369516814 295549244 928417234 617535338 634144960 599845238 966831308 227985230 83310208 331849448 435192856 332513150 126446370 766440308 43835034 466010982 683704332 945555680 518791258 369884552 181417050 765433494 50769936 440021282 257495720 467823154 307092670 962546656 335521210 760247126 463822160 797662132 435281772 820011660 45004384 791601282 317437972 754903386 389026640 994422870 415912142 146056698 122111040 584400624 885425992 103255182 615558550 614362764 105175080 278194504 928757072 707399376 845330248 946365128 988627686 405803906 403794454 838763516 156905236 878064136 323839906 531069910 270796 421782682 456034350 889043758 842711422 32478236 593304792 865872488 5397118 608549424 685542572 869467064 98323010 404375590 947713262 799106416 599862962 396307806 125361048 645380492 748844826 843637632 272458926 252163166 67909364 308508220 497671586 957773404 426800630 44308742 148163572 126053880 582260804 738279970 449280330 935033122 263809946 220612772 715491872 60144334 876329734 796922090 800412088 962774962 406884272 368555042 675448096 841586894 257620242 336043880 575847122 875399814 887418596 767716198 357564884 558562812 953694626 820984978 966309172 568408030 313854338 327809732 896675656 268366416 533202662 558567366 148764688 212526934 500981666 224028760 545949854 563582778 322768488 707881154 707935324 925650026 877920262 656263256 205885052 817204934 958924370 604805648 649335144 756085960 757618796 731290920 122220970 224846488 263574950 113365364 238706002 155945184 223018842 595796478 25714626 237348444 951150082 885172888 826365158 318069738 264197154 754651240 148885746 829495474 224023010 535125250 172517146 390393328 768286422 138312768 373597834 261843314 947511910 770971238 16593700 371444302 497393294 667354616 204865338 651559472 298394106 641566250 647568092 775008928 583308926 29237670 160103474 629882774 820697720 928597592 671605942 808736532 228183068 165521438 44599144 650447816 771375554 277246130 748542614 99875838 256080716 991339188 463961248 955713354 545781692 622696166 248766856 460434556 863001750 915904042 966552224 20324132 700774566 899877034 948989666 696917980 462230596 746937362 690212872 621605822 916256658 279478122 881282362 116565996 470523530 958122722 375905128 653525706 901984510 139754334 419974338 674219260 264631576 970410070 898606912 282460524 401359524 694376348 953981802 14460628 47627928 138571218 138539718 534081446 663814218 422097186 330040144 175657996 877215744 289796838 464500220 976036000 734353620 355168308 578269010 160540956 826536096 752912228 446952274 96185416 56950032 299072618 264244164 391301422 501076740 222886788 10657010 695341164 609027858 554133014 232420656 427708692 581436630 434697928 924165792 586628468 484500188 641329576 974313398 985929454 414509734 738650016 790085542 465996828 318004356 504010894 50344536 495676448 781796788 16102460 448911038 471400776 854060304 155361516 760687230 328645448 174654694 966640112 168820544 58764210 808090396 80421728 354900438 842689072 681147098 812554656 409103358 717294130 20165624 128450792 269041836 392834930 150198520 347141466 257197536 648090486 465077326 866443194 63595240 677240134 61670898 411683142 340966316 722224992 199042998 695093940 487196742 601952794 961110784 282160326 662511522 349122740 323959600 615516362 638750814 166573408 296612160 174092064 257629568 822741026 81692138 407546162 708632274 165789246 172900964 626798754 390751544 955051600 555031784 959318978 550891680 30444082 571800276 536849410 860987626 682538548 410057302 827554718 297335008 180601020 356791576 617456172 90998414 439164160 414721396 751056666 950983516 399172634 932108436 339143536 208648780 374600464 205930694 304264492 790003838 30934828 587886000 640413806 404810802 233472018 895470298 223727952 997954972 34323012 851539262 879428182 399969044 852970474 94290554 700962958 775467548 450474264 48657696 538484586 252980968 693709198 213195628 330238186 358432554 11377292 912371144 180886802 852957936 484168088 717740760 945580978 484306658 614483124 868542296 836677298 163262708 228656092 798730842 91461776 870384154 251637466 21578530 689401230 343862666 102511540 895147954 352841706 512747308 625948252 16430220 481809714 888925518 819818956 631326210 652071772 832544650 126029360 275963046 797152614 124810870 25937648 642693994 178136726 114695876 29130880 339035576 339101352 278548566 370105510 316752912 76899870 966959420 515318956 550667194 43538082 590644812 157359768 719941054 405536608 182852472 385383474 985693546 919556674 627521360 251975576 863601038 813654120 892966850 60761858 552341750 547597164 686682174 987278402 874225952 743412226 385221876 183692606 685405734 513506782 859707570 956193624 96120020 78130256 967565186 143354904 490312420 289289808 337071910 550293700 543957042 825886042 657759306 236657940 639926196 239248170 274176318 203870314 232468616 212514282 533886560 704209822 705826372 529379648 170977500 728063770 746843128 880394758 802086676 836461812 883730514 304908036 821644884 445910916 386896316 106732218 702819352 803030284 649786164 835451416 909616828 335255428 17543510 715425014 616535020 659504944 722511826 347398760 571051298 466014298 42265876 592891130 286331106 89519018 897194900 798662550 419785228 338995288 275353422 277108308 571211132 668094694 215389304 544135160 12571904 240026532 790462566 659465890 390804128 971478664 999369510 60906642 5064496 365793158 469704800 679647738 897859382 887663832 97475966 156849986 349460982 825911598 497297514 743419050 664457590 165152378 37243300 839736606 882610226 749937214 181912900 537186070 214830454 150643482 752398352 313293906 786233564 56507742 926178222 388497456 781611684 461937212 124101800 85632492 530094804 691586218 506540204 471105392 729421308 505057496 553410008 970909004 581755964 256077552 525094706 266756976 692703456 732595814 949801700 163823394 301047958 673716440 438115134 293705730 797546820 405713890 561190364 938517534 467335260 408822596 777798574 990944580 207653154 187156602 887890242 470999670 973785190 358931384 793290700 545090528 869902152 339921512 703996592 652625644 202560170 224327396 672158686 556016438 772882264 285055500 113809308 183807034 88954326 631367064 936758184 66169504 806468072 672079642 279957044 862271524 943427986 604057054 390805938 736183378 432211228 343481468 137113070 661707796 332377534 68133158 553904004 40721460 961361940 102662028 603417792 259369008 171393528 568508398 971577744 965809442 933175824 673287104 804578766 858905090 173143264 16242048 812384342 801968676 228060210 591469204 166989170 978279922 768232118 138127632 339722494 667170030 381691096 566761822 257522612 576785344 462122876 763451780 26689882 35861766 405585516 928893028 835396280 887223110 656012516 466707902 849511344 680886046 149069704 334700648 87819060 905292940 434624062 652312836 963846990 691683294 858009326 441525470 989211390 71428924 460164948 559897598 677389452 221849046 612682812 903801218 511557408 509552516 920958300 426588382 625898564 254234160 622367486 743323718 979403422 182573840 691520060 717592188 907039194 227262820 410111440 680447352 555293136 462526472 963822994 840717140 714930958 188502910 720248664 235170664 267955388 429341630 679837162 410455938 35988848 33056062 557338694 590965846 831994076 106934770 237677702 797956010 390823452 313787400 112280194 395095086 605599148 281189822 988497712 443467362 471949526 691952296 185858250 227032 661015352 760100148 804679520 600000486 575762120 126385138 444711376 995246412 921828580 902885348 366275058 758164224 289246946 826574508 431170190 786789952 345681234 286989570 80584008 205605760 535693106 718791910 616085512 902865556 795825648 738521354 197520094 98157712 684957044 126300980 909253240 472072626 884538384 698685724 882892546 221602548 508832280 579265044 640489282 555791634 130997054 745577840 588025594 302334878 708241660 545335886 724091376 181456244 147533550 832000288 763408746 994650194 957747492 220185090 892521040 544279264 737128428 872294040 892697628 652794694 31833370 976257104 885401574 749099536 124030238 319257208 780685740 145901606 418532224 60209754 233999224 726798198 973501632 253288676 571588134 606003100 16107472 843963650 656470050 321700618 253988886 834870086 600386110 980981120 282963282 417259386 303247214 81393848 223092166 135636190 454700750 849361384 203887474 725135342 718067118 826955864 997749990 888496252 377978040 932224920 921343282 225188320 548200242 871845234 118318190 213237946 570083388 420570806 563500670 145082650 49567510 650015804 923162616 748149494 982449276 181457914 31955538 391978104 755032778 678926090 714306722 244946202 244912386 765877740 675964416 134784832 442092168 761894766 213279048 69830122 67883490 935366136 355320206 394429850 763749598 26986514 249041416 517216426 398529742 761045076 532504396 752372768 656506030 555585572 73155784 836982906 984252442 335516126 915557038 830613308 135501810 710967746 526416808 691208794 696896534 271566074 687821472 934806112 954352744 95396242 353234988 399244618 612607984 861071608 813241958 186208578 789775578 574580002 134247442 275233086 988642056 213118192 960799808 748760960 784948602 856316840 560529014 579228032 416521402 606780676 303578838 495756290 246672614 82743958 166652454 117716426 266907198 273978260 124401794 905601754 963944416 133598934 391608958 574539850 181444584 52150254 516291694 509334850 214000994 445849206 445773092 349833136 713569672 716558510 542058350 883737362 801383004 494494106 26239964 166364648 430710872 929263878 577269138 525459984 455430988 85291338 539442570 476105720 327923844 463914844 427225746 863586328 581255006 821573732 264753298 775703642 305543416 958775892 766211478 548032082 55298220 274762922 677784430 528719070 87707390 982174910 801406988 68034554 411626978 141801188 154459394 932189196 154737058 88374916 975376180 510653976 761070040 246083516 212960618 296872372 185957226 187343894 672097672 371706576 261597792 573103766 25615768 445228746 435272858 404355326 322856980 489374538 373732088 199177752 355463562 24211692 703119884 334181194 527435460 449459464 136537166 339898096 886893616 336451630 326210154 277656200 571398766 31035714 463327342 383236274 262635032 711406660 320447318 435986204 114206174 228818076 273388530 212848840 204188860 435169662 825004642 731533206 159503038 503121672 654729914 376820992 888280298 641412488 830479550 311488406 390489980 320002722 4944358 504767628 979687584 695824930 566063760 572294354 711948436 486819404 725174116 515106626 167215930 946151904 326396418 85525200 467451890 401754998 365714190 157217290 130872720 487278868 695879574 638336878 127474088 42110604 980483854 602105274 653595364 538529944 621128038 262309184 111721244 7342684 13892518 832637402 711486696 349775876 299447064 709500126 553265502 251043034 337631574 905851380 814590868 888706288 904329122 870722208 607665210 679106078 36982912 161191278 548872414 873219070 348424116 431387774 347252636 749427744 995408964 791442348 420208812 518031574 751788448 796249966 280905194 174456286 608941736 119998594 78236750 132763236 99339062 503045850 571659972 920029228 887964658 330305988 163196720 640954842 925415084 483343576 704827898 134245450 274571488 516762530 713917308 21805576 511737932 368890836 366849044 609601168 494163558 308210112 811359512 12707746 104583102 986413836 159199976 281399854 188181586 338364666 760017060 250354884 434124126 682618884 475235948 13946508 175500464 740146844 543828480 399041414 594745596 288504614 305687076 899420350 137345468 560914892 973895258 178876366 842330106 189910392 440931628 672028316 202779394 123768938 401298214 611478530 76436978 562721412 900479472 516534938 154904818 733032496 221739150 460162348 787562676 917951512 852521386 86987334 976309196 930188948 38163330 870405758 380361462 813004256 597883816 188047484 743066698 935127546 131531228 464257732 862970558 606559676 46570170 966929580 974180534 572151932 299182712 808708764 956236640 423111952 772802230 652904582 579738124 456814632 519768466 971803682 759552570 779070098 549043502 989288836 794915280 35419516 425289656 162402098 505598906 529559850 617066798 49142864 848548726 648435146 761062236 639424802 950493762 208485068 614111800 191825036 755735356 771946546 842138136 128596068 34706610 287569812 691521178 393983212 978761380 541622826 613161400 592980986 613729044 433449602 515485584 380623642 279980416 945347656 321388364 563533290 331957180 726632052 837996262 343749872 403153188 536458094 640900784 852690982 744273012 437199756 972939714 368716692 931881562 324105266 58256430 903061048 525634580 687281774 653384828 993304118 46207156 979800642 178933598 545769302 77461190 406735672 153593282 34000960 19789014 397525232 367198608 451727234 61982802 619634976 206247098 404683888 573867628 973370824 193299446 12273040 616168298 60844752 884915938 407575576 784833604 729368568 506762776 968506062 480408672 57304036 622248886 185685302 452237778 405953340 285400088 492382392 705707972 32139122 591960710 899705606 232485712 871946706 166078084 876043982 861271874 685612096 672433232 390262652 88263572 653719514 743697676 836433348 261234482 78537754 198292464 691445234 986407800 524716162 938448194 823101696 367068084 841885852 20640964 104943954 671840112 579699284 446286352 564093930 992206946 11630944 424438230 604238252 659850030 601479972 607563638 265425078 412154222 807209474 899029318 40830088 658899194 751406750 837396772 320646290 369290188 855053558 868070006 494916614 462242538 709436498 335363018 7581422 745997602 12671838 775683556 914941338 671208190 192583460 33203172 106166942 382238394 536267468 170246432 941983700 685163148 884978184 285481744 957709030 814146102 105278918 952712538 935707474 646429404 501982178 352384470 768082646 29204152 479012668 893088938 549573732 695107596 184436902 590907330 806594386 666744344 397669156 946169702 567085912 797705458 624799378 24804860 514113748 454382794 779494546 7925262 821167512 106670814 549456340 7930944 792214336 332973496 979790146 4631668 26073724 255593102 774057264 938415604 215095604 740544706 202514524 265819316 673006882 341364300 693491024 939932000 164649088 104869504 822147512 490327524 16854140 637470066 296168914 555358994 149264120 3269754 10920086 279222346 631024630 529420636 592272446 566484192 842469944 963038178 95821978 300907312 922585640 242681542 405929842 904099198 911356988 91836644 404730638 997313680 915546348 220404698 14788918 417279506 518789162 389434228 330399826 337818302 816894320 718955272 674812180 236275372 679775838 844033148 157509072 574133976 487936958 184593296 662961942 267923104 283352730 233904514 402722690 942387030 128077246 762527688 809761938 996059714 102716994 344581418 524693262 106583522 585965030 681257702 294686002 557667578 440566552 637486658 868030612 87516236 688827200 982221146 595364282 618907816 210929114 463242878 285741114 655599358 791117796 225144576 133048144 337149230 820959082 715302028 190086002 120198772 614349738 937785736 104489350 961142736 941063642 91856172 329841334 630082144 16721912 763250914 50737344 569248236 54193260 170807270 192524436 94976430 353098578 664708900 875143710 946390306 487948286 24981010 899846226 597233252 999710480 987965034 571324038 210075578 234860986 431110684 653071706 507192388 855343746 741361438 127700164 674574130 883598336 873003050 660293350 628645022 374938454 222536168 487882738 465308620 128166316 200249934 985257522 884648932 660045408 548982972 230950260 969040674 947394146 578945074 939140332 563591970 514864254 513165608 375022202 765315230 839230650 566568422 542774912 70593210 114759606 363486668 947940608 313852126 933858586 404598958 370417956 806565118 670672716 857150650 955320718 446274404 247753438 933388976 47047988 847523124 255349120 688293990 886586846 663433654 742481126 570690910 153111648 276391394 744492590 773474198 286776972 788295514 711226452 949563330 766403714 474184090 215686406 24164952 455787658 326695108 126177552 238919204 593056630 268679212 315947778 331921424 795748688 831883566 349446462 581063748 445608420 604795548 502657352 92961410 318434798 556743118 393050788 801975890 587723684 218214342 366839294 829324182 633292838 7607490 989812236 352818398 836027410 257250024 339254784 31147738 961338854 953931610 306585166 514857074 687646886 784163444 918299612 534195664 218854926 655822088 639405072 601120556 447552938 867819634 528433540 927653278 433252418 346941990 470808418 61897454 377119652 958488250 552770310 975160992 583535320 177629852 999030694 845370664 824033948 109582626 551235316 719515054 524419642 401163072 408823290 96437668 370444036 567465414 106952672 958010672 977242108 146151952 406068660 878273848 43152078 937868410 800310148 76873196 728274336 220591850 563166664 389511272 918733214 256225422 466672548 797751412 251304462 134536288 844909668 789803158 46532984 190707542 328230796 700261514 107150766 622519122 522322604 317184848 987525796 70966832 881445336 285561636 656537334 782703886 241458914 447898326 205315218 274236628 696075986 818102334 67591258 378941566 761049026 299363036 978279080 765396998 354744768 879661702 508503284 797923302 751367826 227071072 845496706 769086030 784093672 126852342 603390684 598016842 881142000 844664574 497907918 785573464 240372398 365764898 62145946 733731020 728708082 811985002 113580572 886796950 123709820 435832606 219551608 258937704 330885892 577161666 779679792 389621176 859474572 210752734 328648002 101733972 920664150 340678626 616431422 878745062 235704752 35816706 550568480 963386546 938498090 518953148 498788724 888365608 356693908 583093434 388465842 924042164 851877354 873471656 509876788 566115442 879829358 977798714 882995328 833585624 878120554 331994506 769975714 80128454 680300028 397918730 951228322 787441390 989615348 284333732 220039412 632087472 32159716 740481322 304138460 340122696 987319600 737130344 842373684 776040854 160609356 680116670 11248064 305162210 21471742 475842444 5602984 881412290 712553320 862458690 397972116 379120190 834877382 454013874 130057734 238412110 96531022 186466842 858926620 96129682 282546872 628560962 389286782 488208470 675625426 355891670 437636878 665128714 245517396 144641520 305840188 580657618 957694990 666214340 992703766 61654236 3624350 126920020 441848982 355891688 620976910 435698896 728200862 64536544 741685632 182414168 632168546 775058730 829631892 661209310 961636080 208491624 798471392 346473636 752751740 607386182 525442830 900697970 845057784 592846654 235602178 26343362 269813526 209922484 801239660 481998894 329798498 710057282 18273950 108741914 922504850 148738456 323640604 801958114 46704308 260733164 818821576 187910058 426699818 225322948 147430840 482277322 312814584 700160874 777326020 470925116 500463772 538110122 853186370 331014968 223999776 213215602 685626640 951997690 508643436 560074858 693764124 673374520 829838138 151820430 159410704 451206672 413323880 353437576 382595068 889871102 279627918 511532900 232562392 594553308 329416698 57811984 182336240 141582722 348288456 183330620 555827770 141348376 712204742 345834208 167370628 253994312 97045776 208135244 340620354 763804436 270298884 885243652 757735884 698585820 396255640 706443676 846439558 228372072 597527588 699428656 873490962 980533800 696333206 886600348 951510068 362975892 538270194 551217642 965561252 77736168 982002644 584581264 381470824 611999164 847937510 409889660 119309620 181139972 93288768 32181316 403410314 679923082 987742504 821816140 651814736 393832464 632320432 581030042 430847812 692312622 242307844 482040454 321128078 176659674 459769224 956921550 186161916 807456182 363450140 341843598 172969420 965271922 621180900 589065988 965523130 456912996 915895652 534090198 924602630 827356582 451855718 450559418 573887298 282276390 810571168 443924494 568250998 401213540 595964048 894779860 140723914 793061348 686046854 415439410 299560332 14518884 582856920 503001154 624630728 510123152 128525446 909929836 220366746 538302358 305850290 133064688 536450360 62386416 728357248 989894974 137086560 590002376 16357570 880031818 149745826 914013388 311931750 156491628 807248484 179918556 997882814 387385636 336917104 946176244 161044956 426469284 18647000 235369544 342765766 920065338 455597304 267745792 483879064 669152304 281807806 916693720 296372120 554811908 515318212 786065680 85204536 278015862 892817224 416120332 613329558 354500558 353410198 197690256 421580522 22594294 780915344 927911136 320560572 833933880 216035588 318027222 890333044 435520942 987860636 645156974 989538052 351794292 57870340 639646260 559796212 307935154 84122906 879372448 421410802 148118270 907202994 247807020 51449492 241565182 603025640 891083554 375750532 104776996 465537520 347549314 731380108 421854092 188302178 981433614 821032204 527562452 345348526 406940734 888356602 402319966 677594968 331451300 151718952 233713980 786590148 17478964 630991202 232136208 894555082 175031030 84176752 613379378 956936108 126662180 274794404 896137780 296388538 101367778 360326006 81336446 888400562 928636610 601675474 74941696 8612336 438019780 51325198 882878186 14692352 512814594 542610168 510309212 627895224 617247994 961598806 62731526 658329914 833063096 493339216 551079440 742916542 455937644 360541232 221373632 678119510 574728328 885855142 986406 44837484 970956794 667292506 104364504 260316886 171445626 521576490 169496762 513934710 448792938 341273346 732192398 631089970 478473982 855055862 936371954 392653848 885403988 712791174 339851830 999110570 814583564 930970038 285585606 957479878 13593410 242028048 395594158 717898506 104046982 473547174 136863822 878200122 655076048 851350220 649470916 51502794 483274778 737377700 623474908 876234400 663974162 777569894 202909034 494140896 693851320 297728388 131409692 324043374 734059218 722515868 745319706 818309812 584831066 626054880 191699372 799564602 993378352 727375770 654497022 596223584 373026830 750653988 463620032 705258674 681258910 852951542 594223130 685055076 808739454 79785844 127393650 96995482 623469536 175548756 930670136 795461036 315882442 137827500 147236828 586696932 742099216 531149352 475931954 539766998 704770728 553237400 541090696 635231276 455090062 892212820 739993434 388389284 589104568 303475624 894823594 156312414 413065068 402681106 330835530 60726210 952613702 226048562 388605480 859877760 683012546 672018014 688983956 284772362 266133864 148310830 92569052 527617078 850314174 748453926 986268336 597241762 523730164 817341780 732149660 131227494 760322314 333805532 241639894 879112060 222505024 263949694 975670582 931865442 926093612 152071394 209844122 750078804 486502538 779713842 370392970 879071510 617383618 635973654 555918162 277989250 959053552 566695304 321729172 284749554 1777916 668236096 409093698 253380808 549943476 970995606 717202018 492478880 113637862 837220438 234068944 508028378 742159218 105168206 29030748 655929716 105410370 661364770 968759866 650073822 104446714 460096038 492467496 734390354 410457618 511287090 395111790 136886326 201308978 323505816 245915278 608637904 18840290 583614682 603635708 313394304 572615866 415748886 751792878 151774456 572644742 850741462 394334738 914180130 149866028 421289058 369249158 753579918 71909166 549986932 798441040 20107596 970329514 392573628 146712772 31110190 441805396 95803894 287521668 257526980 145775410 314362844 708328412 547847840 879309042 72609866 190308834 681063432 802000720 241740692 668514218 274404778 5787068 401886218 582464222 285025520 264464470 242418734 750467298 3491592 935470652 692753304 479898968 580522460 363235188 13073456 46299728 410472644 822901552 399501250 889444694 400731076 800466414 100147940 28001600 377828380 431136878 168983046 519506038 70052094 735328344 933771022 816898320 79462292 299854430 261630952 116920114 499505642 146110940 551564550 907400070 165641996 431861916 356966528 663886618 449260622 697880356 963773028 691373824 303917272 831486034 715142316 678426392 228757714 997992078 29891248 591747722 108831696 405644088 985228584 342709594 829697048 408277472 568298722 137718232 29099332 287103588 698121512 696742696 828147244 297361472 351757290 832434236 516284340 379902232 795853764 309979266 466112294 33877570 891888256 99660186 796478852 655472596 482986296 266924896 833206030 68888804 649089384 852120248 515741362 384153578 594243962 26948888 540195792 396998884 839665330 684169228 107564140 996542212 311828978 554607100 336994594 300081264 481090476 77562684 927394440 640566184 986339318 998926146 227658776 385920364 260191762 473771916 361361748 970228634 773872880 192285802 302367086 600539182 436957276 524765650 266595922 162305372 459076332 710149324 739523536 58846394 853580254 731026304 271908092 589697130 504278834 359307248 379267850 930759020 815937866 871271492 153884878 324295416 805863934 104583970 466890140 612443094 573429884 971401658 835315576 754562392 548527778 443038474 88913280 7440748 115872876 7190050 9296704 773571202 198426390 647497108 73698668 917984650 591985152 837797992 969864462 743805052 946915540 890272954 569571710 227723650 706596458 850197436 305553156 888290578 438994136 334100048 798394674 293404860 993501860 534935254 104663380 620242748 713017904 433198752 459032438 573056126 985116226 606780742 673447994 862215588 525333462 928147592 10323768 191101918 72830146 222937054 285602832 4198812 646318958 648790238 523313846 871511796 344903276 500896450 803132596 1648534 885404812 292347306 648324760 628179840 329128044 30028304 984482036 259601408 981367472 934171984 324968252 241631374 43892362 657297926 973682864 571299490 407274844 503532012 861673498 333229240 799468294 13416130 96088648 651736192 404422324 166227350 594164744 306870168 675740642 518386724 604574384 699533860 743790878 24472126 179726258 34598862 499735008 191343662 698280026 733372298 364924332 669659474 955019626 947121894 498386946 49171152 847598210 665203420 300843944 77382436 996162898 85497000 780149004 557870940 530123828 788039012 519531584 792759606 185846884 259217930 321824506 96623122 523201602 154214772 20030820 396001466 114713928 825290132 737756058 232844816 614801084 740789264 438488842 407772880 111033958 913949304 430949466 543424142 193735410 808038658 833893384 107557294 916220874 139171878 538771958 557374218 320045478 558201740 395743492 214039816 342488424 516568440 21441400 228066738 333095584 640718834 828008330 27892220 144622868 543761558 780639786 646427230 471024586 929177246 204888572 384718010 394209388 593425842 54616954 990779018 574568570 385989398 9544046 106402480 693402060 319508288 90606186 358921056 4089118 332225818 261528808 439450138 472842458 349796404 719687558 568623996 32464336 779001752 833578780 40835424 201835744 925723270 908751288 840786886 946663890 109264364 909361396 195288214 409069278 227470482 237868914 572918416 472341040 844697470 403506106 265274538 980463428 642286844 672207664 424189462 894503202 72740470 221978864 965586704 284909236 147453448 63669392 61513682 951393588 4353718 922627770 650225026 327961866 965387338 580209172 887359962 648323962 257726318 421402114 622154912 247453298 739165044 789820176 962616178 998606262 360310440 70001086 340377734 113218906 541440128 228170896 311249556 902610034 731163282 302270178 271356066 130759122 713045622 133733412 694999512 458043684 469487592 868681152 673713312 29338400 942587178 760634384 21002550 745067202 447516690 365109640 506703138 904439866 473974828 669011720 549529564 579787524 301949936 359686614 643578280 903160338 96813816 518348816 277325028 157922372 196709040 971043888 437393494 548653308 575551518 954136638 104505376 24720244 124537726 57843164 926652598 816140110 239223250 316466570 699800464 520753886 23727948 709477992 764743900 558622280 116785916 790647298 859101250 443075254 499246966 871446754 419302868 283378432 463413448 674589174 60975270 886479936 712208146 317871288 682839816 24484794 725340312 434814870 632622818 322384638 393410604 628123260 918166456 182672204 581108716 428386860 357696930 989950146 871324430 356771136 110243592 755470270 671968554 62067656 530591490 358866336 169661250 5263586 123012588 976100098 476467890 262086154 401182882 551425852 623588408 811288082 688766662 865062366 972652136 660503470 876440676 946644074 225208524 275370322 481246242 881426886 255833962 342007974 701051194 252835314 253600680 33578874 639219136 716181282 722589010 731959508 332467344 646611220 335216642 922654090 76259866 110034240 521410604 857868532 852882804 930870216 984209244 138273300 419935078 88780648 637647826 389677180 929786490 71527554 606180946 97970 679360642 716954364 937994230 743762084 825463288 913676786 739833808 780318546 138943368 349819402 401826378 910067862 557052832 754947902 372518146 978646050 341649624 675276810 774746010 563897090 555903844 774228430 115827672 611775618 376142026 768526932 722467454 667968386 360279358 348792558 453030748 715985668 574741032 508143220 376093084 777228056 648427524 887483154 61305730 956363254 88458184 69011210 145339852 113838100 680638396 480181328 833000100 388857322 316828736 583485064 543653618 44164358 170809556 134126702 386249122 948540850 257955536 341063204 967571138 388758342 447112690 616486632 644815392 132798938 382751100 733475254 505429708 258807934 122352512 377744564 585115794 372169828 191423466 62949982 542373782 909023984 664029746 517842212 754100470 301462538 453423712 666848930 600955688 144998540 464095836 246383930 432306798 825838378 235625084 454099648 477637304 974486278 932369554 769678908 933817066 625755724 413488790 576395880 411066838 132694724 862553796 665521954 420057018 136289620 356972414 544908758 941018804 298212332 250554192 117713028 332402872 685822000 72579764 141778024 965455864 142701596 774408944 851176690 865433734 628619522 759828936 962390478 797561322 557844362 291568508 306716348 227297868 304868444 52839334 37513932 651256410 969479176 51175598 295631802 269825024 717511682 355550096 376336396 764167888 403111402 740377808 170535836 397116192 104267418 871266202 50701492 324768708 885896940 964034148 790133292 130445050 677174652 698677574 421621632 7976644 430525910 491531540 695788598 840544482 673772038 300564406 822438576 369607584 394593912 5625974 67356364 517142450 796332224 345345124 538014190 599599512 618420734 172387926 729037340 89769246 953332658 55873560 541427152 510705518 328149306 212089116 434705266 599423612 494241378 898607014 887073476 357841032 803614440 8981938 39402008 616318048 703524656 514606376 574290868 842155948 865662556 21431082 457377220 506691128 976005910 43890096 493286648 366733616 274461694 949310188 906120936 763225692 124145066 595987058 17677684 31988282 398435870 726585866 851444254 441242812 475490114 865448540 784810840 491864658 879029568 649479714 833445996 785397328 690962780 775860866 945868550 990950368 70274770 901083920 586639752 460107810 590240996 263139838 755413368 27318484 964363924 267351110 520975374 16658492 471487682 864828332 310659288 31779634 588551754 779144808 611863730 140987548 9526116 675829962 922978002 210273900 835653572 493940724 897304222 827257240 378370206 869229772 957241204 954967954 27632842 44658640 2754384 465558726 622694976 679653036 792772162 541648376 916942248 252347624 628881790 846512782 504859672 437095212 772718320 631881026 573727128 688933256 552109142 878415548 50085848 976303384 608654832 57758624 892130714 809579424 84374742 168306698 882401904 795499986 572081738 915477080 429447164 983117936 894621114 477919292 150472642 345824718 28028120 971751920 484094488 661286196 406165128 67699964 798565030 685045134 236277672 372990770 834889724 262986192 396397812 577755488 834620188 219627886 352147436 550764896 648273586 958935516 155301612 893367028 164260924 528752852 395342136 798275374 877677688 453457454 274155628 277679558 4850406 328160920 673351942 812818090 382355354 768598364 430147136 578632932 537760800 276153994 602742758 848071898 307857116 144341866 345466432 972882118 769777004 797314262 472811808 571103118 165426316 429618452 701127336 529677754 491677290 830517810 36952650 22244590 922570536 307221524 587603242 52411958 265372038 571696992 426730136 528201806 565929958 692471480 4832314 336913788 882677490 339476304 907134412 774225210 321563310 695191042 461168210 702982678 474865760 221122100 13882816 134629140 351645256 271617254 586801248 47544698 275375968 921997878 857459814 537481276 471622110 848606814 44371162 991479650 905103082 707400960 443278224 900507746 352123862 708773534 179995612 501963364 979518302 250379782 941851906 558166292 497105048 700292370 864512824 395295918 228699546 797576862 449264940 794082910 807407362 857262426 468725208 262855518 397054838 291670684 682817504 744490348 147767700 98257864 704204708 834741220 36966530 812989270 432969758 492423236 566253144 286100232 146853174 445565968 464962328 354077066 904687836 964585772 922717192 699773436 909725242 934095104 480004644 907756178 304419724 898831062 998158586 116914758 492303908 307350690 804915946 632567136 14875932 392075436 417509282 892527954 586563924 320152858 637899330 556222836 679911790 291159680 621206160 719267890 248503468 348338634 69363092 938876074 463325648 736411974 559663602 36814652 809914944 946939824 682576158 853029584 14450570 659718916 733731214 329596336 182605002 396846146 672514804 604004166 873350288 713894124 903235824 458466920 339087848 72553640 187689588 284792114 285086068 325308896 416687498 500253202 693656084 921106166 180225276 760184672 949514784 28516332 320433328 451315594 984451342 275280016 994203364 873979514 512227108 672356240 540419306 150234990 523399626 604363120 345383500 170282218 21779672 387415794 305000664 230194178 917247874 441675290 325242238 906069950 821427414 677669576 346117052 894806554 865159878 624068082 15680018 454495532 31066714 815343736 187555744 671645204 283214194 283203234 489127648 39915388 180571304 907212612 33189522 161452558 674505926 977348694 313458164 217405796 868469232 817583008 74944946 196055052 927930626 680097142 695860594 942139648 929750754 722707334 303664442 231811790 3062650 638027656 962224136 32721684 978108826 164406614 949622194 19048652 798820018 479332760 479665556 517648610 756345918 743935684 289537318 727492714 208947008 665501486 229780834 964443656 429489880 716373080 588929024 605109404 274234294 671955414 473511130 729699818 848745882 363024710 673584188 418832034 83416052 88017526 976026896 248313084 59015998 229391198 905577086 859114742 623927554 483400318 579466616 954746028 302298448 185090094 259232700 604982776 288322098 531731552 1728656 902452860 440158746 574975248 443653582 68621850 238186202 808039312 997566678 540889308 151187272 878507648 34391288 36130318 738084068 705430450 129113600 598946760 17202806 295820130 953925342 305055936 209624440 988224768 917929866 50579856 347898386 754380846 973777120 301612154 277266820 284444732 410390890 201380306 135804980 681992770 569317492 472900794 451930598 69780086 863254026 199810090 493384500 919764836 848015400 637489164 512944200 360743202 401079906 802433850 462596438 179765490 5175902 381516068 436018864 555062180 273446472 277567744 416258736 421222540 15122764 899526442 103152232 99243070 640438658 554885492 159535240 527729292 151530582 642148112 498302060 654493106 119756572 944580844 947879280 756057554 619910118 841866500 792154582 694978216 389674714 33064570 609294212 920325548 746751710 39626552 784204430 233409972 691329032 48709960 559568730 930779934 41093540 690070346 467032326 777690374 892949328 872223830 965697148 72244938 132285090 512163478 70529074 344348716 634632428 712696566 147491338 898260056 772535034 496026416 885132536 658980084 567365490 24400850 200091506 750708538 511366912 715409566 78366408 466241410 790370804 896857086 738909212 759206286 308889978 335168404 418069308 750502866 513857446 695440142 854822380 143090058 381722440 749419682 566254840 921075978 283270520 509926740 659695836 353342028 991886834 106275668 674757222 704142710 356118236 628408756 647652052 538761432 673551820 243867140 707802816 306296976 398338888 785165436 515708806 386804346 579906502 291529586 3121644 782475008 177055892 693818856 800531454 271544146 129119902 174620998 966404506 662111078 848457662 576873204 867710010 782477972 760900776 189610228 980412650 352354916 572478596 183304326 618955286 854248960 923636850 735442402 281168800 7448714 419892910 898051166 466416320 117169824 483024942 44106776 951053760 310978884 837436244 263311426 183711910 958442616 950329486 118819244 878900262 22989728 920081042 159287150 739466054 667667784 188709864 350172012 388424252 7331318 522009692 860053698 685405184 378713282 530860520 290581606 469685366 388097750 129903652 381368916 433222426 679421702 145461304 649103092 201428408 802476068 139727458 454897676 527415778 440430922 461723862 57510480 459208952 541196248 468303864 617747412 633941094 147642624 469289680 612831536 601725930 686863256 422621416 433731726 819415712 874463786 364821444 290719412 377911994 196801136 34819122 304588578 737111040 321316222 584634430 386143342 773144224 568973244 314656650 333076524 593140880 973355214 617317462 255920774 945118618 847625298 620278166 228646594 103477102 72507110 247960510 107143142 452530536 250767698 172032892 625563452 733327446 142107060 730957086 340672406 593305798 343762394 519169008 383410034 281474850 558583340 604065970 731003574 635302650 723115236 221496738 746109902 595778490 39250976 283910664 245569422 459068334 432242138 35887388 892450520 785294840 385805466 878411162 10520108 501850942 150702036 62949384 635439978 11795918 711378248 539101894 741858292 642762052 27615612 917469082 204899196 914366800 96818070 512224414 409201350 452855852 154852018 70910622 664855634 885370586 767922506 279439578 828979948 599804310 252031560 254735940 939143028 451573834 426923776 819870204 138088572 227581080 228389746 785179568 540839510 108533676 357936528 989765932 200034576 394775232 318007866 2608226 274984130 768864420 341974190 395727378 134070466 821670724 385564630 397514012 150444464 361584576 597771286 549336844 850184870 622012046 465989044 692495490 843038040 177614736 694646356 32318606 427251062 782134430 39899902 633967876 824884566 432830344 530653278 687907426 548371772 226809844 972701088 24989768 315669854 796543938 151032940 730395164 76969228 597558806 788346786 416428574 894733948 107508288 471637952 868988744 820040442 457695670 62727546 957225430 10660458 51838686 283558938 467762284 676740524 443484302 552905698 775654938 321423294 510693978 732896616 142056 806283962 793752514 586243332 999297498 448629344 923516744 807347744 198519382 19879232 782342382 343257648 427661946 780284804 246953154 697157716 952205152 945502730 82231928 382836348 505638564 679886116 209948772 778928052 779314886 961199052 162263992 376862674 91812824 999764042 319131170 407847222 124741160 961475526 289384132 196532322 574508310 135044596 347154722 396688464 690324036 397984354 8907860 708403316 574079698 648646252 792975456 111933230 770092456 472054534 913051832 176211084 479371384 547611302 281970146 574886428 435168004 54267826 379098116 699109990 949072194 909485952 681943232 708096460 826143364 572837998 173151524 622002500 274789920 345821658 979202436 183421012 537852158 855782306 460034922 843866592 149590098 814464086 880387874 410834964 67224208 960741522 30682474 705700628 801984262 662340092 931162106 249362568 304684310 428641780 793252374 697282554 525985620 702214272 691868192 387514822 960886466 8430504 819953204 866567564 14233724 503796390 659412458 879345072 718047914 743503362 285559096 523522968 468510506 671460680 390637160 725698120 84026806 417966868 503255958 981941646 855020356 47395218 732291460 16267050 228885406 826265704 392597162 87098724 216563674 629122600 597438434 399627392 808606284 375351968 613202114 925846426 92086422 623280388 4264276 949888938 885022218 195265684 589091728 656111514 728829732 831334682 434169704 604209044 101525318 798264890 859499172 485515238 531231460 931492030 897550390 541156618 715845434 955530050 191588222 361455816 744505968 86553972 808504682 294232930 922849946 621626686 280741206 95910502 146123426 901174878 61334132 656625758 579687458 847043644 467880224 895924034 864010542 657662282 955651378 964226552 277801494 485187560 202704414 37584400 97058730 902326524 632786034 404161020 309557912 555206366 894939212 676204442 601594276 951509726 789646258 925079806 753338406 678708818 764262640 452534298 143421816 882997838 162472580 267273116 641419374 370756848 109412464 187519508 616790336 615335230 20993954 965461836 657590582 995699168 278112408 656051588 853357042 801840556 319352046 71670546 347562 716434752 192773902 534166458 756316834 953953992 611855334 635946760 51857316 647041920 866999554 537245024 480839900 299706444 718457122 863554458 845321070 918267934 285116760 163780944 653942904 299711472 782584110 406628246 642448300 952124272 209580618 662944970 17533564 370871316 173197054 405131166 277773036 51771868 867127180 868342380 469563784 827974686 119917706 639833452 66890250 291165318 438525402 395838688 82996702 413280218 328847140 825169194 272204516 697151988 54464770 710287676 353003370 268781260 994141336 601579830 88209534 87307292 521097968 549222556 197850260 725704596 483595770 1117084 918341088 89841072 477504816 923362442 395752970 252270800 657413646 557643098 45704844 115973168 774685666 297192756 193653230 603689454 971231978 977734706 410705546 206249970 640161688 383030068 908383368 125009444 225800958 129646976 301344528 212101784 112295900 253381092 847933200 550978486 623329328 509516118 419899528 271063830 449820586 500999358 635274188 433130582 343983102 755692648 137722364 712620720 574565738 403397254 717264102 815445480 27995874 736675852 86530862 802791540 138801784 749138232 446581370 753108312 716958664 989933356 647450088 316725300 657265410 480099934 912297718 56286832 192731150 368197732 203875418 809254812 549323734 102484644 22036808 446337668 177044924 847444424 267082804 23299162 989330754 867963708 661360928 850627526 427019828 426389630 904653636 753620634 1463112 385884778 779695978 373304728 189934726 854308240 538959202 222868506 790606436 103933544 749896634 289978612 716581088 138762286 451086876 593252006 230401392 772602572 143150938 149218572 818000608 822571934 588414134 897680222 546430404 475287132 561777876 30159234 166373808 551312246 322988752 795765666 533824724 844111212 397646610 447949686 321328280 716952822 766983826 601376070 117931316 915584636 746882326 985876988 35911356 644721850 507696242 899311712 477891040 939731576 93420026 28809450 5729716 798545518 35099944 120942228 834241676 949393286 32241586 184560588 36306664 257418072 592515680 935717126 348186242 476008044 11148460 423593216 566422080 680407562 563781164 337280050 7318694 865385298 400366348 771966110 441998 59489410 96230230 926447598 303989088 200380724 17065790 272021030 862159464 373341730 154444960 989872540 959328714 817044236 145822410 578183680 996832176 136341744 399136534 147602684 738501440 107277526 370616566 922575722 222836092 442813188 347026536 130862756 338951694 559716124 810285806 889932594 647754546 485294154 728085718 43974702 236377506 861144108 713020700 955979914 518392452 653677388 184225864 189599554 899922270 712026958 157840908 329687878 97152080 412906612 707019754 444925274 305714434 384279620 162326612 276658508 70604362 272473822 418082566 776922236 151559660 548261674 114254834 414592872 542541666 661774432 960418204 344412362 858906736 571943268 374086028 188178312 337186228 136002140 949508260 73702086 563854706 422586762 380474518 893447112 644797732 255507492 742632704 357188614 429572450 341082190 37857318 71800938 545713034 447135732 559165912 840591790 405432272 175709388 974972318 94330348 311060584 284027748 762779288 318657504 473038952 45486094 367634886 698234154 556644886 888120542 636338610 635042656 43750236 9294066 770153106 243276268 320392290 724796358 46529738 148157490 656629288 402338452 323829406 133536742 101434858 736905058 405225024 221587224 769144084 66438152 635677098 471649604 958630940 358017878 574478064 996457480 134364260 78822838 211519054 539400290 365592498 985262198 39653058 547034144 385206280 834913942 707480412 846993882 509097700 897643264 439820906 990208334 308152982 983100232 829798394 247161742 982542338 157396698 304066100 207328692 847419658 70318502 964727222 28566390 256982076 909032438 488984702 777606808 831315878 162920600 898838340 287823088 492479090 963580398 345615948 476647618 32593466 109902164 192128084 383203586 678336132 813457342 301697548 165025648 396996362 603673802 215819010 353648474 218841176 856164806 346056318 214692478 128069458 986827874 390159456 157961696 478368872 935671168 493525742 30447666 144384036 129594916 533766816 544524572 90144336 435820732 193106816 425859952 957246154 880594358 298459650 130380844 340851958 510869782 527254414 895778012 730754110 531113512 548390008 239164810 390152902 924825224 720083092 14355476 808436168 273518090 911505480 532615330 688817752 684392356 480171074 927525274 339647146 122603438 228692892 551279038 372685784 713948420 230321394 807912878 662527940 26447850 104787432 898380630 687059042 519631158 208528046 120185244 797964208 286579142 244577232 967737370 143986052 417392924 813242106 180699370 770905758 84000730 773486098 815694698 153173208 857543050 252868376 807339630 830552614 586752072 731398982 521372522 853408370 468591262 428206560 345932146 180115210 24587230 309207874 972601770 859294980 46494512 984820394 522221460 428436512 369919558 706860532 382254348 541806840 171051014 933087612 647318410 367673408 726560614 148758126 470522872 851987340 688378416 154945874 775346042 909344870 26356378 944899266 183400686 139810072 478844542 564982600 796000742 719782860 506311706 310152526 744729696 603826224 368823468 706173322 335851346 350384900 427533402 785112684 495448544 416498944 291433148 27924192 714095118 850094288 642583716 791950740 54449378 395504938 677959092 314989540 363793866 55458166 27110762 690714226 335671832 664686826 997772414 778420910 58410340 749361832 488585640 901125486 126523644 858972448 938895316 849489112 510734152 447243060 226806770 268528084 780361858 288910962 532658022 389399214 477624464 697515826 349992674 717953726 421119766 827628762 540357528 783284400 895978276 559738070 738485416 976176496 604731032 682739212 48373074 271915838 843854956 74248068 127978990 691334976 465541190 93241550 577982066 269866828 574933474 3604396 328140588 518824298 806994426 525789128 107493194 598532106 425859478 285471216 90511420 463452312 468186132 520246780 737934320 819372100 666028798 880796532 208881714 997132084 425298474 673191980 925175028 415016622 635482296 26660496 281227172 784960848 186756938 606378272 98509368 351085698 587988966 902480352 314014154 196825596 168572012 71996890 996820840 232765482 833678398 615930486 703115904 350691370 883642994 100187090 766625156 727727316 28606636 273692034 197098462 639901052 564138742 649686926 792477196 890233744 131443838 975457186 919090908 896833346 572776108 922284806 943060004 83916836 383022398 415306628 695667354 840878886 782886412 601895024 101976138 167274176 750031794 340773826 885079096 560494468 68948386 259871204 147150834 770690884 890469374 383033430 884789620 415503956 273315780 992625666 162099414 401069354 200393576 249756202 871243976 334559484 538870190 111821232 427136530 751755630 155612282 958467002 389924256 203029708 127661136 668179212 289159804 69384090 886665128 138856808 771480144 582449886 172435458 432320998 100711746 914190388 218880274 222751976 192097244 558693692 458782392 228685366 463047380 571063558 137616276 990926274 441754054 377161024 202652230 345937474 321285186 550321872 258883548 337139276 636615848 138630398 728313626 844613578 74247586 807087750 686845888 730837136 293028564 116707044 543394664 393367614 724525782 124257478 769921766 753735234 935615558 93504962 855387000 330106462 501699284 81548092 629172778 659589678 963360728 595187524 356837534 172605458 968774936 589256236 20213644 521476938 17375994 552692470 787916412 820082664 367021834 272532486 865088228 611519674 726998252 515515928 993316846 928011838 485288908 106195832 755022158 98253934 687506268 747958230 509333292 781284142 97267628 768125704 806407240 161583414 987421036 264211332 150313402 177157590 775714056 106213676 955034172 423510150 956446166 604874952 74284202 214349592 199755338 527576732 723640182 761824300 519902686 461379966 456325820 441279588 552830462 590357958 167850312 124148492 887594346 912402680 433237150 937613544 487200242 172947872 385503008 260860772 50819752 149791620 295846628 37669300 52080738 477106484 956651406 74746234 30735062 482520152 648808168 483592254 245705364 747589958 3984472 697095040 461126598 814202194 837991374 666262660 953493150 275028134 906776036 38652150 224527104 238256080 685073532 328830008 776220282 818698712 136513896 376383210 892396110 583566704 974796796 475051184 364234788 884037414 301603546 80283202 396450610 353694022 748500448 449085740 545332804 900064022 819200034 964341684 62772718 907947888 208816900 424174322 897235740 153879582 847722838 566970760 85272666 589795100 144129104 703984132 990635370 971411026 812381726 554287410 577227856 550492996 450430520 810504250 450120962 62583496 269204456 516157860 734962500 723603918 438561776 454686482 476541996 694965708 595376234 71747180 125794972 573201294 615517460 930971256 874133472 761716278 554198230 195014058 813873352 213171970 72093242 813322210 826048552 699723956 856810372 104565776 526636128 741091562 582227172 347429266 628660218 759190826 511098032 852498258 444779378 192299826 751145790 720104138 849666 500096866 727909904 337001102 100187358 286722108 156289634 596995560 630388896 815216336 983855420 71910980 439102578 900837078 472392672 937499390 977731908 852425286 888360856 718245674 467058936 33282548 367114382 422621358 579442108 548443184 497485334 2165850 833077448 878982954 712551096 862582824 922794458 991265976 906503746 630385232 732113224 749079796 338249842 932177876 626935412 592674720 803928156 682464164 117546092 746031578 15479576 276958598 883878842 944392494 31023080 934941254 405270444 731053562 729838242 807837196 629126390 821417904 702351068 40192964 496193472 339918342 462327738 657873682 667066968 187960050 993012986 181426646 189439322 979424464 553539078 73802844 677461474 173327814 121638188 420595948 611404878 346796418 44980390 972789082 23214646 855976616 7903378 301713074 452170834 460818152 300947584 61170578 938836114 661928016 413887814 274176780 610026520 716678972 815618250 553269552 943525990 250622334 774073048 810950762 625775040 39643376 803636230 347443712 361145840 871881754 881210100 349664752 391495798 722770266 474408758 210539646 98983270 997101736 605797166 156584002 153285378 828796148 47536744 652555122 999003606 188063946 323235286 957164172 514203488 995648992 601719776 472351868 758983384 498760330 821382312 619516678 823278390 390581044 925024834 645527682 452237386 576710142 920670212 418537328 494450764 567160816 385613656 811353932 689743716 217187172 878176974 434213028 689856614 89540668 416936960 91496306 373935086 625868744 150576690 581689252 836030060 842981644 20074704 54054832 860670734 444972288 623726084 530662436 726026126 278209134 309047768 705382706 591561694 291588904 952243408 76892966 426190328 679304604 754269682 890861246 275239406 848935222 153831408 274000608 869262824 390888368 908485606 484391346 385172442 490668426 841376474 728753084 901339614 300649056 226592842 720371542 982679032 383331984 284954012 117529188 216820636 120515648 40296046 672130696 391803404 645116642 755246896 397194442 409530402 672571992 41772562 535495824 275508136 725459870 759802988 952940036 462205098 293286346 969457532 677731166 733068210 641089354 751742182 236777612 926335028 454365442 847759478 485694930 425520218 647058784 35400328 753604974 156820714 196533702 484556550 71781498 678705614 342536126 391141890 766800378 103327972 632664512 887966386 764246512 32977122 844678252 961552332 776610610 440885856 185965036 827699584 795762430 737318884 276060700 103433530 625050080 768518182 673703214 577698080 824996844 912159308 960153624 307163594 274949584 235011156 923346292 12676796 922380326 473946536 598304024 598048376 382509112 854546468 573571876 544921692 66787220 127637430 678286968 72115646 957243402 732813914 367624562 161824428 780378936 105646032 918847028 719572442 806743256 125084378 924736402 874512264 719917760 645532182 754042612 74304294 54130184 729091146 102286608 395808938 290483738 448971174 557243284 23360672 111799740 772681270 538697778 765001836 373873156 133401496 930254828 901207418 884110696 174001248 940563868 777821602 545199458 272618820 712137776 317346808 207407026 485472850 556317028 962955244 663040744 96686854 254159798 522517854 346482084 734340144 831745698 888742236 9805556 977852778 95497882 199550246 623178904 36610688 576766720 986881028 705355704 262346880 416075942 116325908 709744162 920593480 424422118 821223706 701880954 493216550 154319782 991772526 412191738 805623468 901888218 600756594 146809632 235617870 48538746 599870546 726147508 995075004 321555602 886012354 450325124 904994676 206828160 147260234 74105234 155443280 555290126 486569946 258796460 625240472 393633192 889288928 513117768 213550866 476991208 10888992 505752064 828465354 784974302 350279852 698863842 509073448 789696126 178070878 672261636 3443492 358723186 874988312 44022756 512328188 970196318 354231728 857536974 847845718 682669896 636090038 772297198 40714028 75405688 710539908 234986618 24982362 280145978 68823552 482353186 404059142 141666118 411943050 430832236 813465406 543847230 40249786 908672804 667474686 931970740 900422426 617341814 703451456 180729316 491305446 190772346 458978872 67200530 935215230 487850116 166223144 298902576 678389374 308579980 514991706 473859272 687613788 442322912 824628522 182560760 848853692 981123506 826000980 513471828 518851294 253654056 829247256 833648432 750183432 731606678 620200230 520321792 969150042 456174006 431595786 393651108 606541442 791232998 868427212 824492290 742507654 134259528 445167982 632003334 669147164 606506920 761377370 759596058 513384246 361169744 337321918 774710176 654014060 635163380 696283236 567801690 74228942 222675654 612681628 295639970 460589988 221979230 62854300 928789708 299500766 390626506 930299584 73939216 739451198 487377580 262649714 254202316 852822956 895454414 461903208 239262628 259181874 870878510 213601972 409933524 560483612 614234200 869725738 257426824 886839872 21370432 48375866 933650874 17912574 6008148 7732030 661897094 412393018 476187038 568005582 967066964 284456566 64832386 196456384 11706978 498471560 176785410 566611012 39795284 727363362 515067858 894426682 799235628 679358278 604600772 60310444 909921668 583605858 162835154 563700284 882516538 593825142 388024336 253826856 424267732 389444088 62449064 659692416 561565602 726203462 514587660 770476462 375104660 144443112 701505780 905509682 461555912 637207856 648208076 420355148 201252840 529942036 107010732 34427362 737464268 440461182 782941758 872200082 756960366 710320832 799030064 216092644 816676940 421056776 479983114 499283502 34030798 730981984 120170868 169952590 739413870 989235668 3031066 947049834 620400180 109868430 423960714 701396254 808081828 561530852 660412310 163986084 766673844 719524812 924444586 388087768 846978816 229782932 271808764 924070726 583541606 624998324 925266092 308929368 277157122 850549628 940844160 509628360 679638474 226534106 155252886 233064320 72628536 894238248 115079968 65663456 267520178 957253488 659574546 708487572 518321332 481258542 57795998 645008348 829958874 517552972 462417894 924149216 354754420 25521168 984440934 670669054 170513400 209114402 871096330 447715914 500788734 767567010 289434598 117591802 177328214 486359162 135423020 337667008 348632032 28031124 643948806 25620112 518710856 542862742 1685182 889423936 234887214 678410342 881994104 964464822 11872144 377495336 413260750 36817408 395690482 999918948 306239092 805779526 162121328 242447374 54321146 360960198 399595522 508439942 688263350 482137338 646079550 228171826 939616156 741248476 954902908 423158436 259319540 583792308 239152436 384703000 853991224 986779152 719768388 189849984 994339290 674684916 342315446 651698084 56296864 901034176 650853982 28257986 654971118 555834778 897038544 641965306 493043562 384340350 295169564 436534248 395873776 74692180 605728964 708358424 351569896 730336128 71317414 677004944 891157180 15638376 644675592 816757688 643541060 209963974 765231368 175922864 281569128 560279392 548073464 401017462 746293310 128378774 532289164 748022202 526205508 973661380 897669794 669866584 808693192 221385510 449197192 545147380 109760428 187286200 616921728 834999240 525543218 228966692 636618210 659472396 313500966 800470440 734716618 939370740 688776560 795400536 668581268 568241908 798236516 430281808 47066106 92338702 441361352 6173298 363233198 574151632 612782250 583182094 911719756 494670920 78162210 460406658 782365324 92449042 758802270 192753012 988819202 540110666 190450552 52324760 639045184 746168254 666468714 685983312 238805186 365780162 844339354 125243004 403928586 212587416 7273938 430104410 727155254 440971794 934686350 315689330 932820898 870184356 883009436 80862334 844325518 923397650 288575040 482283564 343819884 377694626 541226620 250302034 169196672 322390736 582525396 727844818 650986972 631194634 787516088 382169030 378588824 372028976 321152282 280999386 745858328 141484546 950979026 521903416 690543098 641225462 264210812 735652656 334709776 956957766 49132072 408041690 898498062 173195084 535786816 843394690 909176448 742456870 59216912 203616422 329160986 22974076 158392946 510007060 163386100 503457464 904663604 669620086 397702686 474370102 160003014 923409434 524870766 888325826 267935268 197953716 591844378 649537428 593272420 147323432 116178016 314419646 322741210 647719532 419392880 787846658 336776322 163746304 239440342 633915052 545392430 407320840 95422960 914337678 968468190 210085964 681749962 944639408 849538092 383197620 637080226 182487884 827981954 481869374 180773784 845132606 743393830 483057918 925967084 254837016 45822404 356058966 831183812 42075184 631294804 506681200 183951548 635137816 608688792 632892020 786807728 687666640 37002508 13392982 946499218 186302234 157396270 305047408 615633560 171889850 50780682 217475762 994838162 329142900 505644024 400600840 908239214 42112514 716601834 88655570 436753450 677639508 302081800 249287740 707319198 997095134 584065178 754255942 600452120 867136494 358531180 632424784 488150788 71268888 8012978 935236216 387813052 732662962 975347436 991524760 483950944 601999080 547561190 331013552 506337790 821028814 315061550 205085972 921025504 794590606 714274202 22730688 1347850 671077870 336980602 869164050 396302484 386669814 107371828 107955888 463001724 27444424 282818680 967925896 587526574 185560240 898580156 154332926 47715304 878127658 857651480 22255492 491171756 363870890 116987042 20476274 801121282 455290706 155240282 62106478 593075372 324449412 761726662 175738164 135033070 380862382 930630060 833501272 625462158 50545480 967700430 781534472 977770324 55251958 5524226 243696940 210206538 565373462 751595968 440702526 948780460 564272386 780361218 775527176 609643034 117322636 988946702 22048494 558473368 602491088 335779016 865836578 792723280 872495024 652150526 77617454 805613402 931134406 68775186 171677724 450302048 204672408 40644606 914691710 397171588 414341178 817965342 776650748 485366372 732151128 388976080 378760938 404300500 661955460 841959630 381367760 765378198 299920676 285294768 819264342 111463766 775368190 451872036 240710534 567859408 609066838 915571122 643930358 725618620 764476224 613478428 701795570 221949334 471793306 237537704 386769778 975527902 25061970 572527594 170570392 418786474 800717172 232532916 655961428 820542052 179024956 934887452 93266500 17158046 66676136 561378806 260384660 283415148 636099432 783313902 581647276 280610054 189232106 173890508 860212006 839711712 653300098 104991002 971699270 795945354 81025058 359870500 70463768 557382932 281356730 630995808 355083764 653438660 496291678 30611978 386741086 204926660 573003428 579198284 355390672 658645770 547620870 639819906 703921936 444275302 277983974 178148470 473535950 724318800 554095188 986856248 626981802 356027572 971967282 686478486 737101590 209939984 238527752 6265164 895955222 618934584 160240986 683520872 47944172 975895580 691277638 527670786 923205434 832193054 932314224 136058540 400044058 171750454 829183618 371495156 618453576 329521212 443244516 467143606 740107124 251674314 928820588 393525968 667737958 634999546 319863500 794497724 176572550 39588590 614162158 288704098 523334880 487378596 975868842 773801572 107875072 798759002 525294348 401453538 5758300 309748968 896464694 507401622 536433238 427615228 345766884 491070004 144764842 63184200 631393244 702719982 21535744 830624014 691833022 378839838 20782612 420225190 12973572 807074002 718663352 58682522 859264902 480732598 90772088 812648678 556904454 339600982 671969250 344281774 84340910 81770156 170273654 417150010 264901776 959020342 283275084 181369170 343267224 90904992 533356778 189970236 659208184 38276800 713427904 93015826 857662506 757259688 57100800 966135562 511617776 499523118 39533646 22675346 38520342 330174908 161491998 194460806 173904070 871637252 486781762 284913522 100023716 310368620 326354748 37450542 79500546 506934892 510456900 218329872 790601952 774675116 22553268 382320990 451041094 131519868 53362378 75131692 823154778 873996332 233050848 67239960 96354346 197279198 979988824 912195324 871087308 786238978 993404832 347006558 725334060 372811974 784863812 751512060 902690456 16593580 289589574 145882688 264088916 641612090 150837994 419032086 463833156 460345904 142008024 121442280 980284052 991024262 474401414 503078116 45655526 931477114 116889916 938035146 712333816 354122466 872176628 135283628 88298298 207119970 378876542 416899146 862386100 727931258 918130638 934302660 464926120 765864264 41751938 947557606 689372294 505889014 749610510 909888960 940784410 553450606 351968898 115195416 566521936 239279618 969790690 193239088 556659934 583366740 301675768 66839538 807506876 878323664 259191330 955234664 275461338 157089806 184140664 408732036 372428276 50955718 390418850 709599226 346040434 709505796 425362256 876885034 226982340 790414878 603730284 187194212 948707982 611877430 559417170 601823328 525151408 344930918 514944914 421340572 464586358 585332276 282592212 80232506 435750038 48858464 636294376 289321538 850162884 197482668 186704292 544705338 709426994 221214802 438162638 911694234 176298348 77001438 616520916 741827176 2917398 918127272 640346994 17929338 621860792 223153694 404146032 965275020 433864288 465017882 142394112 844363274 858833428 281857456 299866068 627557656 658526888 696539688 372139614 347174702 62187144 648927520 981050984 587165852 346729002 616876412 104631528 817245618 980803772 1324244 990691720 905552154 826799624 358406018 407034902 147147794 906051182 504833762 882690338 942152502 187873276 466677426 144313594 782329198 525185986 712941380 454935354 451712576 828153730 343875292 465463842 232074296 429846584 866571708 421451270 46939378 566254602 887910026 710722148 318293568 672376628 471310916 411207376 621297658 300303244 787703636 351641834 461741436 733124860 990429766 92432738 669436372 630592404 995120560 507479426 751900808 806097866 348672868 404166158 236159624 421278030 70820420 615512146 778855892 720243424 316183628 332326400 345659376 153454232 430784976 773756464 220225562 943619394 5699388 956864096 895966336 610608750 414439740 799143952 612640734 61314566 776613726 476137142 369388976 396230484 330935564 137550196 215112546 603173576 663458060 775785716 77134498 523765058 393186162 447767368 736490850 543717578 274911632 814963982 379379080 52500764 856480748 120899822 934742998 393503106 175779440 81198030 691572468 645383778 505922550 450950380 673830574 823988496 503833502 520186568 649227966 61931388 392267988 697535252 850010752 935176138 354832880 924666786 361326146 267486924 492588716 308310968 22610066 213212426 740351968 655606822 863134054 579101932 140887808 316313760 847811022 838145860 20658970 638166878 463955940 998869602 213222062 703932514 310710740 219854006 768568114 5669220 883754540 865867812 377397602 621538144 691886700 396442472 742280070 531494636 231532714 479608522 386705718 520221614 324796294 474817656 697396554 640815104 339476738 518521096 800970288 435077420 188035698 378425302 622606256 648924808 215028822 244979426 815203726 412687902 827425308 207866284 724547426 919248602 212168126 650937214 58182042 766803030 254716402 376904592 376449196 197340032 36712194 753085490 505545434 864065894 899174214 154502748 20748280 482827156 696355602 165073066 196460880 560325154 550637318 142574306 147107860 851641806 523134732 412423790 473416834 800868864 354880982 238166554 41167722 107762402 648818054 676956850 964606112 828876938 808488510 128587422 920701780 167909846 431347296 883317884 795906202 893854386 228582316 561684426 752509316 808530212 204224838 543134512 493391234 550615312 46079962 369263390 155251648 327995802 656362902 777758676 657778162 582914064 496657656 562662890 329300826 976460300 97582144 531596640 467687114 965081012 555429754 809635494 534009846 765814706 792733048 151280426 280081738 678397648 801505112 296171548 237257306 310558690 595282990 770937252 224558180 940580624 596213314 902436354 110729658 50627306 609460168 603470166 333508 721989104 341616184 856667932 915381822 575420050 324429536 925010332 985775920 60472678 725098918 829553140 888595914 568659342 752158858 330452928 390787486 150025346 752681162 248219766 368964544 190104674 311120962 150255660 573206142 100798510 26022674 756536830 225276164 656737694 566142916 935481192 47916708 738139930 283125566 636686224 260665546 852862866 458715276 184150364 260707520 88357636 461442568 862562062 430425862 747208928 807535240 399673798 733580912 775957470 661693110 769673500 105470444 865187744 601618488 791065214 578213568 695612986 458059968 934131360 393299806 447289622 21193076 464225854 492629544 220567338 615052690 890698492 88500126 748122112 647685096 643886240 780922284 615094774 575714494 708019490 209843134 877188386 209855678 350543386 774973676 373968416 184929142 939073824 759175068 830083470 777050804 104742696 834393358 733120550 933060890 784785552 686229798 991476614 378864934 598220628 177032700 10696758 936465486 436975468 244317986 262724792 744191826 209210236 421813598 408368226 249203554 593529394 394593506 323317026 246754016 253463318 262677358 380245410 860725640 533273354 671722972 321912832 263210780 218186410 485047006 567058422 582826326 118680198 782981378 437699662 42218070 728651476 123004612 284729530 661854744 126732892 445607056 965790298 123505520 305621274 90398744 808575294 152444164 493388280 324102878 992134314 74180712 341104314 920268258 595067808 173145822 27490946 537459800 245867618 259122310 74514862 71465132 931320476 562031710 460374860 183465674 753839714 311705128 603709956 275483220 76793290 687286486 924202958 135349176 444508212 463037192 596124 604509252 843359160 794758320 447166336 667222234 542717930 824549668 425537382 361172478 700519530 285043654 204823450 661498116 607145012 103354698 831717066 788440858 187511594 306876390 412278030 944007988 864917674 5465832 318625872 218038630 663768166 360745392 206068522 175111724 598998702 660116058 214838566 449440194 2509572 725046110 834378880 254955846 738090692 251992660 784268538 918841650 203601466 312380810 173864282 274527442 418609102 131847054 798951930 518098232 727848604 306681600 693684438 307475676 860603830 175680856 41095268 921073498 875804880 597938988 442209670 139220524 136564664 603066702 824092740 119897560 501695672 249128788 868478088 988352218 235132708 375655146 763791830 696832906 12917432 938488854 355517516 428776948 571366018 616009446 175279152 311143110 10082344 7260048 346127808 506587252 601916756 913193696 727342540 479147516 130643016 953608186 764920536 810418382 592581614 810243942 648842722 271243002 688981678 521238800 169611426 342162970 203135458 613918212 900278890 555008066 838304196 807187938 292172070 266957194 711756318 789675998 33920858 118416650 234369112 297532102 895407812 712098328 613352586 465283376 211161604 67622154 734898608 765906626 401895820 70525214 699666222 714236462 20976858 438743566 854719970 662781694 188628590 88405894 425490116 964937340 954949144 474993748 885735258 976837602 483221732 332746862 337667660 68042370 449306096 177460964 889225232 673760670 793691622 274751280 362608564 498313954 363390392 471540768 78593792 80605056 611738632 604540940 176005334 250845456 37030542 629550918 723250758 914893626 955250514 473632422 334859652 952348548 311407784 454373236 842426802 297985544 126348522 668511852 26619040 412021538 270794148 362582372 634748930 923600486 59497088 296158844 547307766 952547990 226820330 636666626 204175486 394051860 224153552 968810146 276758406 458668414 82586212 590205298 420912590 685124510 993137756 75907674 186945894 656607060 333219472 644315112 297770962 446612502 176686258 68912458 821243152 922389654 883427958 415977542 549903920 671823216 766246512 392797562 940811508 489123930 653627064 408901340 974521386 69022852 494458406 503569362 422175168 24303440 241539596 30229754 961189396 166940482 370918376 333169756 420543048 566592154 695449444 581167816 243619746 360754558 748023338 439487732 784346026 548410330 950988348 685526386 316506216 428563852 177499236 731742384 762034100 403843094 526047852 479918340 152991162 994007822 777778242 806718426 334474012 796749042 906267632 473016070 809208232 125541768 71096048 987779752 467107666 862893806 362840944 988779542 773960664 626933830 858680112 815607838 748586454 699544370 336958818 66748502 666034766 805976478 242057998 198172882 249378688 861514776 860757254 705775408 310567138 775416772 565207082 446840728 43261966 97369684 951655938 501170824 362427664 791335660 60735786 40416334 694194160 528188852 772156194 860892690 885381622 114213888 722827218 903292338 596981170 613993480 531615648 468719512 813472280 998297874 128526388 220569534 407854326 176034278 215966362 497470566 649185678 353092134 221747276 467643682 28965696 328980808 641843734 624965190 955870006 742533596 386401544 536800280 2392478 523321126 472951160 90147162 747023312 165291298 298929878 773281130 532534112 887319962 555428844 514506872 485403916 812665382 667723566 896539536 227732050 64385858 186206032 119896748 676317006 196973640 450100538 609917504 79051380 228934824 839108332 635471442 924097754 267663020 312732784 604679142 237802534 726454966 660424436 96635072 650244220 693308068 96828120 307751444 926924390 270713660 520153138 901973640 362504650 153055208 301765754 50573980 670504690 111048634 33069670 832543698 894879592 801714866 430026120 475895102 556539320 407637398 930267906 354211054 794961606 291938816 796778338 422785666 898856316 970966516 132156092 281493498 719307512 471816376 802447738 756199934 662214314 63516778 398228024 505633096 664809524 766118530 789440188 416753216 407492756 887998612 741355926 462423152 789012218 197218252 303883638 409036286 887838804 735634346 926265500 27971566 320907788 847565646 209954992 181014300 989526820 942916856 621429522 894301928 891715158 676513406 881165558 177701040 551908084 600298582 154145518 781226856 651080580 896342442 892327386 157209580 42553030 325013306 895477580 757403006 750737152 848858344 500319122 564286372 57000232 118876724 945159396 741051986 521432002 418821332 614948232 742332846 743714024 197191500 14835566 30741316 791200156 624857896 761785870 707619356 248748666 314310908 544519306 442044182 173407996 511936238 483687866 779195626 651157398 678379680 485750218 851925992 791761704 849958788 805283806 410558080 676931966 407851484 458813272 713300484 326073176 649107982 542456440 342093682 232787734 460580252 3652404 72362260 87456928 392561642 871722898 185705896 136909364 204905000 398652630 251813682 170024400 672916620 449310652 618689814 419719458 140041528 845868588 278169296 888853362 510823328 126454676 22539720 53929246 47762964 887864940 512832710 378024658 666377534 391081298 297907654 774009468 294730896 165354810 598476128 13853764 506753792 207196872 456157476 566766052 499568208 861435866 527706006 851520998 813873552 15855662 305718970 923808038 688089626 3261618 720932912 261730194 610186318 108319558 578718446 85574422 367059814 749543364 91110250 479694858 26931668 596573476 672004326 810535792 765520100 810333194 345873064 926690278 659251548 545920992 232461760 404914204 573086614 88438476 542818012 768126588 491451748 237178136 690792430 28339120 632163722 221973278 893288344 790514736 409779050 545505814 416439662 908647846 607012766 989678154 657672318 595845512 150731762 768179870 770567548 23263208 277229748 984500736 513214604 189200914 224313900 701333436 68387320 817195350 888324078 982545940 382361282 399436440 274615016 305107158 288472720 198552410 589026296 4019704 903153370 879100362 57074318 568142206 624031546 856001674 34831010 625765952 68400032 954883812 528158064 709273114 674188718 805224758 914942472 616193402 135275738 505074870 583598736 36049222 128727380 257354646 434750746 436721992 762764278 390820006 678549578 641174614 466768924 854626934 804320986 165325108 56278028 4512128 398231728 664780026 205748904 429352130 968781288 186770390 316663904 155061740 6119538 573356662 448032678 494330604 813866992 882974172 10035200 117839762 396156518 351895104 410143914 451688350 29231274 382421732 315490156 436507428 291677210 205029020 796606070 844379016 825287496 503821648 896427970 242286486 413605346 89304564 836203016 288916388 704882454 915453970 177724004 741630454 670515550 366838442 163352422 343014004 300112636 531849660 272444590 445146464 627351876 870306424 108398586 957978164 127126254 626747124 377563752 441824524 448693260 13793750 504177752 122759268 713219528 824787650 39039568 410225418 52440798 649201410 976759290 605601118 265960090 955646128 998548410 716552418 213341802 443022578 217539408 882878852 549184352 125178648 865584986 861534772 139009310 578879622 856760742 974728152 177866060 181112510 110990104 581689860 15405248 621703504 195623872 592935576 582178774 10366296 450245992 192357330 171039576 108009278 741945502 298399426 834601704 664459510 592067390 420608608 411639236 204410110 800560700 519137298 207391390 815312378 364290074 428913484 288611528 345186066 639398624 652339006 747828440 397071034 32416160 532834530 248192712 84384980 907964434 853680936 230164808 665507564 19667042 247834142 452640144 833303500 956875898 958950120 278567808 564903218 879885688 764368264 286155590 219388388 629533316 311875288 96210594 905883250 80011696 210287146 394361554 794285650 485721050 408605624 167176028 518623738 384497270 76365544 317980528 559389002 697682432 827824158 963394804 783974150 495166716 356643990 352134842 530312134 106749488 45160318 897617228 353146266 267170844 246390988 979619166 928990444 22659862 752724098 890574646 681230716 380276314 8882718 895740528 830241310 951951428 334576612 633076092 466954118 257858206 989905004 467785766 123365062 558240646 867011418 373995640 606915688 24973938 585387886 535900804 703477630 606906416 294732198 238087896 564055074 177575022 600814490 77705722 526835612 361926328 927616118 970341526 207116656 659549632 276269572 463290016 169364126 631141574 145854754 16749420 820366472 126858934 619484400 698996332 583131780 337149910 202652460 278355948 76242376 294061124 744768602 304473102 857017894 270182116 19752726 817970360 240470294 623462462 793804886 366416544 97706084 221823340 543310394 438663332 809059418 711384706 691274794 705330092 370666362 808062318 991969310 10464410 851552404 230326966 304738810 78117952 852116936 206469544 276419660 894143076 59490262 697879912 759082304 617851610 66372386 649042438 820401384 746149428 550782048 881114118 464794038 311162760 282761272 671832572 827189172 902887014 195252714 787148462 627368666 27887624 645171048 192860892 197138152 480746224 423855188 833352628 465979142 78784278 612227828 924144128 737354498 28509164 232918098 241990956 9635094 64334416 979236100 494291224 625497948 822686040 697049498 753908308 205817668 349292412 836826352 900981308 801543494 436043620 202630734 614983964 722933404 308067354 814286276 402634926 330505328 275290292 250085864 899285064 180680430 487085074 826386172 398605234 443297298 189311214 541027448 878104958 636343804 760741076 290226494 836340162 572703482 346574706 732103142 346398510 884534910 693472226 876988608 601324932 398095998 261553778 911140486 515416514 23767234 30628592 998219066 215039646 43682414 543408382 514817110 891405890 224685748 726012438 264303600 724370666 798074284 440059926 641019008 714904732 490745006 483551372 70986784 116940986 706893552 489995884 998625464 360257090 596591060 348150232 815094330 778923308 633997292 705486430 716198344 337225890 661143574 314542116 335506940 132951900 789894202 755574396 334820344 813310212 512599638 135997328 767256488 104019946 158534072 72499236 750626292 694166818 632934938 139405326 187973298 840732098 875829154 457165288 439408658 359414546 17212274 114558538 873492326 312733850 655780014 749941294 936701720 590616336 807893310 222299530 462987404 824499184 692189172 837448614 23985856 93670314 351624322 781499950 201490740 90143962 818548892 443991252 318309476 349837764 308424264 159201188 965773562 904403872 555707490 408934456 196646644 537720056 428324974 251896168 765582848 384097654 450504224 171729432 486066810 20985664 454753172 418669098 35802456 218684762 628876228 913359018 996588374 183788202 401902930 58521652 716443990 989464608 574168498 318932522 452377122 538941362 423326212 359003018 118020108 50812178 957371228 494462482 520773962 409616042 997487862 989176430 25139274 836105502 852760458 571617974 765222044 926423104 241948328 964243206 825877850 605336076 490048742 536520780 865756416 12636064 743933878 880591572 474506836 793592186 102216868 215077502 601920550 244429274 538775218 648008808 967880092 601656450 956971846 615605210 348006020 829746684 581367756 310909426 680304408 782682494 740053230 76464110 636504706 698715362 77423370 171627302 46588450 726271224 696932472 414953712 741290848 873578512 575370928 597470792 762138892 431850976 540916014 801834400 821536276 21106470 907474518 807878052 280095964 302000774 83961094 917198556 869097364 510315888 342658234 381671454 782439240 415511884 776844848 359813234 375627906 993738300 411253348 353119048 227593924 495851100 243683342 172662836 415996112 169166690 105704892 457787386 85921074 736893674 493274344 689417104 176195894 250227638 125940232 358817282 667896906 664638354 651281390 647642960 832911428 304238974 588412514 737394276 702816912 751308556 831488510 578687772 226865234 35714212 202872678 735870792 118698194 432226448 403157184 130341430 852014590 133461212 875761356 382728378 849760500 239499316 381972956 897709756 632854130 747727960 357470796 51831906 559040422 227042702 874680326 675667896 571112486 842812396 20671040 358842658 832694120 74545782 320947262 775675556 951504956 397195962 24263520 369780106 842843550 601533566 584379662 706542442 73216270 291260544 605930182 459343922 911064380 348913960 433096132 741613950 928075762 38477348 901301016 510584242 830555266 443986312 36248066 247897718 87009154 391236174 539937332 431086424 719793722 483107660 809961004 565864642 415797746 294677686 11714756 830019956 745184496 298995388 233655148 86987092 327235640 406745416 138944826 63237152 468483260 781357558 436624392 124502724 378647606 995180344 755068164 342739054 9437846 398331592 291955650 395731750 255656916 657506232 660204870 590294616 520616072 339662456 605619480 812902194 455374972 967160108 572320956 797953876 509130876 502055710 702777170 513757888 49940112 598438682 344991400 171728406 929861064 295442224 387990424 754731046 792979764 259736510 677705376 895309994 258487014 494122486 670793126 669064378 982686408 307856250 419639462 922050298 525235214 179418172 494718100 693231622 976280416 221615256 318177468 285709920 921747734 246527458 332371222 171427458 595649720 169048002 327447264 874858664 448886502 361615796 616957152 840508634 661113912 735034162 374605434 151278886 214897344 123601046 391246398 746880116 885040090 464457768 83265806 418683038 501819760 814591934 366906094 970732648 345620274 943458742 204696574 835605582 233413082 228927022 508620988 774922500 54499406 431255994 834834646 116183060 838911398 272788482 727844618 144105106 239441142 938419934 1248664 248193374 750356410 572931360 919408864 728145226 752075440 135094106 99518160 944820634 921248118 602174750 971700180 414144272 905024938 483897064 276286786 790590060 872577572 331822624 213556116 139688530 528818972 171271876 523438812 971213426 267719518 579121590 94115154 253281426 450956596 752263846 289393190 394444054 454358274 513805550 44521576 170032068 614615218 320452916 846701258 280197564 946349578 326851290 703938038 970737722 780010962 319599984 773999900 13618986 145502868 767557064 213685402 561109454 531783412 483268190 952643682 17732864 537635944 895795296 344760530 276027370 847571618 349799570 317850002 561178738 918438490 121800000 998152352 231704572 754304896 91198232 265243494 947017870 884351026 961920054 174370164 117942534 130483624 328069452 451487050 432067188 76104934 676258786 776777812 941843842 528846072 198075412 843091344 188702958 225218324 664772750 762691888 263287044 955290806 774466866 963554606 468564366 57182266 318127328 714063826 39517956 33528208 637799508 171756706 814123064 704985148 877094570 396532146 787165502 681356492 208469252 136485492 715423064 237015406 892262304 182699192 818058710 930782230 522279528 716737884 750076830 577782058 328858892 698464190 487078324 254088040 34880548 523141996 233926930 50284914 905556496 658222854 453501870 654910554 148076596 360912230 288552104 551910670 776928082 159903426 627554868 881046668 846949738 439276172 861381712 302349168 390825204 368114508 454002694 937981142 315622584 58817654 978295822 214450994 213776308 707800850 354279846 284240782 475728520 773610734 926196206 545342216 834010562 982972042 822967666 74616554 326651662 347129954 13810586 614006388 757320670 58662158 901244116 193251612 943243986 283501396 406594342 334699394 218947856 410843376 297963070 63866750 905510828 429031976 98516092 5118736 581912294 344714484 2808500 279302178 916515104 922967274 55928256 694012176 286430554 576494820 785754620 474193764 636107302 334547410 956318164 103736366 493797968 573580306 446935196 184875630 806299686 860288490 852550028 85957144 152628750 409217138 456235222 152506330 730706308 627972056 1691736 631216534 558169056 763882526 820810948 823325006 386656170 164045450 726237372 131161816 400306908 714914228 401139512 961529916 106192104 463459454 195685098 71564398 973720812 339621254 283294722 938702402 272138946 130492328 292943136 856677152 15997808 161773520 732461640 141457906 991435716 992635584 924030062 15022798 652749692 469993648 871618478 325716364 671923132 154017906 331262968 414541710 184414676 218964518 133410722 459314648 618753100 837166924 353334184 980806426 754548756 91740018 594288986 726797430 477738392 965240810 14965636 930314394 362417466 480524866 759426848 929594832 86731576 955351136 398729534 922111346 744471890 696479816 213411464 9624902 654942638 809152304 255355746 780289228 113751326 430971342 431794192 375035636 710388714 316670552 558187888 589935854 110573766 235339732 4094788 223653496 722009410 60607494 525999374 336394614 359704840 607693550 970505558 210521950 652854680 117745176 608459680 180122610 697655222 610796396 727686984 669683330 841982714 955545408 218358750 383076004 504299590 768212780 267011152 378045904 212661006 676748680 772229222 216243704 863554448 438886032 454643974 477680112 949924600 294977264 176660214 433951004 82919218 353569652 788337156 270415374 417253284 272423506 819827122 597175968 983331696 901598582 781097840 52897168 968505664 347522834 825593444 262149502 973964356 392852754 116810806 180954402 749795776 631160552 76340862 534469972 932962544 4836490 884047050 585054544 699265932 852163336 950741498 562716350 33293176 122838812 730274798 559989422 243538152 626138372 970510316 733040624 403923516 109105112 928836580 498169444 442864174 712968594 740408102 412351810 357213914 452015842 728265570 53734050 938160310 67626134 629574988 165345212 980195310 277927114 455229584 523022420 474866794 712773870 311901756 251351358 591231448 662032368 476164190 637348594 325522340 23090938 741622448 907503806 936003230 435918254 762896332 459523750 969418100 337813716 628175402 136380838 575811478 604802466 927893210 995519882 802967434 143014194 740266160 662737660 338218294 790364260 295423292 496773378 469622618 645421976 26371236 180412968 131729264 643026750 544069448 683074932 315286284 16804316 96883910 383971706 285842816 132173136 356683504 704894436 652149994 990470088 844602708 841838584 327718934 481819354 673705716 329713160 80771846 952817232 989700442 632571964 70301764 446467600 86905594 615208208 881853368 266275162 540600688 629425418 111080162 72506968 889012974 541369212 473443230 832560764 990788104 217626314 955817378 277782570 576035668 40970672 753876748 221337296 129875664 697861232 999508744 181525614 768552238 950536150 212732812 987858740 794289732 534138422 485139430 314676184 762716344 766097676 105353088 679173470 617546086 613165190 973849962 827503758 894081458 391161750 211728368 831776224 311286714 24502316 701665012 327797764 109310208 860984554 409457584 111825898 601337350 395216430 953848868 468897900 304669474 25342776 228398554 694467654 676347046 305272354 612202898 614758310 373461872 647129450 27094534 656074604 786396142 383517662 599593764 73503646 116271912 541587518 815634990 373470408 954246536 386815464 81034674 129307980 541653414 851991294 415674810 38715266 579538846 748147768 398140334 223230308 932102182 605370488 346467420 220355310 398631566 775349742 144489644 874014696 379518924 851605258 811671990 680684864 114951916 587513850 463871826 613564256 220718096 774027614 390516402 763463368 579712930 279864916 533443696 512669520 852034098 728495208 525729838 921104146 804561938 947627482 906656972 711556182 325005380 694341962 841008396 906899058 881938098 216293906 10656666 714961276 689061348 892935190 14678042 854349802 225443174 609559648 65308742 889806372 820637842 924952084 62178320 405015300 692919262 486008180 10405682 367962886 636712794 521601872 826693860 440702180 400258526 720372466 694789742 244892384 31352884 122176216 672891394 831304250 703839220 454806218 56319244 636324004 99464158 259665758 733437422 959926944 358171662 503151090 656886078 146107410 777850556 993306576 999831366 263785012 174812836 107331384 164688498 623951394 7694178 987762718 667712818 688105316 594740006 525217408 531594010 944816514 397267148 569815952 377759542 759009454 652077646 945416550 109923942 612205868 444630678 97799634 941933396 523115974 560644076 686289424 523801446 616015312 628200468 714708578 296531486 77443230 255273876 132969774 359838444 373084532 451999184 981017216 193481526 558497902 842734100 409271936 391336180 884533234 355660338 421186900 406195840 407690010 23781310 911289156 692622520 239372752 604579434 838194428 240122796 606548840 679136560 996186026 94157430 731310326 897544062 550032342 384633930 239343052 309278602 861864608 249845798 495176798 83303260 713121298 695348530 456901632 517499102 379704312 797858184 524288202 370222002 463143738 660603578 916935150 121976160 772552882 325081640 726827978 545564770 655238898 2440548 606066758 236051516 722080154 585205638 825680786 869347900 185432416 91644238 716869586 99900810 294673096 769011136 878606312 148022644 55220794 557220326 415719196 872969296 187819826 673557210 834870496 427775120 101626512 495292390 969917288 190604154 370197086 371357696 499031880 465174670 956062862 107456888 382213008 169534120 719501348 537477020 610432056 433147128 310390232 867156432 237385342 19397352 933827602 884927496 437079106 424058772 920969520 383022638 244905650 674601746 386974354 841867592 969775356 993545784 811752570 413570058 738931394 759741994 576635758 836767976 742647872 3674024 350245914 502999888 387673200 921367452 885915636 318107670 266475896 100487310 191910346 64441518 522543952 21017498 787132004 671436714 924637040 772752856 407991344 578407564 50930884 812523796 904020462 950413276 75420408 360892992 29091564 394803920 631855912 102662888 17530720 477402650 606249242 126143206 834074520 288998496 351751724 827591136 959023836 365799448 683290620 359643576 222641604 507466270 349151958 158175410 415580958 851073248 294596672 349114500 352220892 649437498 163307438 373114368 619264734 337686794 72608872 665551848 948755274 431301314 781758466 216858182 624892222 104256556 779828300 572664092 909450836 749550014 277998996 915132786 729448528 301644282 609884000 866973016 824142700 827267344 765918660 253300274 277036836 181890668 249503952 677914000 464906982 922481100 482330322 756902086 238094840 101213906 304440462 994426658 861595052 181762404 824025882 283463830 78649768 504225396 839515354 591258530 954571634 622184972 760302892 748360336 975127218 66294316 78081286 549685860 659110658 423565532 867242146 316113078 344325766 490966930 863032338 519642464 367003518 178205970 780813188 581017884 822974614 628339914 954161446 805440866 703437626 131442230 574485678 415721164 754348174 253176090 695180906 704038442 961346878 445898714 230953972 655436736 373234420 114460180 663372530 867182656 188283936 551285844 501020608 706216086 751189504 789354314 164794538 979367174 206807036 520674712 240343954 672009524 649601204 488983742 993256512 632817362 599726898 905522964 810994744 993319740 774310844 899902186 926508044 446696918 519859034 985855770 206168150 92728126 798771900 826051658 861748376 269105248 790663556 951008500 665136046 801223658 160527448 169489820 841726648 701761024 367372240 121222036 13886242 424811836 1859376 703464990 55232516 140637382 681906928 457851108 958113456 724728254 23226668 180613048 932507638 636731050 957200442 632061618 156849616 726146336 613793072 93177466 449420532 88288934 723928996 99888302 952306346 25350788 761440372 104472968 754425128 587456390 873611224 799891138 128326064 968293898 762925462 424719694 673463976 630687706 750865462 574919480 851130466 825513922 105211990 378299826 975743124 380664114 673024514 672772982 837787470 376845110 435032182 277446170 864116212 544973714 518629834 833459032 339070494 189058530 913536926 290690604 158480756 264139022 284036880 528374106 990193698 171627392 420760020 879152020 426853398 190704796 702909364 672102926 39246572 287023822 569935862 530672026 145423872 605227658 953501686 379299456 20229802 508169338 122947714 272828250 597561684 135005828 460645394 578988964 444218804 793707032 306282700 822011078 622234410 513732226 334610892 776793458 369206436 59687804 80017682 233177888 122891152 107536754 46101992 661837392 534129584 230114822 349732182 50388778 92531692 900184386 30806134 352076498 24795300 829176712 426361928 627356318 147053476 943731212 603886170 867400838 795734378 199978304 811751076 797754230 129309308 186319220 174755668 332022714 285480682 325683412 664972908 249094884 603235192 622885956 102595072 539317300 540727486 796532612 711754436 466050422 58711074 185605126 339900208 649241392 265531542 854249680 962857706 178357894 54756100 661082652 158068236 110693664 957900312 680581266 626408434 876281840 847750602 427800248 37683536 686732256 765243236 935656234 920689328 243633226 279956762 903642558 465992558 294448970 159954984 97034902 881509674 627905752 837133224 539221778 788559468 549324258 750063548 986667272 810726424 827793152 405433532 103917596 111591052 596590802 291396568 569016696 130417612 319514200 184011442 565239778 125316798 929788648 556820762 217627190 845870918 546392574 572735114 795262416 876707136 365641026 935178796 855010374 459864250 553956158 757611956 365777028 801524832 927584058 452429408 135096616 954215804 933915566 883310820 814487298 522532688 296046932 264735050 180375308 496368058 379485836 488389630 194240838 594581024 12310858 842576708 439615844 428978136 173411210 633618994 384399904 481890972 567811692 241034078 229518294 645158974 530550304 48886542 564457884 548847226 503521652 574386094 843617020 636635046 718224650 894597194 834722630 16444022 557715160 170582138 899035206 621241998 604311312 265037148 612546426 435772506 311678130 816711944 995564766 137958668 145320048 343486868 385994790 458844246 54533794 258122908 261474358 964084998 168658 832384174 233394370 660970410 875041260 157087832 824537520 406277804 45440182 999556038 52755232 331969826 549746878 97113182 544382396 636271438 356063974 177577802 492889798 219424846 149534214 984771598 73272664 472035692 798808684 742866834 703540354 92711994 520012564 497341656 808668674 563783770 451479826 927331292 148285330 220326842 208791970 142864856 722129902 318233274 575871534 208344616 766664988 671536832 819674020 177390056 258981170 12220930 331467976 167109378 356182320 981812972 987410198 66327104 456193050 136058478 407638290 489102412 577327516 439479060 220788128 357961480 840657558 962380744 905706284 373383164 806977698 252776942 397318850 337993648 316960870 693233420 82592412 485162780 677815372 106692016 832988106 667922186 392150468 424524342 946360076 76331076 445984756 826807552 311019802 594663998 733339742 574142812 752878960 585259462 596458724 747935444 440672534 386902476 406544572 269006598 65452026 474577942 697553978 760885346 624320862 765739342 929615896 391542812 277418736 998224410 614812290 900215498 653918190 884757912 102568558 965774176 371559610 416453788 594196632 109466004 385147708 378729470 118649412 201485110 379725536 256003934 807505666 140235146 144067236 514026718 528453508 585333022 706966990 690351274 412896310 226100696 850871282 530836756 717038722 574170558 524772810 387157344 175747562 23437232 143929310 481572570 783821732 875347388 899766384 585720808 483841124 494404532 25966462 673096926 272573480 955566726 292818558 565114346 141047206 281621564 348892794 660410340 288111166 638024032 271803194 142247392 848789148 172992968 812492810 591244760 17281682 294818186 193850442 506130210 380079008 160291832 714579194 519176822 649445106 657209454 117525552 145256648 291110848 235584412 134375224 286727716 101782844 600046828 228529996 966478128 320800020 971072958 488058750 379243294 586319406 895289984 855566368 860213496 901865330 726218884 751044088 690518144 180994202 574377786 855213180 31332962 970793338 678474988 30767342 623293008 215350894 160632078 752175682 131689032 827257062 11040460 205357412 312201196 611428876 591930796 383047302 555313060 693669322 681756342 725513768 86799106 225079276 139781408 251317866 462627470 145664980 209616272 111613848 675722262 589197758 894590676 51667408 787485714 677972656 721360202 759133058 852442452 417924226 513669368 400985172 725499230 97545444 579969630 699014120 98381570 891269976 451259970 923501866 946138956 928341176 739242836 493126062 512724898 877601396 666723026 230173894 882642428 296020704 376778038 155605688 642437176 502338268 704362726 716406172 592068060 613548610 183613836 929129992 339959900 550291182 980231994 178573262 697644980 74760268 45088770 979644996 497503814 757394254 985653800 554331678 146696810 443914390 35278170 681649932 468254102 124561792 650457184 463811730 978229648 82455648 130458282 622775190 627880670 431246860 597458942 553480740 178315116 273419682 140514534 867846012 653526246 169876268 525178360 658678730 968026384 485991658 917423898 862192230 78777224 525713784 98640140 188037224 670575292 327948468 633627312 313701080 149390322 57821208 460795666 627564440 841905116 439598170 720383204 581063500 792863386 979639642 661285306 655469486 32894242 261274658 859009270 532502574 750469160 207987034 884021034 311042590 778138318 516154982 319694450 518558344 213165998 879424794 573462882 930256096 755398406 953611302 670266812 934250190 111470464 954577828 317222784 397683746 928044356 935167496 866170000 33848812 308157012 247841572 145644816 17950356 709308632 75983672 886952164 844599462 475484646 278790402 264112810 473845878 497296400 493810984 926018936 284915482 214914028 864051548 670873926 141510408 925103808 97254196 568821876 340477824 133708066 168746274 844089962 725073444 858442306 71272830 119537050 195315272 481663816 488864366 484543964 266470244 674220602 868184752 156167852 901518470 467975418 849964752 254141758 744724062 549623282 322808624 522672924 741339800 448077290 520251688 776845942 643247036 179555304 123742344 127180530 733425254 20439816 706237152 141436828 506160848 902813960 39374346 798707024 542626894 550099600 453156848 601335618 908058218 625313842 19230486 892134296 203461622 587109758 492702720 759972116 371916802 246755828 341421820 542187970 297571146 101757584 39071488 570641098 904668650 756348228 369083062 737389364 816234364 459116260 291746626 320527930 82367734 775123746 795260866 379192242 560919316 718885280 285619576 820641090 615366438 138089630 334321148 655394734 691738236 499050346 6494996 653274064 48795120 146648594 54173250 255724588 303316576 72991362 284866782 38814880 395880116 362102326 716163826 684899982 195652508 238166336 117352572 954070138 555701984 930342212 66542770 234952566 553953060 192672604 679745424 603216242 359381628 325903654 928498160 435568356 442648116 551664932 201604206 931008152 298458548 844600620 111866790 100820772 9218388 746442120 110769602 86113270 651729852 827060608 892196512 144821198 302767868 866145336 953078484 52483860 630403102 20694826 471403984 970207252 308109232 173555336 912823054 181809074 873705964 824164916 64497444 999809036 826664302 778373170 953863930 756556602 695891582 935369492 52057886 428842532 111068786 63711072 848846024 143869842 581181916 675878888 938758930 717914240 498521282 811351232 656646892 518579070 178387868 429167444 955818146 792207840 102569846 547326462 517349410 776076036 348628016 536140468 722778762 923070640 827107902 540296416 507102398 239811454 427971394 981702648 526846054 80492496 61869786 697624992 866499510 930103046 331630290 918319516 90527098 777936844 268412108 934550818 897823628 674174742 431987706 269821418 302708146 531273802 197902956 478176616 413012384 557508938 750391424 211547594 900084634 844558400 664181846 569690992 481489250 96815610 675835642 544342284 769374736 554066342 69887608 994369332 659939334 921818424 631034034 982144042 186343248 246481196 575770104 502858510 43379610 936324472 619379152 160141820 731467608 20702004 8548312 16049152 751419908 278875294 55144242 455317780 666343220 502452892 390294118 531101918 669698602 149057146 858926108 696716928 685528916 482672202 790108852 220438760 202139550 750908794 426494060 551769216 839211768 740790942 91902270 475356340 975536396 565485496 885444656 407774366 229615926 250219332 611060340 410502256 977513898 311223998 24806 479505504 63902368 200899742 792249948 560045536 681058714 842827544 793712944 484669574 892805710 321852978 96557388 219204536 558351192 117774914 208824398 685487520 354211794 100839108 912977864 999700844 641619242 532354072 929567748 4423252 586230890 8851392 741183238 586741004 1274704 150919956 553859864 695434206 118564198 278644734 399005140 403357342 538187988 562094170 856742232 395280968 432615698 166886310 988476768 800783306 183421082 515711056 887877760 83846408 207591408 398956252 117150634 35145764 337353656 244282702 588507214 935577718 267670026 442471854 91555610 809987376 200161506 769935962 214410724 281277192 142331934 782373958 315967414 96063434 878316184 325363034 224356308 669491586 353219824 190552902 994262108 817316438 829151634 379180498 97458964 753029094 668687202 50290380 64825804 612400128 725557358 661969524 237443460 272699114 878632504 843193366 251906008 631135194 509236794 669047602 676504460 429935098 994298502 815037154 328944984 134491408 32064558 471665660 873435984 161332464 97149326 374668556 237853890 739260628 475328604 880863784 474163270 891743566 66386184 975823126 859003124 939379042 393991308 341839628 967245960 38025020 840447378 406443950 717003926 980843358 557607670 568205706 135832702 774282510 183866300 756858136 473394710 999753800 961807828 791333010 922087988 788736024 422129270 868950396 31185610 531140196 423502730 752958854 174922100 205605472 336288674 570452920 268825494 818595272 139104852 427650840 570995586 290203710 75779052 540307730 706543588 784027500 341932306 630369978 413016512 165422568 436588616 758670342 83585064 497352224 344912988 433531952 634845834 98825346 834366770 316942166 405428598 477691696 850715160 294767642 943209072 901817578 353009568 43515682 529418624 696030436 721319858 881390834 354960988 600784694 182748818 89546296 243079732 990250306 9675444 198333684 222548150 256050994 900408006 134149896 98301092 644857898 930813222 570094216 254418716 624623688 899882088 486756996 82835948 349369856 98618248 571298514 826112800 893668252 758135098 777275526 65912638 60962714 359314202 444213800 348764478 528166744 661028754 574954616 399540680 394563580 488840506 437269230 217953860 57161102 478936856 273957076 241914342 79406634 257955662 155946718 362172164 511411250 210851876 904049496 350161872 938738550 571469468 776132656 593728740 558462128 454829420 288049204 427282640 692271146 44571382 292872872 623203020 319825978 825097980 921549110 272051562 650334676 301894208 920258806 585033070 179233276 993921402 658573108 674356342 467423132 504614676 200439010 679207840 42563392 420291866 357674924 225844800 783148278 130364794 550338260 754318988 78113464 663622854 580238134 415977044 678867066 66333122 586132752 969453008 546475250 153326184 29086836 525534384 379258268 408130954 292591752 221022126 103958198 415461230 147649994 470275540 569941408 508114542 266908322 429208868 849289372 919230436 898952308 262857972 503694026 307196710 466232602 344183122 521374280 599252394 278675494 245401718 58499898 564991744 934780298 54585930 655092128 755723530 478501742 550859140 265762796 344572824 375151056 553570990 890277318 923548652 194468314 210037250 71041070 786865378 787781352 584442056 291458392 263892784 340771014 31856644 521340134 115505586 868340002 879656528 910457200 686661322 232512266 906297074 627650252 164833228 314328216 980461398 164437748 398726726 953223780 356806338 22010028 971554766 874579026 483158202 246579032 767809238 154944902 662595564 353998020 732902434 993862532 619010786 235521140 924953246 890562812 33913110 556089546 488081248 525698648 387917968 502790652 926063528 822974886 638092380 21070250 547087414 824195326 934492180 27475032 222802932 533185052 983895480 537087128 966810410 493216394 616591620 798098600 798080098 456222356 405068466 219836328 78844434 580527696 735199380 610746386 447572326 978477774 124106424 259434700 96460936 187836768 788711128 669125914 666114674 521383010 764321750 872768464 588931718 89961706 147862098 414457456 348523864 721543454 365678492 747904928 498978518 619610152 268396900 176678214 833088972 793698324 459741438 645915056 632405208 18502574 792136562 448007830 619360974 971352408 402505638 630436756 98213082 796344956 81175636 363808114 113988702 277903202 760465668 110276494 224201024 636329326 695491152 106016388 819907236 887888940 341149368 397982440 436123044 469121766 394137274 882560172 820553542 3621974 781735610 202205182 993206076 467816506 560714976 159956214 292430972 200412600 547846138 999268342 479989058 490504168 712192664 623486988 809878040 37886336 837419036 929212072 808128890 23740048 285124748 254498050 795966808 775017348 147652592 783261516 381342744 719649398 58746994 409003986 12615326 277687148 863248300 995714328 681882926 492093744 891097384 217703036 29899386 594245700 633756224 734556462 155898842 636624112 482379606 234820986 681136430 532040102 849121300 245663066 984610084 651643430 456623670 774686150 676287728 282217256 619714624 72250824 646636406 79865406 554178978 865236808 551474316 899533960 546102568 554292586 846158062 172034204 307716790 112934610 614068816 965274782 160158524 821318484 648549364 982871358 333731582 24743664 484016054 801412974 77645518 549854888 658440270 748008580 377605926 339793694 542430620 761505476 254323046 812997754 718235678 571752724 56254044 118634406 576932030 16513508 520291254 946467808 962318026 543640288 16571258 466996910 881447638 625166852 457066488 331556270 901854474 318128776 750865490 532626428 942994354 351763812 325156366 904694756 485276212 626431702 602002222 125371422 217710036 702040772 813270816 489981196 39860568 261147718 568991950 994230256 689036508 768690938 154090418 386509058 370062792 579790702 31185116 497176322 207084494 923255070 450348652 405704940 82968976 854655098 217498240 497978054 530497788 145490786 920548800 586806834 580916232 440993104 514605930 798746998 338119568 522192656 33155644 256820948 644545498 275223358 160654716 827232638 623808162 43046314 304379550 54080932 386413670 65013844 85218542 954561836 784510948 570683314 750144988 703569164 386452014 213919736 677248252 93966870 406701590 918306316 385870762 514799712 837943812 638703896 91993278 731972398 229876400 837337100 6174634 241222518 172549662 451452046 484636300 515427576 459207400 657263266 606876620 374425606 55288752 305185066 96415400 288050868 849210706 417671136 234397244 47785292 281123540 249996842 75297688 893076498 3914380 945428482 63565542 857538474 897967288 479708172 869117068 546340652 418986956 576222806 74451540 863162504 470419992 668958962 493462142 378742720 790839262 493326142 661666658 570869998 974335074 24051880 48543722 485432266 794162966 64734068 371920118 456045664 936925368 671203034 400481988 874890540 34268772 994058862 546145694 931451112 758017088 186870842 809527364 90678402 351257972 529603240 206372758 426909126 38624746 528153982 67469316 687512558 100226372 455571162 751066068 725552168 520366344 35980222 551538782 169501286 608037888 840059588 556077592 510590246 781459866 190466834 836544540 928991268 964805494 683967214 551195488 315645166 3650716 744722168 827042794 248821904 63583542 326320116 908478458 202458816 34129262 727953318 980754036 296304790 684847460 202864714 779485110 463251506 121117504 444754578 421168670 57652366 161962598 622775772 447511948 690611910 167787720 407831654 1659336 351711804 674072138 253547484 743546304 227170360 255138614 141052958 384094658 76026998 904226928 580516600 812336914 151557668 277295032 215034314 137350318 722533714 256877252 586704720 212841820 878698148 913083592 465524368 92071206 899876688 630152752 542168820 160713950 81828654 603991246 136235814 261990958 496140960 370035730 880816052 386635526 414585656 523558800 545255362 528576206 652313400 435102 606855522 171911576 491282184 68033640 486300410 276312176 488438996 921187226 861939104 281383732 457151960 565674012 130448652 410051796 829054464 460714476 90705352 536767062 945637666 322682956 277462916 427150936 665564844 571562896 52778336 761169174 476342316 689745794 725328622 244426692 789151446 850959024 466765466 20712178 387297654 249585386 312600640 519084542 127620324 704100720 609105250 798790050 648526118 140672388 268175986 396212226 625343924 72924322 601116402 154507078 808083836 313135768 358460184 449977370 610083684 276186456 162491486 51135616 846358300 235593616 37704108 264837080 404850162 853225670 196785424 149211994 291701370 748608764 418496912 340222604 678310220 178207866 526436506 242003720 156351110 589999404 488231500 72011584 417565462 937331678 848971150 815898612 996250746 794012362 580605444 479365008 363173854 130101362 387369554 538824640 44510474 591097756 826687150 43437824 579657950 45058426 315473998 562763858 504374058 454631210 197336916 607918126 424271564 741266656 716398746 576886204 654816544 915353656 419268090 36973214 701924540 446355362 961578100 309434684 784108742 125183660 412905032 590713994 966136172 973233618 292798788 78411088 683960812 422829716 291292444 971017356 694401898 943041316 216153334 531096176 861914958 406952750 375551506 353097786 473838330 874726870 564974812 292181274 972038650 479552644 511219570 70102084 688116046 716227570 450282054 386574668 334512666 734297898 20657058 882534290 923167700 449970738 381373474 714415278 338064426 935110662 198556020 750222644 764330828 266675560 463279986 833596652 303451896 424242746 832840156 114902314 349519034 457488144 940923122 670092188 980418692 493148970 203567060 907118802 539596790 568984920 650326362 18883220 746760710 625086340 404809576 342989290 895140926 521467574 843617392 343802432 543237092 844615852 142872146 6873132 288000948 90613912 226869246 762940002 750186128 322112646 942170876 266372420 961632946 154236892 684654582 991468140 718842970 963668230 960053028 434176290 693208678 73547128 568822030 830401934 533157222 707445120 295474854 733867960 968253726 100222536 321945894 367206164 830262580 214603316 125304386 857906488 995642970 37856130 741171334 854609786 493697890 512043624 36779854 224417008 588321090 970141100 842348214 16919770 164239520 978510224 677884374 515150020 38383718 541084000 598580494 1602442 388413118 145529576 657578590 540218482 124164994 334551954 626530334 498134054 356681222 269306904 815287192 904182802 450287702 63598328 206040688 803248184 878058130 251722400 756723964 615287724 46615548 645739852 979417492 573495828 130134540 868913080 678672120 510236078 179303680 640558804 910149010 4616926 45604962 964484514 375929816 990415254 938367826 440599398 942088610 34794876 521479216 822558238 858060422 870509056 789580536 157366970 342391346 431020572 69624308 428296746 726418770 710284686 102173694 549624760 728496138 487544482 784167168 703392812 503854140 362012748 327029372 632938002 534028462 138806216 514614304 518850294 249837610 999239942 655729706 240851972 769487110 471871042 441453750 241379870 386224936 331296184 704209376 799892866 723289476 636728356 559553632 392093310 894638406 762453674 802652838 553379676 148772734 103499142 800687846 585708354 159676776 89651330 886541706 309230102 399522914 313952574 903229736 875649522 147803852 25643138 489540816 985409090 624176644 572818788 735030996 968708518 715490696 115928710 289019608 426402420 822564170 511279718 880907224 798846644 784424284 501265388 492848996 522843300 920790692 41329188 922047424 3288932 252698158 658157510 664251120 733633932 625401800 154010584 640116300 635978964 447062364 998261508 857265586 2477170 907225664 411363852 967962114 215111674 481024018 963853060 745377538 532399756 646664876 484235534 977162436 347221782 416467006 783182782 823190120 699893490 45863488 787404560 782710140 129657754 877396092 952632384 270710774 841496904 914029258 532539870 491256674 348765362 63188060 192837330 67904622 578611922 511748860 566791296 469904318 470770314 864156750 39831648 997630554 450828104 392864662 895213810 511616296 278868706 473247124 888907218 800315836 79637524 201085976 919475390 388962732 319965530 545320964 325310310 433822480 792055730 681814934 180622700 251959520 558094848 383375434 291736536 447861806 865890418 323461400 849477102 194640922 78393766 618849090 374304906 847216336 747021632 113880696 302740958 602188906 791063520 306091022 665007252 152901960 984900104 754129788 780626612 884053880 86438800 270136716 854801700 844378364 353762400 433685476 922115714 693315858 774140306 754075358 368574768 179600318 275279842 666896156 862469036 328218046 673123668 844559048 16542256 775544830 357969966 573510624 31810438 549538840 774095648 710998094 185361880 548733476 202476942 877317964 313850042 830470212 769324000 64956568 296643672 491018588 250472284 680903056 737501220 644614970 320963732 225757788 443568756 394746640 848660540 509964904 668044718 307282070 185172068 607098524 262371858 350055454 318433300 481529826 736775984 335117750 526183926 812706962 609901506 684464592 998357246 470412990 306275756 238035006 657347998 665280868 68572322 652879156 529206232 977550228 990492358 11879530 353311884 174549472 514030660 811125566 196261112 809208424 486897388 484095914 249056274 336294396 634014962 327863972 494016236 575065290 736277964 7111218 903293896 549259012 720967582 776662228 828441992 984937796 11111886 734789736 921621400 824711790 694228782 276230032 937007786 753164460 654189722 415359078 441459394 928194928 344374274 128139148 57197234 681594632 433168746 500156270 813735440 221107100 651881974 285463256 698274394 270110890 120202908 568900908 788387796 617132086 812722678 862104390 345119848 518186446 810587960 680276770 308469800 840458072 718446710 795900292 705323276 395091290 607671322 780435886 837858456 532706346 810479508 749569608 741073428 723287488 461394780 609035326 634935450 72142712 66354782 816471460 100906844 286967558 950608940 143455820 438674962 719055226 786775620 990736662 357839448 402890302 48433032 511831482 283875424 588184440 758456828 251050954 73965192 89765438 419320744 45103228 68534536 180891450 980962258 799562018 15497274 183809830 344569270 789132718 775985010 624764182 237081312 69325444 193568634 525402132 965172544 662267374 985530920 370953552 201802948 837162812 181859878 959054156 94237826 641044726 140832430 332498130 886119378 58637882 481099000 881218200 419773564 64741374 140762526 842908530 209590908 336488670 479790320 532572324 917666602 277055582 123986304 458483002 88693378 925371102 746317470 928930270 925220144 227173780 573303426 645596300 401937112 272997568 844489042 41942034 136346450 655042776 512173560 358285518 626437012 893945838 157191328 521005132 529019830 18830962 169319494 214744130 427094524 7412556 623141010 183384502 165005764 904014072 544288610 677372748 538063512 435589684 600109638 737277612 542818410 25032626 245451184 845540784 430293054 858045466 199179330 785266728 491884652 158164188 497583272 483111658 495810696 968802016 229812792 125294628 349008336 642704352 11790120 717153062 601964374 803340148 23488974 499624246 612973248 45819406 135793672 849118588 695688898 932891240 757247586 331004856 91765098 836651394 734351974 303660016 857175446 210448672 550477932 565793618 202218416 552433810 345553094 975632636 263511850 434153872 773519866 437225678 666451626 818586872 52936848 406601182 523323580 492135296 905115228 667948928 614820162 288348710 409275074 882863936 814991972 449183092 678042544 249314088 650643448 444615486 433209316 933680932 724274368 969582646 553396270 766188056 632735856 964423630 231396842 276439482 112635938 802710890 76963050 466432584 124040408 508677226 43720304 456933496 551482274 277576736 760967852 337173854 545952038 37462478 953019744 757721628 563689162 715684908 496345720 742826270 91115352 263114406 685839344 76580342 214755136 348437874 254978316 130026714 852995632 979858498 136639068 54659356 421524404 281537632 903307062 580180062 232187100 30808576 107219050 195400532 854646976 144410104 585954706 932717898 889198858 816084398 402702964 192176194 697027006 231583210 359985252 938493712 478509210 511114966 563238336 904016988 358611234 387779200 412381976 97015708 144501514 309611678 750019948 768588092 378558012 153015112 402059240 480874592 356204340 868539300 172043270 202252272 411423738 863767926 443899546 613540012 653748442 523610898 729727530 155774840 579004914 228905468 190363706 712529572 95554080 565539062 506555408 409739680 529437542 835502914 258382958 778605666 887695364 644622308 17814398 123710212 976211058 390321674 698559036 558064804 63357280 506079584 589940930 739849970 752278136 930520940 214502698 231305066 236772910 714843140 316795288 250870036 248112796 94360440 671803184 405626044 285796000 292554290 904132980 14640396 505063050 648556144 106531878 106788026 212066008 839746840 654429396 602662328 952820078 408873340 237623630 69667808 94572152 65065566 692201110 536296000 365551186 215512256 760972306 254557288 811692952 787317806 576825634 478936366 532947080 586744180 401550362 564560846 736103454 679494098 754137328 794911176 363648926 828519608 482949182 559856072 264632444 189482404 855028458 379186874 867634128 46001764 811677962 9731478 639409820 939958860 319398294 273519186 333222850 245083220 900628568 595979158 654655298 420450482 956448288 471019052 957736966 672720476 473514852 716388942 252192862 312670606 221941186 52240218 54769818 559329910 904798868 370174768 572976976 601077700 797482376 776016740 435085000 161100530 424350152 216998084 147562968 570915598 937061180 224382442 686871720 307147324 820295032 104747650 528338332 782524276 559380456 310930378 147714096 44991776 650026054 344703842 87002340 648182 552608324 153655168 160000970 624150324 248832186 857440290 177633556 892008194 771611690 621657464 518841438 382742228 774535234 972883978 803356702 379366904 509685500 668105416 374601814 480862054 132670758 926848144 311288426 412661672 774711230 697807372 74135444 133490176 259441658 183779146 260283506 530798644 992473250 891180878 685549124 948699836 716283186 950319998 819710330 943429150 547136524 151100338 137010016 342533706 512492068 638910354 931639022 264823472 79159866 702782694 340353846 979451576 938535796 670455340 910008730 191064350 650424754 992951780 567443448 79482054 705307174 433672590 981076524 822951966 442854444 543232326 333288202 818596860 14990596 797870392 994375892 425280098 961530634 266409334 870713420 979404682 112220676 374994682 83967820 586324346 838305642 805818626 585517258 943129802 196409552 810021486 640535474 416324186 179510056 772795318 595052000 889677278 232641430 238695454 270160800 846162860 883706798 817654340 361864982 799990598 291530294 462399728 373136660 511097330 581870348 878168718 623625220 163870552 351202706 362357420 652945720 652688872 62488630 295353664 90124074 237856764 22088976 924319990 673581778 619639628 640721148 318568088 140797600 471401330 748288336 189592364 211307356 921561590 996665740 114735538 287458016 428037640 732049154 741424314 721228234 824667968 546730532 200927016 46018070 519592898 116981898 655814370 530777820 30940850 614976112 101237522 532286370 22524164 490124122 580583842 317240800 570047920 88401844 520355694 333525238 139890326 723297260 876767342 821489588 66749824 571135784 691797672 442024436 27150150 935132020 277149130 637950842 571460460 673539896 662827418 85854112 98282466 388977260 246472022 499962958 143767006 714149260 952485004 512249014 887792346 25363696 577007872 804304116 746466938 515741322 952243628 142211698 875012742 186591396 829010200 833096738 381741478 721727918 882435216 349761404 471551220 813400454 696482164 55348732 31438922 199509864 810644196 417291842 653005450 398249364 870245550 562782126 356391550 164889668 821273804 304590192 532576328 136539750 579127130 579423508 136577000 300824612 39333622 996196816 440250868 697332926 732923870 9067058 477032528 287795550 100893334 125141548 617209468 654603540 621641898 905882914 363518256 511687534 995769574 445616234 188002854 131357300 394851640 494295088 104995726 583819382 934989752 292812476 626818290 610380134 842369316 748442718 57860598 389546006 508096378 374610290 797539916 292723116 670321746 315508826 881293666 877555278 54754850 84029234 141880440 630715120 185380004 489787550 449470370 857215452 886748614 209556380 78651212 415368304 277818560 176287440 27366704 183671092 727069208 329041858 496620190 837492508 572368702 243153524 640520118 592459428 728798504 801811296 41921624 712315422 45807420 434266622 151382048 302479874 525674660 111046890 138762600 183906012 988897152 173411788 680815418 14411052 420319294 936521342 379761314 559903562 793267602 939728882 906989266 417240098 883901346 177265380 195460628 811137642 860150842 570808450 799811648 881764188 571461984 853433304 283328316 69751134 734258638 725004020 365801860 330155398 406656154 277243894 92633610 943341926 467865644 622575232 52582010 702261498 805592790 223660170 283525562 242620768 7195088 98247374 577957186 794517578 339444880 623176154 233101786 317018550 470075770 974418210 892279288 751858272 147615946 97038086 460924750 901661912 844007762 950402132 907740728 945357562 261236010 817055352 785282502 591205884 637712902 852001664 147631568 580572464 738052810 448085544 965059642 372809528 846720296 911191098 311893358 917050116 68088412 551119942 953853088 848963760 963538500 904105980 152939950 463632448 751440138 576116752 522979202 273316580 76957998 856752078 783119714 778027464 981364328 700102688 624247844 744639104 466196716 414900156 993669756 71893070 846564326 386574348 928371524 321142434 132247078 303524456 461995898 238193386 502167040 687649124 151405810 575072902 875225822 481773712 884572730 639678380 60128286 117034828 802564750 60084534 268120292 24237138 324727598 318479632 763207464 665031978 237057664 381028906 191059480 114412148 477294066 639823072 787061150 95414182 639270818 875277806 278326754 39428372 455362824 345231742 956437710 595379260 19467446 397828222 255528762 490312280 940772002 155396914 947853984 947034184 767707152 702574602 173358858 964797126 525740820 69313278 502068894 196921292 34622446 919476668 903141742 15688052 530074558 258335928 564471078 702836578 816552174 4759764 516429472 207541444 316142450 919158954 793647840 668491020 503637080 777905872 827141520 59817384 305644330 822068070 900860314 99467352 103144546 649819872 927931992 82294978 993711768 266881016 235137004 888094380 439184006 729175758 497745412 475392388 287975590 836608200 468286028 732275928 82468530 207028504 547844866 219149700 565850724 1327900 230500902 773400934 988496582 822862586 365168620 706855916 609624630 343756212 401702508 806061918 513209450 656388878 787785364 559842780 459499294 605570824 290739878 496524092 969752262 331775176 854234524 197554726 955233048 620451774 747673016 412074608 361121026 506975220 799216472 350307306 183068230 376672626 380235402 928883166 529174220 411127942 195898390 549548992 213923726 226117566 168926988 253246706 728831824 337548818 645556336 28120768 134769762 130497404 551494588 661925840 757129846 109284544 320453486 100769468 569180604 773166720 474965546 735782664 347282282 197547838 134415920 621808540 102338686 811782900 424881524 260026446 542894506 329237220 199607786 763456304 375252630 303582130 102673488 443455102 418211516 674237168 817735552 117394620 585124660 161311210 217342366 751528726 763349794 179462386 526036796 692104870 166401874 311538578 330075056 756393010 819018382 227619516 805708452 23250436 579472688 867849512 853179244 380268852 768081316 656688962 158041816 445567310 836530744 617492106 592244948 510716712 664954202 154284800 413565126 627907174 324350450 35689704 805738640 826023024 932503068 198406354 142891754 372943364 210153982 553274230 444324462 315477838 330155720 578397302 970287984 787600226 115981538 79765290 194194426 222365086 586012718 383228022 689327518 625263158 189627200 550782298 738358036 972368254 460031878 759531738 806820050 27110122 93152896 401531388 622840604 465673460 390518402 950375786 975156598 884969324 28396280 901705126 963310020 666493128 606576936 184345674 364794214 183440802 155544252 468305490 915156340 218800232 54096800 916692762 231256306 522903334 11645368 995288228 423380308 676260202 533104612 582912550 127112114 652818782 830709242 734709544 888780880 76347296 216593548 859118268 811690550 85632252 469045378 920108760 893099562 490990808 157107764 724119226 300387836 399130594 229990992 430059118 762572266 437709866 117642064 51389974 748366450 168286096 618071750 583205748 14214868 626932358 300414728 83303200 58646668 776532656 587111498 482066170 956907100 31007760 241556294 200389880 476445532 266956976 700106998 79460896 18374122 811676900 237995780 830655932 372124688 968757986 521769162 475346844 780960696 282659678 468306654 767205726 736977244 86864374 526035868 665883354 233010466 360449766 277396604 590628052 158209934 637461518 16962378 307289144 177606346 890558146 747216972 442059102 262244238 726750384 823250628 431338228 228676378 54491984 612997348 991994238 883754208 228671932 542981878 764966480 945229582 784589048 483408246 792373562 565980430 323812960 676498064 823440224 188531540 340855066 22112184 323957962 250413006 295307626 576800360 531993190 418309642 347902150 398146448 831835424 845056978 883696652 781147890 184447966 826959826 27466220 524408988 958799426 509131310 326818348 702312716 534824716 903345086 55924572 856541790 330506592 424994784 433103272 261706474 760468518 881161202 547636688 745293892 931474280 508930360 410249884 27342220 504586692 561025342 685536746 860032544 156085234 456914478 855116572 475797832 993946296 581866706 699911974 341175934 680037756 738766642 104806056 812841542 160965776 47350368 422312248 302234584 888418870 68670332 619788318 953937456 26189742 508241804 95824756 273437988 254525032 522674542 641302394 98436980 661956360 197754198 903940402 891669436 332019056 420788422 940447800 96671210 434949368 924298784 185737532 847981564 109827662 378933138 106972440 229246014 351642280 896025150 916317438 796156464 803630452 385446654 698408374 919374394 940826154 183804152 957460216 448309128 516497048 732314450 461739574 547896030 920085870 939506930 970721586 660455194 98616612 536136550 650749964 486795830 807029696 124778906 976479420 704840172 548720644 99183382 425498388 783246702 346344824 861535632 549439852 141586046 798218252 367594618 974410650 116832916 144534494 465457684 460795048 57270678 249177476 476792186 844530450 385712592 689872222 938402712 953465628 161356534 665693638 208176478 150504522 218952878 577058042 533796108 264696728 564963738 614951758 637514592 191618108 109324380 329422440 522209628 196221046 948755620 394342714 224040988 680511194 22469992 223596408 361779374 967987038 673523766 933371690 484626940 286208160 233656740 912464588 784256658 82461408 578274676 49547148 8841340 675433454 959397540 332899932 199901672 18886016 909563066 22267096 521202606 146763554 944362224 291125542 384727820 318005184 183753518 257560340 152977056 200289122 143235420 724203184 972692288 942482816 799069878 677504748 904961920 207322452 478926126 675755828 195806968 58958768 876326688 450145706 413552110 443338052 598840956 99079958 2847728 118359836 560310034 327530704 616235368 728167496 343478694 614542990 880834436 445627726 204748576 134394134 934733446 945283008 206431918 837619716 909284588 159183722 470295096 851686684 136854886 699660772 754636702 8784628 717775374 942484640 514303222 374142402 612027258 808958364 583407770 239880604 137682366 358176854 134742436 706187374 902932522 709992764 705699220 83751182 982422348 820086152 493126410 261443016 645415222 365952846 383996890 486631912 197731276 382005224 6337214 27179236 520244456 240570916 922250788 506873576 269176062 248562140 788605836 465904844 8306284 374339034 979821194 174331418 456332630 452113400 563184892 934524400 389575996 604899398 353986170 733710356 24927146 188514854 650127466 940849124 192897100 403241110 183391596 885627058 990376842 503474070 7171488 518453826 18134520 253760272 786722626 965819942 9504786 226434226 590063030 457211544 781705358 610633720 935589638 926122008 910019244 13747840 515578542 336356996 563148178 785224076 887301964 224704748 916805496 15132628 568717786 430041360 128747790 938175258 792778592 416502910 728428342 612695244 325621314 41821950 967118004 255435668 587864998 9398454 843273452 169415090 598667470 277024276 662905330 52144894 663195688 399950662 767849954 543962192 330832040 352859970 193662034 428613588 642421248 284538190 868827938 181022304 458802222 611303978 956393730 646941588 748267344 787329224 965016434 268950026 457945490 332249804 647582892 764100518 182439726 839718342 165303564 493086756 882274578 312376690 692340468 27428736 316900750 922790786 590195328 635670062 851351934 131879414 238739008 261901938 521856286 760186808 725962936 293367468 543232928 903271942 708388594 781650998 193323752 526766612 122281708 871937890 726387206 896089976 284090028 878511870 132011526 737548588 716352642 629032470 828380536 101528684 529341508 447728200 753290468 333817686 212627284 592933250 152866620 56083990 899887104 473980748 207909068 540628778 841681860 196716288 137808182 819105078 708416758 900329248 258940010 302939454 180434802 826074086 226932864 992093172 690335768 413215056 82471608 216187734 464502564 725730968 992674886 333989714 677469358 239990912 631722936 968503460 403330790 326591404 177335684 544908896 441894820 121689716 793163602 292532896 366068720 225338656 906546372 963167396 282563728 217959498 728650874 825555442 763912066 173690762 70834586 958604572 348431908 16379134 435273510 879162840 260674978 943708688 998055456 817643694 366028862 216298284 819594324 294704064 250555156 681531030 664394876 828373272 847690398 827960786 652363474 363430502 628479730 707937426 599510280 172583252 775361536 176261168 820122342 436655058 459956716 548796230 273395496 453346894 36304446 548362218 518512350 229830834 933235864 320833340 400744852 831958128 959730388 500330800 979703088 67976836 943015404 325762530 547516680 40871756 935822776 709752374 581842682 872683850 941414942 482964788 240190218 518375322 261329912 290565808 113127162 892419348 364896080 5615238 644400392 302660524 529671184 611976990 299841028 62132476 358035020 82936030 562824184 691596212 666886990 982273092 271508670 846771868 997132174 560417296 146320560 104292348 741350322 749218162 559424810 925850244 605875496 962598990 716222154 32496722 892184960 19776932 237032212 626944046 894368164 559918128 451163492 245453262 3702984 260125362 897630064 302956776 445220128 169024246 378066768 373596506 161708266 350683762 754167806 718026322 478167594 149267290 929024580 786950974 602652676 340151096 405897638 585338670 686660092 446439716 982240798 496336684 498495910 604599298 443494234 358636792 529590 469306900 482275704 495364708 728448742 789023220 993118914 242683608 948410968 859962024 87592284 359727394 55748752 545035748 594637832 794791890 350454832 701092848 288137654 542935000 417235872 799434974 625908378 540707614 302704030 374000578 749470862 827672084 917235946 459542530 328804244 264077856 199102332 526784302 422992706 81203234 696234178 437188536 28289590 897497918 300219436 115167166 799350050 548648534 331685988 368874190 670240050 944193818 347442118 824083684 359790730 259261594 83823962 157060582 591482064 877700688 100100748 693190116 183829532 582097390 523454164 530516256 141530062 494461540 70053448 924421886 783471274 696186112 681283890 764142048 47741212 910863020 351438934 424934940 354370894 310897622 836520702 973025910 114165720 499784616 107196042 157114826 152614854 586866660 777821990 831976570 27637002 336114356 397428672 250993134 380791462 613946684 831796920 768413740 934583946 472446542 613127194 588609498 909960264 341235350 706908764 983104318 964454478 255915400 204199708 962807432 420715102 116070038 248409932 260312908 630963684 215240590 858117688 543805444 759573874 948628480 985706908 441763444 408535438 697343308 281470446 589580944 236807870 560159734 999604626 556691832 458341098 189141710 320895470 824267674 173902230 435083112 87564162 898961930 947826474 171795038 865390308 238370198 366276896 870693450 878965468 167140816 972061576 696463176 343907628 631977618 708392102 328384294 381165700 289968636 770074390 445760978 667355786 148476948 152003002 852295882 443903028 626704 994649222 935178 896393074 472592612 145429738 273239672 514547076 796042104 684976494 330891214 775444042 782676636 317875368 336963094 550173616 693004028 551434412 403237724 693609904 273452680 989059140 158642188 427669092 952136942 9257124 318570254 681356452 637225504 864642234 259373646 340041336 54712838 311598462 51563736 347919956 127639304 159769302 631838194 852388232 704564290 747029042 808519842 49330354 434753606 454864872 630827724 436280062 710941296 697482214 140308352 943064256 682775464 987639532 175394560 324594494 795908676 205722510 576776436 896439668 33842530 381660020 97317702 181803950 509059904 784606702 51378078 700123852 96633396 98236204 116718266 9822992 25455544 319458576 576560712 75326054 711061694 315986018 787831072 129225416 415752810 442015244 561693404 784054424 481730880 84054368 121502132 772105034 703144964 589953226 379627390 311550320 580182058 626706150 548154926 591240822 954486406 151662448 585339826 67050726 44183590 375444338 196993906 676625976 930803030 344728954 492792640 350399982 769797322 648053634 23865064 283096978 230651046 815905948 67367048 783485430 430438886 438784778 726591018 678429750 668928016 643255528 62139124 528190844 802138634 131830968 222647212 810888338 817462758 193675622 980148668 424294912 305779344 939756666 60981690 861367214 304049562 410755584 97389596 842235450 218993572 70181516 191710776 477943270 760228474 208350954 392758694 959215280 92474776 338705576 925614704 200807100 98151108 175851850 709062988 402728058 226855446 104243580 996759414 70771226 395189720 737480490 912420354 853272186 178817440 795644086 513673876 591295762 441211006 106177176 847921956 793945784 946821356 209546120 445304458 436596526 499675310 247998980 457472356 444154680 739280776 647896062 757755040 972714964 731494214 801485004 158440756 242630896 472911506 712390344 916466726 983844238 778563098 509503082 243050756 63515900 12456120 61015436 801997420 212763126 854976948 570831240 349763770 553041730 206338668 714609208 897899490 379548662 653746298 795921768 283855394 205016948 844063664 502471580 745195596 611759126 73337016 524449338 66633272 605883384 539900528 801621220 142013082 650034822 396190738 123294170 785605236 926119742 274998108 276944068 327959224 573834974 561404062 572867416 339146048 393710874 373129046 401622102 711867730 739701066 556808764 383913548 209331002 164445386 361414740 550855992 320305840 157441586 6542290 106988400 879112460 80604378 688079762 97178220 12345962 624055530 713713644 551706472 377431510 513889744 520755088 13252104 79309682 125187488 68344626 681920652 137207572 650737882 552094602 478386630 149362976 751895386 752674682 288458024 634328278 68963316 23774340 297521354 101395888 473936488 47052306 261146680 662929112 746473886 999825426 564581978 919390016 894363070 435648430 542056892 656695570 693760552 578326420 283349558 901953436 545547550 464706806 6143934 231629386 789543982 135567432 644891088 837532858 981241478 796138964 686140018 508585212 23531510 449829156 117522900 554555506 562774828 449733686 882750314 373497934 919495792 141063762 621266792 122627854 629421128 417340732 638651912 330927668 134184364 539215420 259703010 605731518 53127418 209356118 655135110 939129964 803066432 81033296 786110120 244717656 316160988 146389702 743082384 149063542 791315434 419224966 387606412 477853246 35605172 318545552 675076016 759728038 172689680 387577450 876363460 105517790 290660328 836138538 420445316 702110246 290048722 156646406 81176244 585829992 551014718 880295090 943914580 765550106 582562918 747985424 627718238 557348570 69086008 780030654 417171830 592834776 668323274 178397042 932560398 417509336 89475668 372303776 823566272 509912306 587114180 421293708 960844076 125021448 652711574 235252568 530116186 393251578 271876594 454784690 664694172 897892992 804606212 843253004 719757244 85911986 540228544 89880264 40576128 930409022 193146224 220586376 863459924 292005396 660183526 98867070 739705460 222079608 216343558 315714428 87027178 547265412 277309438 683566066 32650052 214835696 914001316 229494658 293216876 494077426 341776686 493844692 234425042 541444746 231718010 491927002 614716372 497951428 639919630 267347718 499011060 730624000 979354804 570236662 358794622 245053274 69707280 818674276 767349604 13705988 55367534 151298292 851155970 182365808 883257156 840299178 73781864 923436022 63888832 80099228 365760764 421605586 440468958 575797148 718920316 513250784 345656460 708127444 850411798 664482310 754717506 732940382 374562660 883116588 830467076 440448530 5892240 733433262 537570928 508170846 733450322 531762074 429392612 877399670 724489500 976876560 87176496 262408178 286126602 477519854 234198192 187829366 348911566 857393190 290733432 426095212 773452294 689321164 847603306 453110898 560538592 991226290 118458224 835113272 595884354 645558402 668412774 67384632 37365246 792994208 239470916 151735832 82187318 753011774 436085246 139607566 346265660 700648190 673666922 148768916 910007540 780915212 855817218 893535828 223938806 467828450 279715490 186749404 491024130 86716052 469011446 284605060 67372052 925694842 865530266 359490676 962146966 347327628 177777572 865232900 874490076 766256664 266887028 853156992 741955480 985400868 245575450 678910464 907615188 59344622 953912826 807150274 392180210 365391752 25699394 337554170 203655916 82314656 568927292 246961830 407143566 331024884 395153344 928483896 283178490 691898550 144417640 319267720 601319150 977237626 79234420 791468994 434183578 626723750 650920536 972332526 585093022 722870470 801184354 310092888 440057248 108063660 690315444 527310390 687110060 143903316 235833504 931194404 99484868 666093836 851469484 960136658 508919966 477437458 585473040 574242968 186247298 994835878 984472928 809763426 228785380 580520416 390588954 407030524 709230632 239895214 159675506 78051028 100690472 708479474 649829412 260005744 13903772 379797824 180616874 486720582 957439630 365857620 145852310 736087970 227679878 998409540 957865904 915248858 759787866 967190598 166465452 80383526 783661174 145610028 16958890 752953978 265545778 357587776 259476340 771956630 92824494 362696888 508518760 51346188 645874436 808875870 428025706 718333618 208988952 562597990 22320624 665341984 265673760 271485668 136591632 341284110 193010048 476201798 45102496 278646294 746500866 433169314 504268302 645096182 808877796 794492836 30045332 877109374 524463390 282564334 48996110 179170794 454627734 296996248 161919844 161266426 802652506 890997356 49664888 950127604 640048958 176288474 317711318 295415776 998582280 338959032 473106548 540683852 727092236 261892752 485349838 210430658 605274002 777249142 880429276 189149546 688958698 619495070 335154860 336243094 234362720 476019182 922648944 148409618 342322924 621884714 155397410 111350016 546106984 665873524 273012552 890346926 551951092 214189688 907314164 197045724 424884324 905996194 623575672 102929876 925913418 255626376 322733156 212812192 813789822 238856578 728897230 131686450 226681018 484965634 290706716 325551662 577076888 937571302 423126948 894952442 638961612 934471154 261556258 862862790 671224584 183836260 829513652 214711398 297111250 339783040 735126040 423327572 689927770 396738046 863051844 674577986 248374948 328822036 832985534 195398746 384487926 489875284 472000712 639695604 598435496 73282284 548150754 207708896 514113074 907880648 191251324 330102746 198426158 729270332 22572062 957921692 303264726 866837704 332964434 951806922 439661618 484659254 691667404 975327858 776886326 757516332 587907750 194707228 821705742 278850316 806901314 624023438 46978590 442341232 31409702 657849758 810600694 115529604 591181218 569039970 920186890 504474378 718079268 382811594 18540612 731295706 731900540 544353498 136073436 999202000 399087324 814803240 596481286 472812544 970566808 927263486 907045720 358847754 485675466 318041156 374209672 564659302 66214970 693824178 393370036 363006770 197169158 798509660 655760624 808463466 286139608 150476522 850622330 607875670 723761058 699978082 538545904 465765672 113576346 994811412 396291364 413580794 794129550 245960560 201867292 870536904 727284944 854404802 902419596 461871520 103534014 300690820 532032172 182548308 740501884 756229758 889459432 748926588 375409558 535961502 491282466 42824322 454575452 316160806 758560116 63518802 135384438 114595002 636800174 468790648 604687154 839626462 375609262 121987756 330794492 728105520 203553044 371877536 71502060 398989678 182522932 419014394 781400114 629626468 628917974 842528660 390555740 112643094 245797668 130829554 14260008 653592422 296501300 169299548 758957922 966836914 667672396 460087500 931266670 4458656 847257878 885654456 54330394 236723986 294008870 971084984 341137740 386309362 866965790 604752806 794316780 474483018 929554820 907283442 426766156 417359054 538126740 616265952 114066626 779413956 10168380 836726290 770854676 918178150 429546046 862639658 810385608 979879778 420040214 864485068 63429372 821382010 839314272 974859050 78166096 270766066 428505622 773196304 118658728 576012306 188357218 612600916 930326356 17912682 271593736 353158584 640494654 936726718 278475786 89053584 72511214 97194342 728114410 163666034 903898908 702469052 164574370 319437844 47745510 789429142 99306164 40907238 462101922 467468406 161057686 606022710 542647368 826580820 281342378 509847882 154448020 54394546 766951750 768292332 379712918 711400904 452238966 847827276 904086312 160588486 486246556 698614270 524752116 734753934 719744710 82370678 649120024 789290788 227049016 508465802 132498554 810948646 387852336 758183010 655921390 394601468 563090544 952440554 235537346 739104704 377568818 48257476 239198320 472305370 775248700 904684588 268702702 372981024 853594496 416053606 95882034 279046844 435751400 205131656 822966970 623216900 878157656 145448438 72538980 107618754 899155536 956023204 117592228 528204386 393465746 987095718 960179870 180245878 184610108 918414018 382902738 394935254 479103490 963384822 256523318 565292004 429751746 29007658 858728052 346965622 98019612 616032822 99136888 936282596 15990658 242684094 428683918 849992918 847666770 698872494 961099120 67639824 791827400 117169210 475955048 51240964 383818610 75816908 134559332 41461332 572860598 527442464 606706510 307808712 314422362 416726228 881455912 49041508 233147624 203564730 788668852 543671376 522858542 926478220 307481604 987204122 632417712 624876966 130260282 358359146 776355746 976616488 452294292 84194502 305443510 318605408 712237656 517230198 389490210 118450036 650281068 625429556 928187476 90781334 588907588 165075180 744658614 868480518 419635366 599871282 763093672 970363952 464064708 735685918 674692588 52576586 408407108 275670626 995080286 867701320 988933266 576338056 529161188 331790996 663932294 764732512 226442744 461070620 347532940 65065174 767224512 676624626 957433000 850443642 733082012 536076300 717861300 550282402 218736740 487304720 677028164 960709304 725880738 716641260 867539194 485614308 163466032 210013992 125474782 169591810 169585596 271522630 411286428 804503216 251911852 361948144 634955236 16136958 617744698 670960182 932535948 78091532 421461820 191814314 274162892 209519052 773592002 326067402 524003664 391069734 895697986 844916124 165406222 132122966 995074726 729013134 403945732 808636926 137080424 709673628 365998108 821879202 768754416 342972306 944006312 823105332 555836234 519614364 297377556 188905552 167604196 945257234 668066932 713779104 479574754 559824842 356078378 933628912 785930232 151420286 668426374 102557840 821676036 551585486 261237444 63775244 816473566 593856462 796559744 43376400 613476726 133871142 601149792 475036474 251346312 348653294 587869580 262314132 83966502 49079216 921856978 624709290 928737942 529181494 181482462 139900594 427631980 267047642 217549352 477548956 662213064 244025800 501550754 243687036 523355328 196405186 711928844 632821266 39993964 27817746 230311554 560323782 887338758 743547926 195877320 413012460 265007756 168848770 980229280 419882746 498212986 557341712 481550124 603140590 406313756 576590472 960776634 906085782 728754636 164474892 716780102 957063322 890718484 161838582 770866400 13792822 226627108 941102046 415320830 958062168 782655994 896702720 833454494 520727090 894938408 115212020 975431908 693420760 962561234 171337278 612806734 10785872 900755920 170354792 348121412 689744886 535919974 898107210 317414032 943251418 568472494 842795830 279476420 593129112 20396016 212061076 295771436 954812510 355946458 416531162 857455526 369695074 809669978 427475806 184994898 284836540 202127122 293505520 577035878 105945396 952451876 909661916 946286966 978331540 119790886 546800106 109438386 253045540 572027616 483332668 237048924 527454756 43357168 805736690 299589846 730370226 428100132 411392672 894766808 259344972 375686040 562154796 473943052 719008290 403771486 14517424 212978206 63586540 748577386 360254646 417830412 873891262 610577896 259904726 965513278 158031358 983814394 159416094 311448944 435273116 838128318 192093878 180052900 147416458 746166890 406516464 424344230 710965152 368576126 606354862 490019756 817125770 355289988 980563874 607095716 970828980 410415524 631150518 927656474 600227500 495693628 426825780 195743028 873455094 394934304 943545298 866453412 727193066 844118132 799834230 947391264 59797848 882343652 489288628 827121502 1429182 754952658 51855938 595512300 515838494 848900050 440092996 196863454 948622232 130779670 79815746 349438434 478361336 743498396 293723322 107142212 35224072 331065072 335082478 528366024 675356514 420402610 607355602 526210142 513511022 961052922 160672008 311065474 44687368 938393370 153697514 984914424 472378978 571388848 978222090 321066234 568563942 5439946 914019876 35858964 868126590 104562414 46465430 915950908 391306352 35372486 416256300 767616620 555123862 529954806 300743622 256390850 976741266 986026814 201246404 439841442 347879554 144740750 2382550 453280506 444140086 739030158 225460886 673836700 835192212 539602576 552616330 503821946 405130976 923510164 106273516 465123354 428091566 218421476 20666462 417009322 564408970 226242078 283171504 125047914 814043290 449214316 631904300 192370968 96652016 604226782 240396006 225228120 857805480 417987146 919675466 655729492 72581270 356404166 79088012 437191670 367659864 444423724 888607500 125519756 552020538 553627072 353964458 432472238 122101920 147920228 667783318 596919552 64451004 582563152 24543218 58846946 65264388 969114696 313420442 108192124 530921224 700806894 549387726 498826494 245756802 908941180 490802594 47647996 980007556 447314954 533239356 75776358 604044710 437058894 460406322 228856688 86671254 632130464 568704700 914300498 68052784 242629056 765922340 370110084 416200954 816816354 849984576 887163692 793258966 233129492 157246888 633035324 864259954 381210188 763181370 825458442 102233044 965753624 524029018 882256292 499524388 225482984 467218096 297115022 14088446 420709132 122995116 539915718 750209934 794872370 451034132 215484900 429833160 944173112 685536838 269911592 627262820 367355992 878886024 723336368 467983120 478079498 814451296 681581602 393041592 880672992 884828882 381431798 12891310 571280710 95524384 993206246 437708760 353615742 591255772 70658260 405235030 701689434 65698894 99690150 542774834 335533152 707660262 670570130 595843412 553142610 470113414 452278744 392345520 796341460 315328408 794670260 244792220 526155546 870766606 781698242 561528360 402557808 137537688 678592870 82446924 501516634 639810468 51365734 961935262 386812100 876581956 708833752 69166706 868785832 621776764 904076740 200443240 523025268 441295214 143198484 122722528 13431612 715101934 589492204 251528668 74044886 745266384 303637480 561201940 301193164 284140258 586317488 394045308 739730610 555149408 82434674 21849672 683417746 825347140 192488158 257683798 463591368 24944994 996507842 960383782 51873388 535863146 427609620 821223830 923804266 207684068 564990570 624111962 479621276 826106386 698469874 492257086 702812030 50576238 757396332 959208966 645576764 129194792 69215822 376129248 696275712 829744540 80215732 459552152 37370962 382020706 321959158 295553862 948240776 802486420 202051492 362106532 40116020 893870934 616639240 517394844 960209264 793755460 981135260 271554452 287740486 264105878 78243242 83963020 481420130 109752060 100867620 44155156 448200728 324530714 306675268 623743486 934610582 457198776 215686324 372954536 611374390 226583870 696597798 953423272 282055898 118854162 160349614 402841610 341057440 860055572 365104032 828864144 368868810 656140156 299808728 242523354 785608312 36206376 405999716 279295728 633497460 371872976 336007644 122720358 902108086 857237276 748019318 49408554 195579698 887062582 784836572 285600574 765680296 283591470 477163342 805214252 312401932 841127126 176660512 908705778 459032362 920204400 145606220 998205064 44023132 512899814 383632694 688266414 450700818 745522558 369606150 695849854 683859544 498325802 174250386 541182866 970438238 119787796 273338720 237517840 323073876 199078622 125902454 27691674 335550886 170105940 678541456 416368746 47174942 160588092 500032764 748769684 973915276 971886572 555168282 991514966 272286468 53922118 729108668 135966804 520966448 485442342 395266170 884631956 656913518 125288048 943440196 110779960 731343580 86588178 646261302 840935234 308713564 608341100 385098692 172125668 887980026 867432936 125763750 523022068 3520976 261636116 696203568 847592960 620004594 137919162 797692592 176963862 251671838 390315248 253123374 875298862 325325118 907072604 139803366 687853328 367518386 586446654 672091162 118992962 975844174 661612766 339116900 732375238 884650984 645979878 697324288 374204956 391293606 566038182 985482028 934976704 866102050 923214232 662987986 982313768 987469102 939707090 339018372 110998146 970489638 845799084 292535004 354036516 306985118 212376862 182877650 520320804 345418876 28666812 294406802 441621606 726061006 883528022 474674680 91902312 219255520 401360586 456062098 202270744 695514818 359034874 177921512 313457146 302760234 527802482 217903540 970594470 774548720 808434332 805999318 17362158 516418046 642848458 353727644 773053384 369412128 135853082 21925110 218291034 198184448 873845412 397136738 238104998 738385388 461844160 763286446 790871860 297283564 711415284 658483648 740370428 631687760 308650150 660595038 861451398 449467018 81557554 554293946 244067614 673328822 100286404 534354048 25047684 591204502 214034166 874864816 852410176 88161912 944223958 174169032 456956160 704771832 616521822 275396300 46032076 910317792 346235922 67321648 115232506 545579108 381090802 127386472 934653732 216178236 889858474 458766042 568410780 4729784 664040308 155929090 876070220 450718348 267560978 125569182 4689256 733968198 727954854 409938986 82086288 870427488 887737598 176018396 785719932 956914442 487352346 905260700 303145994 74900918 113494108 763845986 131903166 88159994 225573238 338443052 807726502 295573688 65494672 751729656 36686304 834852910 968305264 516088000 530298138 55773726 595731956 64734556 3946764 99444756 624221586 456821988 47332678 313977996 910104148 522773570 705602786 125709552 206946652 993032024 961804386 129400082 907325320 267376058 594309248 562528242 273172410 982218766 274085750 424592578 977647372 653421674 476374456 480774344 612439266 635540814 113331966 44945494 396311864 389424708 329566848 983563622 82510158 867052048 58799760 655875540 492297988 60526318 912962332 710798158 37655838 928175566 462729518 658513644 235639612 436332298 933551380 149018786 364717904 230061376 703471364 899297902 978997710 576858082 62130738 430111922 282420058 94817584 703633562 307911986 353508392 57680078 905957358 132653842 807399678 987754348 738755564 651363880 160873336 421698798 80905382 749780630 210433488 788812480 553183532 747089308 701905874 885255286 133272478 632775906 810283254 642481420 731842498 926270232 523739824 387858428 847019362 935192162 969482256 826160736 581374300 523495072 502360536 785433220 629125306 841392176 887832444 410924706 813518958 871291220 84006394 739147090 773939108 330355814 112718618 246109920 456057736 239721392 427231114 935325008 556427182 343188582 161898596 320969386 139846 46228786 637560092 751921466 917705776 853279432 834233554 334994004 613365250 845907412 187081546 513363172 91542374 829607744 307981994 380987268 101096624 385659742 369272622 296426428 464037904 63279860 131914728 184137990 514731260 675872824 358815964 33783678 199545212 323073446 82907124 926260516 454229516 617074586 986062172 272478606 150188954 668319690 930936682 285453050 826951750 400254618 69864186 753260208 532570086 143380974 361206626 969613518 709223010 377012490 367841270 82267304 903906130 675501400 452865204 106332620 871098874 308535736 433262628 816433382 104976756 617108040 76903414 683045844 412734642 77300184 285772704 96540872 898048942 756704968 933436782 728406998 827706670 528048014 622278710 19439234 194940316 717978110 439659832 798660132 16444716 709910570 711387388 828570344 326788908 325002956 289645970 187169710 217636172 640028582 647697676 930571680 851904600 182242458 628966442 584658812 465560444 99963478 56602238 599112626 6950488 711876002 262956158 511578514 583863302 291353360 153735986 348421140 825528634 912659122 595349946 864480048 286778430 348980900 342315836 869835244 942724516 906860368 88647614 942171182 622533532 675311558 61358590 768419930 946837740 129680348 699943070 367117204 594417472 777195312 631432130 19507656 923696510 333438282 143090950 658859390 813339508 952958452 767736454 20099850 687566314 990522174 333625312 712606096 28097634 702655876 54839972 749338446 632094538 433881096 179079998 268254658 661157586 808875594 732715628 413048524 913204674 885728502 464168284 805817110 992444574 572552316 53587676 297056932 419468066 484819734 834812428 361718664 581748788 846812894 285220684 557473856 390483002 133361730 29805672 296919104 216383002 997446786 902507994 764691940 395424022 890917868 529038024 934183484 311169982 895823854 766926684 7608130 302450732 670526678 974971326 198513388 445597426 729168030 928307554 402471892 143800240 884953670 801348090 428503004 272806422 658668622 294919648 44300476 985208734 59701848 266733640 928594006 660661716 294708126 107666638 300050434 593091896 622059590 213772322 522043274 628055146 902011944 514408378 692608352 533777370 318816566 963463432 670660206 965849654 833792158 107584702 487422336 391596442 404577002 359800934 78411718 846259936 522257212 250021864 131380026 542068654 476200882 25084652 141820570 836850312 229108078 293576942 862731598 388578514 868980914 818569172 922150582 828754854 78148012 957787554 764610654 964213012 124962660 70132804 507097442 911716094 843451472 497861404 224546260 429272846 790022366 337092038 114732672 916085716 870207166 435433650 321446992 50745876 910411030 80475884 239236718 26956486 814854512 773274236 871940878 981623458 230795826 54127376 13664154 815901918 531030846 662712328 262415144 502614844 233998012 62344298 617602598 446043344 967547106 621880514 630052412 825226082 222475578 195390604 148540538 466447116 714549088 390837698 598151886 219725798 94292186 33564844 330965858 543329478 214834596 5327474 420837286 814724302 682457408 190107268 207455862 232879604 573060552 976287786 680831068 70147188 916368324 11148806 686343280 882270534 146261236 213748272 294429636 600567112 226095622 714537722 826718312 550494792 569711734 437218812 138581698 922419242 669793912 560052130 923824558 928929372 299080698 479186416 659651466 746736928 436030252 832812920 100782244 389474144 563259240 344178092 936259894 222929862 143305578 368500150 821757002 315536498 785548220 508908948 79965810 974112980 389577450 406646128 785872972 561402400 700264104 641894848 220984108 272671238 940754318 945530652 133676470 903419052 907065438 754322980 858516404 294815282 97279054 378399012 68117696 939631826 625166698 478373068 152544558 27040632 664139016 371895920 107422466 782518702 334414450 521149628 555172176 701636468 125071868 106516622 112917868 518736830 372980830 816175326 107926654 832041410 738693412 201487486 283286578 223352900 307878384 749091204 695900266 682928072 6991202 395957554 836923886 763337174 880362600 204667440 552379820 470625216 640642314 565006788 120032414 885987804 471655242 494880180 837314474 404239846 780155866 15758854 715606372 587253970 3617154 601288046 884036150 680854116 91037994 799680120 733184888 801585360 458062432 992500866 60571804 886365418 336497902 321661468 539146052 688144370 170820838 124166782 74032828 102150952 612950120 112380 947793808 921883510 884755716 778625262 276691274 361444258 945006748 494828772 921303126 946650926 163308212 200400580 449042272 616832256 144378530 358415108 51891404 166040814 172036872 917536120 149423454 892887850 862907914 552681608 258407252 325187138 119115114 44148754 87342926 909461770 423074910 87799908 405541818 948791556 434875898 281762948 292612494 383629788 439288856 280466016 709328840 726979798 538922190 526198300 692919668 54924760 531929132 383476924 417056576 427828092 105963252 108470450 521384724 98324812 851996386 786050568 114267730 222527362 780788478 351909366 567613736 324322902 740089038 883074014 254761006 572845008 994725092 356663302 27008638 806745852 382578892 742582346 305272880 205375266 134798744 373640376 421040704 15402078 84152150 778996036 855671076 415712870 498445206 945277168 511209384 971236432 824792010 366621624 186721492 948925016 197714348 709167394 653495568 285803736 782020578 504748240 140540892 664599362 543562226 465965344 776896520 792380556 549637670 856032958 161390110 414492992 193515728 637522606 125804808 999837902 332313014 559802628 857838542 176703284 786009324 730048690 930203018 763892198 473228934 91367484 554587370 933900598 405745812 723997660 788114412 663534482 696023168 158595608 317857794 49248618 215608534 455123172 533916172 943074792 942908166 242778664 188810332 168014576 669504182 785998310 940366354 439326268 289089640 355742048 891539798 279651014 367650728 901683794 905545544 798120386 371948312 703861444 921334652 623583810 734034726 230711402 654256678 531627358 184076612 703846240 930704930 383711744 427810962 982934128 916817798 317409820 810384566 573380414 562524570 531481038 310026430 536168826 572569364 88319120 329429588 393811128 318680532 46054308 595522294 719478428 131366954 465456416 731644876 823659750 592406658 939285740 321035620 507949818 385482992 175315258 567192622 364561776 293451852 517779434 509542914 416782614 921537008 907132538 904240180 400717144 727856998 189388412 727372240 882681970 293532400 527629022 580751906 107628658 914314162 548706228 750018582 742866174 85372142 569871874 538497762 432136168 673417086 751405624 536814432 216389888 292868546 358320314 393551538 607909160 845093120 674059436 45093888 717007984 752714672 531347356 119300210 767830690 586941454 883258142 291321148 663438116 654763056 761981730 349964580 953078458 765125642 770418928 631140182 274072360 985975094 38753158 853677346 435573296 492396018 649195252 490405860 586168802 784853254 566241354 59879608 322480020 51211476 651005890 73646982 878308622 854608466 515846436 657568368 412122598 869390462 695642654 786814560 303206874 498494680 699173106 774531640 473713548 141840150 613412434 292640940 269671702 932115574 81302620 744331708 929447548 28453182 318470464 535212114 975193508 163966896 396912124 259374330 308250862 825755414 452516474 24067850 588372336 170242016 306465228 554721278 31024500 875359344 597496234 337087194 767646752 247171562 333097658 666108628 35403130 44521056 728969586 690271880 943453798 441681340 546331396 458009856 176044510 244110568 537113100 901443866 12790804 774510732 682893032 993489288 371812424 364527574 554707128 796080476 125214106 216090780 233596708 827071194 607090604 673482580 673207072 4459608 775960770 685954188 678839148 503784258 113286380 695582350 237655126 400458506 864402614 455229950 10675756 294674654 631995118 774830980 405676334 820028778 844146724 365371514 294259482 39517332 461050100 148250346 293988556 818045768 599188476 746837918 364973588 967391290 552772388 916016676 869589166 770349208 145323656 543468100 909830834 666029464 87486916 642258142 181668316 836727520 269808322 613545702 794815370 572681684 215060732 48718368 680873254 330463012 394852350 812167782 552941206 508535672 396176194 486884558 63856144 119490772 637695024 950955886 311862936 263101040 401802132 67445634 852529346 335589852 933552660 406216096 67208556 892977990 262919414 824079768 264719874 12158474 464011690 99056104 445885134 930515410 16289160 982598982 205709270 485715818 404804860 87562364 940825350 150683738 780766772 443209056 867365766 458872050 45902714 378421532 770072214 438613694 910193276 353624734 313150722 234443764 46494008 680817330 718430798 101757424 816298156 973432302 718908638 137300724 703886670 318995544 117490526 104252246 35838636 687197674 891878820 76991026 196920014 51299508 477144850 562016412 110096266 675810314 553510124 122134386 662678002 346836016 23868964 789777742 826526062 626188924 65396412 718011162 784206476 179350192 710990080 177839110 986582340 983796584 412983504 373978508 667569574 714058696 697439636 402613310 311751856 167677696 538211372 862477386 579710192 137629558 987940944 751231100 254545026 20487482 198471900 903368026 440021156 7328758 530761182 922419636 348227666 101158270 100245018 197311506 222610344 638762938 708043358 880282566 888567660 588464150 903547964 233680842 346494256 871287418 132772938 686048528 982755328 85696562 308901444 329602540 107058334 171827296 182686650 482031916 493177282 126891572 272015304 677629858 520543974 599383284 50208656 314414524 310569814 675092104 751185188 1609512 345146912 494732376 591031538 402618496 876648206 463726054 407227180 750078556 902434906 326171548 603363600 409972202 87964076 135648404 338738376 434815842 384308756 92473630 402289452 219253014 854814404 415138868 871633084 171062318 80157302 920253958 347205066 754048010 209037752 955542086 912830388 343540162 60230358 416544408 679929738 26145212 491825032 324205820 772970394 254716522 300769900 232707338 452351798 904028062 177935208 876704614 308115546 78182662 632993916 697989140 765699562 576919290 399372916 166289854 882385458 397619694 800144218 781412842 7119176 408347528 206093954 877387320 967550720 902024178 309061512 692639124 824090620 182884376 102116478 280090180 123054736 786279452 211298920 237576996 291854186 733382902 351121432 573907202 954158842 192165114 102037796 438900572 362835042 568738606 49999220 386955270 165178816 129006076 558553500 818047018 713741626 985379636 4346988 494444668 87177716 859471774 720976564 965018420 817833794 418018188 893341052 433024740 382559166 425549654 683187192 718389952 643644562 160225546 277354694 719017196 237451256 365416454 781682762 142622582 98915124 433464802 322007916 364626058 196654840 800440558 474643524 291064 231160858 657569198 783330414 181279816 896676904 568372080 664381282 772908500 24344186 466221072 158435914 127648220 944214034 92986406 376945906 26247394 154747782 204295570 771542650 507410916 941023220 170404564 205100518 161003996 507989058 416350998 54049438 165988360 202683614 395119246 580617882 846237146 935851830 572994572 245988276 264606216 986390958 55441880 943780086 947086890 852328924 707252284 602109882 707699486 573083400 944751184 846874924 765663906 27582068 394135918 461872532 40870320 828430644 868202410 219198518 577253722 695558652 859565816 505433364 304231842 175555048 459864884 870527952 917697586 535592698 401404490 482791286 166122632 816648946 501793190 833146394 712810456 792345816 702993154 480961808 375050288 692018300 545495424 816817546 659829700 724520438 667410238 973100068 263090852 503610530 409720110 948536248 266209060 437672830 615261678 694794548 88164588 702519160 111994556 636115834 601397744 836208370 277330432 516149590 886805922 348811210 690202428 128231482 90695026 823475416 332887676 493609548 314197298 911130712 207506166 265170130 929405406 358446598 961944122 537873782 640428032 119307186 813520010 316277646 353209576 735236582 68100180 93903660 116204818 456788290 765799632 634518648 277763222 85278818 914286302 576959052 156301210 223849144 531146300 732334490 223286946 920782384 545705986 528306822 963724938 239074110 658743186 38623470 455871304 531317260 491250814 261019974 529222496 33212884 533339812 472958364 500102938 213286508 771963942 575925760 954565110 708019314 735900686 432758042 672389524 923210494 80935868 477791368 64320800 994065204 694398822 551077828 127034602 414025306 14934786 355639088 21995694 662573634 323011126 985134688 756809340 406660012 896931894 99252028 593587332 358276636 46445988 736150160 99065598 772078940 836679094 306663954 262859116 50064644 417567168 836309778 954844448 643854646 874919840 255731396 231786156 626554098 334594294 496889138 886952992 104710488 815784154 779653174 609312444 373176580 352193714 725786040 465216458 966847588 350886386 90598378 190297008 419317808 830749342 565388432 975226616 606969220 829780320 265188680 890997724 589250944 885613664 354488940 982347302 99126478 679657468 190287492 661682474 815918852 946467858 642548016 362726950 694786580 951348900 295696126 74081724 325030780 427885714 844636356 385782686 134141930 749391830 329653148 999206996 643415482 959711054 326426036 25410774 686183220 371677700 985881256 215334124 968123172 234930958 126362832 389924708 264576278 420609730 404548464 317901332 253077184 237524632 247419792 556692330 349204744 84401010 855325204 277381766 411037368 68181614 79291810 559680412 836774772 363567606 459963358 234826108 62390358 673851498 452582664 655709186 369277790 149400156 419143782 792731510 933119582 414037110 107977772 367144856 892060630 629287424 681472884 546372034 727439236 428202692 801701752 400935286 679106898 107325312 977986464 660574978 342832694 89226974 362141210 891119240 612719794 640954506 833607450 976555134 990561846 330936066 998460330 670076440 863160488 761616298 116271126 514474214 340751884 100757518 171588596 998127338 629807178 833515320 727059408 222087080 823343218 115895614 545812348 44277402 258517590 985890316 478973776 615059986 127705996 931664958 582713546 433684876 15853796 452465282 176899088 908542366 147833688 34363562 474317378 523573338 219946302 978043972 519884060 453580614 334872680 642982524 183001018 481105862 738831208 579759846 686455112 641366376 809600858 965523022 521190034 494362772 118564748 820245352 927469856 313135308 137097092 39097662 966899906 218514984 752199938 720647614 142467190 560008866 512861594 971665606 904534588 908689078 492212466 904623116 629435392 16349554 561300014 81453616 250001248 745086478 254680798 481218680 692107600 864221852 511343604 376120030 763291036 314979272 996440450 4655476 635370582 55999596 473629646 896872946 986417188 137125306 426169542 890278208 582458230 71585174 465796722 834450668 887726716 128895790 209395364 657449348 822020232 833447596 340626156 226615914 49552364 184588264 541548078 707093412 978454528 345756386 642396538 164855160 498910412 356007506 761730848 922207564 937821508 586759470 980635328 733333236 823213990 350873562 896260940 219223080 326353790 674479330 617607560 946365134 354443686 246330142 567902364 376652780 693292686 479638258 249133182 187665022 773949006 837661010 605308430 642949484 550971392 914331320 449293100 676448248 319521972 187198906 467943814 571490204 298208462 162365280 795608908 135160992 208949520 206548632 766717884 612644796 48566108 568791960 529382028 698507264 42390102 177189452 411675408 104046556 179041032 542373774 153412934 787386142 310907602 76851554 858170086 741508034 975979650 444645790 65400804 191123914 477472488 398401446 768098340 937002298 474621736 695396288 381484216 456779886 740199392 832256282 359644200 854889238 28691756 82532282 839736384 286980714 799702782 768844570 635519084 917901370 299325218 563073938 775812678 330043680 272811080 673149128 39211822 551390852 207811932 947882598 534332240 884829332 960448470 347207864 27319688 670618560 594177568 817349870 915689948 133425384 505302242 46455744 916908540 632208638 999449354 716426440 105013024 529798726 836526720 222211346 312186414 635183454 67419762 509230646 876161210 380417444 260473056 844325440 792610716 304952988 205303546 492547608 949344550 489135692 921671288 965442042 668443970 110906276 479693700 616913920 253534796 522363084 164910694 754318374 186623370 155055866 974824084 741574070 729256266 788765528 379384470 535154556 76049090 647658118 999296410 698122848 51869334 90957746 694949456 66932050 776695640 220998206 791720764 724338856 945789338 91828526 598340488 859993040 82992290 740947224 166839334 325953716 939960912 259733646 418626598 479461918 153332884 968175206 212077730 148061366 414002618 624075202 764634680 227134306 989317966 282537144 246210598 106615758 555458880 307213034 379389712 411716174 415491622 445797424 957966140 515109382 336345460 340291534 974389790 483498562 61959304 135575686 237363296 641166332 611569598 634826186 666840044 497349922 451175398 41935558 337980202 147932406 697849012 481538226 57984480 695332022 171379412 491476178 685472140 470286364 243863294 643037012 852892148 520017370 639388320 772422176 215662202 188794794 274399616 235544320 361527708 513337428 610592108 68108510 700441082 4460776 159668840 541316446 703102102 643090462 140523510 356683676 405504834 476988060 627792662 608045646 796856120 757062930 421443650 693366260 241547494 970524970 797375466 248613590 945802564 108312028 426146070 601420888 135011592 639998942 933053480 842470776 221620974 961245552 205862208 718448394 154680392 933258956 763913962 550775296 766371396 39228840 857603294 323146708 287207054 479045346 831854352 861785272 375244546 49676388 516717824 941871394 660866342 184460600 137987252 674541714 804500302 400543738 381352966 616378000 568651710 31054376 934141432 962961138 664645150 984125608 874203624 902803610 274872686 101348776 230765760 986896542 163402040 13430716 970530748 447781512 554415148 80760960 262497036 250403524 979329224 296903886 622422062 789971878 725717340 537407688 539036798 797977750 365700762 12064062 211540082 542969222 75442512 336143328 750589278 30468250 867555262 987110392 365894856 483412304 331372472 263578350 840709296 543071756 211105788 950774474 694073960 928587738 149351324 961658560 813315440 195061348 803203022 780838152 701940914 551603166 289919986 823068272 293402092 217681390 629001516 515963826 692952142 306664806 563033104 597623662 63353218 149440654 602905526 798569578 647321032 238794510 128594642 167580416 511301476 299154558 277651952 111051200 434205342 118836138 820910060 33119000 889138070 766321146 760840478 983489508 419994836 249873160 475156468 133934920 498266886 820148850 499569850 653405316 675039870 313828574 461795546 669676928 992555926 829667488 640156102 242212004 123318126 233890040 287644956 814359236 795683912 869996526 806409536 347056108 935626872 144633436 737805636 397869260 259465586 46491916 895071862 234175526 750224718 117543822 83945872 532786954 995774724 343787488 128579706 22943210 713921944 416717474 577929760 672067406 281108928 199028194 87870982 459198564 109777264 326113408 603529354 402778076 830904252 558306382 837097354 663117202 255843360 285560628 229303330 539802986 122312168 959909412 128596406 190866012 25469536 23204700 469000658 987552066 626833800 425099172 262743800 41002770 503506606 16534622 302254370 573578786 646744354 575532056 762261682 486797120 8026684 535762452 716098024 228042968 241743812 766145114 51477960 986078356 259050150 493364700 503479490 342442960 490115000 938140186 228033928 441704376 580207894 853536732 273176234 637195800 987443100 119080554 810488094 582654576 359753512 800597372 786099060 216049982 254807016 265543866 382278974 598059280 415332918 269185430 89952396 782213642 198923310 985479840 849585344 745579774 759335086 564152540 420715816 732601354 350354816 410181144 390538776 659377246 162938806 185151892 125510824 160494298 20483906 671435936 491664886 376587806 428151784 284030902 428253840 266196812 204287090 271918362 701407798 479056476 536031530 822606630 257759928 455254214 531374888 358879048 621156394 511624084 917787016 955753618 104752904 832843134 288214184 741634080 374344708 915560084 227531394 484623058 352599886 197947258 35005166 942198352 448085552 343026100 536366876 956730946 57414020 101458984 226349712 761062588 889180822 344913194 40080324 520109478 598540096 451216212 23290586 843383044 150927898 526310604 113821204 82319614 170024258 576571150 677867154 797567956 113953984 865955922 968303328 760665820 751444144 909066470 664306062 963216178 182403328 377014432 20228384 163044010 513814704 139124100 611102150 189782306 116813082 542578370 59666032 813949368 589625748 263551760 241412584 45169718 993086616 299721072 550732200 460756408 532236900 735405930 838192586 552624104 627038688 314594998 923146718 419899852 618882052 271299130 878668774 730159220 997423430 67825212 223191078 650148916 750095776 92653596 2902606 114518906 675756304 855374410 924767884 277524596 448854200 431085236 961310724 929585252 477241434 56469900 953702648 612822208 449283544 718598658 679997494 48473962 445301948 355099134 30358352 408040656 160240726 194487896 360059022 150412894 231562820 872652700 833355234 315830070 380173308 739447298 423322628 127586062 802176294 112321194 679714110 43675804 470202576 186643052 104557196 239191894 335405334 660075302 517530730 869384992 696020296 727588526 649098068 993183746 343874734 698232606 325866864 936389438 547343568 175073996 955593358 253796248 761321752 866688238 858789926 327135762 104985954 964537080 842812368 521394470 606991460 473027256 439349212 418260646 494756244 399447140 366625060 93914236 655233440 180405244 891714684 950317120 10785574 443437326 573070098 714213544 719485428 74031802 699882034 644776632 645219256 272368448 752058740 962951640 495514886 923367256 933884240 666530418 155669854 922946876 964820248 336666874 51644270 466737030 771589554 956350102 171587514 471504794 414928220 135116464 83563642 991365168 439956444 900075802 123071650 595910854 378592472 957309038 337420514 372934242 190609170 80291722 328880704 155256668 204498402 82513168 961416796 203579232 687172084 414952204 699647190 690884832 60417446 309550614 522859986 474655116 139358576 437906278 56193604 828256388 806473602 270760848 336826154 868721090 288407604 814703850 538030204 328710000 753869718 679289220 957454186 969006144 617908728 491841762 628745984 240775032 406070578 435787366 449995166 392794266 681392348 929580240 18747896 9391356 684526728 851941838 415916634 725219200 579135414 143505770 347237598 832529096 907158740 981206372 652344218 546398908 754301736 518638826 160631110 643468536 295698748 171819528 602852824 132948008 396960550 444976076 16748202 576416188 558808928 908707274 643736688 977640738 531459692 339524528 37703898 957283066 168372400 44466344 424421944 425332454 283172916 222518972 813763792 511933392 780848804 957160708 614707758 241936768 591633466 587706848 755286550 821863772 316903578 733303860 820013550 105468142 871158552 146821922 516899384 963235690 953727618 788134152 75750400 873439460 465128442 129199880 574933542 688248246 892880662 44433046 593654 937870358 920672524 808622082 295189850 426948480 589308314 355422620 291109962 703845846 263767322 21473082 688811556 391658122 848389890 158948782 223533170 940011490 220460194 326546324 447334034 868826424 742346660 154809434 853788832 709427878 473726432 583959626 528861286 711289262 802881358 151477536 701916046 524599532 11557922 956159200 32034916 792914260 893124322 576532798 53262310 645055372 500892998 571188362 821865314 542257140 451038412 162801508 427361346 814975918 596848078 411091638 552624834 671320938 515378170 668672830 847474788 449741614 35124242 796369448 571530558 417279692 95032388 962983626 901858196 493015426 394756058 185377572 762399012 159600956 51951328 14255630 269902682 603851568 78894842 681922300 282580810 364721608 906567228 551850010 815607056 754035306 949005438 859477112 888744420 234379220 168352996 696761096 221712748 286137178 678993094 563586832 214611730 352854144 688247104 792912732 219620528 965742352 478981142 146913132 263229478 576975434 810416228 256671368 532223160 432108296 280611870 612065518 891061174 978155854 956762468 207326512 979952420 442522544 458542670 797146046 696609764 616042042 794177128 589587570 55732834 855460712 701127504 488320152 59602560 970608928 161472758 553254906 263616136 617035060 667241338 642888022 646327416 53221228 972333760 258557806 993192324 86241192 373942342 985055206 566718284 21667840 382654214 855294808 997303730 956399176 167239698 917866214 433566150 295304774 544299670 177425960 420568526 331897784 715327220 989696518 331365060 848206278 792300682 255948238 388192706 867714066 215121246 493017158 713192312 251465932 228132100 753020766 766299646 126178844 182988198 297190964 785532178 980284514 846808250 295713824 244507600 918719004 443941614 241066672 432205316 141835992 602265294 386770478 927531900 238835380 613385962 343153376 365074742 927542506 685354504 295748718 94939296 167827502 650829940 268629990 604214302 210760480 550325914 952742894 30222962 572113814 954473220 684086588 147601030 295421682 38298854 655753010 373143126 643121780 221393524 584014948 943173902 905510556 784016952 806604410 32012794 319562098 687250142 274688344 7850512 89132014 262646092 511415124 350767698 634414912 61112726 274900914 390267572 277461360 181153352 213562128 59187858 333489018 296688546 959447000 248924606 609803280 392010896 151327008 212099930 298943364 610242310 349822974 591786628 331140410 901855874 90134030 456870424 623100666 777523386 649658950 621465806 334395884 335084194 451015006 789692154 338627758 493735292 412048600 344600306 567438564 600419816 167537678 961344096 280474982 603666304 872581498 209367828 564061106 488238504 461306742 53562552 72273322 385725494 804285114 403270854 632537710 382308152 95521826 774391000 111948882 209203418 407113078 492625072 30976558 406408570 718091358 892721906 901812818 377396394 534868726 859309498 864694744 993185146 722421180 450353672 714636612 574829222 938736304 814226816 239087214 4548026 543839688 893575118 914447068 187148966 855237536 533934220 433929042 857916224 320383492 501193956 574595530 764776026 533570466 688568754 116778232 161316626 759012366 713778620 837418324 237498202 177838424 199375046 598751110 132423402 227485744 395251438 587516610 597483890 190347180 807537624 433267752 239876368 549897882 676345370 84593704 623085590 949999960 815775080 246383246 544168752 608610020 162333700 816643318 769152050 148647230 855663350 271108822 367978718 432781644 254928080 307288728 879310184 524241456 978400054 844233688 471501682 251447504 251952580 762857856 977300652 561865602 2973186 472636434 713792078 49934316 41069968 707518400 17013228 427105746 226784848 356533966 442978514 619721704 149457064 735630132 479379354 818917948 597050190 563642780 381634724 405886474 71401934 665191842 252939580 662233764 94878854 712783276 864534582 789975044 902866880 715237012 658209580 728873270 234977466 773674100 721262790 453691596 467949302 952053158 738250842 407191034 477238812 421225282 943255840 312046674 596389268 580042796 432539052 952638472 751285666 991854108 402389130 500558444 206094870 24597846 498306436 202876766 459885264 25666338 819074386 808956134 811757780 501023254 768844456 328508994 642979040 339592054 260401696 441157258 314182508 187520376 991370856 190593136 835278274 262132964 978518216 403428330 449923652 429745074 509066064 470981756 160397554 967673838 562189590 157512520 349663958 988628230 358368310 69257944 685580568 8543816 225112088 443360574 793371840 912945562 965136426 11215476 208001190 614979216 835578974 344837490 69866692 486964992 114372214 87172190 140830638 620621474 866306446 93246632 917778362 36279472 1902964 759932184 748998200 874580888 890774414 84972600 53184248 866742954 280974874 234835904 418306306 799682736 996081182 393400780 98313012 255712314 161085858 823471536 837348416 457947732 391720900 153083172 246885798 612395430 131343922 271937180 843823816 263557462 867213088 503467672 159989816 645469774 651245378 589281478 263765682 471169526 310643796 361401410 20155058 959766972 963999574 43522044 290051490 771610630 240687156 439358728 355404758 235525360 454737980 533509418 763027708 992415430 241920926 605287870 626163268 802997524 480361356 992169940 601488336 492500666 199709182 188032694 164498654 868391978 450736606 687220700 341816456 684989000 583349456 111007244 968063734 745908266 121301576 481080640 747378718 210549772 66216586 521782444 378405904 803590462 148124458 507786362 933481832 124317746 287304502 482289604 335066692 896470330 612018114 800353482 680768836 34791172 362423876 545332504 960586972 369975904 929973064 385365640 309160054 498255156 12618276 817012204 95802496 237863142 225290496 617616242 48759678 668740698 947799756 418618284 196234636 850292238 974003924 93581478 43625594 512107962 181388976 899001952 355525750 448403338 428152600 772036518 781363678 932136576 293399434 226629368 141278468 91067972 147120734 428003654 823536416 29349752 309645866 907245558 934491642 326951664 994729940 15068634 979428932 997062304 753269360 610681174 17217816 158589006 341541086 977611464 790484252 734555170 354609246 347055760 685110838 366696278 371441344 776254270 341357258 310803572 931797532 57469990 517510158 73127724 416343036 676092570 236865472 52241014 72576646 172524538 463804560 940695904 801409562 389155848 717396402 499922242 906072678 607695022 406421148 396274732 810807304 805960214 451484012 151360098 977056642 993982852 327295156 206346906 195288876 859886242 161316492 992046672 216942886 68805070 737311720 238972142 866506126 13286730 468009906 494600968 938873158 306379402 715030866 818772564 971526744 1399238 556947716 37861800 991418336 335806742 219229370 255795734 691645512 816665046 464971836 77505672 182531656 793748588 470097202 746991226 891115702 906390610 845434074 477026032 950210524 256096952 255357384 439605704 936045892 273579448 610890848 132636552 380760242 895804958 95845776 10671818 361487360 880331966 123070664 520432958 344723802 939488918 425490596 968556378 910672330 941790448 348002598 571794100 11624962 294874120 792306968 947610696 232510672 26714616 46228678 419047362 634441976 542548350 702291234 318054740 563288252 460615246 906123780 556151900 309340112 17865208 988914600 296370148 887118932 919582520 718237164 197319052 453505670 730413298 973111718 139782962 230746684 306597338 630044714 297327294 488664002 590757558 530150062 671178592 84009176 673962642 989362176 900327326 291474268 386915928 973080848 634355908 97934148 131849958 228238542 368130098 685708660 583630670 109425192 512766548 849617378 226260782 595803248 398971878 546097912 199891794 513329600 412029526 560800378 397413678 73626166 652218496 880758116 785621688 921702724 696246772 449412204 348176754 790418606 11439990 999281176 538294646 951038438 377734550 282935470 661637288 649614540 399649468 647114322 557480708 875860948 301330734 675298494 414380662 400892322 823273708 348821946 562143212 608574970 321793518 873031802 174584116 572599162 454662152 252701350 991287372 495105556 847198788 92340742 550793386 598231146 672148520 716054854 47444126 899033354 571643354 718963680 68217378 52784356 317166018 762794580 509485248 776179840 259128760 491398712 986009262 310378164 807135482 553809182 198551476 615861054 719990964 365630354 567315960 265579642 284183864 309399566 158828378 365872388 293496336 340982660 724078712 473020528 182276490 863215360 615966264 981892212 177496346 510393060 246134266 814680722 429729044 190803944 420183034 554259550 530447792 615972582 210165464 313556822 696248832 925169002 527907704 745447360 485653886 452048882 908832322 403542818 497873536 99973374 18465206 393780990 596258388 197614624 332762916 957351308 748598012 730780338 386081988 113545074 761518700 337267818 565392968 721798988 855529066 532431636 612359632 93932336 115939140 806718156 482217272 191918224 700066278 354381222 891402944 349835026 939852868 402268296 532185212 967429364 472762188 316118932 222996100 392320060 411020426 546861764 49141634 125492918 726610764 658955728 921423870 602415240 662023932 774893910 934748252 312269542 809163626 699859882 417636860 929727650 249516762 40628108 632503644 177120402 410753366 431315066 82789660 2088472 921497606 404148768 389736550 505071862 164027452 601615402 640292762 691186658 837172442 401314456 648288412 755051060 164990018 676966 5459454 452405158 151513078 332459156 455647334 376496230 711305644 842660346 426308830 872135674 540465596 23680398 112415244 104077704 315994302 622611284 152378378 521871490 198894774 171931254 973268730 676722216 950139476 12991096 788578958 878788244 804754078 745590902 960595278 418009158 694175824 410406240 973375714 617878658 597399250 715745466 338996430 817084642 252325664 64158346 811756832 869441798 762770142 963936790 211008916 320882996 491260690 478504032 967868312 238096778 793308622 821166878 984105790 742980198 564180834 901401638 157501386 371292730 393223514 170267498 769349886 606491454 884405222 699467160 953330876 888028862 385264112 168607840 501639960 105122242 593967552 613566444 803928944 920065900 170539388 295959768 331001816 793933614 507212646 32752584 358424598 523316622 947690404 716061198 152256860 970038074 625122282 55238078 663066114 209916118 211699982 928573702 589959484 244610370 847223680 348485568 770709586 685926736 355646880 277075006 259483542 57016622 150082910 917728812 921747566 866505986 65785804 469380952 393901698 423460298 955474276 388859500 372650034 420569532 702186936 452194044 886879488 218576258 130502130 963495280 541080190 408422954 555427334 975929150 128887526 419634144 36345768 829669168 24975422 845098520 427119824 256042804 608593016 27816406 792765428 352448904 102320528 772528468 155530642 579216738 638044796 808572554 713408520 475282112 418203676 658405052 996870930 210124430 55836682 585756718 670227886 489341114 589455788 667323948 937310614 581716092 501518178 67150798 520097260 411095938 772376486 388916450 103062088 490415584 244708896 977219190 290910756 412422656 593268018 458340484 294993500 467722922 102628222 275711842 886510654 530683590 436682556 593110540 878864564 244954982 98917254 393443494 925224294 613535046 914545660 275870066 55863850 234815582 263463646 134052960 238793462 790185994 162063412 414966652 472037486 736031662 45966394 500587124 268590790 936405882 145679088 687170420 682392284 887765360 24329036 891457002 487707170 984228026 470869536 870550172 38980962 886751028 340447918 856135830 749911964 858143300 960815002 951333750 960455540 18631146 45046706 255055274 206612564 608820310 403776724 792859852 723214916 375822946 788040980 158498026 663271386 500791050 419522578 735297266 148293044 648448942 891613400 714621000 346986204 704082720 488523172 463076944 512587108 268947770 161487162 45342918 265248670 832524350 404283052 451833320 578521976 499061076 780041116 692035644 519119934 518629772 564176226 605770812 535059740 829184752 902932902 989905094 265474692 780869534 132829268 944922180 370067764 925594396 628723376 730154232 838658682 9036280 133953446 929952860 755539790 423454602 88793774 743938864 215178496 316963496 627117366 742005612 926681020 551267878 129615828 247301442 329403992 739888224 301967508 841696418 150019684 674134514 612824690 464385744 968552474 950961022 835487822 105682058 998938882 19053680 682749136 976157678 938094892 439044680 86960622 101075122 279251642 489112472 728177982 226209580 4887522 749684818 424653610 573067316 155801266 166654490 500537062 968275922 697483058 69921978 89766622 802232060 909738434 591830606 206721526 741259352 593330252 113566606 382724410 220153388 999520690 345128722 216262336 252048690 194651726 106929968 292367206 572051134 463667818 418484618 743585560 732811442 278802570 483802362 432027550 834909448 62296806 785894372 126937970 896365132 544689430 626330716 159764942 852803232 363088554 477990514 847333392 873784070 607503466 848698274 536165980 661722256 48740382 62563794 747371946 857260534 568953608 370053144 503284682 333139082 709603970 318220884 299387498 411029572 327231904 756476242 45921102 541765412 885436322 46934220 224615586 933949672 127867880 504305134 517149462 28875026 437187980 856448568 251228228 590318360 432425760 228507980 533515136 343600988 833699094 376156494 980254502 652594030 577042394 151343782 664033494 220548612 784777964 8742312 70133222 822499566 118203704 79864742 701994220 149448452 362704176 677289524 465301992 204938004 524720802 563622204 122516438 306133536 71622162 115657746 412624030 974380058 973989370 985126888 735481710 497301864 481262070 890873562 221566366 33571904 993657368 606514242 96036040 444414284 559529842 553121240 535734128 249756828 669249728 447029200 342791216 189927848 660526460 105952420 236073848 178435580 829264346 926335362 13082150 932140900 209904552 167913482 368726002 37363548 65508278 351977838 880077482 427129720 847273110 137011472 432523568 254749664 117280836 820297648 284249430 601455706 808787226 12105050 112112490 835573286 872893386 139504122 302671130 198158824 502294800 952174472 982300520 720199874 518955772 116371662 131910722 405253058 117734636 104567438 298727028 354824476 658518000 176828978 211691900 869943702 266296762 558021174 857946386 668707118 747388636 59138070 60693784 979307444 298877154 135301596 288267570 692073622 76877774 837006818 951124614 467554426 770023080 222850474 920893350 696359708 875887096 743643792 341334430 174659780 828298160 798371750 475566638 64732256 425870122 627011346 73373434 205583550 571007704 993988324 418419758 348446248 396804086 381660558 943868614 391674626 659476276 609358356 748277944 408457002 953428072 740387658 81871010 263891176 24872742 779549424 812977014 222303370 842879952 315161848 708699140 546639746 607631318 743020674 976617902 935571962 575229770 642553120 158311008 169817174 776136058 673916688 591285834 705779000 514614582 400299880 780308768 263207200 953150778 113344978 681684248 789634332 178352750 429391744 23704098 372336580 38824718 542450952 850455398 233634868 914302088 464721676 971530396 494484998 742095512 968781024 229839656 680560932 443523570 465986616 148567590 262200050 115420668 308800802 818274322 686095890 654751210 821785758 680488038 98364506 643501830 25543998 990675458 118283904 806566594 981150504 693696520 816105406 639502202 400204758 409025112 333643242 693491276 310176914 255096044 354217680 676766188 417182812 715816816 707692620 305978462 720274174 227426914 851524296 488805604 101473268 509484698 632419896 488367024 377316352 191336180 952509154 566124320 120875702 695156880 987589922 313295056 615311088 734526730 690562934 557806684 203328682 364464602 997967766 735609562 251310150 83732586 509430878 818377524 951334936 164914718 212403572 3332728 291800992 211282474 50623028 119997184 591917362 126135128 247614184 259492372 464010604 929283656 477330244 622781804 955485362 402895674 247918022 94680890 676433072 911951904 135923160 35991916 794963870 69291222 16460524 87503278 989118310 997440706 225194208 618925636 337530362 573189552 304919620 485821612 653967104 854123828 571965418 832437816 930073576 342662096 859854828 87166844 836238974 505018604 602475570 401273372 862839034 297970840 310686650 54564812 237437470 102934798 18547970 604731214 907493634 561843818 860156930 404527814 663764436 227902884 313236810 591245580 111133564 248248642 723526578 473151416 491408890 790325860 582803214 264034568 59138858 162232416 378285924 515195878 560361992 509717398 403470320 681092794 936308024 218417238 99501242 581538368 189793910 6986798 567752668 182836844 149524272 663251556 155901396 383201110 711557722 795129098 7533318 230309210 575749590 476162982 536381112 274549590 93575844 330780464 979477764 377787832 32147480 72290224 27531212 759497096 815945406 957073526 384024420 59848022 312924384 822180084 514236994 606857466 646858644 859740320 576471016 80064812 86831808 936662494 261762220 794354446 395406790 201038334 87514496 392999268 497888868 240936080 920578318 712282002 957200288 429531584 271141676 443959028 565749262 500149590 384929210 622054014 664076908 353202126 708148330 787989638 364409746 270163516 594805316 754811842 707670294 662147722 54114636 309466552 854134446 200830410 314027968 652826712 52207304 252133770 837327176 806977166 711540784 215713970 769861302 202568330 919008860 484365552 29476412 989339818 986311480 51631548 599282938 832363654 87424022 184537156 475907770 463121210 596805138 666155596 195774934 174901074 189357192 80475522 898370908 774521596 214287528 59620136 605189272 794681498 232887674 834080348 802753858 82072066 604394136 28414314 929622440 341112688 47361920 643526712 934719286 325580066 176198582 523828228 20394362 956931612 146864416 224484712 229510024 860269082 995429328 187477200 783847288 314901730 381702606 951567786 425072746 421277874 803764912 1070348 442419412 193423566 342298182 269528972 627482972 429686974 856411620 823213188 15151292 668638856 919977222 906488738 111308722 145271240 848943412 959412024 963974376 813382368 567704076 962346682 187378300 185458220 625837688 487372086 621416196 2897404 260186206 99750340 917590774 572590532 970304332 624040028 354333476 215012442 11817566 919377458 496742298 426427782 662507102 379068046 23938186 148630456 140360982 397907180 529191020 455881094 843940912 830622370 246492016 882027072 762306682 341791256 678159260 945568434 485625108 130608612 30988198 968397884 994883208 872763240 829727736 102014044 601770798 612771600 493535248 166639754 864325734 979235288 429502918 740061980 157833922 241481250 739398076 93077546 196819560 799554062 102716840 333954514 706572170 126337972 44769686 368881992 409759176 757959376 892069308 583400448 533014152 759121024 583200864 268637700 459498882 17638528 113561076 772499678 415547698 846829590 439863592 751269882 368954514 615833562 985071868 397314364 274171086 90877064 593028156 824544674 972337918 113237942 907620080 288771404 526964420 568826654 270620980 893884710 406422378 843897508 876261566 176309498 970475160 672039418 536653724 734938632 748914258 517397614 810650924 607720710 693298914 763977368 82989526 649180368 751072548 346871728 649981336 749252442 980883720 394315002 814089772 660891010 649459626 652003992 178947270 371827322 410230668 385437452 13827918 419911662 953951156 59963408 611053576 817229446 598195806 485070382 815388236 329023472 4184750 126848430 447773542 636376626 872634864 437352746 368783042 325688394 263654048 284634074 527017426 219132346 299426676 574339740 291495302 314379136 187402220 798595410 986648022 838578394 321782324 994389362 756567384 548492816 656951198 616353756 164921710 528032646 182885184 885937516 91344974 764789094 945555770 191718932 321124968 256965722 82347538 754016824 945161386 233294896 937052310 858011012 72617280 491427768 627395000 769994970 995366624 485987636 799307936 25228654 483358440 161726674 320820026 846448226 798824478 620051852 935880582 533642816 394010484 890408056 366320944 762801010 312191776 702314870 782645352 9043684 777982116 361485590 598565610 882537160 375400852 639068906 179437806 791062358 62546244 202796320 840889430 536634380 562857524 538490416 291170252 634490954 226805762 304651472 796053826 27625474 271197938 226441066 685482066 771660468 180217012 935375356 235774412 935852390 235526720 595373268 267409572 192457644 237947200 344925920 322525976 727601076 790537656 193082710 954200964 114208324 914770962 201093272 300508808 142084504 138424126 597613858 304429778 338381074 394828672 21770468 104800748 43975416 132684212 300441002 576290216 222140038 161369412 517485694 250121594 524576840 309892092 633490290 417903322 102567534 535676302 428496072 2074016 69113438 6484490 747149604 14099202 919149228 580379884 576418486 355134392 384673506 16526868 413631936 21191850 53992410 474073026 213551036 223229014 952577188 214152000 468083976 298539650 870359400 528576762 261215356 163454124 394366170 204518684 188037258 167732982 951380338 304226938 575016564 648367662 294968396 708902490 765141648 254070290 157424214 351278386 926682794 681179510 25488900 372600452 580741168 294844042 311331104 110815054 287938842 199033782 913771178 237878126 250132112 354733622 215418072 159920296 961647720 817189344 732225512 385386966 618196360 517446450 248144608 311234008 906247948 853572918 364736612 846966210 955305592 92485516 800937682 562593504 612298468 58250434 972697388 181820298 111579988 467252138 568948976 444377290 916787996 799316672 46076484 775838086 521607366 209450986 824379840 411250730 862030218 245915176 613698042 693517566 837948140 166421940 361806602 109404518 251991242 935691356 665426642 693151982 981345532 315024512 835857154 240157684 414247116 35371390 878328 763650650 856130756 337072318 650336776 43719732 210867814 286048946 673474506 159357512 51256206 355885268 272499658 63457628 679247912 633899488 677444814 631278802 169999304 670810618 63630786 849139752 666289954 861660184 238131400 861794508 408025028 41404374 34826138 4534516 563032634 611960202 711699986 823600684 683737626 816735742 70297650 295641360 11441956 956160570 279199590 215853106 149595424 614851750 622609616 709753960 317927038 813436476 455420704 162226762 928240118 68872794 361532528 615159852 816319154 835008196 973870138 29378590 767529554 885218576 536337900 887631178 453628670 395698704 977188566 104979142 140851300 203619612 679784756 235674788 723100650 899439522 875428306 577808976 241139892 207879164 722719578 722603308 32003482 491138628 731490152 675209330 986690448 609197314 847359450 850812398 693926628 175181504 138321936 930759968 459200316 600514088 643429564 245370760 632751192 919311278 356338146 950600236 971033528 521067652 178696578 403816700 611892454 913829212 64860546 752774814 488602616 931133144 576102684 595136112 980708884 728719210 468090326 648111394 263084002 650008272 281370122 96115794 449444372 744988110 258569376 794475278 510943864 61490330 771440886 4027918 81988762 278485470 606270516 116843646 434715238 388142362 962335554 690892406 15458768 92105132 427972710 511244322 222204248 97184928 204400880 339894084 407703016 476331036 735123622 89915088 64170802 525573248 367144670 317966578 660401288 977029790 292552268 266884126 786012704 389710408 36170004 116967510 299176400 291117042 969616088 477694688 180292886 82487068 20423018 64473296 202525076 860161934 415470102 167191738 70717740 778919586 171098444 628625430 743220142 373458484 605951732 867042310 65134756 64019758 969772426 343229968 928585888 728775942 173636776 211092188 786095296 845938198 462497514 637663662 515728976 663513764 545390930 518694770 967399366 83102792 831520084 766333244 34781232 105078506 303722928 887048138 70625830 604198578 320127864 390556320 427921620 225376710 323036918 37624508 426480704 833139792 195715374 763411856 435834734 560943426 70024964 512875516 722001774 569035994 734847554 836357804 526067108 515931540 8194850 670502598 585962632 527805792 178952574 669981054 269201148 82082004 117887804 421983758 349607848 298438942 651945230 344687626 576401718 7758642 224605192 182303840 668339426 333324858 128267698 361196738 280229854 305494688 993026858 653866112 161314434 130398886 767915010 371950876 628302126 134254134 538353938 232567854 338539886 912027876 332307638 809280164 689545952 972336172 519452912 666738292 45087456 731223812 632412884 795499480 35695040 356510142 263473424 449333270 572628448 349067000 245405864 197353630 665596134 975632592 54105296 60958586 447487422 851462536 531299306 630210974 190702740 896948104 953548754 447921088 761943096 208287308 420530206 240147758 936966852 72793216 29540484 260580186 430547906 914815312 588824628 978826194 669386070 120631258 146344804 163536166 515384690 354526156 740724140 508406868 215946936 559536054 90711872 353104326 687577808 636879962 574363326 388820978 201972456 35389138 215515492 696629980 502074710 302029886 981804644 486084448 358620470 46977766 846467156 828078908 356123552 82018114 910997906 456141996 517083708 538181226 628992384 658774082 334068244 768251978 563982342 517477558 535460446 513736866 83543148 300310602 333650622 81490956 456271726 37368386 603061404 359195936 178089968 313911880 849131330 323732124 31698366 612505688 686977642 952533434 882624626 24986646 633686444 857424988 13387866 642669858 786683208 535097792 517365714 507510098 874621270 817362766 540420332 709256690 410946926 537197494 187983356 745553328 663665326 805571586 283684356 694138732 43794188 205072344 959907882 426216314 230949186 974857922 108876786 920031498 868780914 147738286 599603884 309971652 896149796 315622546 893553270 813353648 788103198 297851650 932105270 66200860 247085374 897379868 419952342 980343248 915891368 880360030 962844806 873458380 674657040 303032324 500803742 252788818 891894244 385784804 780310688 148733810 732737886 928436518 606206204 564978156 316724070 216032758 16500718 970842114 682373604 788823612 561215536 446639086 254616956 817931848 267968708 18146106 596304048 776487192 796954418 370734956 145975782 930708196 193366218 217398350 828676214 447890160 319278036 854419892 713547222 336437582 974672102 199928806 763742502 202981422 627952962 68320046 14474080 723335034 972669224 135122244 416779880 749078476 164907446 794440782 168798950 960333550 910091056 824779418 728019018 964012194 729735506 246929444 48567396 131408744 174738738 680413802 875985058 785295200 403135952 131684004 80804344 225755558 863067046 344714568 221697536 992791588 818813580 747665542 683166662 197354588 923395016 647076022 205088562 278504574 839744132 264968144 241973538 167670874 763687746 130328918 303014052 355419888 269917342 88200616 125477882 909048008 41948858 700427446 245717438 621384792 529156616 507540570 279977234 529988716 723917782 570345564 718754492 33223794 749397120 28785792 739322084 792900204 571033758 791207570 245749938 140013512 584217810 163915058 143674288 586128160 5171838 414729026 421530914 350939810 331759552 239976588 793412632 636047668 895187014 571346370 313997702 320862718 552056888 869085956 136605178 959867080 704343236 931011190 572619252 628426898 74324632 474077792 636751282 929018980 958771364 186848774 283506006 951505248 355728788 79650488 373594182 622466664 373014288 109111466 657201806 954399768 138449532 480660404 156714788 779950878 377450562 167541698 299351236 414417204 521378850 167074968 884061328 821872900 158002220 986687394 25927028 553857188 152366352 662275984 660072366 101410492 7661254 546516670 93485598 383772690 776157558 457373438 497597552 933880954 166621248 779094160 275174266 812950702 172423604 777372672 122148408 631183204 115916472 401045704 589796800 418343900 365840796 582905832 611217640 938642974 772262958 579839556 833866958 983045530 175966000 47786664 404805578 387658822 384647030 765840226 221841474 317131974 300058530 550392394 833248444 803355618 881462834 122054452 797004686 958526686 362885564 76415842 417308596 844840274 970474974 423987704 41769854 255250078 968544332 919697328 699233880 582611570 652004392 636377248 93149520 155457874 565640444 844858198 447900154 58025730 572070828 241183226 706594230 475873652 485736992 783741962 50019660 361498592 416394806 665595940 830469636 700463642 270782676 646586750 685746838 556762294 598091918 875252840 55266932 12610112 434707372 92061216 317184822 464303580 350006502 463816956 410919150 847328720 987525638 82254614 731634018 164356634 834569156 415504724 327207952 801713190 249210792 920188552 130885582 34560564 357695466 479839926 858102932 711227858 436535594 486056710 55729310 418477118 773421154 422998564 113705668 130908832 416725248 615468564 839191422 815177542 295020120 300288850 549393792 929637212 861848616 910325674 330335906 95504222 84866262 229982870 147929580 873515892 964064646 886604056 468364522 492297790 140519034 648060790 444309272 75058154 20948046 420017950 132301140 415187746 788767614 517574058 887644322 629141950 502799388 629077244 522281920 189496974 386152150 338729004 818421078 374089600 25193640 941246184 18612930 901181242 911737454 919729368 394250168 30893404 154052372 231819142 279951306 266630212 363601670 899491356 54570426 866849816 350369850 948298202 294168166 315239450 413180494 440881310 333907306 464182058 600971974 606647840 947368774 937580934 304227604 758030312 626016574 403394620 219316364 726724800 702763962 7595496 772777840 482977182 702916 648916416 718034794 586705864 348879814 219454072 705048748 775589410 271205444 325880386 836348976 950505652 501433328 121816222 425833314 282938100 152490532 749726446 345318490 991057556 98528588 619361774 240175746 760610662 579072362 786415678 979147494 993130742 41114924 869787996 487216656 601878612 886649272 266169852 282501386 192015768 707286672 514485858 868655870 295606120 748671726 285493468 279273926 877912024 414973902 300858288 772550206 21908176 992893448 124309666 616077246 679478618 747099468 697091330 184640316 116690332 42541862 896438894 112960388 303530492 641361260 141691642 632400958 795728888 852533398 622716778 211781934 867401040 354638058 168164946 133405082 157709590 482016876 173507916 963436338 151550744 366483228 441202938 57505590 241892914 674275630 553633346 182590742 701666506 217090822 703232584 140603792 499947156 297611928 32806472 138628926 182930082 983178168 795414334 346292196 78805028 702280256 204771582 559149354 811129166 432538786 155498458 25815376 751457228 132658736 705444850 46441306 246893506 499599730 671017832 485024206 100983120 490661942 933233590 447078730 240287366 144489070 579980040 402257078 985925630 17213696 64660688 818580730 519446506 30087132 503929940 989003106 903051078 350088394 916372850 263453200 692093726 83441910 403792374 119292932 562634276 518386848 415313954 347223192 359095602 358458434 938545544 601134822 169946382 382552932 64127396 416648902 953926454 804026894 992163550 662511190 731960598 647838240 813644768 218752728 450707268 915317330 716587072 412239228 936228726 903241604 363191256 323866018 484386086 166846214 455667930 699929002 819435120 355760498 537356294 336131082 270852280 572886280 22930142 13820664 218044952 582210600 829944722 335091586 223153086 657950644 495546078 809138880 578604946 790946132 441510978 175653504 644126092 777315760 493545812 678299316 871185580 1462604 721635532 759768088 37262428 72137520 944936862 355311814 298720650 309375660 874817258 710312334 230276350 727206026 185440682 882625120 874218576 936562854 251477032 970854516 787399186 364731500 99581518 578446576 71727848 255713772 637482344 419021802 176749870 570692248 756697064 993624174 607518536 472095394 721895452 59464284 377244320 340684890 380513508 848768828 724439508 751826928 931543382 774205546 827401124 368219024 193673774 364347764 590406902 618286160 427060568 101731390 868034606 77978882 775793050 972019722 98799490 383563362 615453210 168160414 153520994 673314142 913560948 504605232 567102708 509247570 830917952 646913390 567255476 432229688 806617924 63458434 220699622 385345200 956165858 971149786 376808658 906772180 7634100 184230038 921242072 611015312 521328008 627426064 594707354 29616298 794793460 70606116 259987228 980013570 498784060 322485494 610970068 116547240 125770038 509875730 805770008 476078836 9712584 981447072 967041926 419644474 274911800 203003622 883506068 685795496 76062048 371084082 133629330 647492538 773267860 524479730 711014680 646163628 166254844 153114282 277618990 293645736 896676848 86664130 293901970 540920290 543239578 830028986 598235294 56255602 503244506 701041720 706140386 513666540 380565736 640914996 118789970 593016742 434716790 589061470 34305534 647304296 389501256 915080904 413210838 449417534 127053068 617208486 90478556 653275680 89901842 608268496 478585100 286233514 415406658 618980570 968060212 859445868 473821226 851506750 806784654 638845386 598412896 19693486 545234100 169977592 550434948 969658006 799101974 200276104 73041260 916742438 440632318 809639358 580240376 729729054 379488518 187546772 531707528 584994010 100363294 742715778 638357116 975231794 313979798 588448180 442654770 790986826 805395336 78983296 729457104 3737370 32925544 246527138 424976706 19032210 347514338 155840134 635536876 14547118 873945228 801424012 788472574 497102266 74403426 493898512 143086628 801390380 592283608 983749048 637658720 259555092 170323190 434471116 845213108 506623910 256013594 656884692 715440756 430620048 123919732 548469416 38677272 17449628 923650778 755861142 897345536 766749706 649932586 6678546 856618138 111889204 6359226 52935296 412402132 236496796 31799660 147947532 171809820 821543750 8305856 701077194 868605780 835891980 225177856 834085432 973166482 701675176 245068152 626744488 29824978 476370424 76522312 230004952 384051212 706146880 513904892 583492648 906281250 445497842 16984620 408761868 313689290 90613146 291948856 568832456 544728802 153044380 247786360 9738198 91549670 99884508 302714260 166028526 649572410 697514032 231751996 462137296 103444926 852701896 933802626 568619926 955231230 84479654 861853276 521404658 228865256 308534374 42414942 168340776 263083748 183689496 542796616 930923608 782916674 41409436 521669300 610401966 227615868 494169554 574111928 856258952 312727140 427232332 299842918 619085348 867385252 807620834 890591972 590385144 146445964 451163516 792935802 784729768 730867946 219316092 540478064 25920464 525334390 696226338 864165148 335391802 910746060 263466482 743483476 473799822 712906000 682221662 670213054 298360440 371310058 75560910 157935888 70365746 404186270 611328376 856121226 995948940 532637934 786277820 739977120 586423528 459738912 609054374 916711878 212809774 278137840 436275766 447383138 170535186 421913802 759947676 687033646 328193786 978024554 576292146 346310686 788916618 440306158 736978570 948256494 923174644 432357136 433571798 136243208 602364966 497251494 39562154 727346308 382538704 975116264 317067328 327686500 964846358 983787304 346743102 938072864 509715896 912731222 976324202 986378134 809192414 367705940 957321638 629279304 56526022 560870784 464628240 513215898 434188886 524079432 932700518 486186056 731692362 593754832 491153576 933476294 953754264 608069574 63474608 216948384 35360862 139471216 182583834 282247144 712245320 660423774 814837304 507149008 707262838 273945654 980714628 509546612 40617280 620244998 562976626 743254210 918355334 909918670 528619376 68611356 633088404 800893944 386878136 166889148 636787252 715044988 574161428 569729692 849051852 188189130 854842624 668054834 674202282 173145620 907833786 416809974 408357908 842543000 919425650 680241946 252052926 69542300 910411210 684018918 193036586 78027432 545403206 213173300 523367808 835197990 641086514 293182240 559211886 521960758 163844264 147174992 255937688 212285530 456683892 456266880 212984706 721457028 652577206 138236782 702026240 112454714 734663374 317669954 71015650 258736858 245855550 91268368 86849968 72956428 960334322 878267534 67534890 251053474 426653350 262952500 280270240 474325642 199133834 559389782 480430862 594848154 857491752 78879144 732850006 284207064 947625434 997656528 901875332 667099414 458596596 3551522 697193288 926446512 931359624 198287994 345182986 45685048 855197888 937230378 852713454 967026936 331677628 699518636 60963468 678833604 21008628 248281860 512823386 348805162 976836874 550804926 256092032 544908180 180408484 384618226 262910884 785632254 210006516 431063638 660588192 356799072 549777658 731578308 830790124 694627764 383493976 393709814 345540800 39765608 34708098 684808154 413200908 384981166 216430116 248724426 54016622 703496970 470090000 610915942 38496850 776938218 317875904 829720608 667588968 303251194 529031278 149825112 68198600 819923466 472629754 805688116 358667090 867791658 895670582 628379032 764457210 942087974 579225916 587118312 567366864 723677616 756304258 945945904 49949444 951597538 280231520 712760300 194060040 482191118 731671990 512135350 124290926 833344938 573699990 174703214 25446892 238157192 989398922 545609828 94158062 436991570 366943876 856912948 944916898 516430292 497133654 30245964 841980104 205538940 142683048 214339034 55510782 691368320 957989250 893180852 160194722 141956454 399134294 805819006 75054714 909390518 647555568 565487524 624657014 808327634 725883610 633026882 607100894 79145258 893659504 330387180 501883992 412165424 489509780 961897002 736232610 174110244 428839588 623033150 414746370 710613348 337120578 837498708 387937152 899608648 815907024 183191458 59851022 324967632 826494934 344043946 768145350 530423144 629815406 551828282 147857786 430350370 648880170 698013616 257428110 992159214 38455734 522591662 220367698 568992316 644763192 408318684 690239102 136041882 952172788 508820558 467248050 18900368 28024604 628432818 925696566 20941968 32317362 198809796 700688022 758215880 473802264 524617978 802057218 819058784 796563602 890613384 20570978 715810240 484618544 580923216 951609540 304110014 557396360 845425528 109710924 523250424 286585038 380637842 968090704 601574664 932944054 21078782 831144134 251404508 398903914 737885480 164853782 98772376 307179208 130687200 892122838 690461964 279189774 278847128 803277032 58272542 735047562 513057496 423580466 465487456 155110608 975863288 641328318 317196108 450633748 404032350 125059048 819327414 765522744 185065082 187453134 417886480 388198978 835107524 917969562 332068446 445354344 158313288 181797862 279709732 42743448 804782586 150303768 977092098 108867636 746588540 61925738 622291804 896185032 701810752 540707926 612243890 88139654 928166426 262553966 537612520 862942026 548957046 866034554 516115492 494296152 869532624 197935338 683297274 754732538 879395568 700636820 665071608 403190892 702677648 57249108 808738550 975347602 820907670 555705234 316619732 899897514 431901082 161198862 918427242 605422046 211877784 148343636 346994192 146485926 770522846 919727276 985704534 93928788 533661610 918174754 841245846 883242636 659201954 854021242 973102550 543687976 275420538 422299182 104382492 723146210 602195432 778086826 677889054 910677724 117256052 827949048 501937948 581282438 313276198 170124910 454393514 957289190 40309492 941882658 104301204 169287146 471407760 492125772 288581886 766228812 625745192 639114056 232917396 23678872 725634778 691628452 267768404 617717958 341016214 213655212 494962364 759868006 811522720 985653728 356352876 145024758 371907664 352528044 470399424 19308500 927209760 455239616 96104364 326238318 413121138 680333230 848558452 280660350 514334450 438652298 560549218 48348064 505688490 682255576 794604174 77185678 218787892 657265652 608488234 69227006 948884256 183302248 611648462 193633904 731589072 64005538 423684180 413178718 317503852 266367864 125345596 765318106 524301238 700027746 384847344 579256868 535326290 786723452 447899160 73688664 397575700 215684690 721457792 533687714 393543774 140327172 523305908 173696036 156495904 793237880 71246110 372449048 896252574 831325920 281645754 629976946 262833300 193748 124504812 301038500 546264596 464892756 175648276 301816628 979508916 47760632 865063718 246623982 185353404 258054844 817460490 223995960 206370088 68488398 587674272 559583388 686522006 957074658 167768174 138766580 127980704 368222748 479836972 542526184 473925376 341274674 972318250 672402562 238284086 770602264 598192634 971956434 113833294 330213626 14118398 257190580 505420626 416931004 331538380 712773026 833464768 629906136 89577592 565943184 709130632 642311348 877146232 875790856 234882980 627989394 809918796 49491048 580023618 722687086 769753602 318255354 996152912 603341706 869906434 94384788 601879374 578532480 223048344 814002940 748390688 95567560 550495020 544023804 338865400 179239560 918337000 345367332 86972996 138334794 48895446 528698480 56828662 795548360 870063780 852130848 185872862 596531562 446439612 909080120 239638552 265462258 363804148 772912862 825615220 497692936 701973408 708368244 510383710 981768574 93743876 569823852 72425490 773032942 583593426 580952230 921129142 262397490 624154390 587289554 545700708 699950738 25914492 684150334 278527320 754902318 714689968 707750250 912710360 123986438 243811418 244455264 701009048 468360892 206929750 58360510 317815910 913190292 605583976 611937088 22740124 198053440 117729148 532159292 888698904 993831262 370750936 334200838 746871654 503231628 381593806 978510892 279960106 595861638 299339406 456948220 90065908 37849082 300654698 416491992 400496644 180937054 345623266 197446568 244850854 674236420 905073284 213303216 175135234 458348940 726107246 574672844 366448 443192304 49852016 318421230 994314562 817824420 125058624 826514174 958866324 856183506 753737948 894894638 933772718 87549536 754969896 935374980 525688274 77421494 981403142 734535242 784793942 490437072 605573644 449361954 54870014 328348596 536353440 887737314 231012502 859456860 681882936 290875952 943029414 348507054 915156440 879790512 972943698 439815624 203316894 801974938 754088694 48689412 650242452 576617998 713881456 589783642 123650200 281206500 867622850 403445636 390610094 359807204 564218874 141325020 300678458 987303608 82993736 154808028 90114426 30312488 1432246 37823126 26929092 402226526 937687178 546699892 524136572 604863758 875478086 14516624 17791230 728089894 629458256 888552602 151084448 283593642 931610922 131057442 624689930 391383988 413221978 738457706 668795048 143951196 299232422 861322580 921151800 379829052 388818138 149098964 363867960 529690018 848502912 178828148 259674704 741859322 112873166 352266912 351468604 25891510 889265594 961429772 800726432 890331712 9476610 564043590 82373260 484102916 818562854 607497558 594221146 277204538 909292556 865654078 593606708 425055046 690732326 733367458 56930532 740700676 408351882 221468788 867193994 726494176 985782770 752292388 77223056 942500448 672722572 867311574 851737790 238389226 810318720 939015396 507455788 517214524 612864948 611191742 668876322 593599384 653952378 94100752 554154508 732546012 365103690 753383332 624204150 834012450 386633548 324283404 373976870 89730800 966488556 761821522 495039144 76422280 418215038 217329526 631844396 877975434 663132410 861485330 127631986 649055818 495729956 550992654 596385226 749752144 691888632 900599386 809648906 643392210 534435172 379479100 250330988 397093526 686244386 72004444 856130754 649003158 928553678 690282778 377813336 797165324 280697118 96685492 30198582 245578050 94559928 406912242 741464952 508094734 463815650 112455940 443101748 800991378 565805758 390491696 558988086 325799142 83030584 73772328 798450872 348519048 161363116 959038962 660410550 291147340 851828282 70618770 250023256 428537720 764743826 97935900 872553428 194382812 381194958 418303916 461334694 175000516 279146978 842317844 779868542 59296508 701567406 871324034 77975724 886960888 25610590 318725270 868917972 738024834 185450556 523381322 404037258 164743002 193993442 177224648 858707262 130797312 991179832 918517664 198172082 561276824 337056826 976981942 22523570 459012646 132202226 671325816 415474180 351407924 756998752 391664572 60502196 720332012 797104694 246865786 490028882 410212646 333391952 246181628 713624532 523658908 373761676 397775426 774902902 261740276 403035452 181110938 699196562 108396906 912130878 575361860 310401944 13148390 534612618 696083896 576638956 747677874 246508176 696622852 304804058 915500974 383087686 260059746 336270222 215409902 246717626 793939112 314610082 667072874 363715034 902357582 526848300 455228478 254648156 653322206 510926458 689981572 286818896 244880694 375981476 755991852 648839712 908985518 241497448 162148676 386170996 662745614 706381956 969134990 521451718 260898450 210914542 542299192 191264526 909001360 586852604 491235034 956476878 711304522 123197546 633501660 711126510 562165812 761916870 428884882 842893018 975831074 975815718 716022858 189983670 793402164 117040424 745452010 711929230 815429628 639389038 731881204 281236122 17486766 464832776 246086108 998499964 465557846 553638810 273379690 278823920 283275022 292761556 849418276 183804292 690896596 111250228 862211606 903143206 822220532 202690132 4138658 206309420 275721962 566184720 499835336 454797192 709142708 836700776 140213618 296225390 689931876 376091376 595688774 717214878 982103882 811069694 707976570 258202318 526463208 981848508 647067552 632545040 868544368 294738656 115659458 981564764 291055400 374619154 698293098 186060050 945754552 331249706 954199690 472639686 383711114 15352504 985173786 879340742 849485464 336231246 625134380 706305928 950472828 899402052 368017810 79786874 189648218 487911696 161251510 994293036 226578014 687013734 947292604 221701538 356888568 793840902 724194910 3541972 331958234 985712382 836252356 795402234 610329810 853570434 904585356 220444694 205899202 710382472 930092352 770537650 90099888 787186742 883319332 915330690 769631078 867352758 563830166 357299740 552052660 590385008 866683530 10558338 447962106 98659378 726281302 304152346 467643936 816242390 266376706 560216664 117556978 716922716 781302818 708386164 283423530 839378342 626740828 788277848 954606100 730827958 856286428 807946352 848811024 140445146 137168176 330086996 736318264 326591388 977335194 197203600 261624216 895211512 444284092 698159754 473122018 956988428 801465530 592014338 248744352 259188648 467329732 966214742 466812752 711185928 639006500 357784022 937375676 677545348 9904460 341276990 112849248 404614314 864882182 359747822 763262956 780774812 852176484 804243636 361896716 675902522 872070654 177617900 64277660 56160878 426987632 984538990 681405322 416039004 848159288 614632706 301075652 325129206 765783984 256004974 214375628 606827290 166186798 877540126 497053896 610542698 872583946 441203652 726245916 737192028 557203292 621093094 773469624 586873436 464404892 258384056 616830840 105454832 535045336 870318500 534998516 245315150 582180954 398311192 34678826 530831688 791062950 340187298 47052968 958079492 656438754 465550166 386247552 769479260 694570772 3057332 649486184 883080868 872770290 759849148 67310594 934655760 701360370 872627170 380766292 746146928 746293668 313864068 820388978 744649430 317619870 708791726 513382058 392195226 575271784 97071892 867824206 533843180 669400448 670569954 553556306 694371402 427912328 593670992 834462952 74753454 874697618 66959374 337394124 287303524 856656918 938827482 993154146 519027310 313229066 972022380 636259104 10087424 679144070 456911352 129332532 881911634 542835178 44668842 370449714 666908030 231660680 417112340 460184144 379033192 240471884 648466808 649213828 309553518 450320572 721391832 138781170 57068310 559932076 186453010 805574356 638402786 144061996 807148102 607416498 167338740 522566554 529412256 291986072 530803966 452641888 961652862 74431996 165230968 925689558 649489052 426624178 647194222 926339070 175196968 448755634 180623438 518399282 24314378 319708150 458603346 546935586 679405502 376877994 200675662 881536170 355869550 651603340 668227156 499845234 982237490 418438720 855490506 877633200 109171240 982611810 315927574 911803476 971124302 417541096 164127468 548357968 933439320 878465220 270614298 429243172 198620864 274552504 724361458 934850740 402314372 410535566 112289218 492302614 207005520 184155508 823435200 317010502 359472558 700996190 408889452 42027890 309061526 595588992 719086392 410836108 168599796 529976564 56495348 971023342 54006488 922767646 769718764 442774450 41510624 773816350 725531828 772808252 646645076 758104064 577230284 989180624 430087468 397520724 778670560 559309254 856299612 633818058 554262886 795835096 728488436 409003294 617335804 794497598 645474938 469609244 936426340 717613262 422009442 899053410 781382594 668518672 88201710 193889854 811471992 136128184 335197008 138067670 677270074 172079200 290700094 65767440 916770316 538966722 170425634 968680156 215524262 442837692 326552556 6928452 646628630 498028108 340043986 586569042 702435976 191615604 722149598 76016844 89320154 631669530 268375354 30780476 461543392 575918264 387846868 838028664 18630316 97351020 21706904 530590576 117414836 999471306 495740532 993378620 322730934 677981910 617921270 568999436 967809040 8454936 142662164 233843376 668637004 483981922 161564712 799763752 862476612 383161528 906172166 469029420 929956498 722572770 640243452 309050644 144492888 230009378 51740846 105630982 819198758 444918886 653226052 449159066 184364332 273063652 276805066 85952820 204973560 406127588 344690052 313459984 520826320 775330528 614293758 846503516 590787410 427224988 832148492 856899652 428869556 63238070 477590388 324524010 811701408 563289142 477251294 141595794 872417996 395220512 13549480 865626220 373449500 976721306 367815234 20385330 262486078 832980904 451593766 754842264 472717554 343006054 600382054 213758176 445183088 320658294 527732132 452632060 840251872 764207736 810476664 622486854 830328506 271049100 399563364 604469812 87582274 403189770 64002672 330197320 439357392 401266964 633805068 648922298 291911618 919543186 366921390 794548614 116536888 413068698 538910608 739611110 878769322 946108158 517170096 854583362 905232540 490697482 475494984 464381228 89964264 365412970 973751572 346231914 83683476 31288552 141068102 706047600 23814420 45178508 166185802 441032028 328970042 291561274 578888722 5052424 877320766 930359178 9169206 698990066 472963906 808628860 290637086 233839816 721531268 241949588 266640442 25943726 80101434 502335642 552643532 155912796 242913290 16305086 377294070 227139796 994806232 419971732 554256322 889333678 910625428 575578174 824381604 694832480 449963396 991730086 321022516 574246246 732724502 659393642 834032500 133706504 134666770 597002924 13616080 28941986 450680132 704177888 207901568 199917208 187892610 95156254 526184592 451018146 787320576 886819432 742086626 722854584 234900722 878432782 383874808 457088428 967135148 759114170 343075768 777967386 529795612 118527954 80954758 376185806 872108928 549793988 649073204 433099852 527441594 94769034 37922554 918711120 877530550 699726988 485209366 976555554 158660314 977270096 654370814 533682406 291382212 841088890 606288390 3877032 776083328 434595498 780425112 228308548 974223776 777447288 613334132 995561198 744991178 448535150 158823470 349021638 231724834 398325932 211438188 106583114 441628756 223337636 516703650 553383826 375106652 202524934 592693920 514766956 667259316 93506742 527033452 19288704 59211742 424789088 846125312 412105376 513833562 940162654 274434916 466067624 811026854 308193224 676279438 589419084 616915872 924504588 423001912 475823400 554976824 326269500 657272782 512962088 363830620 858649896 65672030 568122088 814535110 246201012 301054036 52392776 949238444 836591058 84409664 852258032 423960694 308281952 75165270 459119192 542362954 423793784 785451044 706348168 159882124 989484880 767024356 500738964 776093298 746757316 836301212 808418004 434710542 204019390 626046094 480437626 69359208 255454950 740450484 469839550 808891080 212258174 86189134 262917498 291717352 247443888 183504752 966804974 710224414 798098656 454377872 352611062 360447734 845566406 78454980 975051866 538657818 69268650 577967246 591257306 278785766 682388294 170553412 468756650 515575906 387326154 54161598 612602338 285117222 40218516 678429986 759131174 693365578 938511648 856366716 14388202 805505716 75064490 903995222 824568360 400568976 26041246 957992624 211490620 934165438 9419318 352049948 989946036 479467842 757888332 94280830 899700506 16031048 187331008 129301308 245123672 644104798 289002714 906780944 46631680 902649430 994867844 725022430 196495800 751547552 362541154 709923594 949768054 751580710 996489036 645552104 542311960 580081142 773951778 240438300 954419348 358661272 93970246 219014164 965243784 729587272 260965616 357186712 253338246 754158790 248034338 478999512 201002074 305729130 619332222 223382544 44262446 682704070 819190964 838769886 582091252 678319342 777235640 936403862 355740218 926986576 672214432 902782912 728226106 675266022 184857716 125844644 699242524 30769148 584616994 219731262 795986564 9361610 224575268 207436718 30695498 795775248 918635174 704759332 343361130 796610340 93869454 766495334 554644716 786342284 217440488 504965072 592233668 781709042 414688052 370747348 69452766 724164932 510223098 485544628 475627450 286910610 618410188 238232976 59224688 981708708 602734082 565994752 683025880 693172472 901542598 838049084 461913652 961306156 260924488 849702228 82905746 796752322 873375728 907045984 860689902 176640668 862353880 752447004 736657122 774855300 813718444 567744188 238022104 961776754 188351750 760830624 591762102 360798630 971621828 126820798 996321312 865378508 833315208 358445412 137265874 460140314 965003658 631891090 637128640 923006102 92058270 269577856 998559322 620733040 291278154 700721958 481419334 680761772 701212918 582691388 761101802 91932004 331689986 906369266 91276974 143559768 784607242 634240896 931585978 755520894 861280398 260409496 455400938 797897620 29580484 240419882 6063840 31969708 821808854 28285392 854794284 179948794 444473426 684749796 703319846 119886782 488943684 523464678 840064118 593277686 240015956 379107798 496783180 217313584 875645230 680562832 848368014 484489556 896022572 403555394 106618128 511479336 461958550 543096478 840214498 632974536 429586376 584718960 10527870 266480504 840607190 200381266 750956130 745222242 190609070 669176468 394016506 967892792 535639862 785729466 618743434 600051696 812002456 702421100 245416296 920503636 692864494 146685358 753471018 987403034 198695952 347702746 207034664 975868912 223576442 393846874 847144514 950648902 563691812 735026108 804680422 786152642 917197846 917302302 652033458 936591160 496269784 492442472 495616184 988492862 434287866 340147248 934918994 287460566 958604468 386098500 387748224 403066298 965907246 349244956 936528188 998026702 724764218 740544976 227634282 819733676 867528914 933720288 357792438 168261120 486840262 412131380 181592700 384943508 682956600 802805676 574280098 655991456 223797332 908920460 805373344 371095154 329242650 191325808 739847684 355445906 619069038 233441752 356152274 959090196 956356302 702917302 60637800 596980246 878375612 332055760 495990620 991726018 174232918 367717420 829899378 335948894 438919670 900564320 246620546 395967456 601148472 999996734 539615462 829100752 144497212 674921076 196110038 890701314 60300226 574442186 52499532 311064322 886034096 338751728 900985904 282331200 797292324 695867346 994279668 470768906 440786636 636659586 56737404 794136270 553719356 972479762 810537166 572498244 811991358 331828248 654207924 52444872 477629072 76802458 314220078 233087134 30034172 46591174 920577176 823329352 701641098 981008030 840154480 188383376 495915804 253459546 826436136 124311662 323167876 335674348 605810974 78049562 446052014 907565436 273037406 968558914 666687266 548704960 978031172 965952614 483674586 55361028 182541666 602849776 283186746 644817734 616576152 155635280 832095720 485579540 678931626 16740642 38986916 26923664 282989488 761397596 990091154 16027472 239313578 257194668 934944616 438129540 547086148 447960386 361532138 611527786 649508134 8670970 532338626 787658840 374898998 318604634 317430486 35841686 389066884 709393818 499844614 247214948 244376692 411211016 497723158 803749288 186056724 439571736 873889084 186395828 213940790 604005044 992653038 352937080 350694718 267978162 127108488 667554436 142637942 816009814 742033418 179536714 394104376 820362874 936800242 820369964 664499516 291177354 721684146 930209634 321236604 872272164 337798192 650614886 611635400 826770848 260369518 244051962 824515330 208287042 996718734 951839352 964579030 513461642 814421312 546284830 658919082 567237478 934094940 257415688 782889768 277393996 296243386 257935344 526025654 242961266 865256020 575495098 626930822 167473860 347541652 467407396 623772964 773361874 279150532 20656004 318424258 815198046 624359298 842060110 177013310 131851974 416198688 225620364 850839832 579004316 496043024 180930490 591020144 354542122 235754532 373430834 907438058 605119668 36704364 730986516 111207370 125977850 202216460 977421886 957651630 969983358 242305430 867574378 295285126 487835502 262086768 553361988 742769014 303840634 574950332 112245938 519141210 730039058 507803972 666379756 578164416 787539250 438484688 621685152 60930836 21793772 545952698 921461098 869981422 769320710 368000362 750440632 453318256 999532284 758044182 80490770 978105454 805818822 992113704 70495546 881298412 538105832 502767692 144450376 516285498 301394862 505330008 569725260 952512878 231940816 622690072 229976526 562830884 717056658 814517502 365864216 80245352 184439926 72326786 877854076 579428454 264319544 701581772 870080696 541883824 462293318 219077438 861490918 618669898 26097412 829587556 946350806 298763056 550945848 15396972 246437638 341812612 806785364 510351110 462404440 821240484 988871332 791171036 636122994 117639200 302530410 848117784 544321142 39776256 760514448 596935630 485650120 48862798 235442188 280992992 382294484 390389970 310513222 373682708 349423508 148938658 940263126 949786966 901466020 48741162 392429530 648840972 748486128 944910906 779561404 317986694 69080796 353427722 554459152 429936922 800027654 944465104 380132700 550833580 278459096 9124040 944387708 91094170 775534770 482157304 503220784 22434646 40189498 901024406 802979296 862851138 88928312 601405332 183911620 264672060 106626268 600180974 254775048 997103534 441007660 391516828 814122192 499391952 218957242 650015556 281292774 190544098 895517616 1887064 216384898 60158624 300066444 779391478 599677256 944436984 571435396 278872796 390027688 513307822 363496028 810278784 11597918 926200958 353720950 383527630 428654176 341756836 727618468 4022656 528326332 646484116 110236696 657951032 638396322 641879748 839596716 844131298 78810036 35017704 703007494 920932010 854939096 803528226 410805516 923326512 417325840 463629074 686592216 815919396 956910290 896550624 735890462 562336686 226628812 44783454 274126812 422668800 780611632 882505928 938818444 682579270 511093934 745971972 711570274 823489034 630533620 664095042 20503136 980049912 602242930 128116290 155349938 287226352 75452212 319421332 1664934 500633908 163499890 515953446 398777802 525117990 80079106 465669640 923530644 68253910 563946484 86410240 50789022 335333384 689805438 934958858 278817128 267286144 697354604 520041452 996612300 140390762 990609198 982437794 558711108 358964928 696636842 134483872 920459330 892342422 89365430 361798926 452890902 536830096 239086356 841600062 495074032 334780944 858965246 452881230 678639820 507267714 905423498 882662356 489903078 339547776 48470594 933486246 385265240 804699834 70574154 137133182 182346786 511452970 108115216 565372134 921399792 990320474 324930076 468288312 172899870 566297666 559845778 203934176 717184932 820562170 679831140 344067610 641395084 740720974 879130354 772759164 701454396 761095702 541048924 34136954 980176024 463682402 797587828 902767490 306725182 487040982 973295062 832041812 812836954 707144958 624364436 169834042 248000250 928935624 415485872 772607296 106524446 86726550 60816818 415875482 925985542 69176534 926374254 308351138 291753460 614122910 65246484 328231772 107713014 195587210 776054370 246519676 659676074 658359336 68970912 528216096 772664704 156280290 652007316 706506366 294397580 42688038 657063762 336566988 1033098 386255826 577539646 471341638 850490966 351460314 844952214 172735274 941412916 133738586 278227994 364368472 294531762 956588462 242676978 528492056 243498160 60165168 647789102 966702654 4478198 592844394 70541180 125302518 595222170 440288088 480221836 303343756 200706494 24914478 82173440 82463324 996791030 602626242 428781208 270936990 620382068 921407870 668413546 552102870 511388792 703895824 391935534 323657620 641537342 230051756 713807958 862142004 479700606 933584812 409856420 493119396 333500380 115952650 682254574 959833506 886508576 7066334 917865362 222711260 954499112 202663584 931797188 828009060 731879016 180092800 409675124 711983952 74955918 982597204 579085668 131502972 207216794 368469284 171595684 421545548 477786854 730333862 598079592 161060772 35507590 270481698 615279808 449557420 72267802 775792118 396161794 785457772 260845764 913530440 756105692 176874166 86811666 857414988 866651166 578592770 907052216 588384464 768868400 528605502 574472452 524859174 565903946 652099574 151073052 495727194 483841708 83276848 422931624 129690632 95031382 232522512 582257500 478745390 837388130 46787216 992695892 6698774 989185936 339355874 709893870 851094708 41889522 779200910 477941210 590725480 817526228 385005408 387465130 238942968 333736512 655990780 9161012 435775880 331035758 4468058 52459702 76572282 399457930 517274378 739159628 422737934 953562490 849094060 731035394 795136806 540349474 380964324 728802492 171023980 386332042 283258670 750103946 141268344 921348866 311854988 508898396 650665194 994999848 906239442 77601394 19480234 745645080 425383224 496187110 315167380 290883532 104931382 643847878 13100060 939027662 450598830 928685334 525879070 669180164 409327910 744318140 895133020 589518008 317955968 7844328 131705216 85704670 613369288 72107890 349625874 402033586 262842110 381853538 128846910 381698286 361050138 802620808 593745622 237048536 247316902 433857584 818894066 69523886 249717180 493487676 634810756 564403838 816310646 88073502 561216650 10139624 975622152 247213484 453164432 935546012 129729778 725294660 713349412 146801062 432836814 348090444 658705514 384833580 562741026 549747794 855045034 720256694 597599272 520691828 506360126 590687316 543061454 977037768 546006074 549766864 877221624 590251240 272149396 817150410 357606580 652835180 488743064 745653552 889045158 550791610 989208364 30629430 257784720 221848080 359987640 577993784 633554834 887731780 692517904 391354280 948434096 659436928 423002264 593151200 704935824 939285400 462925774 576605930 756927742 321823560 540079136 843041306 624079510 224333572 821263922 432710660 806243064 593634088 795859102 154468126 787537672 788859522 643752480 720480322 701779774 310435890 251889960 603566262 751725138 787754034 959429252 231641766 526813470 703144064 679441832 478549854 49876612 326088628 467622892 534047842 327299236 924281216 464023678 835703450 337282130 131361114 580504524 83961166 863975090 790403646 300787078 500540576 470591506 813663344 603582456 272842790 748107828 844494544 24971524 838563136 468006286 180163184 159398190 110954532 978300264 996460462 925284726 119898350 487068174 144956446 916897672 328423348 839220438 598697596 688990584 128253182 531666172 572619610 470913242 991213426 402731382 162756476 848642052 178002068 296847922 891928168 718627984 710199920 647694054 32640740 367657610 51075170 41687456 94135918 516974472 955314048 113998162 768438826 38370898 881951942 426536518 834062224 693285108 14200526 449268010 392051440 984358238 776981788 362445182 906791974 203886578 698530900 606264646 447614208 366792932 846754674 208987698 271491052 217504090 331445114 901741348 460779562 347788228 61025126 716735702 599148948 259758482 193979064 59554726 687848316 666029886 844296696 24091152 665493000 96791212 734993536 14293436 449702740 139693348 794547666 159506608 433437364 521322952 497308790 751614790 998453696 89800820 406211600 6245890 76867926 672771084 924277300 884743088 248662168 836166542 120962446 355496886 463150898 705733844 793148560 51157740 676911392 115241178 999263984 75558234 915901580 318112232 395100156 926088798 61086674 573741896 816867422 718001312 600531948 172675560 939631844 666139320 330375964 623426684 286917620 919650102 816913052 227508396 933686434 209130692 359653618 728350910 248760282 489463138 970810202 436774084 652216434 187579352 608781490 7961872 979160688 137199806 780887392 339347772 11335850 437562558 531955584 907843784 667436954 455338300 622210466 321593072 958995278 362454352 476523946 842594350 689342506 693925496 699097916 565033180 884887030 549907382 864497068 267236200 753422352 924398622 114742050 329095690 344116836 272040688 169242122 309475858 592170336 851764134 620405238 692201780 110600776 488758734 672901376 686902168 460769150 357505716 898939296 972624310 302666504 780446798 357740882 229952612 371334780 171379620 990064518 166143250 380581032 542350792 29532030 427151164 563321328 782460460 60570442 900081368 956501252 483259948 326353062 3379344 135059246 544767220 594403774 906949890 333661854 256676260 252885528 944151512 841833550 864189022 12560320 349283806 312325448 22890520 965671448 729479940 748726296 163269096 858771392 44180872 848772744 262378222 161746560 999690966 243067136 703811692 99312406 601692344 428571098 52917724 790730648 365596122 985957236 252456122 248314858 840917186 629004782 145687450 49120950 160969680 572222142 244815234 806383396 351425570 310557996 459561634 333095292 758655188 717643034 625983764 155758868 609774180 778874446 481622972 243155814 470969976 455746270 561766836 711021236 726557126 243054666 201758278 682627056 137290374 936721624 543827978 144233372 373111642 817029676 957961072 162413152 428133206 861596356 885089896 722404794 54204348 581023374 188592194 680077178 875640448 707147420 556259118 905203218 52715156 489179176 562323662 858944266 844495046 530138282 351118666 394181038 497668822 899134604 168146754 820987960 522233516 73377606 974128658 514297416 732431140 812478246 899350756 36372998 780837758 721291990 632372232 666673412 636582270 15812862 147138114 596932812 694672572 483985234 772764982 422168570 355901140 135134852 205555970 426237508 101800308 846104482 973268556 413969836 217504562 187806878 65268334 778845400 480612708 230887952 672216956 181621764 964465446 811327118 118203062 921957976 164614266 874960280 371381802 611562398 88734482 400570012 732944214 378894776 35974116 843124794 370583454 642355700 464580528 884517760 982508798 503734718 71188746 270481406 745156984 705826818 489629784 745804288 218783720 271248582 129910474 430764948 646957082 515952980 253150606 252349724 706787222 14902752 197978638 340004302 668244602 825332478 686716054 566016050 138655714 276969184 485865068 412774612 318469702 236989254 153188144 123139788 547567020 575558038 866615184 831639204 103397806 626080144 847867836 879209678 813489980 997440530 251345478 292065748 545805512 512720304 266675224 852715550 935150406 212108018 684508176 945718540 970991378 480956190 960732898 587886098 644313940 519315434 735189598 533438358 325759992 883593024 560881968 443600062 243760352 430869840 162034614 567805220 143877874 800728582 510959314 698667476 200306906 739619188 313449858 488662144 264062344 704916424 382939616 797383514 489880186 689805568 675672268 892973480 310483282 855012092 77801350 372365740 221492894 669309380 156991670 71579098 667463966 885043848 446692118 50519244 653832740 509081552 792590498 508669146 819046726 739974438 814298550 602916318 933345402 534183382 533587564 649203424 696321590 531318050 645054544 279451840 795237726 100681658 860503078 462964938 812686354 197374284 518171472 691627944 69367094 824427598 381690562 443686444 198278822 565430492 373965700 703422884 376913880 77849920 94759982 782477928 561190174 51202282 45589014 756175140 289526150 660609510 947399984 95222474 212305560 586353338 490967044 158590342 753992986 840849802 290439606 594462524 280795464 476266882 208132640 868142778 301938156 66901840 986734870 129175876 554983894 290526364 743966190 384934952 796408806 32125546 875927214 424324334 668235776 244121622 10580738 780120170 310106640 189999824 658840092 337585854 219799360 996969030 564530908 108888792 62589248 163300214 582576546 621134126 264680328 48426488 551716612 303369760 381084048 809125514 100353188 635482378 676715496 512556546 327222248 419071740 716386618 980141828 557095450 647641134 852269772 970226842 609954378 893284384 313747222 379565854 859561838 970039424 495473084 293101592 129168432 411290142 488637310 26160616 227890350 989077184 430377154 64076066 438419508 179631434 253437470 575471410 367272566 969279362 744402254 731696976 167314080 501538548 72590500 724405448 951850622 424658198 132187152 439626274 716250884 519944480 959789942 995439176 346101468 21230172 291882626 558806848 89479212 8847600 943049372 123055648 785841506 419678478 892493908 889327342 461326722 905715718 366817120 747023048 434251414 322829954 30109264 393735326 899589962 914218834 362476028 689859844 523145782 31867192 559713090 13687956 744202946 76334506 535587074 147889332 302518128 843793166 891935430 541573860 363221516 790803242 176245204 9526134 164025444 863894180 500611932 92442746 907271006 803279554 817846584 558118640 200779730 207803204 173876124 603810126 403004646 463463554 792767786 834598940 499667368 744551010 190955140 433352918 238494956 583991484 254434788 164482788 447096210 122104900 507446928 733469762 534536080 869394710 475077628 100625392 702890400 9378174 807494118 295961018 135168766 874654746 973790152 628450166 885900048 632686828 936865848 666697916 177809398 517075802 281868402 299580234 676685958 847099482 178715720 255757478 685031170 980106780 273119074 451782050 159254478 796227258 53061932 370569224 951956956 554251592 872706660 415848276 587295284 250232020 410272140 592682382 623057702 239397608 973357528 554000590 638375368 219039562 730150874 556980224 414008400 745167038 217007596 878604006 501753428 345102674 702363908 455660940 563546672 272260138 632475686 414372922 286167802 589610668 630287024 431009252 694921506 530912896 125777374 598479292 325822998 814736992 633672838 314704160 556971452 978945410 21564278 283119476 476332522 348234762 718953812 523033630 877987356 806049874 270229400 893763922 715342322 282713388 329930544 820387498 869705818 943456270 921750240 404425502 646978618 347562126 696007424 485218552 845097854 854881290 878425730 976485728 986927752 732739360 298834728 545601164 834202886 570758878 666892972 646392718 237510710 536484090 395207826 671269092 250752476 604950152 508727024 402467020 763518378 518443384 715419142 200162074 189465024 488349144 140256048 537660364 36851764 430947418 969960728 305658746 549674082 340678908 464045896 866847552 57644668 121499834 233217788 227447960 261771190 436985574 449339472 353321890 720525886 899639186 269367282 434027138 821313884 806583124 267709642 960905908 172942760 873397192 338203318 545678480 661905698 504408428 403414584 820414090 110582212 971569132 561573390 44029090 785841090 178599256 77942632 208821270 545736152 196853178 789565944 657529332 770223498 898552208 989058280 776235894 880785386 365909998 995951742 375366774 559871422 573915716 471275592 19594558 858432016 220938484 51137598 437177634 406782852 770116130 990835174 728856660 842583598 491606388 500132148 318963926 224554736 896133744 752415220 234560874 944098020 374729802 41946726 60213554 631759826 879267548 732698020 644695384 329126056 6665546 970671398 555942086 98273790 565564760 387061370 847051872 68237080 895789140 765169222 808145576 134172224 175921678 264987750 4893686 583812560 9792740 302355004 555542732 1571302 374048468 546973742 591349202 970802746 225435798 607572608 846914058 834246074 563921668 509575708 511346364 762383704 549917160 335659300 31744362 954498408 317185516 91543074 519730748 643057030 178291116 26024128 480944298 322164850 543667208 530766714 375666616 833533444 794856832 816432796 489605580 320344354 419497136 505859112 896095054 963228798 809829348 64390284 374384542 676641272 734003856 144011300 46999750 223188496 346922148 683803304 984323850 875213708 850556300 781856934 84544386 406824454 705870190 939755442 638561796 232120950 176052436 886272896 941754272 444858804 287372438 295860818 871460280 637584260 560548254 71902920 517483946 366155924 602931666 665111534 441429424 61430586 982973396 29065850 627380660 528169694 916336154 776902580 829124350 529297900 662465526 146999482 915086392 675573212 505552066 445060580 585980404 538110258 963135666 345336650 159632292 545714220 475896772 932288140 632211198 132154128 479015262 215270112 784112762 388853728 479011530 608280288 619569674 160621296 126150200 668891260 119269434 812732840 853937252 473643114 376374080 47834358 520218148 429210096 685641326 691998156 664197448 131039284 868741030 890420124 609595162 922954616 199205552 93376706 194028902 764949958 528492874 833749746 96831310 678190138 652610636 640283112 663771382 269575416 714896250 569986972 572009034 324547204 605439754 825847528 433657870 337869782 830119774 662844790 432958812 95936102 797389576 114665048 794929276 285867150 721025304 536349300 576830866 663711556 253242976 613205606 145456206 927951174 521431132 879163240 925205436 902078622 393729836 987805868 164938226 622077888 811076228 779724302 304440878 113522402 225585284 573113782 473534548 613014098 663551842 84979296 488858702 304728094 196978388 781639586 968817052 488816154 883454880 953700814 959133896 580110944 28326952 204926782 93806250 167781182 259071366 890817036 502089204 445585112 455805780 799884602 61852414 243930020 431025290 644661362 889850076 480140980 230327112 227965636 956397700 106430764 813377600 942722460 181718454 634178540 331009932 883733254 95536132 511822042 849552580 635975056 175934262 889441182 817539336 239683118 415976430 403883652 14605134 599318548 302692338 304216252 907275782 256538114 367875734 36689628 996531840 47575696 77925444 507716048 672940272 658613680 694200366 435701968 638820402 322388750 664773010 79778220 534889102 131645112 249647518 21389266 181468976 649595990 84719134 693334874 268059284 730515802 33214526 664883276 201561528 228546770 242746234 359052646 365935962 756440598 158258814 895586582 213573066 137425652 999347162 334170442 496124274 830310106 753368816 167599802 869742830 277313406 105869698 854839598 763668014 438146172 656661698 359262676 514922866 712461836 436531786 911776146 600371472 533581534 302434980 767957284 60085796 341850520 751324936 740146374 961409780 554352406 976031570 127112070 922346596 523045604 293331072 262569280 103417866 735804022 713524560 761531702 272288206 732044932 92567138 329473706 551656 396413452 517245710 463788120 151576296 382786296 175311700 493621034 933035458 830612160 91727700 546325848 410973436 181266736 872689826 760059902 106287548 839149916 291033902 917654106 669008398 952111794 622809660 259830730 974252744 753832150 496347756 508975800 195584964 934656420 634127494 430094698 393349112 291283674 98399528 367696292 37493826 811257796 360338448 510816164 265145122 336684510 542445270 432428348 745461622 715339728 354580530 165285212 333511350 838201252 524315890 889275642 781441948 347304078 694769842 229563902 579636836 417268818 619840542 34097900 77176792 650107738 917707268 631088378 62304080 185085792 167255588 150132452 916834536 604999300 59965076 313549584 846966316 427400252 969301194 957290316 200812888 226099540 166677606 844045194 499915684 560087418 550942838 9084586 945454780 41859358 659267658 885987980 179441916 346081342 595373256 445819114 560003772 796884724 163243388 709596544 951564312 961657774 141812652 66055268 797227316 198237334 964963706 885918686 936658802 289776158 306493020 101138862 777284104 786604432 523096564 856163184 757029364 773894404 630294190 149470552 19682390 539668858 695313408 395155126 976929634 607779312 267131762 257144822 837621128 379496094 732829806 142792242 989614008 585495742 530703996 265705650 237463782 71541562 977306094 851880918 973480790 520556830 503633880 233504092 752350734 688291808 286778242 390718368 145023712 155447112 583987138 188084648 679675600 358330062 771989498 728919784 501515102 80093226 330059344 526491760 135377486 179898246 211341144 481173880 59545010 753269230 152406050 733395868 983512256 190384654 457218174 815451784 172205538 433128434 17743924 788715948 724359188 488213528 307946898 173217628 276438708 235932336 485238858 531125224 35371374 403024346 328436864 503594698 353498246 999939548 699973156 952427540 13953214 674522236 108108574 945367536 130914002 341486124 954402872 221704620 918808014 516229470 347109610 588205158 795199052 638267540 634717174 857007742 996081966 379507252 707604894 184408222 423286606 951645464 279618572 515592596 1209672 798828386 546005320 20634026 573451432 126572294 426101586 60866052 365716654 537182808 549229864 768751974 286893308 472531964 703527668 569662416 987342994 91903090 999916396 356154680 867148432 960647292 483356736 504733184 804791860 155541746 170122510 128517106 141804574 818350988 816584322 20436668 161364304 65064736 236684356 47825832 827685338 884941344 859579672 471029606 431186718 126382120 781812186 800813550 808165832 775913050 382227368 240257246 280050916 835571830 502557464 633283556 798231438 256335064 352091014 256169448 966682366 547041202 617140156 503155470 8466410 496499120 538125900 498332688 185728104 921132026 775172890 789990412 972975708 511280156 585644322 922432990 997010130 240166750 998189096 507596672 826961432 605589822 503695800 228283824 949250426 525190632 639788202 678279968 660204286 899575370 422756542 667776138 870193108 462878968 725895710 98227182 404946582 270539130 69567098 669918910 995908682 166914006 956640950 45381154 202442800 264354916 561460608 446744296 851064582 134392510 949463832 301088216 426421804 956951430 43287268 639529628 996359262 991802918 643776334 415303804 81447776 30010766 21225354 862690004 52539408 717609408 609679348 471440056 54604882 901211704 645249388 630328994 457278076 151207034 882931134 866700628 241893130 275059180 462841034 885830428 756792400 924395624 122912124 162365648 467953450 243414636 589250416 179912198 88048190 777014638 205917704 523746704 455164244 583531072 802933572 407842766 94164552 958391488 314409076 607425674 647239084 328505846 269027026 791189714 345441438 901983126 905504272 182936404 283066644 810354700 201468122 32948842 531001392 212850004 708711302 192531040 495253422 836096050 306904890 81027636 146522058 271508506 335712618 889959868 494343098 752126552 383197042 716548874 175611536 541720762 277535964 847090380 715650198 839915324 390388666 68149438 174381552 278853374 246587684 196833946 394704704 771774188 753757804 734175022 961318944 614428064 220171576 27414830 178078096 857974910 45600862 242925430 619513470 964817338 427951186 655333726 571864732 867631002 838120070 724002322 158397150 872783022 907709696 682829988 332473876 804064690 904741086 704658046 206701892 344851616 334622344 745867142 627019894 428985014 976752976 99579038 964988930 734165922 92080136 765812150 560537426 41623398 500328784 181408766 66105196 52877240 577523364 5428438 746598938 225772012 659792466 26905148 896217622 639560040 535329212 937734780 322638348 652543890 836083432 106309576 84338014 47181048 905461344 230672306 56472968 472785584 59684570 291366816 39380852 725471236 643106976 195670800 368768836 613282766 353535950 550205624 380855524 402819126 449171176 121858308 673785584 976466670 700026742 464279024 199656424 386838046 281377950 359183204 970936356 6035794 946883386 682186032 457310378 749209268 471817960 738685950 91863670 413360324 565602606 995921970 839498706 145498748 296846678 963264270 879835202 341203422 618970166 810110662 601170282 599162474 212902486 940753174 815460900 108083204 915016820 724622660 285578734 37389202 183385050 565486000 289268708 289859748 438315288 225360296 188900430 279599898 996834838 633082146 61080038 492993262 80370392 53829678 271116402 328830238 969759556 920275422 148402676 360747528 342761800 682681536 541222848 709079788 10230446 31980140 780561396 216840992 890363282 432984028 570616596 885275986 990087886 861029498 858217120 393154152 310282302 54420914 925429896 942263856 650607820 312213208 600279244 338364928 94084182 668959246 182358948 633257634 443507504 577951282 520358878 279608644 659607776 350341856 781560072 929265462 10482956 20202248 81510412 11022016 234640202 751565154 688746212 816267764 835063558 612642978 515093702 301983908 853210158 273663244 382432934 59230338 823835706 46307106 161734792 752954200 334687220 69157116 153979002 203870512 156407908 171298898 444966682 178324896 588538864 46172392 730651578 967616084 179317044 135030886 158357936 711985858 420384486 190729874 738612814 573021724 305945878 584691772 210983718 624522046 907102212 611755384 578542736 872807616 287856870 462937632 58748848 268368092 723562130 55410014 719805200 161959612 643660340 757960360 968824572 884627302 661474396 424652740 188960360 457538412 907399034 640731062 54371092 220394534 629408490 667636268 873478674 844176420 725555338 372324206 898322132 373357306 235115392 254300040 510561228 827588744 458153024 440601396 583091886 713100030 366970386 567852716 757693834 309546904 657869798 721049190 41175836 278321842 43287016 18035542 428055966 138008652 331902578 147531042 880908460 203941278 830538148 536700068 914839052 779386730 308394068 166287930 958213152 32648104 442534656 983265364 777169272 922264178 63324390 587635366 762839284 121233390 580119486 586023086 997052916 559809736 846022176 984191674 731804434 432220778 708611626 576419034 928001702 467407512 423216446 60985462 716654130 127480494 199390264 580336250 602289596 492941448 790773688 129297282 903678872 835679490 995069176 987211088 609276144 386222930 270404624 298099196 972966376 739840318 389050992 828870730 68203252 746723454 633258726 773134566 299595440 995926852 924013282 41393202 884097094 682683776 661722344 489772206 811626722 746363296 931057434 124606414 545128920 754208798 133470538 731126400 440687790 31544186 212583444 101686464 24690828 744289454 770453976 439137144 469541498 148223598 85668780 766406494 338387888 662984058 520455248 15114296 315745656 768581804 624323192 252403352 952911660 314900156 381180084 315659232 337213340 307790088 920750638 545722282 939170980 572250088 631903718 822117716 715469752 487580928 175415062 380613644 952572776 214582434 864287822 68873768 978569234 633700474 760296188 30541416 121344564 779737436 820890394 688034586 634034830 578483852 583030424 657437036 702147798 450017876 980654388 263606784 522287762 473869338 793304364 394339656 55590598 561967774 48513558 347671328 998242146 988818588 531684024 801536646 886030488 306306710 368471322 91012768 841869874 929354284 900478614 108678156 250355912 131113998 451564234 825240204 340719696 307582016 267158084 63161978 424565410 735503976 469521088 592337940 918422340 299326608 737748690 792177484 433598110 956348374 552300948 301441764 950182702 489322666 975981240 834640026 124790056 430244350 479498348 878631382 779239264 804544542 228493486 267676424 384017158 68814936 344985138 103537312 195938044 830067112 680679656 777430156 351095994 340934952 591532034 978018984 251024418 367195614 187816512 76261636 672143758 95016246 611779116 20531446 695469256 723415564 819929024 358536160 934638322 297019520 495458288 843011318 703164980 346724864 330821970 300136054 509301540 730028860 38867314 571902740 496324822 747696374 418922240 120573020 870374002 34588832 813233702 571121024 458810694 564906234 985584942 213107846 78526034 480834782 142957344 222361412 72782636 119036456 115589836 157205172 425894354 545153432 68528556 88102254 812149466 606738664 576655010 660994728 674957264 116899472 658194482 118608672 345193570 940070866 902390442 921091368 542323880 100274478 520110870 706783740 255190016 805451522 702514856 221415896 683739624 737499102 876103498 885340736 700793812 415514182 440753010 664559576 923390908 303728520 768523964 440058310 245214824 468207000 39212638 952945750 117270620 495967398 706538418 140958366 907654022 802032816 643801900 930171388 118164354 817436456 651819384 172215338 435468848 220093724 22006442 230972778 218059118 876675586 200868914 982878392 89383994 349095630 180460930 748459944 20356476 219768240 300532224 577563832 576644770 91203250 648904832 117821394 335637478 984482464 462646668 812883790 505382982 252554636 589701632 284611466 560548090 818718824 416185696 669296250 335172980 76964386 472868824 874677760 836633314 442016392 279008956 870897246 218258224 667408062 138979150 962124120 130630670 658798106 436848322 133448614 196518924 174142456 173624366 700461070 656966952 531133578 201484334 662090076 442018684 221990256 933073898 636356412 46002104 526295670 983413156 112648190 147993536 379377116 934865286 777168790 553680524 372786214 952669360 898856266 909030764 587156020 586667724 707539174 204559626 569920168 484464024 882477184 912661278 160707220 865647008 68669830 153135484 611661452 303746042 70797938 349879644 919735474 999022856 733642108 232827466 325107022 143201990 918921250 70822486 378820958 198866286 681794346 483260824 332204672 26235502 113228632 11337202 915790174 299580628 760841134 493843680 539851836 629432354 515988676 480374590 16915002 946091070 238445992 903115570 705421828 557893798 131046580 149359954 667841768 770308680 70479524 976463968 606687872 836650244 258994668 110666152 526458960 568589914 616452404 845842082 13901536 516793252 348574108 318986118 623276562 867202356 212083378 309697098 973380510 557745116 888659624 813981314 117934468 596086118 701438130 160283874 225653026 879261410 805355516 593081212 348816588 483274580 320693202 450283696 933757536 449176674 958950322 36435536 121632504 440996706 599756360 141181390 18513340 19068302 282109032 804033468 312763348 806803992 817299754 964616320 983003116 791050798 451553230 481700952 461699366 7321346 627475030 59472356 15696986 697860264 299883328 696420714 901250540 146830306 366801582 928846520 478644128 66357232 758826118 354988506 884547518 91774034 546008714 667975066 199725032 317990144 123359872 116316246 131846716 721979722 59168676 699668388 16981052 579408654 417302158 952048022 601593186 265423856 161061584 736314132 441572182 194755652 27656382 231607160 699726848 274474040 98252558 380410486 591386686 222781618 419939898 885617810 904959796 751564226 477627640 207772596 126342536 790582372 725612770 602800602 776292670 881853886 726907712 902907610 700433522 377289394 158300764 106273296 794266146 729576344 797225358 617676620 546020102 80280108 834621438 182094594 116245408 447050246 497183376 497947372 242618326 304995940 200463022 848071650 876874564 805973018 309808914 987455102 40020818 970564422 203488356 646904146 730372250 506795064 851854074 187374088 983342310 714577468 560403682 631867908 969812316 957575756 836129912 369784728 57988126 157385104 917006078 10920610 51426306 218088170 585856304 528401856 394235246 357238826 506810608 989441356 488550226 687469784 771104888 148423036 523686860 149768926 53037854 852243360 772656056 338976558 408254898 149388794 810422456 575792576 453881128 172901460 263170806 30665374 793778382 2232170 208689378 338697114 488105806 722578774 309512056 93177686 992468706 479117640 639712994 477831466 182793266 964029578 586629224 851752430 541272240 498536300 560234828 949296060 429237308 976349154 608850976 982876084 233377804 801831870 464466166 201107134 688959050 929876546 387815662 123313672 247034350 13537766 541558548 266748900 232887438 319892640 761186110 865031026 596313792 758580822 980382208 953983048 434977850 659765018 689131418 314367860 336250240 810079318 961522376 990915706 437306342 770145772 708757994 230170162 642533254 211542030 810678188 575452218 239799082 564400762 822888548 66889172 441758540 850436538 899534384 811669690 630507688 690477578 843658688 943950512 152564214 325966458 36021634 958361774 628683786 466092222 423555456 969251406 714845212 769134256 368092278 168040828 943257406 40937880 375655498 661099078 22793694 910843034 694805330 632463872 878619850 636735894 877790360 182982478 580658136 658840550 653727476 787611718 222494740 712522944 973339316 304576672 533920042 390855458 68893940 635938040 671371468 96219656 982992592 579187032 543105096 240783002 366976486 961849842 987620266 724450326 616020160 103362214 94830080 864012428 924512582 198012704 477110048 350258542 526128080 787523640 168464250 418248570 56993804 454899068 23128700 5742982 100708266 436959692 936680402 207501366 152658348 774074250 389926620 694798104 147610050 434427356 551149880 7942078 34900148 505909594 282705040 568418968 360204316 215919110 552499322 165883762 99329832 189691556 814550660 881802798 755288170 787355438 486203056 225761978 540493354 144446860 559207750 133354216 645032844 477635436 747183086 29173134 790799710 931048382 61154838 868613118 207709794 825297998 444360336 913574954 830348136 531818758 707322748 958964328 746680886 645025932 432471278 411828094 199526482 873631292 335161722 180906482 255955202 140576384 58778976 49004184 383227770 443946010 940931964 758633116 389319460 143132984 136189770 417599844 361605618 880406286 295326600 831214412 943531518 639750130 685945986 967911992 478943624 197082020 157234202 851942472 360284634 141091584 222855104 98269216 422610778 748608312 999998882 949061944 663894754 676757556 800760426 380615500 512765648 377360002 539566314 991905674 995733990 713944510 124852692 804811988 74582100 583461790 522897468 552410026 550676124 614415204 525043798 416490022 692198010 605218166 842437416 373581150 485787988 515187092 445458546 494737866 739441356 245688802 143173320 588162412 251836758 357758570 119765920 850889762 646497010 858256796 317095814 617089852 754031634 729190084 762481876 315712652 360645134 776567228 639210356 343630244 12410190 991131036 461228102 956672766 81464646 931721274 784430694 517175848 598090258 571573862 883216026 2706588 713162682 224022652 788599308 761040832 487222494 529761576 502984310 840588824 570314822 782027658 819852624 179913838 732780202 132892884 405144088 213752478 334796994 145234566 102902136 31267510 481023156 577386798 643088256 123748504 427036944 27842778 17304786 620736286 554725982 55566488 631486844 608931966 368602804 455761466 128911802 574571042 258652980 342204662 552670040 87026568 542828716 117115946 939988394 602772094 790749202 242614498 310048058 67769382 585642598 584430558 8235174 84012684 540831322 334958250 900921372 946090998 440808044 642747892 218422944 17814154 888621046 388627900 321024606 917314126 875697848 538470484 952098436 742975716 320147588 197248956 833528702 520526940 811379236 424865202 935582548 546914116 822818368 505322596 519547982 24346908 714916494 491499618 10187350 253139942 301875324 655078968 368953532 350915026 785514912 970418122 212371964 113730806 892810550 238929862 531378568 497126414 451652846 746337644 780336512 337016378 925293114 795597602 105645368 83140276 754802322 264618078 549488372 189605822 214195206 356725762 389731866 784044176 655282380 870435510 723758944 835937896 191791278 23883760 180045884 146412674 909476752 865255078 185024224 40863650 187749396 427670762 61825324 197762704 346641152 964337296 533373782 195061408 775669086 792313312 722218328 543349520 110273878 645089662 266190094 325453018 720032474 689481460 362446640 246327196 960006066 206092250 644604014 964902626 494430670 411652200 579561258 716678546 186734798 829717468 257473520 151491840 479054774 262887316 491876282 648261148 610454338 361934752 584275404 838769308 315500174 991837424 886874680 439870156 403149978 331177180 22948264 261780586 941397526 449571640 643086606 102214594 680020512 162849066 102830914 283598902 931193164 738725000 64992674 729875572 567462852 828506122 500570056 642413562 515224318 337981902 697875462 819811548 352172130 669424548 286709868 656325240 778370712 268860654 51133322 683140204 309906320 301885934 617950912 439905760 82484086 122074588 759986272 461645042 964791006 686652778 756588320 529794750 101357296 742703770 951575738 91931530 413154260 37358216 55016544 464409726 816803428 806560738 786079902 494609990 298367914 114594242 2120782 719251122 664111034 112340074 9415186 543478432 465280758 513072704 491443722 326058662 108523536 375502780 685037262 888951468 437307494 681930964 885362442 546631438 672421766 593567488 623895532 406944792 592538790 663784914 946376120 361385296 300846178 610684452 839724356 784591868 813935936 280350710 208300832 66609286 717621142 965081810 57663510 438996186 346672576 465256102 921248890 460284852 156092736 640166016 963357902 600505236 3394124 723226770 298087072 578682292 430612548 526217444 965404120 360604088 426070108 754839136 674207388 762269104 727194818 121997298 3395770 115464482 493059890 782612610 364258244 719245680 515057526 388361768 853699242 469331920 917469670 663501102 747015740 559998138 783616600 30667702 274644654 864387442 463450344 124613604 547538674 328990960 144248814 894234250 180304218 763976250 542999904 739694752 147968006 19682246 789885650 324109432 672926434 423236546 633879832 13864356 836556826 854109104 164498414 550708412 862917046 491222718 635947494 755506170 19579312 740105798 247674996 917715364 266848636 846941242 369722740 52748750 301203508 29392742 824788356 245251244 218608034 340438748 856534472 669231546 140054850 703256694 285270098 819433252 979093336 423232578 733265518 972342630 102169066 542429936 503816990 256428610 354735580 452711764 642662552 524542830 924738032 831287620 338981258 471220666 437636598 455271614 897401374 808920356 77716466 697079896 570535694 703780818 25650216 6216208 379228474 995363202 949831066 449990120 724880396 454978060 514754264 352782676 356078792 639299314 694474004 340657366 639041314 787576262 646672482 503576888 569824280 316712492 401943204 411605332 224777958 355099556 900176632 662337834 620311616 705352274 330068524 838631922 426268656 858072046 561539966 971183106 805639988 727532238 731582618 18721764 791210362 947696168 719673988 492184864 362215816 159279872 820634392 460455330 688387808 335990904 725586306 717851624 800767294 12134216 905771330 464862244 551962564 915092510 249129202 638622962 952287262 597105042 877676690 408493864 424379596 177794038 35204054 514649662 963527196 293034058 344967158 30602818 150108144 211606618 537675590 460378514 462583266 636098228 728400490 517757156 160409804 68909890 522420598 223911604 143812336 781270868 967734032 74226042 460705866 500450290 212360508 649597034 289153402 725617664 473829560 269391970 885236482 879141746 533431374 437256374 144555464 278987842 601974514 302314686 450039348 286000134 808019256 939621658 9593972 560875216 95655736 889183322 292424282 942497242 897642932 896326500 597999166 549272302 810644238 96058348 847789006 820882840 780476720 422041360 300899444 873306264 972704070 457858804 4484386 528941178 191754534 10076536 612373578 209570578 441673044 461455746 937630634 678032792 146197160 12844784 77238376 923977560 763511596 710950124 400085282 166780698 644112438 503510310 213369336 758854126 134069652 403885702 412984972 68718020 996142228 973620904 16782410 777382650 493298264 381689658 366038846 341572388 757113584 702575234 97720134 794248584 466923748 301511414 998321266 505657216 304643138 421383202 5914086 932226012 390906446 818669430 858436896 834852668 770605836 368904176 823936020 532365956 29463854 538383374 926854286 93616568 805455448 637034020 189578704 481886056 491762818 613750826 946005366 952203358 508883576 688883416 91773520 312510042 610188074 312056920 732320260 458725990 507367310 601565926 219538086 239636068 573920048 175980580 218925804 192468158 548459310 575506238 914519398 274458806 43778196 240516034 915023364 695953476 866924912 472966816 343736440 823580458 980703360 648701542 257287790 145530214 96092774 735968248 194152158 522599866 604445168 502766298 241216016 104228210 330615576 50238506 224216014 699483136 664771720 731260108 398898638 24215058 446680584 980240294 386479548 522377166 496011724 59841178 454847336 12071300 12437520 662627910 62819052 700896302 83656142 615806174 246301240 201381804 411997950 358815320 336279698 977777446 447378652 337127936 300128722 86235634 710528854 753853400 651091894 842803308 77556652 672937048 24352046 946957816 476677800 243075070 597868444 860402568 290969064 416516930 842124504 649544098 600300954 205684582 592151248 950235366 671008348 359953622 728844180 22784782 209753006 149333526 392344486 505328306 339238820 716664930 576429146 806347590 791039514 468224910 400029610 920212176 19382182 189423464 972615872 32756532 519873092 839028188 493359944 340422434 680732748 535996902 676928882 987246772 688552244 192485762 848104216 915093454 651514546 698535838 96201598 119465060 73763466 629262314 779967094 705055740 92243832 691007096 293244464 976822960 720992286 426361908 103268552 298825584 484911888 384933088 949758046 462319782 446693968 655468254 150662420 288583174 874706132 840107300 111612676 200734580 688765086 21364064 314683116 458460136 844965774 410459876 286166052 869913804 587754764 230078682 643530512 822887944 263781038 343238156 737346746 26470632 545815034 675102330 464444228 236931286 983043206 905410942 4692614 739681562 463844712 830802212 393176838 899175640 928263304 248032852 469693862 726711762 942871188 997834146 670738110 896138530 63167656 880756068 353046002 998044310 600068310 404675746 138883564 269027500 600665200 407960414 416398156 557586210 537694706 774299358 369058102 842269160 803328066 270969982 532119934 552004522 11748164 575420988 378089776 995419936 100260058 865480914 140672866 10252636 449046342 122171502 961106320 454067478 809292882 980289592 138505866 521971790 755926864 489051938 481160184 711014140 165787208 994336620 189537108 719079430 543181790 115892006 348581808 774040172 135152020 635821630 207440652 41136464 947417836 185797420 873138814 835983142 16238270 178460882 823711752 512752584 596649190 591831628 158025962 820151076 146227048 666594306 181071006 914706152 690067904 688905976 932905834 311080376 914279258 991522354 902579686 193787998 508705422 79024994 708490868 93980062 867209922 216907682 941733610 571406254 808190748 25643266 553441902 546694808 21478226 235603710 168408992 402269586 41307404 569370978 53535942 967871900 146067118 742688620 904823652 265564094 708209106 142947078 275338132 295076522 534597854 401300328 834569916 453387194 389537282 70960918 869379260 781946468 737354178 150610026 413157072 656911810 426416722 221949082 104946150 12832604 260529018 605192528 834150770 480479142 136997576 939491994 198192312 113727282 407375384 28186106 511343996 730615506 703617242 503883190 294400544 578139916 941598946 765264582 352639018 585492360 501990104 346307440 374681384 437792528 984964260 787381626 466849036 547082094 941243242 966293244 531997708 240269076 124946116 487497394 380739758 761037410 177422454 256520090 751787480 725170396 151492128 749726356 815220286 610421600 140848594 968968140 692757514 550440162 760247208 820242236 391318742 588154918 868928164 999967192 110890938 729063144 443915392 153860796 854772834 81886336 266198626 480664430 94297334 123257632 354573560 189077784 53775932 405182718 554120320 830517996 40576438 124860730 834474802 657299986 489175756 162584454 527395420 255585328 632727734 42928934 202275364 203636112 649372980 707997358 87186206 613048374 703596476 943668482 8526244 181705280 348541712 551366548 877333302 674050408 149619252 840436314 489740186 590397144 909940150 278346894 269718782 670304088 390432066 288066822 291372958 447442564 993680010 650909978 175876782 133867596 363297482 308424348 903079280 898308158 321059084 433944348 521785850 844395832 553372412 34067478 90724690 263807826 139183820 715246050 875196252 116907096 509478682 152990944 16316164 8438984 391836658 227931330 733941010 574025398 140005074 172946232 159651622 487058092 510883706 407811488 949655510 77983462 429796652 480516214 888290692 286919974 479381288 364224846 419020632 887985870 585000392 126166964 171179508 794906456 392795268 37670332 24924268 110177442 334542364 360508314 752112340 17507226 705224628 915982788 588635718 837521100 232942598 802930056 644069956 613915274 494833672 811393900 724848072 855636564 877470734 306890334 357980630 478014502 991679914 182539322 10759046 59998672 287818962 440515554 980401652 970830696 194371420 993891314 722023130 822065816 821459360 999974218 224497646 26276592 536778900 73123702 345665974 640888584 397541370 785518688 681333316 456958220 289443488 623921782 808966166 775839110 209208876 141288784 876875692 687331914 922542644 660572810 261238496 789268142 512907196 525138296 93650296 726342748 879816392 802935508 100347714 620016142 284693420 950826764 50245830 421380402 992680976 907786618 229503064 460853882 201723392 745758204 542666550 271659728 7777920 155325388 598265736 258753472 709427606 1131698 702627804 555244748 238855380 882506134 999943524 296361688 465472102 209493602 504535604 942084404 819562974 186034032 596464346 367697646 768597108 653904194 310788162 716831676 28720078 28981226 142090684 488006862 22150752 121100588 16029968 828514804 900169500 954854518 752816428 359530116 64396210 656256736 445069402 843453930 796095516 894343132 650835870 759440606 368031334 819744044 557911426 568840064 794356460 515908770 40067024 930299602 598867056 887428882 166714994 589820476 314711432 967507176 616833224 863761082 864546468 511790090 710605616 842787220 559894386 209239396 906542246 625808876 177181898 706198710 576717100 15967102 278037626 746187958 770839428 578815812 961739140 970407944 441898060 413677726 261602658 316431078 220704470 552513154 29475106 814732510 750884328 162041972 287295000 960532272 299221868 69013844 758344644 508486530 769390390 347241124 232315398 622860304 605542240 667425190 373451144 958098748 835349510 992674214 987707600 773187306 746307242 931121838 595104398 770983588 204448894 917308050 632278576 681690528 984748962 488909670 438843766 907346212 471147192 430089236 575713228 21059518 909469446 369550406 548436132 99531226 511668954 973271432 746587378 642591868 783476312 649714272 209862246 368472990 646649036 557009248 98864506 361743248 746030508 463595776 196449424 167949010 723329412 929484824 712690992 106816906 992733154 592460874 494633238 177053622 76772804 805552654 903315706 356214250 780016104 406325052 780880158 593255520 566412752 33881810 177402112 86024724 434248776 826266352 837984054 94146382 417479196 462711630 992531046 456192956 283704646 828593438 893589094 809211642 705119958 609353672 538558674 591084846 818683584 795717116 53339864 774099612 119291374 707718046 109824146 901562198 132034298 29178920 940156354 713470538 273816252 377185776 871378910 835348696 339926078 428920298 257610988 850639370 585412018 681276574 592149394 984940962 269811460 759358552 606893394 761316482 201355002 490022222 296821134 372540586 906984556 631436662 237805202 533113484 448642506 842800782 215142366 790036772 274947810 522923950 260119708 285026926 801132060 269857636 65035206 228825704 4285634 435173664 941547024 123313088 385773694 859808374 526795052 656892522 14819712 696546236 844377082 768491196 907706862 962290812 462579728 886094414 498395058 371589398 959512168 422117590 708875018 131952652 676276102 375224614 488341298 384181158 752808240 101473132 653507636 448066682 33582834 697793360 413496626 425413242 712202340 148453714 399099218 410353310 293016068 698778088 901670996 526589508 915365960 772421166 390955294 486328804 992782960 103551954 940098452 710291468 452027808 507162494 812543546 308554034 242698628 555280698 975813212 578133698 936307928 261617242 320781512 996469464 649925102 252239172 79553258 152892024 129044578 900774104 377151584 768225890 411494290 800786810 768376600 508403730 962335334 210881052 10868882 566466740 666882556 860091612 620365978 100242082 118180820 726217000 557304064 427508804 11649538 671714218 571474766 784404046 968672940 54749142 347585486 815762012 730886182 497200418 715187628 804472508 536418126 103073314 586661444 665669636 161255304 823221886 598067262 364938944 115602756 85764042 587909124 487010396 438636182 453067208 355414584 275446762 651074258 914870796 224810140 495299562 866882356 714501952 891235968 698165348 259666732 624177716 841952010 45738402 376752528 675509886 786241528 193301358 190130114 389148772 799745602 181738936 944774064 373749044 680040424 845687218 741986682 437123978 667286390 675346528 178182348 275532200 400921042 364010602 383335788 992654576 934349226 779755496 954769264 201216310 254030842 589304796 913780548 872110862 929000590 846129176 793364536 497773930 987052262 177670120 965189078 962363958 78381174 610353110 478118522 559920202 486231830 399523020 215915028 297132284 449623238 134898048 431543808 686918846 125955524 994243516 928080182 920851840 219987120 242674502 546490050 648458 811351638 803062046 697254322 949876080 851844462 506373724 331477012 53211232 900030958 886452948 796261116 274322468 554285738 360978158 857968232 88465722 75834914 114512882 968556760 159661420 993942890 510142762 397142 460140640 182613130 644202276 152951226 151778264 853243142 432973030 229155048 352219156 681106370 878458082 51371934 182458322 444934842 55236046 343707844 322156746 762895986 747559790 301734572 128358102 180628442 181960592 49845010 263484158 767515944 848783424 401307210 199878952 156979132 550237668 464827358 354184432 392579760 85782392 3318130 180986754 363355064 717687204 673308866 165464172 274586116 860417846 526427046 102786896 614363886 15297354 699760736 531822888 325684382 669599748 794452954 621168180 989866378 54656582 883052768 234934622 689045608 870150060 22739084 105350208 445072904 614772192 372689928 63285592 565671776 1407310 881924166 735681544 853401656 620045084 762985838 405736146 28903722 14686330 341178674 998971002 381485704 595953834 551366568 993100946 672770862 690937998 221743740 121803968 358582148 653514568 948702834 82010524 313419266 513174226 344523880 418621998 328690576 672541474 343653430 787155448 698178046 417379776 107885990 587788534 796632078 379537096 356661138 762075022 304237896 981833776 218235814 146019744 843269506 803189028 443993326 836302486 294605504 781962874 847081948 914633024 701866816 411427058 44305608 796578714 747623250 149955382 928469540 747721540 640480814 17837948 677273544 274841674 837267910 482876360 235274792 161081344 331128618 535654402 261282762 881615866 182068774 406987806 748173862 565709924 170052316 47095644 737518962 612721988 249813354 667459392 376540778 518410240 950789776 795485362 14916290 963040472 746711366 610439448 190392064 189736254 782002380 144141014 680679260 888111146 684939964 525996490 957038036 452042116 961450826 494511952 535195008 19895384 938980662 997059406 281798838 291069156 537316962 948789056 342732972 967216812 844430596 830497348 96388882 357815334 808141156 751727670 655754202 824860660 359944918 30221164 214592278 282541356 689963802 598597458 206662066 445783274 451689490 438161518 623107680 720077596 642759938 263880910 723035736 911062658 579844406 646308378 823130898 424914600 178230412 189449784 997580990 623354042 440818342 992630286 70109732 887184726 519800770 601497506 698360708 831011726 677722042 45115002 924018506 584403116 525679278 171675220 51346954 256443732 254106822 933878736 699399484 414932558 410384246 510873156 720019302 512870912 212746962 166593972 713224210 682494498 861582020 205258590 567077332 547051894 106229686 405443294 576179858 832325840 990240202 286664742 682549414 195658288 433359466 597277144 103187724 517915994 57342398 970515502 869583938 765344702 997119934 887178184 548880480 349633952 536022280 764502624 37502938 383148884 312391190 428410234 209280324 59619378 12212706 273187748 690028544 206281014 198079936 198844986 118666402 754983452 430902110 259431448 894017892 451153738 618698818 980576294 449546476 342107388 650246960 591606616 761134854 565366808 738829748 685477952 886109622 976318306 892254976 185710126 608296142 201149024 301375838 793049660 300374984 735312746 340247266 111834868 932423742 39074778 54194046 100244594 963878486 467970596 938459336 109043136 863767420 755776866 498318472 868265248 471892376 694099852 912603878 498504964 394509224 113904136 967348162 270027938 821848440 723575176 411023792 956346498 100189340 508215968 256423782 145848066 284206840 535685846 531800318 447264322 396623250 628046606 369632488 147041040 231960844 375991370 206939608 877129928 770565704 58414870 93232892 459318822 10773940 501658388 884705116 824029908 792678140 99105964 816433270 134495378 935527518 956894374 161067126 977118700 339773024 237781314 243995924 716661818 8359556 249018436 367176114 144802170 271438334 238385064 650189888 787290244 850163188 756770912 173875488 717180870 227442364 643048754 162341414 166024826 555624036 189543906 842858014 52937608 261570986 316973152 706524482 176892808 21770124 846386570 170595516 738717094 582192060 909871810 463066016 453193320 416381400 339487568 345777600 243916500 919860026 347650942 668123004 622863340 576543010 42904682 212479254 694707144 732697848 668644714 243299124 429158706 511117810 120343712 997487760 87075100 151943544 92385492 299512448 465602720 847478542 309666634 48210456 346736898 327466368 705170454 732028618 900441758 848020902 14488300 808764892 70354508 523240164 813293398 836747262 501467390 584849940 122646272 427284930 959800374 741380704 698169608 103004560 671211666 959228540 90578612 163070810 494143002 230703192 561804822 490282110 121974640 674130208 603509762 84321944 269815832 658136038 448986352 701458722 554370750 743423844 890400222 596727394 611103438 166655498 209201864 889808284 641293834 904846534 255465650 684017834 941891320 291707056 256046222 359758626 593709456 664720274 431452786 688798214 866207216 210216142 87749758 471367044 461558148 574129528 338813582 902736408 127806776 167560400 948275050 242730504 938792190 528844878 506924550 909383046 902592126 38166310 125129130 453511532 779918794 375577672 688801066 643787384 16047528 940442992 749670250 661875742 338884860 350287688 728604476 242581384 702754510 929022874 497724484 220325842 887440478 58800516 471579138 976598320 602220764 762414144 929740106 759066144 390851092 544488076 288843702 660391566 973834754 943903772 380253606 745551676 840923856 320346144 259747146 247380302 241214382 705288152 851454996 811915480 923091358 765794106 214703446 375424366 514578346 271552938 503152130 978336528 22832984 672897056 868221176 468493898 86210786 996593124 166315084 580707208 475896064 934677192 106810626 859097464 449358642 910841338 693081382 177811356 477391846 456207722 194040718 718784330 919306258 195597242 207716068 94493822 277579942 647447270 17484842 577306162 64208208 372686138 830513096 422192814 45143220 655358608 915058894 970036270 564345676 983594898 241948520 307216518 202687388 174277418 262954142 572841790 253505246 697423424 496225104 347238134 988381628 419746648 845937748 617080296 951957326 642041568 164984586 832331986 609834006 8586946 675336320 133400610 206836190 105650146 364213968 704257960 559790090 652622186 936520084 298194858 54149554 837631048 94703932 809564074 471030574 132182226 948607196 942414082 53146590 760533916 195969900 105488230 443711920 441915864 747053186 515668354 896956026 775382592 369007454 446920536 93254292 379697022 839171638 32852538 235858886 714210960 220846262 91405982 372916482 195050210 530661360 649404578 922422282 143179276 954861376 300552390 651181514 216244892 778166440 510655180 558473482 233069808 30826594 1549246 183818082 251114820 607103168 663752502 753209100 27356088 467214822 242399668 809781840 228422196 709115660 638575824 642807906 706177252 615406932 996328954 720484184 469216002 605882068 825618448 504283444 571506266 469305508 73943152 834046952 844466048 779875514 873712074 560105198 64226298 629768590 463362260 530011878 228079902 49458674 77996926 560658436 639371144 448949020 753299058 832084426 760939514 982044050 151107142 304774352 31751102 95768504 201954166 711917202 555488890 766500734 397063382 976664332 983928744 240302270 230614050 597011460 813568744 637837028 577823516 201302566 736205158 596230638 696378274 135138178 46002994 607429082 240961488 731405358 286835684 200825862 816077854 391917030 515291660 538122308 120286584 246704034 441883332 569110938 693224354 142578668 746479984 863136908 816898336 264427662 52795000 822709370 658622154 885752896 696013294 40169592 586247018 442706906 487589850 998454868 830323258 290321922 24948952 795124552 157901044 219904254 760226180 632237356 745641858 131436954 344992416 283232878 687561808 581061886 828929588 941998512 684081762 626221912 902845062 79616660 309415662 47860488 323065542 797902008 472284986 595741516 245523328 666977860 759426440 378327462 839444138 148828702 789179440 808679876 984606476 818757808 805346930 540216716 174889132 254558758 617421846 319526564 496598054 914416298 304019090 905930092 400677798 164375566 30536424 372026420 475737296 606344064 377200756 87505880 684094536 766524668 621764932 386164586 54965920 430719106 942522714 990033988 101617504 140099186 556168160 785907330 423295018 386641226 542602104 456154974 92845290 89831066 860508764 609952986 304143104 566959180 198424974 453116872 613303552 106392158 713583888 247064096 687199572 308494750 819146412 661379068 591421830 51937880 779166700 316211108 876693658 8239566 838082946 546634192 221047262 927569778 550575728 874397384 544032240 113441834 576376504 810020268 315973120 798222312 750270382 941726744 117511626 97691194 823380772 481795952 147964470 764705164 425590124 292469928 787272058 738884028 684628864 418666252 365237778 881485806 273003138 49403982 302176576 872696638 98029784 391129402 255300898 803663252 274226524 655514076 812937212 134839258 60506014 438483782 768970288 92970708 330555808 123944858 595454164 416108956 748899538 624048454 442336752 91341672 393289832 86089236 951496684 635521740 414511770 494153286 791571558 482444522 44277482 62255454 292882542 880380860 974780920 254608024 552041484 787165264 756199694 315130472 44271412 261926714 617467388 626116650 123408434 181716052 939075204 422863282 395116286 728086596 627926428 826756600 68628370 81198332 817065204 598728916 64213946 401425346 948667822 107882558 234334156 460722692 166425128 495413452 252410710 449744238 237827916 192701308 943827634 690086566 539382846 766047788 500814250 166145714 918731342 945004234 312309646 212112000 182295970 821858600 728014766 303546228 713197302 392192754 78693792 171181534 518533672 778354312 304875138 67025762 570989682 907413152 830899950 554635288 536342686 318542702 432288296 746803394 228368460 98419940 241449052 537575686 964977358 191626524 395522086 616777076 662211172 745227108 544608788 296539480 831301414 213904996 968570058 266328786 302809276 670059134 930301382 126085740 555237230 993910344 554036840 267907740 139901234 982001782 601785002 318557120 260328834 595995108 846570548 945163992 567440824 334240912 808122778 671732124 178709934 94032848 243851736 223047182 183284952 12039216 354878970 378524858 531633742 823841278 674933488 166525346 278831110 67407736 104124708 49420062 271742960 9925942 240538440 840924640 691847880 134878154 494934562 306419760 724509632 491479484 786938014 87126398 379684820 716660928 355103664 327542502 753324530 716974064 668278334 884251262 414680272 860807516 865553932 514130742 372177358 240636480 997992660 261409432 105857392 209718954 602380638 802341634 278529444 279041110 87577206 869829656 180746338 379570018 579075342 27241640 204422958 248750166 765871654 808561100 229307716 154251962 634682342 282854020 319585558 282460786 829520968 306122160 835483070 762575158 470362464 363749720 608582 407839690 866597948 748271676 211501512 685768308 533057590 720540644 535850360 888036200 942321932 200394520 702078654 394412492 778320796 867759692 516731848 865113448 939742778 669053310 361409090 737911144 834376892 159756150 809373544 929304278 213496654 483716658 323231918 839474050 221634396 839202266 760461774 63546348 210146062 549518802 147255174 48493702 244356542 802706790 558358420 600504980 795958516 455371608 227883348 556116048 295990296 4185110 574023310 80762776 69552042 333296002 642405394 337235964 519784822 989370114 667976342 407906304 621811458 187115144 32942034 134062378 351429686 189923756 403066272 735306732 926986330 723012822 997556520 941352364 106352372 533110808 836955594 473814558 580540546 448645550 784981122 460072706 654167246 625015940 158927402 379260540 437174792 381284686 325492540 797980668 186892146 85601312 708871224 676581896 232684992 282002612 907025026 437792224 112684148 119685220 400023066 800695970 157060502 802247592 345310508 125669318 638882264 370251908 664020760 294279966 531209418 377699844 104198088 346425546 972506070 362742670 968467458 57869340 709904826 136524646 480037962 867500772 419651622 320175142 690213172 936429802 510445472 182605238 512632548 14186812 399211676 569921498 762348262 245473746 397415158 72687088 249139838 1589780 84762672 374100156 219367272 354335466 680186060 408991110 719689362 1865130 790970118 354355492 12970820 752171514 273317732 956859834 509283146 166471974 663841428 720324962 432576226 545713324 115160146 169906702 952994818 229875024 641635592 266175230 241555336 105644542 816521894 866073664 189247488 938286498 730922906 273937988 757573726 714392528 352991976 633666932 763174490 585023870 576470122 297841510 140469246 776182990 104461212 761915202 996353700 965134530 110672888 906133258 952613302 631246922 627802466 693290688 724422142 606837962 425026178 227454486 545487998 317624690 751279984 229267838 156062084 349405808 145729424 220686200 187680894 986563750 491218314 108873788 196678020 931785236 139995382 824468200 315297882 221437506 120188364 293256474 842565598 176763986 169884224 975295332 960193822 873548006 611176604 592561958 803053992 966527476 990236546 547331586 694841972 487277972 552297634 685501508 870654880 556329980 6964014 334795644 591101828 357678086 719023678 21919264 525768848 610603558 882386920 844450306 607346696 264337374 855008854 414001002 826359514 63930754 318491268 330868026 62048338 545852810 938395188 513077244 760631854 789159498 844987564 271685750 222017924 520627038 431402572 37218656 917159486 240925614 189947950 899307726 20774438 831032410 503597868 909084512 845878972 767691616 75373810 658368020 889371392 923063166 147408840 223965368 54893260 453520428 492885154 675917822 995946894 356147748 335947958 281695830 757147016 952225842 826563178 644652910 854034656 265711428 8836290 124963866 406017288 330557794 409098370 813644816 514904906 600498626 408081522 425191006 560001492 35234304 703833536 791801370 769365272 299127604 707817704 508476330 42925938 91901528 470054110 334424994 454947402 585058442 400987268 76244346 344837224 414085006 368626830 315437690 524960216 112629882 320976008 680820720 652557454 225100954 455252530 177078278 312738272 298827836 620414856 941809252 960158358 578197232 317105086 578465232 919485160 3121934 943116828 893104846 245406442 612185732 174497178 241473050 317115334 6783198 392156804 448281518 193687326 386969052 765537798 217972160 1945508 374533092 895812108 626637242 857806246 532752928 894103738 862830632 760511390 248767788 877187998 939523250 885540902 327421812 107998122 284013406 43280284 955535334 333996588 855930442 224219490 915876816 272078296 779914772 92469768 397460984 650389862 497021628 763518952 932712540 395393272 617516440 314273414 981767284 39412468 223457336 576528686 858405272 873802394 610482148 428934296 360859138 111291454 189521190 387651562 313509584 119385828 281472928 531593554 612974240 487296572 667548986 849610846 883453542 700583576 61825326 128857342 471574836 435606352 490680446 946401146 94079022 10825890 497162056 769799956 422132484 957268172 659499868 417695706 927770912 612853584 398451970 51906234 697839092 15757254 367409500 419113512 101538328 364894474 120262556 254379904 597759070 660468748 523648806 89631028 617829738 232906270 346456324 659573420 179781520 238210612 801555930 793525652 84883228 564814910 674417314 223792040 16314122 466293188 607290812 516984482 252764808 841427062 174301576 869734536 993041386 529104098 243450148 943734812 618685750 4827156 207887706 865515694 238013720 651612348 919513552 553735084 968515356 628207770 470889056 616734554 627751026 288813030 766216924 398554244 285222698 273652284 374132508 474764890 507049444 87594918 350936770 399550916 573689650 436361006 795398716 699757634 107593404 313994520 638549210 746213736 680952924 471312006 960538952 331657804 738650692 575884994 861500428 323906688 900160176 214760424 517842566 479372578 389466186 106476656 35107894 309113858 506356624 89567986 542518392 294477058 71599882 765026474 185723642 496304300 695839182 535496628 572799044 390958348 631906176 711618950 461106162 559766790 61724686 91242314 532749230 486907056 39518638 826106330 120647362 660563236 661435072 188214666 250785524 82348422 463013140 875021842 362752820 901205382 490104148 722015718 814666838 279701540 943680512 703915320 769033718 563851344 78206106 104791092 16570902 2377376 323213674 395763428 493873766 757032326 705206864 931172348 200553192 120932810 517348576 930165210 670472686 493599364 763168160 21125248 137024094 289035642 522813456 957925846 29438704 159083806 985207432 112662938 598643904 68642614 456601554 830260262 28298938 55758656 343693964 684267110 575016098 457253646 58154664 895376486 360822552 390420604 617482186 69165624 858583538 549106304 196503316 980662248 277985012 863238836 153778692 166825098 17468638 526263716 702098022 345196200 201696224 479390226 757762448 504638806 130288410 749878514 426355084 689017566 990458154 290548786 271337832 781809262 399652546 778317368 188731980 329632934 704408262 713888720 397421588 472453776 600663492 878129772 135543518 527757982 77577792 24858424 357624576 870370360 535328314 154142720 840680490 626297966 139256990 185978802 928447330 461590548 294345762 968893824 578340720 942884374 516593798 213370260 558464172 128052140 617490064 95116212 977622482 263757966 463628574 227749336 775138248 377075300 822307654 54126024 683845410 703862584 988722570 955636684 246923488 881060846 773114708 356286382 491074726 463508304 412615968 200047846 961201380 750509548 633398248 613670578 766053050 715507234 216573106 276333942 624395736 576437294 565051946 76741456 173591976 60506764 753203528 347551738 776607864 840653026 594964064 249163234 477759320 750192984 717492842 146091638 826914574 228528026 304034114 281805300 146610422 242640214 228790472 524297662 204168378 777405724 675259496 223495568 994294542 432440072 304580492 53660862 905666460 334255634 885240188 434403548 341108638 718424720 751224698 957245180 601619316 690215654 772973708 906979842 831228284 290662690 286235682 579956378 207306626 957007282 423384428 380452416 10801748 706024546 284685490 700429354 740186754 476686236 268880128 858879332 30364472 627109766 57825090 384977820 308634498 579816544 448070874 411621752 493221470 679260722 633121244 990782006 602557066 81527852 1521540 17530960 622062178 46954688 502040538 984285878 521440694 100952982 399474496 307867440 308552996 529061020 752772096 966327284 601341484 896029966 751530846 464495166 225650812 509897568 13663718 801949420 689024990 583605864 530629420 740639452 337499758 414279406 992364104 9126736 414299794 95819912 200898302 27202318 625676754 511736134 696949220 848961494 377788458 228700962 327718680 916453810 189528156 887403360 819072604 797231862 895518730 947577396 857078826 966929568 124454476 409907574 139138740 270154862 78805592 507688924 733347292 217797776 645952264 830255624 987064348 376252454 51220582 382791830 302574982 647921750 602988772 542835560 560621772 400149346 351485562 211733184 951832970 70709754 624832502 769967128 166182318 146012024 257706516 374295316 271484376 422895016 700105248 756478238 19454446 19232746 853953052 691267806 958336260 125385834 288334414 116651982 613571230 853713800 289617466 658469812 621486280 671177884 287792598 558501332 468116374 402984618 569830900 542602724 522388222 936192244 211509026 638706144 667278146 567719998 305618690 659284116 790931348 162848714 931022948 490281742 318778578 442875286 264187610 311895554 102021538 662002164 329606990 647446620 421253324 952053902 387411312 536726126 8723050 421851832 575622424 943063072 970380662 84432254 297921262 132773568 203482208 363030868 385184110 980463054 864681694 826154868 119570768 64221268 438683264 498470856 468650562 79692526 436247610 772949656 807089988 592131326 428071494 627364216 886322736 126397766 755427484 145981092 150612254 571201934 373015870 401013254 620429350 621586392 870083658 194742584 302600998 461416900 950950692 506055084 371670116 784511838 286565568 485362280 283579838 442473350 625578410 254596974 408854546 307095016 446818456 751660724 255179126 719525922 119748022 778497068 92178094 278333178 735099228 629288614 401069606 336681158 594584750 849636452 348325022 342544662 336898724 910654166 598308050 483135348 190916056 278292868 776329436 454417560 916869876 84380804 808068864 11902384 468506986 112499098 981609762 471674000 776931594 722290406 523768528 649764174 995010782 705152668 614319200 709432916 2736266 499362226 220442824 78511790 528766852 255301570 573916544 2619736 360637814 495430608 236558942 432490748 145598676 602712968 954972988 717396052 711535608 99220620 533069738 639694690 185561032 328239944 469505930 54826662 496454642 143242986 945804044 191049754 247383378 420653386 173971222 460329956 579019234 158914102 435515292 342234006 117299286 525503132 340733518 477627944 706323058 733024482 75640554 983676350 989821780 591753044 877194778 711584242 230726466 904977596 434511764 272992658 357632006 82506692 660683766 6626914 195966500 966444132 725196186 423663368 22868754 653929250 227143640 717192854 222207694 851582274 482769010 243605190 694805698 75639276 776697668 859458940 538543654 927610802 511121594 153917762 847753512 384537866 157189792 294724696 633018468 213674244 670050970 629330342 549298230 139991634 951085380 69062882 513355748 221371048 409091000 639335382 924066568 203612716 937005344 68833296 660193172 265285570 93225448 946933972 411271326 769759434 912506118 217016892 771122912 458646640 892358550 721916452 24168428 21454628 410827928 396489138 263847454 213878298 97990900 824698336 145702 501500886 600541256 301343986 787461242 463436256 180991010 653597496 775604424 416497732 619935108 246363924 688999868 135713888 304126372 908624074 496849182 447194096 83261274 611609722 502959368 339670080 53480100 909701110 851989448 237596814 128354462 847112808 246185894 168755070 845155678 224190750 570536936 17466748 714124936 322142360 554001388 621560942 879186356 402980808 349804808 34789934 555591338 836239580 90967576 382738172 599708382 654179292 857651718 86946062 152460838 324835278 361141208 49424322 313275056 614649324 787454512 679514062 35922644 927151098 472503176 163184514 84582128 909858688 950203704 382230952 743906122 527853144 293316032 95466880 333650086 711207218 958799714 359185540 16344548 756955884 709406616 323493146 326396538 194479996 586223122 702705202 339163018 635127810 958539174 658839438 990706850 902823128 343426416 612888100 819094048 871232480 342548578 118431580 215079260 180265384 680866490 635578648 547155968 628777458 266376340 287285664 325495760 408431274 75085050 527938750 432626876 362498026 520168782 839456390 967579794 912672544 708625030 424149690 196310428 39091532 419154920 67763220 830336804 802350156 48464596 606811516 186284160 972892730 697848020 572026358 375961134 433447658 803467760 920272870 620369060 141353212 12672664 780430662 164809446 899998460 631787626 749925434 681135910 594157934 798309622 738731196 437908942 741603048 354828232 970570906 915851538 231762080 217204144 292154300 741482160 237493680 2832662 313542450 35091194 645499414 669371480 815424080 310642258 312701286 961787492 378183984 87483944 735822286 631146838 908157220 485708034 301156990 443692526 88461150 247819492 818929870 492518240 580951074 735374368 330959152 856890250 434087654 4789650 968472370 143199448 604033802 951762800 982245138 958465862 18782430 954382216 794233240 719820202 138736260 607399936 254233724 907342158 114174566 328500550 456584794 139891230 384180394 999581790 51684366 16448638 150298524 301353292 783894494 40687714 997882236 755553806 775593472 504823004 58223886 857451486 593368298 546546248 902352450 404084734 434182810 175159588 90851744 706586070 495522328 460041052 349880928 209783842 775867700 938308990 486824312 790196202 510600754 277030818 18341298 207062658 800745168 243660466 82077566 632482060 101428640 182985448 316707092 66095806 203471310 135831840 814730050 267136898 703841470 797458956 269560198 109713862 945366656 625620436 401154262 814963474 66748628 812209424 381416922 240760362 956219176 336534116 462722476 33455014 531518694 676094384 945806016 655433480 786862804 218458402 200349522 159314396 133604570 82376414 939600230 506241228 486430178 807093160 693193318 481115532 310659910 864865614 41708442 102431010 207883404 856113384 571731784 638199248 639985684 819690988 690892380 495558290 870507076 966668210 757992666 704195262 710251888 491486042 154216174 32086548 623904116 454728242 610724848 421741576 777580738 782413720 897027152 433023550 470753804 560404042 990783188 411511616 704021814 545763210 496926612 232340206 576094810 634341316 773031194 299846976 376717252 22856880 975469484 704453716 216837392 601196254 944825226 190291248 820264206 519070792 541665188 977010400 198907002 766572292 471606044 182927572 845834356 386735388 38804450 237116384 5989702 985075426 103934440 245378224 988894606 753952618 256687660 310633446 226445242 391380214 596250434 964542244 254207334 468472496 26112706 367790264 247262290 287012296 970304350 585948044 58392710 505681976 808045936 16037004 495016008 110142626 799757438 59822768 73101744 806608552 34414898 3557820 63544780 973935154 263015152 497464636 716413874 277677098 504661802 302723838 130712022 634903870 48538766 407979614 350203606 883891686 490175780 500908128 140022294 852683146 550016214 787263902 234532792 403707738 712554072 765830050 465464188 384200058 317420018 861694724 581794882 648578636 310025730 341468094 313757164 591174012 407683630 973476422 912377834 783375442 315903246 429236032 606220562 447998654 392579676 123997164 96836350 285026720 791970790 818162226 904124188 294680982 798854456 443229046 102012226 292284898 381653688 463619358 838944812 721599232 444303056 314743198 382681128 497162566 671501400 105841422 645910606 280094518 145199984 814196242 456698300 579873098 75230992 854388732 265248960 882730362 775500090 30648336 637400630 130884640 995738322 640156566 793263578 422835858 655297432 16431034 105957854 660460564 956988190 983673388 295868158 517679074 379353764 396172240 88059832 166695028 261079692 409497564 392120496 610061278 105833236 517717446 684265870 242739040 839178636 521931932 744841584 211198948 309389972 388770702 764291140 25638512 500479000 559906540 638032080 158706448 349908362 944591882 452804342 707782274 923003804 119273586 175444004 35618002 77278992 438201504 230208106 694268032 533570306 943454856 382497262 762992150 421122714 580052086 810269190 12185830 877364818 18939978 121064704 564771458 369632202 503599144 912171222 921709988 315353750 315216262 808094092 920167266 954696184 337076358 183542290 995844636 915071816 246001072 827348978 298729510 924708142 644372262 926595210 909635250 449779768 982329160 210712764 525974698 471786672 844339912 919373738 336430428 369751768 479639646 386872084 399863010 374657262 685015008 562852664 119927574 370389656 231197310 114670766 490056172 919506548 103666004 5894254 610690622 92980380 237419928 222029872 717569178 131238934 958903872 628051556 250647044 47103266 323216646 681665206 3494866 61030846 979151032 757332138 504249084 228852064 598403328 697231922 950747900 529195536 727609680 102369858 904426356 307642130 895212954 59792520 47575770 603818780 442623066 170713694 191660524 324265126 227237060 434277938 125148490 403235600 89260448 202695034 545787078 424505192 904873114 660427522 2554936 684500846 246406866 189201854 466496578 18536796 553234928 42331610 189079940 659401556 7028616 953983024 828372020 65871270 862356154 885889140 815391314 370308416 252352362 450683204 451166996 516020586 2941688 71298294 594651586 543319026 355849478 818100952 991912710 330674872 455333128 949635524 95994084 890012562 372184320 138061654 537135886 26096346 420181878 834879192 782964200 692563098 295343660 643696758 833098676 79404718 642169956 857805388 312581714 379603414 450920442 611106724 475420568 304491442 557426890 376887938 724503098 247154610 772052012 913249990 557395310 910164340 246600278 695607822 667525726 975133812 944157776 817491796 863665556 727208794 118572838 473423730 240805224 205149702 160255938 349881260 128226126 827957006 476204238 858551350 558908972 857163284 187606458 281401252 404416052 312711232 449866030 177361008 85605940 222308262 849562996 231992188 593569592 339506352 863161978 309508318 753508480 392783048 806540994 575605254 198134176 708800614 536259994 896893684 802487934 731299112 751893030 760346484 289045902 838059302 704132406 509012722 386742716 853178278 26910392 921138422 908068620 17598134 6242428 84016016 414401796 325114856 658763608 762231826 784034218 323498128 706825746 61981906 257112204 402942714 475092976 801136470 282383762 92334694 378077594 900157216 883406816 556531910 280913968 650538554 316237016 840377246 673215086 373293610 191489908 572609962 155645270 259719032 510920446 461433394 224292090 623388962 875781048 466901954 371102362 427216886 196835632 759894516 503784762 982565174 631971530 818338542 229201012 655494202 423725086 831879378 297636840 357397292 880462846 535176488 594768062 889813998 426205210 779787274 419796978 841678020 467162930 291113862 494282696 690043888 666857942 507270700 813822018 562710244 745110764 974501806 738179402 803174304 396073978 897705120 724270154 910255804 526075142 164507520 408668744 360340520 347126022 27512090 226418548 125241894 267094754 366227818 421145096 434160222 181367434 374113276 688654972 379747010 162213834 511763432 757522850 846377178 244029788 741024360 518270946 314128268 193188380 684990866 879793704 828163330 140901136 61444914 635776850 81731012 586315008 583594584 534374368 460604734 902793828 964617032 796831716 207165604 390629388 952744798 536533450 766380888 137572872 479482688 684479802 369659790 8752020 442332160 444744344 864016398 448270108 126203540 275923328 869758804 154691530 323765674 107295882 282961996 41192944 697452982 11885548 874870170 891837310 974762762 664032236 668649984 543155146 815602404 274616746 700394140 944615304 903446524 877763322 430788738 259369206 127019390 238330300 567715248 882837118 603763308 111112534 306153616 869375946 107621456 216588668 561188394 757851958 362533590 319133880 519578300 890256162 926920506 407038160 624804742 481943278 303596610 249891792 943543238 844016438 505881504 339277756 571992372 160768596 705687806 627474850 374517832 214821760 24294676 333377540 603458500 701879502 673743066 81964912 46243088 3111636 246471768 33353848 586823006 10671422 237177304 289056780 948689308 765423152 932290100 374298342 683404970 283179480 992366336 720236702 442428408 345741078 180935098 650194752 812119254 347103344 812531394 163355976 956027128 862858508 587561490 779713698 963474096 218844310 691657514 795998188 433705270 938018556 764772282 703197982 984023728 783579218 583047878 188838070 952480204 431327552 924807820 360730658 647759920 656896478 964378072 521411676 630465450 506226992 934103704 618409362 387620362 218066300 600997252 152257148 148223904 835164970 739198454 849980604 286777606 755252650 741954400 524112316 516375030 848844370 406178860 275362754 202323728 276192464 459381880 878844134 994781078 775807688 923424032 778054942 454521196 935931592 825793614 526004974 499934592 544448432 76216866 571318200 351508498 809969660 261701678 514899120 783716108 453836396 411660916 535466656 804542502 914389586 472970248 835587232 4584630 308144418 64103082 508293292 862931644 453813342 990201152 259534886 516342076 173595854 141057376 264316540 421961138 386691590 197056412 261297074 605418772 967898308 115917326 901760912 285523712 124411938 226145488 864256156 73899890 806428058 186807562 701101230 835018808 347068396 672501664 413122134 129414846 909523932 519536502 487369810 840887108 529659306 196228458 375610416 639363464 644063264 803082046 348933918 105473810 344416634 399461970 683734218 649198916 36733694 596889178 252371384 354828306 90162972 920842210 693907390 334262126 696370532 685779128 822185728 767326306 890373862 995076816 808765866 591308038 844292668 485786330 355949786 513531630 745628842 385933206 747853792 683374506 528195544 634558884 940106422 708018196 539460068 654676860 67296500 62596658 271560288 277709118 708440130 744014240 530882270 110932302 75191350 676784564 634929950 88013260 558099952 179070842 497825844 33360062 401290484 841760624 364495726 124750082 963768700 853404624 858990324 20210186 253634154 648213914 578446850 132562380 943993600 439785876 33025300 365702384 756219598 685470890 154326730 603367462 502215308 781782932 495389040 250798560 139498878 676272822 269579506 185230546 159963826 273977276 204805960 104396946 625932410 14372256 417031672 94015944 876724592 411661136 532740238 364290582 862262268 747472618 436188288 698131980 361715404 25423414 988368008 29317852 807696768 60484762 566124260 263931742 828462798 280757412 357287478 935470806 21093766 724773884 334279334 876603620 577398810 482233880 843994894 965739054 975540340 767897748 36114660 635508170 364775448 83992474 469106198 258319396 791558112 294986994 993438588 625711278 197701210 929699114 608897724 227290594 439647756 926180390 187316124 199122774 809632494 322081518 666696628 325414014 1419022 548705016 45084948 845440870 89833182 222422752 802354736 121638828 65917120 862016492 777865468 462376064 927485654 986837418 550051166 595949874 350996894 593561404 958174418 81711292 458400804 446013454 86884556 495044916 386345034 609535068 82443380 685845370 37447864 167602790 320444420 190232294 408143168 649039160 324397628 626726274 189619896 74234926 381286490 201187762 340974578 6936990 992461872 227035644 110700750 137534938 337067524 728629870 324014140 887258314 505230750 488545108 415913206 687410996 263402340 510305206 738684240 175351412 427329664 877329460 761715810 48930314 314924372 122918688 891373480 246063142 961918018 724537602 66235706 624074762 88761398 205537712 692569050 610388894 175055728 15557124 413584098 108985784 715847968 310487324 47900510 234650916 394594778 689613010 970310784 745075636 326597422 148186706 597897416 121088480 227403988 230741414 245494402 342576860 475555124 169035118 600860708 583468178 626264254 455942700 20360118 797402500 236227268 967035158 826159574 855059044 218265484 807060014 684485726 418541562 521163190 297009886 546252866 5179530 619941620 155832602 418018710 787132964 403740954 689496484 654958160 473560286 180900376 167220838 949444062 262821478 782007866 93653828 852619852 653652450 826398474 11538120 825084858 632259884 836144316 330645622 106380906 219845986 704119750 581880968 740319326 484941250 569846370 414722044 36498372 182127484 991779220 957378726 748342198 710300930 172219740 88456490 813625750 484037658 403733276 402712708 275308908 865628976 768596546 343794572 696542452 644729840 173098968 417563198 471156116 594048826 797472672 1401522 172555738 971820036 601472232 158271192 422934426 769440212 715394086 574388790 250861344 312817244 935184150 102120582 119998362 593971996 25469280 146147484 4505134 397971370 463919844 627662022 335743876 785286876 983506222 547926922 203621080 505621118 66416184 901391516 352773432 408030568 178488010 615942172 762515924 468022178 794694080 737110880 457336136 978412816 902702598 307929670 553479790 548627038 428226306 384371972 344065280 753282604 958519064 810995178 31734606 444035564 321181600 151716050 164741032 589416738 807895232 269963096 568710606 197723552 590853818 90393758 451472500 852644516 448065926 59584508 132775554 469919596 706916108 714219406 602158620 943616160 584771912 780203634 890893324 616938796 659421900 924949438 494514774 982657016 907242224 117559334 525234628 888832672 210072652 374974626 7406514 908112634 932687424 934295572 864697686 841290114 452678842 177902112 35050520 764740064 130999084 840137984 836483858 284993198 828450408 997238266 962308518 2297212 580008946 410250974 36337248 659533752 1015200 331698708 656214686 205363990 190488426 144845344 48260810 953858078 741886684 728685454 368081482 885147722 186320904 974385378 533575600 806887728 574921614 922546066 536496146 315623506 771194576 10379864 801423750 539804744 662236080 65701326 46847136 824722420 534799892 569208014 173939418 393056180 572330220 528722502 923775234 977925908 318956372 78082986 440060256 738298078 360155906 898734330 297754398 787746844 540407390 674709700 98933346 611922458 872380582 783547710 180836120 406697418 732430596 473979258 899520360 95262900 66422952 81567352 853802380 48910738 901709088 708393648 364563930 771998426 868783952 476172500 682606334 494955244 18614734 4732670 46414206 706271302 444922734 314594692 854612042 91502064 829690498 51619052 534040848 246752578 712621476 746740912 284871120 835623144 657387102 927630262 582011104 131466550 350527430 528484344 294342018 101610602 458930932 857696970 715483944 298364760 156109366 247237198 502067448 841615704 778125440 818146768 182606134 383889168 866527958 835574870 783953300 149118768 536155494 824556410 891248018 211496558 840182104 900601128 361978618 32040778 647798776 967448950 299754116 624330310 173093804 958124976 696297570 376515328 694095498 259924444 69868926 778757688 617224490 881934788 403690426 697693788 918716838 546630912 897019422 699391156 776596230 671584834 717874908 782175804 24749468 463949134 86687970 960363926 8794202 797413580 466207032 206167756 830692212 881906384 300703650 333648650 594075754 956426280 846847326 127902806 290957382 351915626 95461392 360071302 790229768 448631098 879412950 123114978 413483536 272575244 210461920 829405360 795533162 396358818 576442850 850998438 13620960 284833784 239922434 33148502 118220516 610591098 408473000 485937664 659434560 920530948 901018414 591497570 16272004 525728002 721777762 267360636 723739632 249690228 656006114 858948318 133989084 426115646 400738094 86604728 786036912 483267508 936643160 183803988 796958220 41538652 686382056 342251786 228552096 326203300 480980722 111245646 890250992 975892490 118219426 174899320 477606020 825976076 815592010 952312098 603998862 555178974 447170480 522479030 533284288 709906012 522624544 900492028 650455002 234742448 90605286 29655060 899135864 805696442 684750152 221294796 331950598 13117208 353470440 35009030 198079616 330559498 985052318 809064912 602027086 938202056 956391948 141887464 52609352 808781040 448819098 694212234 743891764 416091702 81355290 126369432 581315704 33717792 820000654 977940742 623566402 664374362 574724418 245985446 820574238 897243250 901474188 6647320 23074562 538707554 53307336 722345780 723599134 311484054 18368576 850942994 64896808 685541424 160187016 326681932 917992784 436812394 282005418 177232834 264634694 758740154 947076108 478430142 39515340 442759384 239828102 135446048 274336778 203902888 624871672 195655382 423295776 217435984 461156546 938422426 278378972 358248882 997154944 883960904 154536366 180589116 905004470 548686226 489062064 434197648 136370496 186557902 143808294 985233138 491109314 531071386 428138840 895082064 251138710 816301048 891545156 952333506 287469012 170081552 929475110 284864628 293111436 481012498 939505382 936204902 98222858 777915356 586549474 793973336 83864022 157624890 159216288 578047542 472085176 715524288 190557146 928080216 502512990 351145164 606855762 950735800 584005772 460918226 160012586 733745562 651231446 988607644 941780236 957932050 236629810 827747586 975145120 3462592 283215590 423764382 427367084 646663326 615838554 23699456 623409520 666849458 678347594 965932382 418746326 107042006 459416262 343179782 50289338 600497550 399966282 459385924 436159856 188879314 577493452 151982052 337317140 228548352 347289824 615883248 646401516 77756870 853976232 213624342 496719014 728379758 141764976 944731422 215230874 768612368 916924438 804474340 156665014 897510102 752022458 393357296 259696690 786992892 975430796 559596264 58712066 847192570 55048456 630066204 454436822 840752176 49082750 136971558 757587294 488894892 128367412 667973874 600084624 796119618 53628194 762339036 662259968 83665658 993765784 427994388 153604428 369112254 219364732 903101708 503497200 490586722 880738536 602466994 280092716 233221824 999410840 249128250 759395582 515094552 403212600 110257850 594996216 290169382 730620848 29398308 128500064 454033118 520879972 386117714 336423498 683264864 101824984 900367028 95128724 898724498 703081920 545861654 607634178 767608070 861285122 13066652 187547256 120167350 803932324 739552578 604792882 327541224 790982296 286333732 964922762 528540514 608551526 342337148 985833962 634401882 581831580 33684630 37166160 315227784 930161618 443732006 770844900 264507442 47776576 395595272 101442598 441055744 704246622 780842216 384195614 75664760 691671390 692528668 347962972 851171642 404992376 153409962 733030750 436962780 263107336 494150804 834168740 257131382 12847894 414993740 144984476 876028352 708821888 623680882 785869146 889252276 823565974 914360808 889053644 937780636 535827316 381826550 406879182 936519020 257580080 180628150 481343696 440573668 559683350 384034198 714441402 49106342 851700788 886446094 366163706 229299220 650350588 654046632 789817720 903110638 610720634 86474904 698322668 196231554 457279524 252300410 133525440 650154410 505731274 412804028 339147212 761193538 821783184 626762936 427909696 782416852 173210588 296685604 820064018 91348188 492641190 15381808 584458364 801259334 572140024 64682710 261767518 536592970 708554962 369508842 790981748 452602480 45127334 700445456 890880182 960228250 17109372 470771302 341961778 173316978 678983840 466577966 78380606 131736470 975483038 383777360 363882446 124639130 983102128 998210790 193250284 573683740 80226852 411836222 35059864 808891230 219723836 842702256 872869286 745182628 122242534 966894004 450244606 711898592 137296256 985588480 591723124 150776966 623421608 245769850 338181154 877469908 405025024 34346678 862219888 937035432 144885926 396353882 676700576 450142128 721955106 748707630 411979498 331102402 961568646 695372506 294687058 722661512 258696542 148931438 173466848 242513620 145024890 836875254 58520508 418907698 160387146 916679628 193581892 369149238 579880002 999770200 96532964 67331996 684992524 296094478 825310172 871954418 76700378 692979688 445864760 517278802 669510694 209405396 622874472 981593284 553711148 308576506 584488722 144704524 718625620 251190868 341536058 52870760 362283790 664360100 962963284 77821304 823846946 402209450 758011706 555713114 80293786 226264822 256912626 833740476 414594712 228436854 759990816 787782936 665453510 378953084 973234550 581986746 344083846 175755762 906124786 343679576 966329080 971060552 628335050 369662346 350177754 328661996 538681908 49534080 399472344 225871734 201417534 888329330 474407888 318774310 173793756 85589646 635478720 458035394 105512912 333041546 161605048 888532352 146915218 230387936 456556444 913419630 346515462 988037894 264525502 7533854 957046366 64150770 363906168 927007476 127839064 415335964 206294810 787582760 432934432 228408270 625822156 433045006 834459498 200889596 615592208 168029610 282437900 907948336 454114490 86088258 528916244 439459876 693367132 224048308 613164514 313539062 342479530 982760148 653612754 90951568 498833172 995642472 826479226 804341104 990333432 561505718 496013968 118997910 431678840 262937734 947730696 87213220 103581196 250903432 972349734 810140522 102157634 117633314 637258942 147924298 681089956 792776312 722385526 248132688 427313768 394023708 542061442 311846184 905606410 643625930 605092048 499246244 678061114 528669952 549612916 157031488 947706062 347912362 878454838 58158998 352906614 287339606 598288888 37302300 65983428 594249010 791109884 776461672 714387706 686774318 822124522 687232128 850439310 348982658 212431226 938017610 513549580 184239472 153981712 347662822 107856632 845234876 830113124 182680502 654815340 312588236 586203294 966728838 716171080 483846100 750901100 397026972 552896384 590806336 681324808 148560026 256894238 469582794 248283110 45777888 887686258 554555116 425257640 875383548 42691272 558274990 817050176 908635696 666860312 885252850 302589708 170445510 76368152 846961176 801165456 921949156 251526656 811865192 383601100 75345388 38420698 739677106 486578476 121143366 559603608 293780376 684088642 425709382 259579954 46905270 756836312 304466830 727602254 866123886 748392090 283617894 941115804 150284498 505987322 550971940 459833786 679192544 779293416 992857326 914015652 14601942 520409556 874951834 210793264 93954334 818749484 440856982 292433864 590353318 550248686 980037408 4161686 979074334 210538288 763747830 757451160 549688956 727603960 335619944 346922750 262606758 581047928 576331118 615958918 317159572 470858950 232924230 979458632 802774890 885836570 967268380 81580284 902074214 747271384 110163104 972228944 325192732 371388974 479469622 540368900 853351984 940467802 767731186 480216374 7295912 370718270 103358936 943828284 589638030 188404700 841186916 238071464 132454284 315293640 348096318 201293104 139999738 890729192 346268346 334971500 916535098 745306192 142755054 343778892 717102266 612121000 25794878 861648430 979487830 611923290 975833394 263408178 491436614 74537656 360078768 18030634 21194704 7697982 662996790 144788050 282398432 545940824 101095522 842762630 672042820 891244256 311056824 824264322 633663962 338125932 928493756 808195132 17989426 72157838 553286876 219908550 871953512 966856604 937952160 210090120 537930346 277845136 416562418 351093292 244055914 938916586 232020172 283899626 824498074 18475820 444805564 805487702 317264300 601604312 939824312 533992010 106351900 970797044 967547434 906734088 77009338 325161676 433120200 696694322 214379176 259579582 819445996 131496810 264797940 621280894 238930180 775562316 892820218 599880608 341183304 500861002 746064836 505131960 926737676 944371140 989319044 278642502 552471844 360771520 465389576 958096508 703580530 336984798 446706726 824156102 615253602 535260948 678303112 595477114 152006420 398317114 282647064 54832026 975748778 523876904 398626832 299089626 364766394 627411136 244712610 695889102 237014544 838993392 446199258 660735246 90765638 76198938 318374150 980849086 931799024 993663562 899348458 974166680 244436692 564824180 628365526 729305560 174814 885732214 142210160 964303548 518721794 54823686 641708278 919072778 923165156 967969704 234982926 628581866 804337520 74327378 951366284 682281484 534835188 738865778 745454866 140392502 436302220 425450586 568515160 247694104 670995754 119754554 734110080 170960968 875756668 115957876 597331376 479137898 286926742 661236296 98456218 86268732 756592588 844871926 853453310 494252100 45901902 292599446 613060100 398829544 264344656 209217768 751764972 217120094 420674218 676551700 409301192 104237570 372806430 510414036 794729156 564876810 991104340 700772208 235204520 447626204 803348678 691114728 605473026 340192646 402022426 282039596 508603982 701066012 607608892 9136562 642981274 929590356 837238580 725862108 237434456 246018796 59900536 484026022 465865628 245245862 313623364 582125858 762940068 577317164 669128886 698471546 286302530 619821846 936696754 198007026 227790512 222605688 416784030 544650988 854508266 564243352 326961854 292789718 39930748 923303966 785131730 983083348 184876490 789792114 522863448 126314306 389011596 740490836 669922194 107497944 405041646 957996332 644863402 87770628 726217348 8286230 179210146 971603548 171686342 765501600 667067938 83315734 515359796 78966228 599654426 837561776 493037736 995944436 643134164 41459884 498685684 937827352 619709984 170140234 719929030 607261120 103327402 799460252 363919542 730908760 349267844 177174014 451227392 687532876 328924368 782299792 208408414 252919324 692727260 362687820 938042328 635417298 78457032 672235320 832871142 350616324 569144938 22536312 343618322 718419054 675707132 18661294 431798954 723477870 630005288 144456338 93359280 29157128 968733292 141370728 408683520 734157272 475685150 686746942 908095912 691148146 176420802 540845060 288142084 229001240 202764462 846086944 402399304 600868760 446332540 603733420 374755172 452253070 366431260 819667056 529317998 717785528 584689634 929089034 503259424 522677630 486667002 946116882 299459714 396092080 386112316 27540792 913452770 169625062 780457862 421305478 586756094 911592388 308432384 838353340 26898098 996617586 635564018 166449002 660922394 852880452 438021118 790030138 217671244 958735748 961305884 555636654 700810444 897130228 949555630 892645634 764660500 699190816 600820996 724636696 373005288 593193880 31023294 656035790 107748650 293170856 822531684 635622634 985999688 654174356 834292390 688865698 936006752 483030202 870436866 937739402 14201152 958344394 327363456 639671056 302352004 941585344 86843880 955099192 127780908 897057452 456793862 667181014 184965864 893837014 721653576 463898356 707573768 711892600 95532772 300546180 359387942 440052364 925219328 61377870 382457128 978702620 384770064 926251560 53689580 365534626 63906744 94739248 203594526 753430414 654157244 344751748 501080498 965268112 754365182 881285960 379860536 837201818 45891288 827864240 77078756 94885176 660995144 529450438 47923212 660047552 67574382 635677660 687997056 963350972 196486654 282586458 541221692 628534456 910170810 970171074 304268506 531282316 507315464 360462176 834446242 984913040 443271718 584624926 342857346 313810674 723903282 122928056 889749058 437543052 623363972 842817338 146973592 491492006 973994140 910717592 104889306 422314670 632578510 827992644 430226378 86493164 437082576 683848136 496907050 968677424 867198572 663980850 540349508 609046266 512326522 750344378 77280794 771764574 436461336 253859452 287228274 340269400 413762996 861220 482855060 341206412 37517882 259039660 236229350 793949948 587505460 702501896 349745800 549377892 981698784 291023634 218115472 258293198 816556692 207266712 817255038 737333736 106969398 921894576 500612968 255726608 889134090 381836000 941818694 189602408 127152466 597764672 868163248 894966544 463580406 17343554 424656762 103870520 134654318 721162120 774673952 170215600 357774746 336452402 894738986 859634994 193491934 964830456 806612766 768725746 162879426 572575262 712678596 380691252 120847336 672585278 511916710 618131428 823320042 140896482 182471390 150994052 571451128 883469868 768356946 48074012 408641880 163989406 645973412 687790436 545314930 394120354 143521376 855911330 501393698 108434794 726088676 305147346 537685616 843182190 416137850 917546758 562780 376230296 409753964 600752878 759913274 346134560 515561148 266296558 171829042 32974374 214398848 290085432 407459764 371049298 726359110 26204094 556814148 810314 413023744 266877606 209526070 756171444 121463418 97406316 453749278 162240878 773038474 349028274 348503686 312087918 643191178 970146666 285202914 87893410 881367322 58512570 20095278 659517428 303957384 659725044 908008362 549321712 78561920 681184526 760386274 392302332 452757588 237852118 231046128 633569544 791540108 302010980 490019154 659463930 256453386 842814218 615359172 865664168 518159074 438891312 889209516 646309528 158196150 268707754 847207622 627481648 842904700 221965694 897732296 237552476 104063886 438080676 860411454 603449792 123125108 615599192 768705368 672970362 166829730 368104592 937562652 316376842 91089426 495317064 701933686 329404960 879980672 424208944 188569204 535438058 368673456 493539052 728087958 109049742 401382574 898887662 690333812 357190528 462740754 973089786 16587104 442161034 358120902 736133386 905889780 939123910 123948450 583180042 85754824 277516024 793561756 528581524 705145498 576149098 129660250 794912294 453869100 539302634 344853516 49095258 842892714 278162404 168470976 471096620 394544278 531554932 480155800 165173856 461354692 946204076 568966998 438291034 461658192 563594112 594162876 660874622 938321818 279451442 231627420 670345938 271895920 885471802 4466844 73986138 128243506 600478860 57379994 443868340 348810416 923019358 548412120 862020814 634798018 684572582 332683772 250296002 2846166 535792800 103822936 728699988 726845438 678098000 99015320 906577252 748367266 671443376 741901862 382819178 305277042 897181910 727787724 100308430 877397738 179047714 829128524 205886916 111860334 241199316 256904918 607652144 175979980 485506860 633068466 133187916 458321528 830677454 907371154 663460514 94644522 363909208 472315392 626666694 74465404 269681440 439803176 975968478 390734000 797221498 215872234 196502562 875618060 382304820 566518474 188268778 367652624 626324496 971612 710365214 640694070 91060554 158490766 852814458 967042902 476818994 327285514 403739496 335334170 55118444 976556486 141040342 41165858 901378790 770180610 54878176 146171622 632239858 344886008 272142894 160317160 175780684 474886226 297912698 741217822 374655080 584506704 65970268 484218928 745871646 651895624 989426586 192861714 132014766 120724918 114510492 977420474 422012640 589237434 746449644 701755226 300388096 357714492 393505152 322279664 822425898 278948168 998849376 972061884 366079334 732630088 243755538 649930720 258764340 629316384 799118990 889966270 427706072 564514312 825411026 376386878 744928420 982927112 263499390 890529010 677891598 74374384 462264172 988161696 306936686 553193356 312428402 873229314 497687654 451636600 354550572 875999162 551523774 684699662 547303692 817166432 642081196 616740908 642241490 624592312 726100168 892760644 832679388 479858282 245925706 899352322 236843726 460148590 43377126 438903282 934009386 486005654 542633164 179474396 767307830 256587578 24750922 811074466 87645602 747958230 519832022 58813938 513992912 397206524 713768316 416172338 349963514 473610634 99759104 250798484 299570712 313362792 894047296 332243006 881649606 759760380 557216064 225634588 383549850 479195210 433383966 170679928 176285912 551961568 974322804 280660606 371567272 238968594 316048930 159310692 816354046 634481056 173605832 722458098 928866472 559976044 898944162 446068328 786035744 124970560 365200514 137687854 72902218 547662396 952426884 265093006 441161734 251491324 240385026 504370040 836357026 673569138 713256754 907540146 587118256 245972490 487527450 546693798 481030946 287127058 127515104 821424266 418116686 184431444 940036124 847742998 677213950 31317580 138379652 517179904 974985988 682210008 389274338 887058652 363567580 917015424 989085070 144657324 96485480 148545070 266060702 854243480 627909956 467546770 504911190 576935746 82614648 700263314 966455054 765580714 223048602 838059534 852812440 881016284 930887652 465983822 539119144 884614266 866819066 278975680 666648200 401726356 122528568 130764174 382774352 103859912 476249176 696828086 161326686 242744986 78910270 311749516 911440994 805524422 719035338 475985390 74150424 225442154 782507436 406857402 275747356 732150790 738935558 95069280 138255934 627339920 11129454 429665720 533998130 938092556 490415782 36918802 212001436 737655644 382200608 602933468 406574816 993851656 578698176 306992034 354087158 184247108 451596962 983953560 909652396 214343938 409559388 710061764 130567440 311524456 925575952 793741758 804371814 1204624 712988172 991651138 742210140 814970366 370633358 385316746 658941326 370378852 322442540 735836106 521321786 879696644 361563442 475113192 361559504 837615662 993021950 526737948 998180404 649239930 720245558 456616532 787489218 782240658 479791348 234621124 884573404 102354578 337333686 987318658 633585918 229222414 774186384 287148044 38487636 425996064 526490616 669521930 8995748 544574748 875218602 488576502 65079664 244599328 990329302 740952262 304806812 690168348 188165136 21129928 452406254 837619772 645832508 562945630 97862400 294735080 470017990 222621700 415482874 401072422 547072158 601203112 551961994 688669694 957318352 526177248 246250 306990960 77701468 574316486 806605700 420235142 109276452 191576110 980998014 734557750 493507686 511511710 856136790 144725174 689706802 387374306 58547140 842136746 960974922 348944022 494579490 265959172 683798294 915342574 147254084 449863680 437782032 722318054 315942780 758321932 315221328 346919106 414217834 374034202 165976650 367804968 523375736 613052614 21153124 288747698 759351658 573511684 948339800 423864388 930914246 448931530 438632574 378455190 545227312 889386144 59678236 546890446 830792556 14925352 884075950 312631114 159694598 852560120 409065274 322389482 543970562 920298338 425774596 431896744 958706776 973617924 4294390 12327698 946870128 891536968 926093332 430079698 397170170 248425454 119256102 349697834 370239356 184953184 942068490 403283004 420896172 875147494 904310164 62059426 354673840 327719976 112146162 983910726 951277346 39076860 178350322 761897502 985689304 9449774 331115700 219777618 926757320 146640466 368371028 652024886 39416592 346584036 512785758 496390924 65973338 599631506 229536982 720240020 423896734 456275900 978957086 206847642 254697836 467187104 691502616 682949662 443666578 645750696 326888578 278378104 357844762 639758416 571231330 824269154 124810138 501656214 292393452 827578026 694559622 995866764 656179082 236901774 371196804 370299350 404808552 253470928 463407140 933331894 748308054 923669972 799258012 754217704 978622718 260482616 604603462 408036248 767772212 265729320 677171014 28120916 432178472 795930376 170996566 702055926 706267528 482788696 570719192 166727438 763841184 240420894 757903274 504999172 221300460 462138514 459100310 573618986 693321844 87665016 757043686 899309552 594018036 467738188 339570066 482131228 963196432 691872208 929895810 196987800 698934972 733634118 795022706 282997576 937871488 783784200 986225162 674465652 201940486 671831174 194398134 911778060 448294664 918360138 707427946 914784412 39943014 823972502 156040712 363714424 542287592 806536816 416651316 33153014 145077576 973664468 914740158 126868778 457142382 581214324 104777522 668938876 973094560 691135856 945005176 164640446 17883906 153563174 53864312 651781350 569897814 110652292 474163690 841828928 532130636 73416386 848458896 791938402 193493860 502128702 801293774 903293758 627060798 703522622 214874100 52679652 577338072 152336518 426599540 954207324 438329260 498726144 155445116 378300466 514979382 300934788 569249454 860049692 320377502 162898702 190969896 536537302 367124844 197611626 946968348 94535572 159496698 894911102 862387478 949319532 13492168 817120786 991303860 824101442 989463360 466384422 697398812 328081646 100468012 383683726 743462932 454284104 725512944 228436248 949107828 232625686 354073794 200403072 798852868 203559050 223272928 798808476 713264654 275614102 464104718 877736832 482061132 920447434 404290596 706190566 393743588 341536882 483186400 145444540 951571628 54312538 445706196 798451832 762828518 42254340 365416582 875109672 931129646 611486274 679553920 327442064 323563124 486111854 698220712 102512688 425462590 836508014 675103680 636801858 735332554 219114802 361389346 762684380 291553772 921249132 42477116 542561878 231525976 160534060 825335572 602616498 495976258 495081472 880103624 232973848 652799350 248512114 795475250 519024358 512324478 301924258 922063208 459294448 646944008 956610750 81803002 409420008 83262118 700577402 228979866 840674148 946540056 608918668 422902486 939330234 888117414 739612102 434154004 582571374 5575172 978957470 919236424 873183394 582991030 36452078 661642056 592055424 209066640 186940218 26504448 161161114 385922632 56476824 538692514 458005766 629278934 962251112 189492066 372659216 790831598 226036684 734242074 17153334 249217126 84663464 58509772 339584596 474945064 444542020 489114032 964783394 142166294 992846314 873054736 748748594 125805444 856604032 880814830 169394246 903208124 197098438 285957396 835411154 797220928 813544208 368056914 128379418 154115686 261800486 806996142 176349730 907396800 522220678 480309570 235352184 525931916 588917226 323612840 544523932 499935500 61019076 17949852 889989380 490397162 787698528 11129286 346295132 726045308 455326780 783754770 217792466 602648630 462002214 809261036 586634138 531133248 993869372 983475416 138795280 94539934 331368320 879463720 535446226 351901964 872823678 945213728 668782714 531713726 33371920 669902172 696178084 576616820 961898006 886131836 330780096 759925260 37094472 283997820 845739204 422827384 113477344 438792254 318315300 440151892 403554396 354934744 370183972 70977510 825077914 615602600 354594276 769590750 41808570 611431940 430532110 934467156 724755110 959104064 187179026 832550326 684065392 16084104 362729760 327500046 967825140 124176234 396713982 344788954 916160984 825977772 357161350 715649174 715915914 177140394 275503460 187343726 99550976 886024440 278232154 513512700 283082342 88300854 195714816 688200428 5407590 185149402 671212494 80211748 635179450 792862270 452351464 498083838 603931484 873842014 478876804 927700344 2097664 92463550 651387870 678054422 957728558 785998180 560070732 76694776 897093540 638849374 885856606 915759486 130858640 332981382 891039350 43106008 59248238 170995272 145487928 988046088 441802528 393579632 356353222 517501548 823825286 185513366 67181022 842674982 364997340 760737898 283694388 16765426 491345572 220927722 190529602 739672780 614995500 334832194 245754898 364132216 548607550 540467006 789271452 335510206 99387602 562755946 511925314 175839166 718618758 920152622 459365558 106826822 746218820 593378708 367489054 916588318 738534998 364948896 884105786 942688384 574023540 190078676 190428546 158622786 476324646 505037790 886406034 612748032 472964874 557580420 320741170 726920814 240853706 852316084 528788864 949485476 543159986 586598832 691857054 43065846 645328988 47106166 322623846 138025264 322625514 346545294 603325170 735974316 780890432 336203364 967693500 721825330 758018030 487330536 101660680 520847232 878597470 365798824 577894046 498238778 69879998 607425654 982855344 638712248 340174088 524474556 134884802 721088894 204428660 752798424 420644422 247204406 617448434 757461888 565644038 74555460 713332208 994001984 711988098 948329748 507565476 86505306 293535564 304009788 883323630 339250756 992025352 694617322 653590726 60549608 115361482 365327462 89003542 499827004 503133486 653457796 128234318 964817792 590824162 195677888 604665012 355900792 500234224 537796804 287544394 879496650 16954900 798233396 730231400 407129776 150116662 825789836 347305168 627887626 886230152 901288050 464775518 410774970 714436256 266192402 988801438 284192236 438759776 970580728 346546280 314236872 353918364 128117168 80892846 744756968 221612582 34298238 38707274 800871906 770762818 465680308 90739216 594263936 422228608 150108256 733595534 824308642 847222064 531871342 543506948 886274570 739825830 763201990 220883620 323872226 361254404 941821876 246315942 917392500 300301398 429416570 841069434 415924360 126282192 407988980 852067214 713668186 762660838 356673500 423718810 383540294 247101460 694849324 416175398 956493490 543281240 720405890 537581816 80408234 924698236 634893082 783337884 669919358 411738346 481306706 252974896 498075822 254841968 338677912 459687074 362756292 627534244 868973630 495747322 151431616 103629424 656626116 570167250 349351080 386633536 796983308 863613212 344874822 299040586 573537092 497508962 102653326 329016634 835770050 914766788 81809264 505194130 713268422 250200338 148155016 15856942 278624364 294768994 83470050 905217694 374817876 1898684 687625430 829401084 41258736 444518488 962606758 65047148 725786044 729370044 766761422 906114420 59485080 840187144 210692852 614518558 119102132 496512662 486867552 816993770 11219230 315229318 926009786 80532182 506822660 70615282 924944572 524613560 971987300 849840142 952515106 417228760 196211934 12258042 953701472 720673416 741361360 754690516 279493338 880659686 559810850 734397132 750995622 24098620 219958406 88737660 571967510 65935818 5727954 707439502 762003028 690590270 777176498 555413034 188130800 136752736 695402116 189183446 638527594 154590656 835956542 72807812 957331304 480969236 788255088 660847554 748155130 60571774 620128232 283367930 601600188 988587572 620071202 692916340 377709746 571514990 879907950 721304216 143699518 987253750 453114252 844340922 581676050 191310306 57253656 302554496 395802284 243874092 260729856 414049804 403355386 164423716 992794182 479169322 426274604 693767972 255980602 413111854 995394210 485846150 376640280 277067340 772281120 559994968 962954964 150928702 526154190 286585480 437338736 297625152 273347900 406599920 78081734 670965636 272894616 29133924 799941914 269806268 385653614 316739818 848396764 42010726 273642642 768692248 74760890 666279120 252092132 572358870 726835686 879785460 380966524 248923376 254923120 919047072 921815948 482893218 839721720 620117100 453724416 519292450 835352290 163105924 225439340 599431372 421160174 897670260 223541068 759675948 836446228 179205258 65859288 557672662 919178946 574909122 88815428 481982586 331200448 207509288 634163826 982075276 196983774 48716804 424193100 322210188 324285918 249031878 531251838 481319982 712839952 613414162 72246828 804387594 416303934 936393600 859127574 696348244 943205446 10845222 429930764 60826372 236311526 629820436 254773470 851322784 795064710 147308498 483223098 642371312 191964122 945599518 61545388 846745332 149098438 588635608 522674834 565963834 684184260 835626150 268277818 991352324 147689170 488314998 145227186 721882742 779699408 619513634 537594378 668074272 519224498 277615838 801204680 333552802 364784080 8029510 498261332 917859984 100325592 302445574 762255398 531844516 172874182 891276290 522154862 705063934 122017234 462467160 546969452 981795250 674574218 691579986 991508664 477718946 616264804 500008972 31081456 526938344 913000578 289159304 860394580 659299864 112204934 313819008 919520374 129834910 76132416 215383848 956879806 332613594 443346254 24724920 532658098 277083538 746195044 985641768 503379506 611055372 486653050 183137440 352043126 347484626 857131662 14093246 566701564 831857036 265890686 306705808 194254346 714361210 874111498 836349546 31468628 989132552 447079948 812639828 824494788 986027772 562564308 162267160 100219262 670618116 309441292 493630 115893044 680130572 721959070 544953230 567553406 804517628 359916460 86806784 135198658 667917682 962063148 207872070 956807926 127165060 679149590 323532270 970201960 560631130 211353804 822117686 711799354 557018816 438891812 926166432 63148830 282613496 525795886 443068764 648869868 313620832 867768730 411693210 858301784 422033302 127084284 950933222 756077112 914343876 62569014 187256202 386167626 945996118 672476068 686500434 978632578 472993298 868333236 707908460 681914882 78806152 501524534 631693302 584857654 619550966 704451468 577408620 724204202 994474526 45626480 691653428 395940852 989222912 317986564 496815224 912850642 669866924 145965662 652136590 366516294 771301082 169240462 622437644 808491998 280388066 945813946 272798980 500676032 61744232 167279804 463590484 823612774 839291564 491129162 926678190 922183504 523364342 23265094 271575922 336733924 861837530 323878438 236876796 728220932 619567396 497639188 699832958 696400478 387585314 398917706 940028550 166111614 172710954 382900068 294134078 81100482 28940034 897099762 247956620 824585330 717910252 694862834 842664742 554569792 444111062 588571112 215846238 411790880 705587762 972183340 17688670 608466104 215303346 633968054 477713066 953958210 213666130 171934376 426496208 537450834 693189040 700531838 557850210 370498400 22203894 51818786 156392328 988134496 897780802 563199692 67853478 106639870 515450814 459461044 905524294 685376078 363145648 783835182 890701368 537326942 919896118 811863208 440620994 162129124 637852322 558584732 687970538 949104226 544865098 46736452 175699066 740908202 895606010 164802352 162826508 427493294 572356204 732848314 54710210 950057628 714325822 367354470 265086342 307385044 861979150 737263242 800457448 202432288 674041936 980465694 381753380 386819116 577041438 581538910 656259642 137660532 373256278 371079102 384866666 463342046 8314342 189666272 957788064 562805538 369131406 891405046 224785372 436548426 970050762 980259860 376572522 616238648 742118606 876890524 965764536 44935274 56581952 851856736 215833642 377200740 20856770 86472566 823596924 795085490 477750056 707325296 278434406 463701234 161400422 944072870 45881720 182948320 140315862 293532366 737706158 143163560 136468584 963032736 326060330 903962904 225143708 507604360 261117130 530061862 971691000 905648202 361812152 691713784 431469588 530780452 471176258 946292 525188160 376978562 401797088 198350198 494844276 947788620 322652102 398736898 885538076 624586284 400525698 915925674 495451378 902091772 719299934 676049400 903380398 649529724 502938118 177806918 617636280 123657378 995045086 335290524 314508878 210625414 683697600 488620932 185860264 706865128 309429098 180701298 98005744 762629892 215401474 590231976 679253972 576714654 13499940 131077524 936479720 8647068 59914048 981840146 41430576 971568188 12107148 465427568 338871236 426979108 142048526 595634728 881067766 361224308 485829920 302988340 898291060 870470326 216802160 420224376 314997956 392642302 191744166 863176186 36911566 926505950 1128102 521371736 247091062 293822416 865884014 302434970 958136910 605879548 161136454 723928938 197940252 642573076 435613762 807558914 438907656 826557486 214605478 925961396 537608580 779376312 52223192 634662060 603129578 324299578 486781814 129400338 645657578 961734690 936360120 391881676 471971466 851301234 682007362 693318002 617186320 696701982 330127348 496508086 141726540 835663200 749072498 262550998 161507762 985951678 784622650 590917902 786942584 396742692 676963552 676187150 318201980 752466900 412641752 72273036 567346914 739450428 293499682 926524702 756516350 661162040 392786352 577199604 355477374 506583264 368218316 348562012 668530408 737688494 671587364 472806592 962668182 417751258 359692976 119273156 67339822 180310872 929503704 761973566 588566630 997090912 735528200 823243794 749605142 291733740 752321714 784761784 346313936 113460412 481863816 824426026 980895890 163098042 89327992 424143868 131422240 20694734 142479444 868881820 876099890 801204502 370087822 795519006 366997890 30442614 886113652 141543354 35443584 110759032 52987364 931659398 877246672 903362656 949225234 663491444 489346886 518935080 13980638 333339332 666067206 413988020 390283674 505896258 52579140 550403012 258361852 393624940 742826218 129168678 181196692 737748130 769919274 555229434 850336190 683752338 811124400 306604978 269687040 207772852 685651260 871315284 630102978 860812156 976606444 366353078 321094444 694659004 136412304 483492906 471816076 816783112 88971502 838909774 14009422 69474040 321768666 103035652 516624516 632283516 79662012 537240370 753070444 581496850 970503866 625129160 872709020 313424644 619465588 654152108 63197290 652030682 409478712 192426740 243582496 700350690 315757578 289388668 828388368 945791072 627267974 179611732 90058606 382888572 161932582 212376800 10759944 922198782 545331856 224612188 767498626 110765412 630901260 653244276 655623744 943219134 939185474 447490164 4897974 128210258 400923046 668684974 681217466 59039234 8139730 974046844 48620842 393624726 834700616 572431328 917678680 41422354 768388168 177583866 92511718 612607812 597237660 400935340 357217570 641560260 72090104 467660874 938764482 658799986 812128126 828720244 216173948 242937878 980792178 774820424 503756656 411214960 31894112 756535876 303385038 480424332 378928664 246207662 362542098 372527384 47416122 605247192 210365528 349290634 842818382 340143292 240108780 663116186 736732278 176528314 80685570 934049562 973144580 212421086 342913964 480193420 946071094 973008722 70535494 31547940 241734104 303646056 333106932 847869176 706455408 562879544 835005502 120410354 490637396 798293476 673042266 927080896 879082864 374761914 978126068 755341498 216874260 486534008 516576766 546838388 737119430 540608478 534092632 28069780 297150238 924658686 289818542 898737452 349279832 977684820 992768926 84993558 824661566 966579914 229913612 604447716 204356650 167147986 753448310 95552670 940708922 850443368 302612084 908101738 260130030 872461560 942525116 881426106 269492580 10574690 158233154 355511096 55888236 655030824 318260118 450253028 373958178 676347708 532811112 726096492 64896932 322506958 882328034 550418118 203168842 786155752 588089858 550882398 849196842 905737034 639027262 679698246 665601112 689377442 33195596 576836524 366968180 866439162 630151916 99148652 790485804 436936568 504048948 530562506 566628262 556573306 789467412 295381490 473402428 719449804 949244852 360902196 21413540 126736524 626571932 738066634 866829470 533187868 70832136 551914066 193036094 17073034 464224894 184613804 694789448 39034488 215535396 597380782 261909740 541356486 615059248 673391424 376838022 175302974 861046294 893929784 573241390 30949642 387325908 290364136 102389702 842196650 982116390 533942890 320518674 474834136 364560616 723369200 756141798 431405158 268688106 181550614 823277752 600414248 155241980 700195766 523728104 573992492 773227476 905972702 921267702 355674560 750910566 604939616 2182148 491171264 731663820 664396666 267430690 39670376 241217506 531102694 646122282 376780538 673810488 720544338 426523958 386199292 662853252 169512596 194640022 166902632 408086828 149729936 415665232 488749016 170975560 107005396 475351164 129894936 483289108 771302744 870817440 164343524 483987834 552456804 781480864 496761148 931102208 328199534 249756862 304885978 217332272 107827850 502882462 314700072 982639606 344370774 221652074 250751050 16052514 15291650 972747866 423646786 323276790 587054726 714480742 850223446 160763702 285517660 528967400 865779436 423042158 582811310 179038380 374120188 387613580 113750282 970227066 284121946 387060284 317378376 736689160 332735136 316662574 907762090 731808032 502966562 750791700 924168506 789854762 33322504 698305392 635083546 940392986 500425592 186607910 978300012 232356302 583083322 946876298 508052638 34947314 16476396 38048682 954772698 344523794 189247520 225304734 960378830 128449670 525633374 399998802 104610384 972361356 618791566 614834208 981684572 336876824 202278180 49444948 962186802 333912442 706876784 869252080 443609172 801106990 581300682 522149948 942397318 811760504 166955814 136391538 948789310 574287006 666624054 957379234 931210790 486655574 812640494 682627780 432788206 527614718 405491778 517049254 874424326 492502232 910255050 162173262 107751236 329206250 489576754 333137368 331858206 702574830 419950526 574142954 461514144 353547978 630715768 249844656 155201682 309339592 255224492 496188194 222219150 833506626 123670856 322413776 35197386 972148740 68867920 64061532 143957814 104092892 623723696 195790440 752035086 544838108 378635182 932183810 894516460 70011376 739413786 394474006 644175626 693880202 221133534 525489966 744719600 507734120 234225584 786402116 87795420 751797508 688616374 788465666 233240528 716162198 275272502 530031206 910314466 85776404 32967544 406342538 361903902 215058508 108216456 783853768 378362782 894995692 669310112 421433824 827481298 249814434 890412372 575376118 488850476 255320654 349501904 79337894 741558854 48026010 280972026 464661264 755938552 498193188 359453488 755328730 862718444 978901314 378912322 19437916 573667526 788821230 857142862 372760952 43049484 317402578 84528612 103213784 263366954 871696250 479817034 692134148 977519652 661126122 350074570 794451054 102964678 914338904 937345882 937429672 327532722 886109038 17045382 575512692 245740286 906853108 556403198 357820332 132959092 540408088 592614926 19815996 844715540 27697272 492169518 947793974 157847956 13385452 704830512 370819938 532288354 806367400 12923698 121224514 917613486 436426452 173423896 429172120 603482210 415040172 986732858 615123034 131777060 508595594 745524348 78522832 304992004 491115976 822177166 341794388 566878150 551369976 374159034 473246646 179572328 512059278 491756346 583349694 318546286 532116758 358651458 173294672 461217040 453545646 381602298 280647190 190342334 910801884 432663700 606207692 625232036 745176184 221435322 996449710 810660844 712151564 439102764 804068142 807771268 472172926 197314558 51413268 842442864 76537144 823275334 416067348 568875438 348305932 619921906 40506686 189992612 264175570 280068454 407223028 609012310 4952852 426298078 271908948 207054602 938828288 220409108 770314892 983142862 553401410 67952506 758257718 775672528 838466268 856747634 938221762 380631848 265975504 972768440 76016652 511308034 789480928 52284150 535504218 98117004 718816000 41575162 735284902 45320674 945003314 913238968 427167328 945170110 772858018 909364886 957446578 504818752 776865914 155440262 634588112 251252538 421923176 682848916 789175684 193047596 465604614 175983694 25360654 667680652 478904324 365506190 557358374 269673882 597773632 585172882 509348796 222814952 221552492 190757290 71446736 582364154 875653808 69937902 42836362 663684924 116875830 788267474 981318710 314431334 292735830 188501160 935774510 100061418 430864044 591601428 17267916 38046356 495870868 497865036 308040048 527044530 320504324 694537226 316525466 299619734 609623542 513507422 795151274 666246544 601990450 561897512 461970444 86839604 200871410 863273126 200155104 620057902 418592072 570228426 546731602 815003454 365286814 947841526 402086424 72974850 42598342 479189016 311726806 395346398 658645040 680880688 927033692 545801212 493456940 821858614 566781730 447954556 934465276 213567646 518151506 153231182 676103102 122121206 718730770 461393058 215025024 972428986 831327756 557588858 758508164 563678650 31124226 978617226 230166670 729343530 490952980 44552248 696783632 221441356 406723156 929938406 107185192 403097780 958933392 409762722 176592116 389550278 341251706 284620342 208860314 969203788 690195472 952584156 684987346 900884712 900655776 226477638 848630632 265189604 924221050 829366178 74994464 921128136 989431574 147115752 243586196 859627530 363385130 55923094 471053716 899272120 421608348 400150888 4553834 270037626 714478444 604828150 816571262 750272026 133101536 204734494 850927066 539771832 152451898 259807606 198192040 717663618 837408378 211997478 509434302 323547654 920681524 510528926 709327824 167264864 593759186 258249804 389811914 223421750 588964178 972563060 476523022 400304354 126939220 545163990 727918736 436084402 986693508 394265544 92751458 890488650 654386214 747858500 538279150 662678132 483136484 66519622 823623276 37224698 856647488 320852580 395618106 98990752 445838220 172948426 440145244 116741940 171795444 556468728 253958342 924755036 177086396 311063470 125978098 476878098 510548526 205532744 590574216 732019068 483218980 541816504 998622026 599809686 465489936 408776668 729602618 717510056 227304264 792999212 419970962 353045670 430699194 955529560 751407178 85508336 515810218 607082804 201214076 628014024 63104108 735393164 987508370 716037332 468373376 712579518 910872252 689850316 407766922 333690506 475965156 47585286 491066854 857160870 554720786 284914022 985921304 813846556 699765772 415002434 784915984 907761412 508527072 834142794 752523846 700650430 596893642 173821184 216411646 397131516 177537110 43168250 980032100 925254356 171221114 503228968 328221980 929811112 110251546 740573042 468912234 594522400 577272192 68615810 740768284 758809942 192345546 772598618 656808728 803654262 436604760 799154848 213001202 845084022 928440684 304977842 393127768 102165216 904741552 522113360 913223902 601209508 152643812 20662746 67717010 96232160 452166900 421735302 875909360 100924054 317895406 971864840 199306090 332094428 410832014 911546370 242352104 955666042 652892174 772611260 212560908 848791556 300825012 609222712 938314086 944734718 625838568 933966050 9437288 828440912 626003884 353382168 371035178 357170854 665762890 918277992 679518914 657580758 491819114 254298086 849365558 832726098 771846346 862294288 530073772 637171850 176326254 196434746 537805972 93005770 709552754 248882068 402627730 61942412 556495804 34074496 938892804 167876794 146774878 978728302 470749386 328558428 195896796 577826100 577693026 205409176 276023518 432610160 160963430 620029970 416667346 157892196 358124282 148196738 697222720 353834828 314094542 410727504 342572536 523357222 420347114 195196810 741772228 877897602 883764488 578803118 792108946 900866208 695558072 503741214 231012594 31770604 136882492 142601628 798459352 836444830 776265968 196796470 171373664 173173690 107317676 666043842 271059866 50947884 456539866 615531552 219130418 824104478 548387524 91379592 14265970 540969014 281568708 37710674 987907642 836550388 768476158 491266712 25538014 830817440 362731996 461888802 605738136 824709772 388139894 744282148 874692506 41847152 347869584 908436752 610285832 990118452 691599620 205015434 695648246 199964710 659989276 556537270 350195840 140050186 398345200 775779558 546345344 798109086 258339900 109205394 753393740 611604864 243311108 795941950 190893934 410321966 281296092 408897500 261284742 875371766 526158224 114187702 551618104 353960134 887602442 674594522 173301664 443219762 954917132 507228324 307567138 747016592 730721358 862389934 774248540 972362076 630657648 762305950 472094092 11887632 419740814 577931508 902244950 245574572 367159392 384801244 35039840 147196718 169067960 336689024 321113750 272359510 834831958 972814418 12229014 696991308 982259642 45276878 125835572 735000078 356026924 206067788 410131946 723995020 18648276 285119974 963083266 954270372 929393620 688432242 917979416 335908902 282347578 929517302 162000172 738487406 501030672 399306374 508251398 444359282 252169070 36910794 153722630 935931584 770331590 92949894 422475432 859637476 955105462 484106930 123559054 300030764 789797040 761051620 21926748 545257068 832670696 259922990 968789156 978395764 784858470 787344940 395658372 58081920 205611698 834501642 939522228 686264308 678723236 751433568 178003588 972694898 630912004 711729102 492480286 955553698 989265058 383505394 393222338 672550260 60204898 450187548 592768230 556403812 180540148 526130152 886682932 71924820 364851258 319634484 21145926 324877216 40142150 326076330 532781092 428108800 516737540 805777052 132787252 434724466 45248484 511146230 602067128 239127208 454942574 318849760 672034748 510696770 674790812 375215522 286632072 165424470 161399428 255602204 391993808 422370908 338170688 732082968 164964424 93792858 79303618 191011148 609122752 756601308 189771782 227829696 908771216 333543664 81472278 575061088 764450200 978829284 819799254 113549866 453125574 531855966 835287332 305300912 597438348 565762134 55840682 157364286 83728526 558041814 593381320 704450248 416012182 265248266 663516548 269837126 318962710 555933026 452038036 792587586 481787244 822740622 216013300 617902512 586102048 377134984 444453278 447480560 26195122 134251476 536741224 173994094 591106830 736187870 26048314 99559828 2307222 446611118 524788574 819710398 245857312 796755566 774872522 687388538 35905796 337059616 662301666 844086516 773512958 290455932 710942314 697248668 297987134 61189600 387502790 18382406 121487550 934374716 408644640 592858908 317907412 754677076 258435232 818217230 744971768 224988648 391236148 583886492 691916984 55440062 264463820 931185724 14067140 576203370 319552970 136046838 911518610 420582174 889300432 876921846 616561176 401233116 7444556 559809472 611789318 811041454 132499120 810396374 947958390 643270756 131910236 435157460 235144500 381330780 722127382 170472928 181532994 321328064 108508570 78095796 987784076 725468324 677012096 529490854 288133860 435057404 458629726 508268976 91435880 977913888 557005540 567348700 84769748 212478768 763992588 777020742 769921616 586246698 471808160 317412310 112082434 650411846 390486142 974431928 228911838 774148078 210596836 23755344 213926838 551035150 398962786 408378350 80645864 797916434 175308062 477387834 676087842 374224420 112178884 773197372 130392442 237253920 731730362 775259668 810144870 486978650 657200950 524741286 263502842 175165790 49568906 98359530 120891780 480136310 783344158 169721036 268252164 466615368 308638346 141503956 633683338 949319736 402096624 333901138 941986924 831973878 348857050 72899474 48356600 801301838 303068116 968592930 217827646 387338176 383011302 753977056 349416444 76584798 912638658 578154804 232983076 985652496 934562696 46400226 444448424 475936114 466797108 987032508 939245988 867218858 153106336 780722590 249867360 894615738 195062560 622180940 939978412 481958222 40189482 451470374 116159290 313177074 81192436 280604812 738122108 568024538 764038038 628618280 3036220 865889982 715605462 394810594 455676636 96644298 181960422 87656736 369323928 934678790 516979776 453162378 89453038 321129248 987776412 947815930 906624506 549203596 507417508 879197762 808467842 635204144 70028044 586573780 814426702 826905472 700647964 70129242 971523360 724647818 165062830 240616942 541990786 758615098 163745062 722208080 780717550 471338774 498536862 455393542 928794334 899103384 633785096 300168202 832811424 702712112 794879684 480974038 195638860 624578776 106667894 157823312 552088150 324079580 745499312 417902094 669657430 621080954 535321116 921910166 825605258 15222970 12994434 119243648 673613910 785682920 353523892 45034618 160366876 410202840 813064470 389015298 98494404 504674638 443787626 385479406 339091304 678833586 726974628 992138724 372711780 929864690 901333022 48799698 831865488 228071858 537338668 329929956 994322052 589703604 714090008 276302606 979022084 4880646 17308912 328491786 494429006 198812006 429039604 73948288 861324604 437757708 665463248 458305034 974372572 164580458 430501182 792304198 987410202 318934634 642286142 708451382 530925186 130628578 181477982 295720524 4329212 796342168 416879264 288751340 70391442 574813982 554269504 90059714 402429628 912859040 765476864 539565450 256142440 6803670 262893108 94526488 732785772 700218556 244139462 359201366 167872262 98820022 704247280 984686718 33280950 238024986 374272090 604829094 407335944 341068752 868883140 831223984 974064620 988654436 500493876 57683378 927122942 728151158 62811710 255463832 83527324 427543170 166961250 780986024 709185518 257067736 654197152 475706576 847475598 457684040 601818942 970305624 760243278 143992870 616448682 710480836 165639808 120989486 494793826 866016178 981674448 674386122 365075552 433654338 794182404 762126902 250489002 967812414 287839894 258311084 913817318 690836804 183782244 692591412 825001058 886288464 721601650 282739822 476393336 935060484 441220212 554438654 995744658 43546488 485090820 685899800 593243202 33417656 285288828 40992584 140854278 177277738 563875352 416259486 836355486 578927124 277934694 395542974 514142166 357241392 211622920 491639708 225800584 255504336 732802124 525487576 656019696 983262602 837314582 170628914 215341284 516858230 448285286 981127040 366469256 907501276 535580748 87841720 210440354 1424490 141410032 567166680 446605188 462515652 907954102 592780912 423930962 847336622 311524800 445141724 626306806 273745054 200300838 91108176 839965568 815876590 750202322 344109980 99103322 627779296 869075840 653054866 917608590 54775632 61550480 197950192 886497006 535362930 113279630 557423650 651926790 773377598 337839246 497540676 639910252 120176530 654817442 937580632 960761464 10075904 974661826 356588440 325459942 981908172 451828354 362872036 399746052 439154950 832188380 765263730 932842326 236152150 70513332 60618032 787533526 654124496 193675364 396658806 410501196 677984518 22727724 232679036 973138728 61099704 217340332 372335036 590476202 342655740 233507666 267058724 738864028 843744976 855735108 940130972 685084396 58282276 188826570 931080122 173148090 20772052 845793714 267706618 19958690 453618506 108475064 423991146 705791746 268632686 280304530 698665872 41529952 515228212 239936868 415164806 305425484 317764148 644235472 147916816 733099330 395979696 527656676 600898008 256826066 554857482 233436300 346767398 189927854 828539056 841975894 963437714 88515570 605233642 634263910 810339244 784066846 363057608 491755124 71993120 396735768 595104388 166768820 809541540 754540232 168406088 114461958 276689386 794640464 464874202 447944896 795278724 256371350 537791078 2467760 618291812 392718164 278384736 922894888 52340892 31582174 170779510 270766068 913906234 690289760 537696366 783373158 192955984 969770970 55092592 416302292 75555472 760539838 696068480 674541658 149234856 188341190 612494370 935534136 905985944 759636412 76208568 644257694 158322004 155154974 288384526 272880430 923469050 542014494 666661712 731270818 350979308 230610742 79864912 464744940 691386850 13053478 201427612 346466400 566644646 283825144 249238760 169516308 288040640 457157430 826547958 856325290 791550416 887637896 94472944 700221124 190850962 23357916 598540026 516768434 72285312 835907774 907957382 510804586 692531734 976927422 954019952 222893926 115546516 951785624 253905740 426281852 768711228 676989476 761682600 768893180 507461712 135572788 629350736 482301076 333858678 887374234 712439798 25264152 346610064 270385290 742680732 315363316 255225018 128216204 476023494 125807646 125248414 64045218 724524944 859897342 800791226 194866248 400681350 604579778 668384266 604463130 129725554 657090178 907912728 685657946 43447040 404605422 835930256 729852612 740835204 841353608 973083022 858345664 758774620 597601014 724918958 826057552 939286912 131079274 755855412 428338920 507009542 306204462 706576260 624050106 617723814 108434322 2660780 297429664 530707654 558659982 690963654 89930118 232601096 999310316 942825726 505984990 239873240 855115316 804787532 995953834 650979482 9761958 703847558 803492596 911478530 89127302 798277682 137787662 887965898 607552836 520997982 276369766 948774592 733388660 391120370 516689650 276742358 985284754 104860094 319206646 979407042 597920860 804873348 421145416 790920268 192017026 267608034 319879840 257551658 902711116 346112168 239787624 661836372 282414600 655829510 555245396 304273356 578442946 361281418 332584748 80469868 214829664 454578202 940307710 690006594 94469902 619277880 742114556 344043470 269329364 486388454 986165198 698520560 21039464 192301340 884902180 495716892 217053050 149717356 904696266 188198244 75152534 276635636 307497150 411287254 552758640 659591472 431522682 260721262 312999150 39992096 943846210 204384330 439684934 192456878 53265874 217346364 380077278 629447174 130785030 460662736 4439386 760696784 268096802 283678868 208548738 621945598 104397756 950929370 966930884 341423350 637089764 405581974 686676992 93123678 231076418 351272098 407997814 484332810 65354914 596856476 369791354 174535472 929173948 193082646 564524194 927689162 24050092 489786248 445846110 142545584 891915060 982301920 233686102 449048806 950583318 714737678 137539020 894085264 3962922 233408408 529598928 182245780 388948868 118792208 25392722 618422270 821703542 6969974 599363466 766948886 473799274 219717146 39852390 385598730 861955778 793401014 858578936 145692346 736771820 115749806 115741712 340333304 113235132 94611930 242895010 377639886 990008346 288639050 808946228 770296050 389487622 251168328 634793640 638095828 761177768 104969130 937767366 417442776 41389074 347238604 731705828 4116374 508166986 967219994 699483796 270605720 892302124 762699124 530124058 817889868 187164220 143816502 368337806 710142484 291872614 240116600 659052452 688360896 640601702 368393392 220864956 490600174 239541642 384390854 381634156 590136084 955781880 242913260 613092244 206459126 666294068 11031802 345451402 75745744 747527628 897551458 403193322 117320702 635768556 649167436 757462048 551403176 533286912 900304732 383260734 244750740 549132704 483349676 153981392 939924016 627216852 719453532 58795894 503654716 794738866 284410940 687339140 99659386 413163236 710666914 470245886 238423852 842706290 235010566 380456712 473815366 36798320 870271010 752561554 211710000 114634630 624690744 994326276 392288180 571630692 222824982 128886692 67654600 637241082 137305660 468575312 708831928 906084360 905510900 480443128 387414328 866421842 409607982 769155304 72157152 681841346 32250150 562762014 205420684 296518550 125828812 648373246 821365340 923730426 37323298 699717756 389240418 782721314 24218756 213497484 701256586 551073504 777913036 55600108 431321998 982902208 725064004 916946958 161636498 199692442 298478170 799408970 752636176 789931172 686202814 419757662 916793700 47102026 917868494 586488780 168046904 766215246 954035522 767634088 656409174 532891418 450622688 997494522 92886874 703418620 367145432 843822030 858039218 668642994 569137590 885111904 772188962 444187968 200633242 304965722 202068244 382332046 800676868 831350696 143884836 255333830 37596304 337883974 407907690 828347528 534292464 189971496 604972076 797826676 636898804 572657408 189770366 142934360 728475958 781354026 584350212 451513366 363624544 200250244 479281898 517181428 315800950 461835292 496279806 347543336 99090960 952262220 468830334 815450360 797940456 619355746 401064862 830969328 209565636 528818612 989206642 786195778 470148882 488956460 43649460 529007434 484053812 829377448 95546692 371772014 888904352 460277174 355250672 543748722 238807876 598359184 910276472 908083620 2727020 754836314 389483600 830151000 185057196 781988354 647127348 472330608 489300414 209821722 933540088 502330446 367493758 25434558 209733072 606252334 523572318 791297744 471977870 310674106 423649442 328483926 479485118 694872812 777223534 715307850 897611196 434753286 26236504 387701556 922906884 774895540 368846430 932853210 267079496 762864680 583176592 441111080 918205038 161467156 271906530 450494268 873221844 180139460 272657526 768727450 993201980 975046324 751170378 376514216 925238752 497636294 329284286 118808874 176290678 998819954 329088868 524443002 450359634 197454622 475461022 112196790 317264624 182474058 695827262 116392940 581446286 616711466 626118832 947344004 23119044 824561932 972423766 103749764 548215288 719862990 489049588 504268152 288693240 368755264 288438204 738552168 559771406 885906440 504924658 431437350 237367252 373577898 837864004 209139140 870779154 359380914 698618632 874643222 639252640 592688704 774616410 498618836 619841968 980218418 811744196 752561606 756048990 512139482 931187646 228015208 846445974 534900822 748182332 395589628 791734852 148798808 69654440 424315882 205053024 84618884 152123344 748694988 991377658 236328226 507419804 654541560 718997090 308520050 735878810 742775284 825975128 960859352 354573654 922036584 524543386 699885410 19489014 73766720 984292862 545448482 856298786 786884212 730986560 460077276 366448106 404877622 178377330 661755814 747168892 447652902 829875432 536721668 729854000 81444530 832749346 272936242 377328352 542412682 286968838 313949142 906027354 519382410 686592666 942484444 377160174 111360250 948653436 702464560 57736560 116716134 775290056 255328036 785372578 714572802 270468594 600068786 651603526 66568918 747374844 394515578 275203612 737477044 153398660 912647412 568836082 803418544 865032532 449808456 754766210 566902612 797039016 501970382 527351562 102497934 734133822 147796098 297895066 304983856 19361154 10349466 724179046 801483542 818034564 534516728 22723758 544693248 502823196 135431792 252238882 462435258 103911426 297838438 616508266 547295018 846274460 519318714 9819626 228696938 170040032 707599122 635541742 274975980 10119472 115583306 365003474 698346450 736335090 832726430 559470534 509599220 393073764 917040442 526505132 821685854 473289884 19347374 107668688 212750622 33875642 153466410 982974396 1734250 476900700 26690992 490560516 291643022 738187116 507397172 701946068 207196918 36681346 736318944 537417172 532036506 676198392 201450960 694059608 381059786 861322640 721645480 856244900 892824790 448602216 651441922 142086768 493035794 734296654 802267460 911921304 741796194 991041888 763926550 189399556 211965390 731781416 395713672 146018258 387430562 64845266 701094716 644837806 441285218 286982052 943012120 157884712 86289382 289624464 182658342 917522908 285966510 658175480 654553188 164529336 454441486 717501592 277263204 561566584 717882964 180792308 43257122 37618642 759942214 161217622 453437384 772796430 525573584 422763986 832188252 52040448 465585410 462890402 128210086 723707776 945173198 263981208 606261326 420120896 825921454 583390328 91838852 265769318 956675600 235370292 517023842 950201300 798417800 517991140 837366028 693556930 774792932 527288620 276742846 677967980 71942970 670504252 515075592 973790972 202612144 502767126 210901700 681479866 234149216 212430054 318979072 14408270 754030568 823952000 194956626 523264222 12300326 293063310 545351550 714730704 571129060 618646888 576205814 679041468 40894446 126523356 437493232 356933196 263430452 605666524 558164452 482217340 801501192 937770094 201165816 132023142 215735510 796470340 951833888 638750526 633042898 416274162 831652342 417413664 760682792 250126448 787853658 760538014 339721436 2160742 357897838 858658042 488212618 922900454 222250226 761387912 115264490 826228062 298608958 692287664 709810664 573373052 674109608 756383218 22406604 178965814 224939656 528771700 126993954 815947054 223406476 208365616 995249276 849966748 323514208 811575160 854448072 687744510 934314904 964123520 100716320 309593458 740342282 372370634 414834818 679377894 196520216 735497674 412426886 339346792 588095410 312340256 348876998 431165158 240918536 924708302 209940584 123936800 639361620 306835752 891830228 472559844 673879562 875306406 504437326 778919150 278081460 696750112 341216736 899224 134935348 968003002 660323756 938000372 956009674 982308516 447787110 908696900 263034796 745255984 329481242 13865678 360698630 360206550 289017856 773279012 524410994 993348464 292820646 696149180 393573724 587130032 726643770 322316808 562521810 685044410 568777088 903126942 119896490 327898900 459590538 674530762 66480834 432229104 485303118 37286854 209407574 869808154 795900508 329824530 607900790 331036324 977872164 839331844 235795726 12994356 327407588 607448738 319035342 132726148 19421126 591313372 757881706 910610210 740054670 49935320 139915240 425923648 591850132 537916312 88832262 182303698 462975412 114100040 424616880 902255166 153554538 720588564 214661480 839587940 561040398 693961548 198980496 556317786 392003438 699283186 928546024 956689742 476626324 894537396 526658802 7216454 836401046 388927274 298911602 153247180 616140008 135004314 452149976 853671874 414939250 620312404 747386948 850093220 436485686 361744884 455309864 10506930 593870586 580442132 810266876 731670470 569563674 11084888 690074242 329506220 128081898 321267862 935804864 935621908 354465614 719647574 745962906 517711902 533083244 407548218 780458222 822940154 995259874 99299264 765487340 380043484 508744830 315321018 128959416 345979506 703334302 787871196 83121566 401711908 303800806 371855140 369406974 620537148 697379866 625060666 633481922 409655892 542716388 610270144 36605626 949190774 444911124 875526706 397394018 150966360 199568270 895238298 803332986 531662504 802597860 752138542 273775396 509963030 470460162 517546328 186170322 780327008 152769526 722125148 499489918 645301402 819328828 778330806 596938674 593341514 245474578 288892590 223974158 836081098 966226340 914694016 429819306 630109208 931360684 171866514 678849818 522632734 932181010 75446058 776197212 950200298 23582540 369223608 711627818 420867648 785764580 696899264 732787194 870416450 841804316 138431722 505749798 28832922 88760366 281359818 718160712 929406012 990416164 838416138 18198426 186025808 226906820 787418298 795996000 486998926 823606064 305784048 339537984 53582280 232319092 534884906 20260932 175185580 176856208 407618244 630022272 700031540 525425834 529444292 534671800 804759110 419348290 551020112 66556750 86807984 962058162 547048708 126599514 525249494 66723762 28704236 928504236 289257044 318076442 694608694 439483144 247775682 25705838 919173172 598711670 264598288 409624566 107109496 801767612 584961752 776410178 893033104 656293442 110330236 909860122 907507084 28061652 164155308 6679454 227182 865540062 481956432 766351014 264942606 952173612 850440416 637977662 36538784 345862036 290979326 226711336 489697186 356819594 71576052 614261232 412306040 314123660 148326504 669056142 782437892 324714612 776893618 979964078 208977670 535076582 270685500 369931554 756943144 162757318 20663528 84333210 209388136 249134050 233289320 157371858 874734192 279256280 789242366 811950442 97289268 140240996 909910434 207991540 843451704 359196024 720919988 281497364 945814996 189931550 229313994 891363194 826182790 989075386 355341938 553173862 12911912 585733666 671683626 602573650 255689842 251726960 172529050 359198136 976246716 814994184 406773476 536849358 369645486 732403834 769783860 48758088 601777564 340699452 672418482 92475126 586632506 609887946 405252588 106694480 963030434 37743170 442220206 481315244 337481820 890364546 809415990 656199954 301462728 773966024 783649600 951740804 236510982 55814288 506112310 910176306 143424058 516039762 904743854 728535446 110998674 332315114 9216628 145975898 934777562 797776072 756073636 44882714 400927134 47481002 473056458 920367104 148188344 802287858 926802636 209243448 297543944 954870412 768477040 799268692 39499868 114454902 184243780 247209592 436217972 148521044 660540764 138953036 110724552 459408364 715843588 160942076 995794990 33597548 673554546 589910068 576338630 598527082 50468600 145242102 823620142 596328608 570773644 885085532 455028794 506497782 480592568 11307832 518887346 35707296 528799028 240926866 834944802 207325084 940506574 281725474 663759546 367006010 679390884 386790074 83763148 442315722 577258772 497500462 543162122 576267968 478111698 560371430 922721332 364720342 147876458 615201678 647264420 366133712 622577680 302483422 391978878 347747950 35822684 453736454 403832172 567997864 569937320 985283556 865933682 816196028 664376366 763876450 488083482 505936820 383492428 334947176 347428460 306087744 606148760 286242794 85778816 464253182 494155474 299510906 6230692 700635638 664936460 585596888 689696078 443694454 432123968 536253852 456357908 329067390 68328470 322554316 990517602 965106388 127841652 713319714 281655680 181001932 19233864 654956968 364545946 336087836 18151786 889206392 518968740 491678230 944317060 598608054 964112762 209392296 137658232 303015088 903721796 226205570 577580376 304615824 750293356 934368514 269820324 683062032 75291860 182062572 633741326 105386402 105990080 627006946 859841022 814987018 74730336 815498488 859093976 40845502 943376928 910462306 904698604 483514438 498667524 812412868 584980780 17110362 388775890 457043428 344335400 478403372 870957110 33462410 174333266 550669840 476770732 900924930 470118716 835621962 153990906 121118224 50360478 973688088 502133738 729018150 792965020 732947544 791144194 216772394 737514878 527842002 623718864 880977254 819978054 749780740 355128534 154519128 846218864 87722956 413212626 120201616 141779136 355881364 948545194 173518710 421908946 233060662 455438730 38717370 279651074 964147466 685500562 207055254 251310178 821719748 133842250 861786360 905838684 360963686 950882374 90377380 557238434 169331072 206360576 440388544 424253884 189904822 819433698 718909178 371058154 802795914 956266574 614989946 135688672 827926060 54617622 876265394 670750704 284901186 44651018 454324594 897933440 251507598 90534878 660597078 394748934 127881444 86504888 199416694 958202088 795338504 365363686 397830346 149668006 344347510 53180434 145820354 368824116 479283294 141852908 484961000 835576456 124008888 879981356 38551814 987902672 583782814 875749482 813708800 400023054 630073634 949886268 53647988 243921772 865377210 974333704 883852974 299700676 945725276 930986508 698721722 640988022 171946196 948479758 460851708 990305750 524028104 616890650 110544260 815931470 106074166 347159280 432643454 304268374 495957914 304014870 413188606 51829690 206424238 494785306 773508484 591989148 82702978 829363782 364326350 422251408 927101306 727361178 949194984 845725638 146780338 559106294 335243324 195303244 998960484 595389620 940970686 777959702 796991364 328603878 231021480 79434086 297401520 532073418 63176960 330649886 222002000 525322710 48579852 622065102 852713288 273112994 492591056 628296610 86283602 388491212 737411604 421902032 777001016 71624670 831279594 748248194 661419054 198537124 734318580 29451120 314037096 918802150 139104808 935454814 399040520 928050452 962063954 166467732 434976266 269778790 551173778 402537558 574337182 563039352 996459230 629379044 356914780 934423420 313124090 863882010 457129278 518535224 946140022 165819136 643056986 411519226 672281066 798600302 903916052 471927882 464565124 612467318 352350888 404419096 468320600 603364074 449081580 175734420 743403658 832640594 652231492 146208726 120286496 772870526 716003360 411418812 202296388 694994188 432902226 980039416 239773510 189999452 489790890 141215228 214291338 856393152 81625914 836080238 801280852 360606966 576767936 918647418 967034052 204630872 622782260 565929474 661405756 498093312 268288006 152481670 805522784 691878296 155841916 193136954 811764104 52095856 609337340 819370650 159500008 505421676 678796214 226515096 12295520 698080880 893751572 840529428 157134518 658789884 532051598 90431596 672525548 685386332 558509178 713826262 282606438 137219484 374333272 181448650 452074218 179582812 686295542 837595046 359474268 334780110 840423122 391701524 961067602 527958014 420123818 791160692 17325282 208913448 312226290 444608400 540096300 516735192 536741312 240403616 478623584 182524504 728806330 264752134 406860072 938312296 460271836 196653190 113053178 51959132 707171064 738266394 429352494 451364470 623326128 542403404 615344264 531055264 296180888 835712748 856541658 768624772 331947128 289138882 980451130 209010128 977536214 583594224 341114990 684052918 953802814 498328374 111870472 761279198 633404256 269890508 359506664 478957578 99077420 402995102 350998418 904130976 6280920 765481200 484129928 829884436 402935338 122125662 772545614 45020300 895327224 147315250 617449020 89582824 825258612 155787404 452328616 541335528 715700690 714605856 842382462 111782892 720127134 220250814 221293654 938935840 480251716 947137546 455147640 2128654 940324250 716683260 364622962 939061716 480138958 26800376 475029230 977323338 18756140 367739464 838753260 657895398 299708470 223677888 387791180 148117108 243968320 46373972 493731700 92679838 791188462 25022662 3232190 560655534 293376786 342525400 244217850 834577612 883971168 213261778 797384778 102790616 286097550 459012714 521075078 50510272 578895270 4468420 273537920 136061888 185797116 283642146 832829992 817392440 735737128 582671012 269128396 19798888 438709466 318236874 417851434 539153582 747646952 540261918 572084664 909512362 55358082 564077578 487415930 146377526 466539572 75596560 523771890 603523944 351365754 186842724 707922694 643085798 548516534 17310468 614206728 223514470 947266812 40878830 570998800 834837958 846288472 552384856 485825208 661058102 865901230 774922474 781901750 34309740 355077130 177140038 946407056 779537408 158802908 316216486 113922996 856680636 10480610 809838660 281273280 332081656 410610208 764824274 172528298 771178746 178038482 443795374 582609508 760334118 500134442 29065870 891520422 697066518 772928678 252609694 743405764 501433354 941843518 167156674 207951178 303321154 452885846 777440572 232064552 419802510 69062298 773992664 708909184 180523032 886475996 427465126 291834642 786832704 784065652 757601782 523551326 543351218 487125484 989279274 22713178 649281996 244782690 842382026 673426568 202476198 889009682 96130414 979275302 298645752 60783690 724350112 740819676 493407978 403905290 220248978 274502618 265701880 746196928 553550272 421933268 3566866 739612760 967020240 540765794 179372332 649041178 701567688 331480314 127267096 956051108 744669366 994168510 318158622 783885028 182291812 993306620 807778986 401847140 443231306 319656652 416978772 299519248 59082412 350852298 533068304 22629310 269098764 941741924 484416788 103580688 22155744 195412748 429200532 780899666 207198486 513242244 271188116 495199628 799923018 702506012 546583916 50952386 900683846 286886608 400384138 605767476 339369966 972818216 191685548 283248384 534807832 420517058 252628870 196621818 64898428 210819958 550688406 406535182 421347028 986431928 318623882 376412994 811222128 722549598 185804602 673041554 401543926 981269088 25862778 604715262 696504704 975248790 817789966 100624512 782669952 615370440 178110506 835525842 139799142 977154338 647815888 160860080 805280802 38285060 236020852 378137738 903882520 218350940 264442472 278843992 44490314 61698614 807370432 652401106 953021160 923560412 588376028 394326488 898941874 143695384 29122222 82601800 348350676 606407936 628294418 920648290 113118104 887625226 28146948 346016768 470968738 392569092 65002114 332370148 758244632 171250256 930183144 224833648 422310658 932751064 333012030 815383736 322319316 797924336 379636676 615480834 360944508 859827796 28884110 922779080 507839314 135019598 967721730 211202526 766764096 69110064 258538170 3471032 449992730 680283846 409138446 335658370 942990782 50582310 594169624 507655314 812436558 44804224 835630054 248043066 173081716 398200118 225535856 533509978 253045924 53250390 338462268 225698934 615123986 255998826 817582946 119705488 996424814 83823972 441995524 156220856 944664074 615568780 218403606 44244774 543347708 866984898 30842794 165450766 109345950 858399184 918393506 292021956 758672934 31290684 45908568 572584104 52919180 536505698 515449826 776794390 29369068 792923750 241876330 662460876 587705004 776239560 526261262 192297112 158178004 950649312 179689748 18935540 312668120 79237834 993914882 575829606 139948244 674786172 117957476 414732944 58414644 547996292 362608180 590950942 513227174 793363836 326451134 330169938 651777812 770772582 189077384 623603256 131286990 899065136 226812544 931750564 623062224 324783918 667249520 232907112 893337512 575688808 394088358 318003708 157504302 874219560 896279964 128340844 26600104 764288462 842355978 279562746 449795144 506068272 977241970 569200768 38107028 506113464 46770872 519628834 157192516 218629524 733118962 891735834 813369622 39275226 923094222 61910000 448054812 598252650 363645106 166476142 35607710 768610796 478480242 368651444 637359210 470442686 815143532 625309594 150151652 259567848 977322228 413747494 318466976 426334654 641374140 103514644 962525556 737464014 960643406 974779292 499970022 517519622 138873576 323067314 129680028 179825712 474490546 162604778 885297126 145265502 269256154 423225828 301719688 108492530 129630272 948804714 950436096 875798834 815681042 911614954 663187792 23638666 950390602 976132104 920499302 8163528 946842390 44582490 895679926 446656142 140666774 509631884 251985142 369019008 405762306 555424122 52661746 136791420 231152030 848435234 335784692 276133950 241191428 851227498 624982570 665257930 6805458 496046014 841364292 949015008 529748500 444470 2351610 705949648 455900000 197659202 291548208 483794758 924097582 928519360 473757698 715445694 304603508 406214184 129246190 855188644 784976576 877503642 892655716 725044270 273323428 72164414 970121124 793404022 253251534 66892136 365709794 575967800 502644120 738888270 561312974 734683950 167500566 4739090 938496968 131919258 679056494 943835190 943364974 130541826 639235498 30383076 644140458 112876296 398848706 759299670 135357332 877780460 467329512 90865100 574905048 344242416 561806848 348802164 167369764 662706294 66154096 307981646 675439522 388955250 463249526 566756128 495296282 743373550 901987718 520248530 433460566 918030674 848929934 764518452 608715198 113979130 820978398 849915110 473567372 62281256 622497182 34217470 60125364 158625062 335258818 773787816 539122110 64662768 724633898 365189544 484730990 354985122 733224278 569372568 38524214 824443784 360477878 14445676 166061422 821806208 413829404 267222576 554119644 353012544 704037244 285162776 894112728 866142910 16972292 811872410 899283770 774238938 350308172 558687388 206404046 852154448 563400200 559880110 588864034 901413942 786722884 70081996 918889340 688571272 893317650 620466622 857900632 151445806 799399666 511501994 677065900 167331094 179031994 774231348 691267168 741057404 330320810 710445280 103640894 549322286 611176040 120153296 931800172 19181426 124009434 664011656 110250480 552342364 637737390 263748716 911995508 435417802 404151270 211655000 138650082 230384702 232736362 301165812 413297422 444214012 918419134 294308182 117784464 88803036 160768088 618437802 447188364 440535904 223218990 180652826 442034624 605482808 12921694 217192566 768144004 656837102 878120804 825818098 35208578 76449648 884096832 668546214 256455698 666816474 20858212 499666004 437188018 708283942 835031564 837369972 609310450 103568150 15537358 892211670 182096876 413556280 489695980 396493728 909321492 536284562 671804786 465919672 9724318 768311724 411344354 749481850 411236620 233428752 220428020 399645142 721040586 469599876 735057752 710613994 266685118 501952962 173485750 33659594 607310350 776465962 816236208 55955808 231697398 67478108 467837578 677802090 170082094 754544030 969317140 495773324 891020202 266633576 83815596 710927486 483874206 79586502 854558090 750900236 381726208 879501162 456185238 294740028 693682702 36284788 269187370 885539432 253785848 782188744 615318282 611651624 119442996 460578648 655009620 540063068 781221020 190056390 879792068 945336908 457205940 231182344 964740030 71821824 56014222 474144980 144054344 968931632 264720270 291627634 113970228 369391874 764994090 128668816 427854348 610770662 558042878 913122730 237014278 967947858 408958742 545146860 962714360 434982818 376289704 751897998 680764142 631441290 146561746 107288746 774915986 750188968 2959846 563173062 495607508 71537038 321477024 512690636 966102658 159093460 533910930 684140106 219390942 751625656 866108058 207944996 955925524 28736010 724574456 328195552 5870380 871399472 494761526 84198610 80495396 50711832 99262782 811503906 717679850 362092424 508145734 215191778 239323600 470000232 749479806 554598920 285072024 910437010 515541566 830097358 375805606 105257214 661710260 846062478 531791924 890568518 506682680 248990988 915405304 873213260 184218130 730978596 15587504 322313006 484081340 782077384 965126232 538612998 170712102 149933320 862000902 936667754 952083944 579317900 966567972 534244888 983662910 231520830 984046034 175689550 758032224 859754980 308650946 398597096 644734936 691935408 800459752 130748832 467200350 400940676 198680912 354068112 906490172 453096408 510707056 342560314 874090506 793063040 768000724 688808178 408669414 879318256 310378118 773994956 189672330 186883464 662354454 169710980 242046934 358836040 856564064 97029470 984563534 890337218 165332640 186540168 662357566 68340180 934989644 638527380 343137102 809088860 460845060 972970454 480423500 66084204 989624020 392428960 511640904 495105482 705103512 556565558 55891548 277164664 56169264 599067464 998014280 187437008 148353882 689329000 280425366 483774136 497188522 423104726 309708256 91410652 281792800 2650328 159163858 945677782 27581792 503847992 300569850 168450360 654930996 309170960 352444514 456667620 752468728 717705876 464391276 321209152 155052236 335562618 909884490 433085888 621002444 578672814 689666822 353431736 337192830 474402306 858415250 314566376 511913102 548125140 235132014 389708212 942610634 278902802 651209964 235145774 851064608 407941612 772674760 66645420 880866 941194718 768079066 945681446 907422406 176675840 738411144 437294130 485085358 140516402 20390968 797111592 690008904 703135664 739684892 711301332 112623268 412635830 48568872 156443170 200711584 451953934 776012576 694265214 280767640 441205272 293301698 204160912 413662170 657186076 515515470 736985882 273020696 627213296 695959178 990234970 756293614 788826152 40007638 988104664 897156406 705035926 854271544 813586770 444061548 555655088 976525150 664045802 179429200 575413652 551902670 669699712 310519986 392261352 482752664 996336410 67392986 450247520 751048748 659627072 167847744 725726608 337304528 421018438 582606932 926557408 944939562 855614324 2454796 105911448 381351014 744401164 249463140 734529226 703822518 170809690 482083484 112759546 680807088 936177414 94890374 791922602 785459332 143388126 788354100 570645682 536730110 971834340 578765626 175180980 610026482 356805274 148493242 708047536 661036194 141268624 334138142 855951240 654193192 786486754 360062292 73944540 403660954 969472452 369486736 189531702 586019868 700568044 414735790 684866828 986755164 959265792 278900314 707920068 456608038 415688426 257643234 166961436 355392674 692932794 791666440 851378354 164740144 612304812 84943554 791607998 297522224 824941336 518934038 894609316 842145010 854213524 869783352 64764590 772293758 85985594 599456500 79347668 352750132 897559514 652725110 389763672 678101046 387160628 317306576 182353072 32096772 152059322 740678626 737709268 755899034 607807478 548467340 675662776 858455756 103360844 431959466 187369886 400526170 853021286 114275656 15679186 109199792 849895760 181040776 424157826 359645830 88658420 898850726 969022278 379516048 625682714 252439410 216155344 302450006 716191592 160544568 391994378 689654902 811477472 75973680 132146368 185005244 293919866 428185940 478793670 297901844 680352582 692330342 521437482 487559230 460037960 546113066 134166748 384108956 881249400 490437604 509978306 331142606 831713082 883016812 62736698 574700294 999560894 412991908 681473122 563670376 734594170 986243302 544025666 201569542 483853798 929882056 743570216 310918930 216208266 124206964 94958392 276482332 350408756 568128776 195308648 890847862 469587918 520022734 144931562 786909804 991680522 767122192 130968172 64598850 88362758 239542256 782858778 732962408 329675640 597921310 750411712 903204916 594455354 196238212 241538928 473858034 832426964 744919008 646978596 195722248 462807784 431460740 694177496 949189632 98572370 932815360 1158012 271285042 391824832 323703862 81442468 162660044 239888380 81620458 566730576 111707914 998476564 992612296 535280192 74879672 804363490 964344900 304220926 859697200 486876986 555241356 985581298 445314238 147999904 966105714 552266328 327960582 301620372 304035076 682757464 320668562 119166220 195125628 859390468 86961762 485373200 138569876 72192886 851785738 140852266 92066228 279010438 961378574 86385894 757075572 117828392 324279542 389081368 912288042 195337960 595517358 207660800 516923564 483776902 648432814 962263978 234956702 73208298 663742480 755823412 653837936 46436502 597633936 349881926 645799230 659661900 179780992 824149274 425334792 440482910 136537910 228162646 765534998 929302668 93231632 377386042 329777126 978759160 820251282 723129430 774702560 183624064 311174082 566834642 967989184 489774366 856507544 823877072 944893514 419790918 933298868 373072064 680085886 893463518 657276650 928882954 828603446 568709438 557275376 660039694 292484276 410980598 186751040 414011944 807394720 313776494 184349152 821149280 568415708 274076710 532826954 856611156 465669396 960327690 433853736 235173832 385129536 555281064 881304392 499357660 880154558 406329868 237160558 487721644 591158626 767074824 248387208 230966376 77672108 55700046 946458110 59415232 531354076 305699318 589389690 108113282 402297386 626549764 826878370 917165026 254753326 1526564 405502426 728444256 203180058 424401756 293281584 39655036 340254912 735509730 820834974 613068018 578505060 862965220 646075084 533512336 205963972 377088894 545529720 169226368 311386518 465113998 979153432 542457832 681742220 807730572 42359046 312638058 288250042 765092256 4563554 651236912 109567432 373295808 63871582 887850808 32255664 221644754 189365208 191467878 918313310 784041142 190828338 789134782 739679988 757851522 723011496 606556500 219858716 530892826 474665114 682961754 528617944 612370226 127337722 522241268 496710690 959788244 508843162 300400184 863897426 944591848 922328268 261205750 971824562 483061012 563754060 566761454 236536156 571366186 87713572 125535118 154631612 593217544 913149146 567496618 386473010 817097300 259172078 823891660 380478286 680709240 256584594 148639990 685698562 681591200 327110538 626000124 78766340 792138514 82338162 358701804 644083226 433081036 489359858 127578298 227572648 106317768 838964184 445079868 712199242 360605280 615201692 592429382 279417696 807717294 504733000 52669366 689797404 512954216 764744078 662824266 472821274 615739982 649442818 326416272 672714124 329582876 254116326 836123436 710369686 790183024 930452142 496092678 202733412 810523350 1585574 863547698 189225636 963915818 543539992 271341166 989142058 51792472 673909700 57158848 172665508 475486618 506739102 888767230 982668888 999720662 874332100 530021012 569835750 31184824 566364084 183527626 94279660 550836514 995477702 100593368 483855194 463415270 650999836 671037956 45035494 289415818 795979682 905441274 605451866 864563156 379200416 873642498 10506840 480975058 878005940 464108596 591093288 51721796 758669556 105701044 65900640 720440698 681686360 554692324 445133074 623897948 680078638 156192176 445359206 774956010 713530748 2845990 112282212 652792382 674414112 412909630 881485158 302944696 889265270 611387540 77409704 702724016 825595932 341660902 719951432 653500330 673946690 129565662 350960 84657954 512141902 432186076 294164880 403875112 945608024 13255440 316729610 869851024 829990526 865796698 308659508 97950762 335322182 200987300 666561780 468076532 740152368 234982184 515535438 880373552 511325652 908643558 891423334 107967540 708702450 246028256 441850120 533594634 14108044 947394882 270997278 965509322 750876686 266439974 923368292 803107320 979755044 89170862 922357856 91214530 95852820 962083934 418471368 833502724 406954402 334402798 294300238 404596970 86475768 779561770 983642424 664922236 915128822 715049414 864941648 385986220 359285166 458246014 922403856 351079000 742622754 930472088 65784798 418918870 694877558 289955484 679441682 701161026 752850988 802356092 151229782 431253932 349847660 165731566 728834296 507510508 287833292 189002980 781515460 122473998 819649092 912923814 989074716 833221254 636168350 46477166 393940284 290350268 134840216 515072342 251813436 292075068 760073608 793662270 480851410 886607524 587363804 611514980 818055712 897366142 897292620 354498030 921914828 364239472 95606660 633583298 723043940 225028550 379637672 428422356 852768512 302515738 224031736 427613728 59523016 751087616 639790532 251863486 134481208 711578078 983665274 278225480 326195664 965932078 16828742 837427322 119135172 829308010 668573292 885129894 44502432 989332908 818005286 525411650 540132768 841564992 908312550 326109254 874318250 873255572 22480100 22224198 217117982 416795528 63386716 955150590 566385520 51096638 718824116 649525752 532842850 225247044 241355652 871141600 377255006 308565096 239094458 956339530 926904990 250696864 85100724 206295170 772938064 291426974 143878968 178563790 451548082 617329848 14948282 122199088 244474616 484015118 296247050 499143308 745845920 64598874 149742996 876772240 283796346 908961484 145658084 194011864 219420006 429972152 100189660 330031592 811502088 413579088 349879846 813952962 622455234 652965804 828843538 197165624 76933658 298685460 595686954 306339968 581998922 530552612 366013642 682455694 795979848 226205670 958440094 197786266 612513486 315371570 396944446 602430006 210477818 2303268 407274064 735114016 288999954 256674062 756716570 638928144 169648580 251279274 175391736 318845870 730069512 738258266 732108102 549624588 444551186 434069398 678458614 834239114 662662238 525800152 542749726 798643166 676757200 516333210 469159640 747705662 644003480 538406010 551817488 104231480 545386888 419229506 212603908 266006562 493041338 903044918 323970450 629086518 575418138 350595104 65526386 470422740 670728650 114386760 52785842 68779888 682441954 596053754 93464372 328153756 8923272 123917136 927144774 662587226 372024954 543432444 80240168 263220774 598764816 506362636 966883732 572737558 285923884 123364854 387773474 778746988 592029038 162474276 345349160 700161492 214891106 244120084 799791498 858802464 134061118 344683364 220189358 858658728 11003300 988969890 244166632 614236866 227030914 333354626 214563172 592925500 61766146 116640114 695834686 684209008 456203648 347945870 48639806 814310354 28168352 704312172 350405146 545176874 813390200 185198298 915272564 559396764 72391200 835656 429347498 397131998 368578052 511382802 733514764 361245034 65256182 291199320 512109902 282467086 727914008 627160226 211220822 540756744 81665438 82909702 932974820 726354440 151445464 596639970 802438502 249584784 137458526 950473702 961087304 299398222 488830890 351291998 177591618 425529972 787132526 640481912 781510744 149959900 226648322 280942854 350506254 461178266 763680438 404520092 515111646 304150870 979413042 51739786 769671558 748500282 61123184 128132506 973508680 673685030 717620050 862548640 146767698 894198460 967339152 643286478 578964868 588659200 762106120 643504860 272929950 476134510 974582230 672834086 282136958 855011668 165563854 912349854 82697638 476244556 574729516 433784756 339378066 671582576 937006406 366152856 878130136 167683348 965480360 559049430 310790816 682006972 90608412 620265586 427462388 234273650 620346294 472218056 562116894 962383110 106044782 765919158 32432110 586673546 89660114 156793486 863637206 820038062 748448386 340002996 68112804 937778068 249570836 931516134 56466290 901474294 443148250 734256422 168329348 385531614 804309390 626415834 661177558 950838200 731961842 18902972 966638422 110951902 986815194 153299396 305583248 22873152 896318732 861054096 484370642 615536488 125403604 750696484 153652396 979155488 22625120 162361964 895576596 381625062 299138860 217665864 363100842 439961088 127033652 545942292 456588790 943883390 552743372 593989068 35014442 901759132 312753154 786085804 522118960 62820968 483913292 480215462 141067062 951744070 921915116 273244352 262328608 533500574 723927442 646321852 104326868 974022204 798975856 40795360 547400068 838791616 849865118 335040474 76384028 738401552 398329738 787077308 848159216 629977254 197753552 15825020 810436870 501640234 316837920 393260176 250892212 835241070 61685010 322526360 745440362 247340746 603625676 219875910 165082262 693297398 462658562 779411120 25543386 317969164 289079990 591449134 484848594 96030554 205915244 719567858 740849340 739379132 572678376 367001392 466807090 163751242 40968790 31003162 346329900 612215404 678837384 288756968 611366378 420496896 53479206 884618370 69021694 503117810 410417774 192661478 599640584 154413644 713347788 785427704 499178516 601675884 187140544 597673170 777248982 65593476 463982302 717082808 353597278 856307422 383283140 80767064 127341732 942470210 632974642 417279546 336381294 999439408 908859556 758147268 269947832 431028976 866613808 583613324 596975592 585792722 136897236 839414644 57454014 586366568 792209848 648717824 828955600 995287938 816061694 816705746 235419838 241156824 878090724 144292992 817960712 121444842 345254762 842536186 558355298 528497982 6148042 697296066 170093326 637192972 798956890 150753470 47070374 593425416 273537776 316966222 350252908 521515868 541228962 267036088 625928744 604245254 404411032 730932316 720045334 253090 623898864 408920312 902881792 242984480 700127154 730807838 815746878 156853366 721037808 746108700 366597536 760215748 218548828 200880016 339527490 648749356 784596152 481233344 997090034 209515170 508102454 395160212 651156960 901855102 131538332 892034682 705572162 380722452 158406284 531582000 900141368 21423562 693549388 810306836 976655602 243184720 921946694 857609048 234421536 881678704 20851026 83593116 108421686 989940198 196346872 574766122 135667502 331737098 339339946 480680588 939790286 308185202 552264892 485006736 926850756 618671786 514078154 792059896 960147694 75697116 826098988 549966234 432769838 147467350 31342186 514904412 348528578 192814750 879154978 723015000 670965938 143028440 972572668 925885062 672871194 315153678 462041490 182882752 300830112 645766850 803845464 35903572 606073712 137142876 464920070 289808612 352517452 59566998 710591164 416140118 746744496 408719812 104938128 96368434 616523402 876358510 966843998 122693162 885861854 25588066 243068430 995383324 926951856 379477848 234813130 252732230 114282886 364676536 842887646 484166984 319421368 592673898 232291788 365609470 320761284 259947510 214764470 652871540 610509264 364801334 144373848 957966842 381312464 911130760 450448786 467270836 316518586 643840480 73064056 792957506 994608638 981758184 846045914 88959754 367970282 870457812 509226 99301752 480296088 699025984 78803616 463519914 811576098 960822370 681500250 143718938 501469866 39126198 622908688 336540340 474534428 523867980 909676666 215333102 700638876 274841670 176315946 142769638 10152040 833898172 717554374 415167746 99648530 559294092 633862608 619147582 554217386 408407226 462236760 390252098 188522116 809220730 611793248 310386654 532066580 705077020 779203294 438801444 663614996 419335212 388986182 246022214 307940818 176478824 610661742 31308504 863032414 396029396 948928350 345373966 304979706 728027204 794098630 900037970 556803668 383924232 456184602 761446532 731830198 300400832 190067302 421609210 89208220 359022408 59852716 702605476 285985796 296511968 440794130 767405146 419309614 917320424 296725126 175659908 921873406 307718688 997094130 46471128 247702490 982689124 907120154 844919504 324553666 393300284 26052426 975199284 413425450 283301608 510004220 237683322 662999620 926229290 101047426 830933256 670684432 905581786 629674396 890594552 136100470 19292452 422125652 783054276 85677422 437841776 968180606 410057296 683150352 888820088 388775462 863434152 608629086 311252276 312738234 497709614 656024558 289461894 48540044 634375154 875488256 71279860 257292210 65358056 343043612 648019692 348088000 111957840 437991608 226864194 107825540 803696576 353391352 804621680 873954756 27304088 768935600 103422310 277750854 467987844 892370260 511249980 390137320 330038846 673761132 303178608 874098810 672032696 332465636 869334984 525956852 928595944 651558158 181343850 293968366 795822772 797757142 232220742 291808116 911732118 802364168 213518362 102229494 31346900 1708578 157143624 682108994 794148800 854490378 971983440 755317564 515004410 768798628 691591814 14493916 892396962 263445358 851850890 427223900 385884486 605064618 208251408 755625888 457054672 682845896 201031732 467080778 193643046 651285276 329500036 64542976 589034364 617975578 742462114 551200234 457701334 432378264 894788560 557079868 744981664 398024062 592039536 557433672 342002522 604831544 279894798 62742784 921858092 760395612 276469320 20455160 929918512 100858326 492480228 930312442 923666702 827256174 562245098 316147186 965837982 662607830 300242024 856057956 171433482 466016532 447855532 188567154 593896152 581198186 917058442 108552342 777461578 755873398 36297280 657831390 942229484 718119062 321727476 813706310 265485160 269802108 949127174 14402314 792536118 575266672 885406942 377683550 840557800 378902308 262092888 78355848 768217194 929215370 523222646 304239886 435746328 235214784 533619150 74461370 339853458 597045290 743251450 994555618 10952104 559498614 448203672 647387326 457084584 434806254 356642562 628569948 685000128 926995382 823461878 388106602 111614260 523667046 101729714 816269962 317184694 50242536 789950314 9595142 353332752 452169022 149028538 17559910 830242218 963084868 195409218 270978870 855835638 531372876 879328516 52872208 451673106 14698488 121413708 751313930 424058862 673271574 365998460 673986812 345608108 195744408 114422304 400348664 169872294 302313306 8001450 524940852 287960842 770337024 945081976 255653512 6539398 78911182 901887066 895779956 881491668 806855488 797332984 107913610 26163730 21603730 807883658 904028438 973681126 244464388 680047310 173190916 871735432 909804034 855348 597084632 801103310 425774550 41646088 503310474 853152404 332209460 89619518 346333862 125966458 943048670 256856198 820063250 224907576 74877940 366140606 338545474 625509438 303431190 491357066 329553524 311114014 862409504 274014444 988602234 966457134 928275952 831765590 515669476 971242034 848109490 431507484 368882096 570555034 103103418 309699868 418407270 380441212 805504626 520406728 878665544 760689836 414428784 602841064 698843632 861436050 906098424 807734396 713198040 624195720 614290256 222800088 544741512 510817362 629546388 873873496 843238250 447209908 521965480 837197486 387462966 201236146 783728726 388957468 581993490 906009488 45455704 202548476 674741130 911350300 139220724 570627542 228723468 173519594 728553174 534917492 172642158 867710324 394189216 454138204 530605030 52210690 35884354 547174146 520777594 766355944 205266186 33492180 489047524 768021262 890460982 729960972 346094874 686071330 949246282 292606978 364613772 683045900 670162904 124862648 612854152 670733294 881174490 321289262 528558058 954126538 945707760 30792228 322967920 955387162 106452172 357514570 818286988 198237720 340731672 208048180 898533088 238478580 961417482 915390152 317215060 274309708 700967184 589240538 750555604 827727322 887355118 351288482 377458302 731931766 106488142 71696570 789181104 43039930 501691814 299989708 684016050 225679144 19120334 530941216 445228548 907035818 673174190 608843588 583906978 659064462 101394738 739163182 475612246 691495498 278304122 814017068 536373000 822875936 461315314 544498212 699591804 433438036 607549634 614105384 901064524 563779660 945670022 933046826 563184596 1885958 729252984 267881122 538246506 159545038 674213638 646348274 262104710 193848224 15419698 257970726 425146750 630307738 590839046 717414172 868774778 413514342 3850824 93031240 959919012 703909662 108483250 800290990 263759414 367279488 783779784 55993804 221045292 745476822 162637726 445674080 455939436 430144728 388075312 35073846 164300574 955292076 954465848 162101440 882747306 102152340 260911586 863624268 462234990 837535366 700804152 924230898 261948484 622830408 540644476 727847470 909323136 516408852 44580602 149920390 261407662 245980630 101753846 764657580 750247560 943900026 366076074 835648644 219411950 578092250 60733758 309251654 497676432 875339664 326401150 600703386 9599382 408001914 553111746 294661416 235483190 870765394 234663798 717361538 472164556 87397738 261325428 494863712 444274636 397190890 560969578 912388004 626826992 86052600 590593442 260784914 804413274 149551104 801136700 945582744 546136200 585119796 765532174 337758836 328738070 871773988 157559374 421006930 956566828 854781692 986759848 429285834 117864072 315114992 316858460 557960518 206508758 847183440 823460238 468140594 349662816 60711092 446620790 634560850 473308806 236348352 691393950 921732136 665364540 358668674 384776878 585328480 710864026 865800202 636687816 6069536 450438196 679972874 527545036 703931152 974642036 810233302 386284752 112317208 387958018 898877848 567537696 878205528 209052792 31071914 984257832 855442250 242734222 598350646 587644670 738957214 380297314 211613738 481673006 413718730 404626756 865338450 539341972 951057688 913950216 304625114 351848566 230020820 391965686 529094986 243239924 450270054 522022574 7019694 475998124 799039236 223819542 170333340 362792582 742386264 320372372 8942380 575361662 681337686 426072538 329719338 858535108 694950920 88064278 399309614 993784916 222717634 565123548 487087346 142720320 186498244 183867836 71794508 257199866 508121748 97429574 676439176 64376178 75798926 609392672 294436260 450061478 789117612 205646940 702703482 846992712 499211244 207860588 998034778 225558522 963322196 39114064 241934304 991525936 721342790 433768994 708835054 652001450 181335488 568181910 21393056 227924746 909220420 12440992 467446020 955193320 833736256 229199324 380892944 865855022 309758150 601003000 514486236 927953532 425525584 99110450 354344102 318102258 493536710 572352124 2395024 340029368 901179382 790231920 597892098 173893000 826241890 348991900 295913340 955123358 97992154 416978924 769949122 132774498 421365300 505120214 919094454 289370838 510351474 507092178 970346808 729318942 977035312 182649810 773541606 930044004 93223166 158494820 427833496 53595134 337183218 946327472 283146002 904054196 981023812 165131108 178114358 116837696 169556396 887801904 194251290 496943150 237932658 211337366 924605794 357594194 536112086 998651354 310683138 638194124 456262102 608200646 25681110 342219186 555058380 26659854 899706550 45693246 334992686 903474864 809267900 585886628 293689164 130462570 986740604 600451702 136087880 858751724 886655158 558687760 771711552 928296928 456543252 718841404 691541436 934262466 251846450 977854992 577868174 49045614 997587314 581810780 191061384 628485554 250747276 545905578 28056584 716095178 376491714 400179454 161894174 31850494 96681044 443064594 492247802 661253676 698322754 617742812 751891312 450608992 611456436 250106846 786227164 702743970 148233576 899580444 383637450 997406608 638939830 844048092 969893742 274985958 409636028 406422134 170994600 474248940 906208638 289187668 309952664 532727692 333232698 996114936 330822292 946468230 474286408 395745918 702868326 791049388 278424790 377182796 768054516 393868020 53898924 988256378 800734864 635214524 512366348 658046634 540661584 152689708 210233672 807904068 436112820 813326060 140872160 499172764 567005660 115282734 747996480 84417192 976218048 718646658 726524384 149412224 957820596 788268014 360262666 484883458 982130080 453602774 131346722 961528516 437801972 519461172 159434320 799438242 168529128 687396770 173886206 831065660 732734840 812026382 94856528 746855818 450549054 874837032 41541802 881093498 977392916 888479764 429897796 579558998 127499612 194248464 348203308 953689976 979966352 869103416 213105098 838899280 450708336 298889012 328929366 991270650 317797204 836647052 278299514 214193340 314043198 7715206 319958002 704268284 536184876 307360318 896197222 362628612 191376720 807204844 919540722 393546568 429499324 55935270 746964168 419880236 950252182 789174996 171181272 167984892 645695134 55880298 528408926 644612020 294408276 638999678 436105122 483124176 200962784 559171632 317406392 184891076 226705432 53499266 645496276 703483794 213501062 263125538 466159292 839411996 777724186 387817824 356339264 913110540 522091478 77888786 808174086 620494226 613128392 234273932 517639102 470619268 112780516 748953360 153575346 32260968 201610184 285527280 257368800 767940966 253421442 642284054 59173472 71074284 735746116 478945710 167193890 51141070 316887490 895867184 227534284 188610116 232371522 524660946 55242966 803662626 920789124 479923944 775091214 447707490 742427200 118566600 86802210 485101742 945211290 156964334 214610060 261159670 318435136 528222620 859761492 51113272 596224208 877372548 67749608 232751224 493021318 558052152 379589812 71442396 784836042 20411764 687390920 553827774 146183218 308166626 459884384 613407750 839940874 468084918 725428414 361840376 721996510 541127670 274428396 766263764 371090576 101921904 628262410 918590146 104902146 53959328 58476120 16616172 38778754 873902644 869656794 289711046 975943130 447203866 268624818 774685778 565337248 937057808 606060370 150014048 849250162 207358376 286811586 362561564 261989224 765407092 312761444 315192114 36774738 59406452 12067642 718953810 503448550 723763142 304888384 570307516 307657736 317308800 136982430 159579588 676047448 824983764 421373334 901237604 66790764 658747470 845011600 820264216 499821044 812954504 73978832 526767952 11619466 819426674 996873804 326147454 568546372 77833414 744165328 48047254 961007010 657070668 323298686 989780588 797668614 11462932 371420042 161055210 963239236 900823170 468727428 181886364 569284052 548864910 678290218 801781370 353727794 325942430 153331806 534899144 172105166 551728470 264054794 768347332 432946166 688570312 834654538 803823684 496216076 733311958 25404002 276756290 844907184 840943932 866995766 416476368 175520948 22773322 178889390 838386202 646868834 727492834 48744590 151427664 564781378 554682218 709108474 828433294 616011948 619071240 53166216 148100216 939442052 499159838 381334046 750421932 108074080 691375158 345725488 84914330 246209622 691778594 798283884 726782874 41716778 484349852 390504138 630178508 976328018 80024248 808285626 344531666 778575728 848658688 740145910 5491524 658643876 910638046 273442126 901811112 695289148 45831888 594482810 329764616 812136338 348250012 145584364 66111762 374061242 423838312 36683386 829922824 871984872 48159666 377399162 713285934 799771508 779037302 27240704 204319856 267419978 494029562 793097228 489130330 556026084 73087664 990059006 255594580 250030410 22672786 620835382 108318830 52882028 536284754 768097858 228203738 916408968 719814136 999731826 747591162 146983384 849706118 486797200 235089958 434730550 397634432 977892904 424020902 981115884 82983202 344262798 393005148 915611908 560360682 864011946 688203282 447067026 866863348 863486880 238922646 637249830 110142438 627047148 216182004 489789910 585127666 948954814 501481854 891870530 295380336 344685452 393748204 869432340 580291802 786495350 762905330 150068570 152215936 938624170 848919744 947017114 8412662 492762678 347792252 200518104 958955168 443627418 866606562 89793522 649204278 730669856 283867982 444320376 440424118 110924080 801481588 149483704 240447542 12876450 26373468 821330330 362925150 947300578 655039964 626423822 772667490 618343820 764692988 951239008 320537478 906154802 99943178 474012782 762757164 198756738 261675302 712712698 714949398 654110404 810584128 793738944 538425058 9097750 397432520 880316462 208106420 900700286 599789920 770376968 546176406 749174646 578610122 650021532 546259990 600738806 43093856 419871184 247176510 811657190 204570276 410064944 795858326 202344770 921948730 466108182 984726760 303987542 732972076 344346270 493174574 948002276 590170270 661491556 499138478 730560052 260126436 812742244 916701050 299486558 145331010 447684104 269977756 444347490 844696618 223200694 552387608 927026858 670188794 688005984 969007408 88168018 863321502 354923018 767465192 247765640 992885116 44140586 288983210 6467054 95728988 823109394 600669782 508379766 251239224 879346740 449735840 943077516 549174274 573038690 253374544 79491308 561257080 640225324 516925220 428689976 323707430 556172794 120344188 850994682 587139706 9574980 303895096 469531728 840807194 342056450 796045648 396240904 107684936 843452522 692417522 381720836 710945742 93256770 840443508 344511450 512462034 797243106 907516346 284504948 411369746 86836704 948616132 927851960 244677166 820306466 169729250 282688780 821247050 726878586 573216654 356966004 711294472 410628400 363599978 704937930 827728600 712186174 224818864 31284070 972198398 761081510 603745530 822858336 163563364 20793434 557761020 431153216 286133538 719393490 740887636 364804936 257998684 826570344 567879424 39437088 354658714 783382834 189129570 236526830 652011334 472894996 133275846 8564744 658157812 654192898 70999344 716150244 180407670 235140440 421943748 460196444 472270014 3579308 181894592 158304300 588545882 631580648 309578020 668109866 418903550 688228000 399971138 142217560 535780834 807729036 599081762 823543048 413582214 214265034 288776702 881228684 563471076 242139876 272372786 56497428 17802186 360637980 645849312 540295568 506421694 751941894 250623218 694541150 483142236 226703150 764239698 482276618 896443506 165520038 827737998 936440568 795985848 715759526 263195866 656625982 287137994 278511546 695991666 233736918 150422588 284442502 910743014 640243878 164170862 118357804 686991258 670699916 263342278 325924124 329795608 972337006 282865660 91313758 486922906 721543216 790118188 447140138 461738970 713252240 476776634 538303016 177373388 502942866 255205972 341789272 887561604 348262642 129580176 696420340 465547218 483199684 810840160 430921640 970972978 667014122 632686400 404879874 979807370 877481122 273012018 179212162 221133418 71316558 551871304 619759552 665083786 729486012 68604022 522279062 135423990 549528628 625220046 149928830 643294762 118038516 888643296 310194678 311458390 247592474 388344466 360452062 165083250 236380332 366169162 472915200 277622672 678659772 514308388 732343398 23055720 907793566 705584014 345831612 457845826 189047662 738396530 622920284 914052842 513112268 348837932 454436288 559718100 891594784 266644754 245486878 969388056 953312542 17746322 721528216 975860348 298477760 737794552 421038896 754702918 629291884 909276612 49089818 984662446 491443922 89919252 447112576 580531480 171328078 200243060 891311904 186364574 292030022 402624042 824985068 655689548 510504714 184448328 528453036 85056624 598165660 360550394 655783918 811092636 102911858 806750924 626215296 779385124 93637686 66912426 170064496 869059348 529056314 71995204 396268758 58762628 450946076 547885356 148721412 923488486 21986300 216856572 694889032 955146832 663166794 191751660 572615196 343007330 269554578 82325816 585252160 360470624 285855496 207489084 511312212 514135400 542836098 715751882 490439254 196920834 448251138 118333210 289648094 722621068 933596862 466850484 179180946 379710352 572930776 710307508 273633528 832037612 963952326 652466108 286984172 575645500 511339074 241299108 766784856 601208502 809723646 912118050 512621244 794586124 672782132 709485604 460832948 645910976 467936962 497705320 951644590 931172692 552034266 858003548 302371798 535293366 224630340 869838908 462408918 891331186 944946132 680775426 976953608 776549740 55646010 431703786 597175014 419690724 515005676 131356984 647380336 397742922 531341212 351571680 625975896 850578602 380605070 14447908 420201422 574688770 196423446 169356074 21462720 640882448 421947590 993904684 440668428 970738784 584923330 484650504 180128664 197739266 64625548 272531226 218259924 572734148 738492266 399348264 831260800 670867740 269472290 796832070 525513688 148485896 956762414 72383614 462001728 142975096 720958220 846572086 872530474 742221818 910373940 113352724 523157146 276410898 802325590 773340118 79484934 787735990 441894240 83766532 665229112 538848348 901205642 598760386 536109258 1682026 142001248 597454982 240985474 678777968 170571852 577797628 930225058 896443408 41084022 810334602 383061202 980368766 82963928 69756828 649778736 887674068 590910598 866941024 844897410 444344154 225082312 560632218 597023644 820472604 257983904 136587286 505271618 408373768 587013816 543019566 219053418 905679356 970001150 662078808 880790946 808998028 304762154 546356694 978693230 409283462 165250718 667848306 223729448 532789748 467717750 445637648 162345320 107596942 331082130 64451512 842055264 826166218 293425138 384555864 445302568 561429316 20125930 316820794 97549160 353932916 856288494 640791222 32181900 768664014 289956490 468789296 725954220 751472544 313148388 489101532 336516114 570673580 747535812 490587692 2991600 472708908 101539996 87116920 597860024 255267166 95627634 383526414 507388580 202784636 770635554 303402764 2250064 442437612 231738332 380756614 930581132 307971452 602665752 591591792 960509122 198258276 627645278 277445364 567529500 811207660 698198752 646407038 965223598 460248270 512711998 942182634 259002416 350853070 628285946 275955592 437853760 96858600 415349620 867003520 85969824 173967970 420954474 794297680 980251766 945880 110930216 768755820 696344100 856902710 440989232 175967310 441777746 745068660 712702960 291942616 661446378 993020280 863177546 499551028 64994184 810743414 491845646 3815976 316361196 965332232 667811786 962171494 882286270 753044394 342216980 542751688 429405870 831779608 593612350 287391452 558497662 820996554 114964504 634818864 400543938 793583510 705531260 964450730 807570970 571140282 3022838 868733420 962948620 710943554 215145826 349796280 850742960 177919566 879037476 761291426 616412756 202305786 795652544 469652694 307243036 992773696 755424422 315247518 196534400 471368666 555359920 182062786 769777206 269768980 491650446 604099022 442083508 509443202 81787554 101140572 344893208 852638680 601522626 348450772 475511376 57303992 881607026 840457616 286393890 270518768 638715344 639566438 811205728 758295544 722091736 875244040 145396680 629005528 524939820 309346404 505730716 862984956 289224560 550239986 8034760 690504534 900585550 733995480 539006932 989787950 471281374 440287516 561871826 492078506 405336536 898137326 463528146 106520210 294141754 991917626 650429440 499584134 314412662 378335888 265016190 796524098 87511430 567254378 82838584 367563060 802093716 707073596 466767430 173308236 112022802 582325978 838064584 27655052 725121390 125144576 823437192 418562064 66186688 592832292 628734088 40955174 630080320 492069370 335793078 412011522 972944252 923220828 682592954 906997856 519353396 744521174 363032208 109962358 224843892 835081416 376086888 662989096 200690552 183402582 258656600 11725664 968950010 647893774 852064190 295872406 189438862 143378156 969141428 548860636 911273444 778010496 843035964 481958336 733305830 157498626 518691268 505335832 132208982 200959516 980309618 782691614 324424580 389636128 221321844 347944646 742289356 986984446 74857824 352674110 872871926 495286090 67116144 963347440 531143096 369038572 406666640 867170316 113342448 666517734 882955748 930388570 24982992 102451340 665032340 568221554 344372810 334872502 368256204 147432126 789548506 861048884 867230372 73818710 294921578 667388652 798084588 122336702 522516462 803614334 470980670 146420668 253681248 323041218 951873646 472978950 264532662 525049756 337159592 175152696 415555106 43373616 350206394 828227430 68579866 240559830 191552388 717514142 207561280 985387066 347728966 60319232 866629442 946128688 28495640 267017678 310337784 846326422 943699964 486098734 263699646 612011878 772914858 116143224 614883214 78836074 5682382 731322210 678699778 465843596 736197994 727620984 458176408 590393052 681776264 132236416 846623480 478960688 412919386 417287712 899311050 345802764 190053610 647377226 228605542 876336254 39198642 764821362 26645210 920885918 608174220 708290136 301215040 333531094 578510692 176202028 763660160 719499736 179944730 769486346 461525024 21093908 558138710 841471634 591657800 120936140 44145918 25965204 149436538 783100160 439066036 934540158 751676274 746827678 952446732 183657800 570027404 982249490 901359912 41891034 678520288 635522326 448360462 632320798 170429684 950339064 43265808 492106854 398998448 973720884 895473974 546810068 712575328 293061022 36234008 74599336 607051224 628345808 308081132 661400088 707416436 299717582 403268442 652971354 602328008 244943612 606522128 25133140 528448272 947738658 416367160 977651110 473733636 703459258 785551332 498918076 551387062 625417978 651172902 298837542 444093756 527972142 609346398 830645882 645935820 455838026 238420004 964669208 815549412 679128842 689866132 511912732 132376832 366567626 65563770 811422292 507470450 434236726 421929660 627324 318385762 115077892 134379864 159629444 537710138 26157814 282683952 139978812 912592390 81787048 172437864 791691870 705596342 505656682 864303612 740116270 869464966 684274612 991354720 147733852 391434042 427189156 826312610 797152288 360826556 262651914 494934614 682913366 470091702 907000974 821533140 395327694 55466000 473957256 722310480 904315854 408885826 471331788 75249192 720540230 269276318 744256332 186567450 538999374 916262688 611352200 888367736 161046902 657903190 907355022 471063570 526728752 892350534 840515542 549409936 445586604 209091538 750996318 328458146 690385832 7867800 583424612 511007266 785544704 605111588 424621908 702690712 306460476 358476326 791651812 47077786 28827222 899842896 561477134 311963958 739260252 593727824 226373320 346156714 316203992 238680628 243382540 552512724 819812570 185638196 289879664 761807112 269540322 538435284 501907200 14849944 322780840 989203960 371720666 750633490 708937094 654737778 539052674 402940754 64593164 775949304 293460108 976719554 953170024 239644244 305813234 623900350 462636552 550685876 550650858 43612046 381848554 58473128 683372628 295142028 606456844 183331272 231457468 119455650 23931346 443889770 412105148 271046234 746030272 707399250 54401060 545964460 439714270 42490624 367879560 740103854 137820318 39141120 606274496 372495002 370632712 176622572 224168636 375176390 53103264 104170314 845400388 622434546 259594768 882588172 710565308 39906470 651558766 834285962 734459700 139652392 546451912 44167546 558942304 909129720 81238918 249742862 172634580 1199882 601981916 579589128 315634656 727287094 218158476 862778260 757109894 881833770 66759310 236932452 895030344 394435900 439924292 930003002 680114074 824077580 399314630 57062230 685147346 208679222 855335648 87596898 185505122 955761148 147468326 841715264 872137984 351885354 550824300 962086340 331232958 823137162 311235426 554473976 732647440 87173324 100255392 468774980 959640178 466406852 383265588 193869052 923070452 418509326 535344906 224112202 122537572 727665180 143367076 996360258 328253686 166638284 737649064 29152392 463065192 162296282 434237954 929243814 518303182 475196086 83090274 887924656 23451376 617667714 37559520 649250962 384690950 736710120 197497974 842747398 809415354 35108590 5878234 53963330 574639318 201561292 52912296 230006250 553844670 841252614 558149184 467224866 393765378 319756534 486188526 660723054 495315092 756066154 668045880 150254776 296027768 558093724 976222720 559943800 379386942 349953234 98213544 321434016 838818620 420279574 497209314 704784070 912812052 638846728 274623922 391939756 680812018 555585566 652636100 573408162 95362990 52084832 192849346 644558616 134747132 89166758 763583082 493034678 39398990 617059636 198014350 70915714 963525430 319909894 99350356 267879204 251644494 171299170 976764784 985441840 472304938 420124770 745593340 77152326 382431672 673801198 114002798 957415234 446198140 661173636 228931820 785270662 226315518 312250294 737681872 44181324 582743740 512818380 20638194 840034790 316131680 824797922 594595870 978281314 26222384 6421780 782277942 457561822 408657484 370976394 2095598 668311440 406736492 876233360 517004186 303615040 282306936 288846444 95517486 283827342 579819698 167567138 908675212 24724378 394874178 904903516 122720756 135883902 380508680 483385676 849607596 422706080 368457932 775023926 717091600 461761138 733239016 153032554 34110998 3235232 945235192 805863758 18628574 645618434 471084322 435112636 581124762 735354770 52731302 170098238 310966996 216231130 759652422 275011012 959749414 417764980 221377318 827060030 388766560 65647338 80958374 818963422 468652826 999225632 549047974 645254224 634512166 584657332 143720984 379069534 979149252 360935596 74464796 122052380 703230542 928061898 179569328 911847644 107747062 682399672 536753548 18320816 917119886 882330500 836166368 573940660 949310712 3844954 177274122 998939350 636980078 748746706 216649578 145695332 991441114 966413646 284363578 772333724 651415668 239894890 39646886 69968550 95169216 908699602 29320030 741659712 250907676 206482962 102435298 101181598 67297738 119205498 348127622 614310020 792187968 969837060 561920410 467415692 97258090 221666884 514371586 282562856 215713332 83615558 129694738 323749480 420543462 44678294 373737758 240977252 129895346 779587006 768515788 241556878 318154344 54076144 552288344 827756486 481171144 77584358 613888884 494359600 580046660 254591262 366846146 2358878 27807810 360362 27663718 657121248 770391672 70501466 733240588 836108940 753233230 695952022 293187340 490158114 318451344 872911806 82510178 752385694 792065986 745973692 494141556 742187442 960468058 979940972 77231944 181224936 699142784 894847724 310834896 686696274 7534222 182535632 881352736 114906228 822263220 330702278 144170186 789445314 484790412 45632608 593458950 421680592 539891730 3383094 915379746 925527588 37723572 612439282 447659458 734831348 625141632 97474362 866023762 198017802 714616812 758561006 157947460 767045168 394220070 945706970 896911150 87866886 341366306 355333410 53406412 142424148 615093032 191508480 714142836 129995840 601591550 54009342 358373934 485690032 251751214 683506256 280766398 153757744 760388016 83303180 68079720 14840958 780409204 347327128 151340280 171370016 308463844 500921758 656579606 745154350 162249262 607418388 822773360 658544278 149629406 945222208 514133634 201840922 890400200 395205204 252034870 405017186 908562382 713888026 325295118 843928616 670157334 745106386 937643638 907624978 565783128 225877822 173464108 633839508 408321398 956676136 176778700 474394640 929798184 861199188 435140094 90834352 191558088 155849018 23023844 727896538 665504626 876804440 2209328 614421108 559219636 949115402 538098212 215041962 912366940 377690776 166452150 856052772 923220260 28960460 32640310 695446608 860367210 892885408 307374808 376998982 265622736 740358012 339633224 9372538 934240056 12770534 859885380 379904822 895959190 147084278 269420666 287395462 994548088 962352534 723160124 100377764 600521974 833380302 212467060 358451628 827838456 543626036 823384716 862893832 637204702 92632596 145091744 503704686 965509746 380995288 104278972 670878206 458435110 611081054 365308210 795303130 971722868 929042592 356740708 565134320 893938236 116915842 990896378 610881104 799792156 748393034 276715092 806898476 592781512 4483122 656181788 824322394 308886586 89085350 804125956 547365810 581523934 654399222 950639684 420589920 465720674 93610916 7475760 708758834 492212296 351502732 796955230 904401466 571408968 98597284 650624656 666748134 444224244 97960218 760768084 144857494 695447662 326130400 354095614 811898336 118231202 513251208 477482026 330712084 367785072 289762430 186892904 749077558 568181858 291622280 483235570 575374292 568610236 971502022 103595784 714576256 387939910 55550018 747934030 212622006 428383012 948354210 228281898 81894464 151007186 863212918 943439556 683634742 938557756 465106856 18551924 869115684 594611536 142088712 976212570 67652012 138842046 892838544 832085918 509276446 758780376 965670440 265685394 220566566 551991402 894726282 973945124 868728500 806262620 227472252 205611692 715551952 804239838 56643498 468307274 459480110 68345042 217429544 611334548 550888424 623173078 647853694 101888102 686127566 815520440 132571172 597353388 636852666 420385364 914551988 368415260 817569672 160448690 218219598 80591534 212673310 656310822 784192160 62059814 65162578 440332528 437887710 877924868 989181414 215196664 376841290 108437200 452465110 170726566 314852652 724653958 318868002 777612330 915891422 81485816 272214580 786620806 662466814 823054790 85959248 609655562 628199484 641649292 856395008 900087594 110698132 504410396 640514672 470683766 922584508 325522786 714777662 14852770 28241018 314945066 602575922 225182460 520427386 677848670 768109010 246940014 30078882 105188696 380363744 960056268 101814194 367528836 758348672 298753446 262138906 174421686 545982416 648303964 712213582 360660458 980302986 533876940 271387288 939259530 696392960 437011484 487744608 840267158 923317360 764109874 363336930 694373370 815395370 524357698 871320270 471295258 729655736 232447058 360969832 390339334 906757904 81837770 668737324 94258864 376672998 900239510 585466130 583598928 296222952 147895386 133051498 28901588 574208004 532058276 626422072 526371550 131091810 216358298 321153620 37869138 347464546 797892362 761535264 578908634 576042504 537875850 772155532 615115054 938266274 254545602 255452856 644825846 589120322 136452796 503741180 738363314 341557180 320793346 839079448 566778212 204269398 962833312 93745442 849223180 550526364 945816032 593997776 531087060 840062978 186516360 961333862 71008536 8536532 594409090 293444956 850942326 874913334 752163194 993900686 34814064 983903660 135966330 69801490 843574380 210039968 979076124 362723242 530834876 156052542 257403072 623851202 745483542 437736888 723563306 778602626 113377376 685383612 738672148 843946030 530279100 870825190 674381818 315553070 903655542 607191500 530607136 944679848 395170054 880734472 624445226 503421644 683379478 162051258 702994760 83660078 516190064 158983034 332220726 937812484 924065230 486394762 140417976 736662436 280443396 643399516 354712574 683245842 177403966 523453276 271133340 335917868 549586020 312009818 984480648 248303238 66938802 402920544 662749820 822253458 480886728 890300766 726792534 593016912 820055298 794190204 65424244 155757294 277806032 455870246 336838068 826359186 321762660 740335654 783334242 678677232 568286762 830151810 454905334 122564666 934224390 424994496 176152036 827011798 11993172 465158996 444923008 799165158 78401480 267304886 350835906 720847532 946670816 122638068 545762812 181039122 337528782 284598292 312991606 846429262 603369238 867110096 915351242 216859070 578808842 658757992 295988480 318921190 706084422 65413012 593352808 142044070 12671314 974857446 657351812 300364428 394431650 402608038 264706404 290653150 752363002 99240848 47824176 296443742 731879624 611861322 756259724 562032952 621994082 293721244 972834664 430706826 406451750 227847112 198255608 57470166 542660662 371963528 330830666 12148206 324139864 62095488 505340702 534070242 577057972 152510626 794211564 301555888 683204578 926651250 136841588 655963988 242456746 480923706 865079102 36105018 94096606 420049290 211784666 562344454 592679020 738092048 183884104 420163516 767668244 630073832 816583158 737478296 572864854 342379680 92312940 409525108 888225216 454203108 777132782 61035380 379101620 376849180 217593266 11920670 613967848 355255828 549495468 525069858 463386194 270577192 984293124 911657430 721914678 957731904 661124090 781904390 658687924 428553232 314532358 838962068 570366878 404798486 951200860 321610836 435645638 995312220 52785404 609261512 538924792 916270744 254090654 44014222 717704248 899865752 796416362 69775098 440442592 615228592 371553104 676966944 122722112 342111304 73732192 422134234 743939174 764947812 870508238 50018510 6288452 861731806 874066256 320167078 970275462 825918874 311988830 523349770 816866738 946633772 810590842 769861346 619608536 305545670 515039006 502194878 729718762 792485282 174996710 312564882 413822610 405232196 681616484 413428058 690912932 296069598 415176258 124468074 703382318 22341478 39533554 855666690 553389726 582197092 625585280 921669902 697935086 502184692 831858872 575048372 672552716 756526128 84118964 96353408 252816320 608110456 464713266 439280444 365199648 756947810 992776004 453080408 298954932 602238074 79012066 785513718 487867536 964632176 758805388 875462104 36689022 362889824 83532772 693992736 802918018 657971550 837514786 693634206 475654642 699581162 718011424 63055444 119153312 189931816 859654752 565521282 874784010 523892834 840887900 208657342 174002444 360403344 851383952 315343640 577682776 187793852 262935522 909861272 201219862 692839752 906073932 123639460 606812932 567327226 738305120 257176816 485518708 38229964 642190374 680842682 491167088 340789874 38747570 550071902 981497870 770769362 402996600 754016472 276678760 224272806 197231640 639585556 429650582 803520318 143960156 155543626 359621574 766454672 681445942 717239746 426751416 273319854 650364544 837344212 636265898 996475874 844267152 493849536 893566072 776862292 824614070 852245732 934895732 875826630 406340970 186631486 448404862 35832254 54118830 579058246 676368034 62176092 789832044 510157442 394475036 522465468 169322416 125754880 857378476 391083502 53147062 363524184 778955202 245074786 234778764 75333230 950640370 207768646 293649468 346124648 183784678 425029872 645889690 175386956 318170982 158512634 622823414 555006940 267450486 672386182 269458936 157215886 5321000 577441328 373628896 999879382 272258506 47425668 81600386 331913650 973030918 642641914 64727644 390096672 187886084 170382388 301437604 570608614 304160378 532007720 553490296 313179794 320851608 836016326 421440688 451850520 356816616 885295152 702937334 302442512 584906060 420976140 877285670 275325920 719512272 9480400 312582332 888660090 350385422 115620306 653895950 992583468 303723272 62988884 344388504 560398444 821208912 771278650 509483496 552957546 487692990 350390808 895720044 990856124 963399838 204597930 684526124 845526390 210464438 443143542 333499524 388572920 546113358 768101262 635164228 867784152 529151762 693053176 755502506 952512694 60276582 176637306 311006890 595804570 645055374 855275288 843418782 687073660 255965298 239221552 515050012 85024650 443177028 934229002 200991204 539043784 462406106 200963842 14312522 362777916 910206864 789104420 672710102 633471868 525829560 651588800 529098666 105972654 47283084 167415080 314400538 896905890 334265420 740100320 717676710 487582674 235521930 608590308 487419468 488179364 78418218 301588878 146435334 619798638 47337056 741630850 425511680 458030320 218911074 643795430 819993552 95725274 948419492 842264000 660316126 76465456 926035680 778060612 930162218 658190102 15346722 975604598 854098532 452285076 80556682 955761410 346467304 688657814 225044020 976020186 215705114 565623320 342894540 947960062 445139454 660982162 59618838 174130176 433449866 125870962 585628008 74921000 508942500 722070898 805286844 25316630 825567110 901482998 428033320 122498204 500554278 434810270 442839894 780143464 453468368 546266228 610087484 695531102 686612486 834084986 351225678 482968590 36040126 121091176 355957492 156533406 383010018 870826620 942854316 813812682 485519766 274556060 459317790 364504280 138924978 391009198 516873126 264025610 705169126 710686470 154450194 412202464 499430796 532832202 34500740 348745998 114045636 210641258 556992356 87702762 35534240 152308304 28489134 380625932 636411228 241531084 707619914 355354726 973264302 682539764 138172444 599239698 578230652 586354894 423918222 496237488 525183896 16701558 56635792 278937726 324264942 317914362 734915038 863107488 987632232 107632336 27693254 97648558 63442988 69535986 820642258 171353374 894118066 654595660 544281198 548391026 698535066 926273108 919421858 569540492 292587892 644869292 517279142 836253296 438732830 595518428 715449500 869670934 92179258 92107296 934165414 964240346 6889632 465139572 114877330 76170420 258013622 460432902 726797996 636584394 799272814 572806916 698741906 450225766 738571390 758833118 411167752 891406732 623703002 94355420 162357632 682979414 440862594 876393030 512355950 266693534 175843480 780456434 863070802 927872628 475922492 243323972 480503992 352500582 462355246 528635340 143325956 911874090 367147876 662293994 296822688 344876164 363985434 28265526 338307330 757667720 51501830 950676372 964458942 854668002 94048788 251634508 207228330 587920278 839329584 952074886 292275512 493727614 706709608 756703902 660538376 540753940 251216584 284355026 492753122 535494742 183276340 860224762 39434380 456601660 581125786 110620892 113465048 666556758 854226712 547999292 359824664 214026968 267092180 911511832 108899142 825016194 840073728 476359590 940947862 240323120 635823682 162215890 706078384 903460972 67753306 382474136 912374676 678597496 812148832 888157874 767152360 486029260 304123166 743300746 767647030 851270976 968326816 951535098 164221872 214745018 460437484 650288818 21151958 214579946 793532140 993186252 74409564 792353262 908015278 860545316 31913704 248087600 904063344 210494338 106002720 599204992 359190542 449552426 223676498 725398064 463528076 255191918 278836390 954924388 444169620 868076442 451632806 457236258 915787836 412738116 929412962 89102290 340408270 892642658 909568804 533449006 797981910 444840962 388515736 439859888 914245738 784715854 514203746 639328442 285633732 915745316 223070214 827254762 53611724 89030124 70581570 799204608 294824842 635266510 732477276 431023970 752468266 307263048 648404356 537816310 625194708 811358430 61448648 78497356 345592492 658042318 320404408 22361480 33664764 942427106 72824622 193523262 448735712 278281546 255513964 112617180 851873990 250081440 261992360 45157728 30413884 32475084 622839746 982371162 330582090 167311642 926369504 314243590 944043468 638134410 89246960 955157288 622698428 737615184 667272498 825074974 247263082 77146768 249852112 223505416 923501602 464448022 389714568 615214088 147218916 888676248 304606476 653963508 236921802 406963396 311905392 356138008 176228818 177877102 104033272 942079844 766458498 565625186 544008932 875851092 537570128 245180194 758498650 101614942 630115066 979575140 932843260 717822524 980681538 950632338 60673204 482228754 700489734 738384444 782135070 741384064 147347272 532795452 593902026 245668642 571679402 985842924 101195936 787903384 274343096 510737772 245762938 706752000 887078338 205309676 533647760 163826106 933247190 884998956 652042986 155882858 61365934 366735750 820101616 716557944 840585434 469776214 494669296 3307472 885932888 377302164 287039478 454391078 79859650 646969946 668418296 820709352 841085628 898511960 540142920 911397490 260857688 409150642 708935834 113254628 536729592 817166136 395706792 248122324 181437468 405569308 283718454 444097940 705161740 150715810 336172332 247861080 641683508 173653344 422060096 970197364 329436818 694662250 674711806 853959758 763579714 323385724 173636138 927816980 734407990 421838636 523705490 961489376 776705276 29742064 696068940 179798720 631607086 963538394 851500114 257934004 915528952 35078522 785985780 314478434 649072038 136498218 166628098 822711214 201802840 226891476 757176588 70341120 375363144 832282136 39703976 970681236 225159812 863570426 595178410 628981914 612107146 557956170 94768636 589726632 96834516 595187468 148933304 494172178 461381922 279367200 159222508 73974622 510982200 813534010 859165802 827498704 714449314 505949088 216568226 704586938 934201150 251784476 613445536 772537500 729508344 17974304 109291312 117815850 133213534 13686386 222538486 15332492 104181014 990803616 573906454 440958624 162277530 339417714 7671808 671822142 769627420 798834404 254390926 536966012 382388720 976277178 427184366 908685704 411167548 751627404 965724074 366892298 975434192 913094132 313767906 678931822 516257126 456758568 314459966 913891162 453862516 9078546 128185774 957533332 688715656 299208600 985587052 884337832 196047982 413645122 774734406 299165470 996415028 395944160 186143684 107153968 828648228 21397802 426598812 1842770 201323666 105708666 250474436 362677684 297617856 379684510 268854956 927468754 627405558 978908326 56682036 171747664 286287822 35305010 75924676 731548654 884622658 110861164 155172724 392509986 908525174 430151012 780548514 810383034 62163270 527785110 825864734 592163232 799649902 959246946 883148788 296476 188922892 881495234 868804974 734103734 895269082 584442344 726741376 252035186 154522798 194122090 502838510 261217360 101658732 816751272 52983734 545397062 683083856 477701852 564848070 884301786 680950978 208100352 341847488 3100940 803478822 605126766 647751360 684107400 848656142 64471218 663831774 356054124 6277880 290653578 840863796 121004962 132222818 552494424 631463530 917968066 349460644 865599200 996422648 476125696 600435922 417741370 123588968 719408488 683409152 496840506 599820308 246829306 409294752 909628608 266183772 711469828 72969592 419717622 134579596 555536954 688445502 412601402 318799044 156062802 935511254 997356902 509170258 766840870 413294958 369280388 995270282 584764178 857188200 682721138 578492410 800482946 352719084 786793822 454208444 671590576 118874514 640076054 75178060 969449350 514433652 515873804 606744606 420135316 453244196 664081634 881059350 107379456 264592150 13576960 686325040 893380218 758003768 685668380 779512678 412533348 816181072 289314452 809992882 42060918 630433120 93154886 971244546 847856846 791644978 25261684 520311440 911463792 834462350 756305544 616092564 992843222 891130126 620888794 81681176 369718426 488632006 354357674 422499734 93170764 420909270 278349874 956252958 241158834 886637362 69617470 611564718 530249258 166632158 847176446 535422092 320106114 824529648 183324694 129636156 430130880 153916016 975362826 329046110 104329916 907092806 876906192 412507960 987688316 607019996 706052330 67767080 905148878 265181722 593668150 559713766 121329140 505783566 895689298 606127384 933117192 629767366 848896728 665389818 993594266 398476780 422207240 219122454 770007328 885376462 604616748 422391876 858980048 813278910 124622908 979184466 398364382 579589782 523097264 230957486 175166716 64222212 701420458 525988114 958447862 32788946 738281098 115604936 284137088 824986376 941454152 723411206 916920320 316912954 727584724 180371156 493629352 143974790 538015556 269791180 369540816 266780192 953872158 433479452 803798864 10514936 740065912 210191482 710434382 130766232 184346742 483123894 623200672 356152398 328028410 293871694 713025402 524329486 24883922 564440822 113563206 74691576 656524594 489872492 726296458 328074516 723028656 823337124 447907382 179607398 21566662 897224446 680411174 851670506 980385494 652055470 345417058 627653072 187181164 675094326 20428146 186692526 987836336 131959150 843317650 192383824 780137708 958384986 809814722 31626648 61626886 150542774 708171320 609958810 378570104 571692230 796138846 684275106 419222088 405185946 642227130 470270612 103162128 464870360 37936474 544360020 950927844 306703994 788159264 297356548 647495870 686984562 716046538 803414022 803753768 916268300 514515088 224791836 128605532 73507682 700377384 345188274 553686070 872839304 281241636 855999600 179740632 123801022 519242316 609932868 104464942 82196966 208144640 634723156 557964636 425044624 201261114 849876806 223036420 684903338 961320798 784634474 943802778 472229558 275445964 552481920 300977398 855410368 75666766 862530400 328013236 579290384 534979588 402544752 505137170 610108402 576849560 598412380 723678020 828894952 837469536 759205380 952662458 682247726 413343412 946005566 53737798 408524262 731556748 503175284 254757806 554834614 449939306 848468330 293173684 785067704 546233070 202252010 407648282 276449102 609598954 898941448 727242238 999769548 303065024 978132040 937965832 366396194 951041908 758645688 306719926 726361728 421477252 412071030 235157918 500518524 196317290 994321220 237585336 934025766 596366852 410571856 892955800 42020038 108902818 500533960 634259814 766224368 906063872 680425874 436839614 911153182 926558248 949229104 611751530 100868628 644523018 772364178 587096866 389706650 152112814 690785826 30875346 157195258 869381034 25554772 644949824 853540954 513912200 154400380 537530646 378997090 773545150 465377648 115323570 939153092 195432192 834064966 785912078 463405816 508875402 630849974 564692664 137873230 356280370 967484596 451194334 5222958 876089052 364475560 742394232 503188176 307094690 783703438 684817158 713233520 201861664 863720650 734262144 697397954 910866058 577450552 190282460 807897528 682283582 958373054 252894592 133085040 556213806 289127338 294431258 132743630 41972048 476440022 850973640 699145714 822811426 550943516 996189244 376270146 989034746 823637208 590504436 151160604 822929846 328117940 767657538 894997424 949435444 167407328 273618522 894696604 229453656 678178378 871591744 205948956 739088478 731427108 249910672 634402678 371568412 617577718 712500002 417114076 967798548 160307938 168955420 103781350 563914022 347126306 791574028 291596790 465030034 447072808 793897272 146919810 199644846 190822856 506035392 668427168 811959886 163616870 999094730 266679316 852051184 552275304 767791710 265735318 992523502 17695270 6644642 742965628 331843290 38453608 736186674 412927692 721760832 726542066 719129814 736970508 267539944 954582740 343161570 493409654 831004690 634134216 685603060 164271056 514904096 776435480 858233914 988720168 68107526 868959230 32460390 526939394 548969966 682426 699894078 33383968 554102220 566663634 415624814 814524858 725849612 606444412 527651678 392514966 524275790 556583532 187504712 714117390 38996330 849982226 817415486 482848066 930944204 606853618 865817286 410576950 846776680 515200384 421383606 273977400 577046144 618990856 69165906 662601556 736490904 655228562 317534778 282735060 329810226 126972988 467708890 215721634 865014662 643930052 77888814 504624876 701581750 956559052 774494316 745279338 800377588 766814510 982468578 796978756 294329468 71386750 111656054 317817860 598078570 512962890 751543934 768829952 760283342 134618416 292223542 286749454 344356056 470424012 536940364 407188988 303891570 527688670 718031656 904284210 612553702 446854712 277483642 772875040 694637418 488342526 949703498 594405540 534379996 620115286 311311212 989035900 528828336 728026710 464822164 173959476 26929898 607155396 494549898 857873994 452052674 685146332 836258848 203934062 455293320 166572728 138386496 149155566 686988896 785916274 142224872 811656058 368981632 72045230 108132188 292083566 362952414 256122950 29072264 989644640 573849184 863415102 174757732 911968590 361759954 309949520 685426906 202326828 656281178 126655274 583104044 716957000 646503390 60579242 707944334 179219206 137650974 660498588 697319760 101493908 154061566 819686494 659244528 741250610 360348172 587151150 116912096 845228964 920823508 26927662 548169866 437863228 415871490 200832674 501806396 990528456 210290838 612593800 951342534 826680796 975693220 57071660 207995600 749018438 545519698 802560356 577026252 547464296 168012400 888053856 48399174 658511210 654539150 678560474 377998294 446126660 211319428 351118538 35430584 375846472 839746344 228020568 475142192 725158796 44084544 774895108 952947944 250191284 17090270 782844284 932627768 568358200 434245336 984931236 343677870 562351358 941713384 376200976 200924980 901373784 613976592 690779138 889642638 39446410 143978922 660027440 512674282 867323706 568721802 808196340 532837984 317912236 916558634 393816812 178399130 551238272 299940138 637694518 34365266 317368070 228227064 225421848 905404336 454266558 164067058 157852470 530971572 233126468 836519858 333128026 917674780 334488854 129143620 425779556 71057890 986937044 692306358 866501468 32881266 16198204 387547826 533755370 198588854 293977126 30839698 913426984 354580168 420338522 994476484 190656204 420442062 5498180 214300920 937935320 144340514 334830086 784730552 187210728 668279390 880140956 827649424 382346448 127403754 146800752 592774696 38806530 336977782 839049116 840264266 804447208 533109146 497740686 282623518 749552292 30402298 640390084 974210898 190496046 886357358 534376206 143486220 212866822 100725600 613347418 454689606 860683916 681247896 103468668 876928332 781921096 528652160 690593776 351974968 268304960 763521792 866192876 562895064 411174720 259411450 690500988 175182188 919624842 351908090 220179366 930738044 32145924 710964648 561365626 687785390 717138968 759660368 602872230 445579696 114420732 103854184 458409530 572460674 972282360 780654964 264397874 628748248 525276222 110268908 806026704 27114928 707757522 374875682 767632296 963916316 772340458 346670656 731840402 590646322 511595970 614498 272993092 187656254 514291076 290644994 393341892 576290588 418107536 715129038 744748154 460473424 600551064 23916186 548318682 124023184 172518362 950935754 250981082 710770012 201028426 699663326 782594720 732015638 13787178 252668544 486911122 467660528 386899280 586313398 275157456 458756172 172773320 322116556 217802976 62619058 365523370 905516288 533310644 221380176 231570556 119470134 146956596 975074988 262962710 943904590 778358276 193304904 410740808 334115520 612039252 288631252 90177360 917250978 608330086 123944886 466578656 175212228 936527454 647927540 474008938 610649828 777297510 446965996 902453678 456823168 50059328 260891280 171057622 944308992 799370568 487312220 128399268 44539174 154793420 589472184 72740744 775654180 120729298 227272344 483533254 480250604 441597492 751017874 395341330 712664928 731595532 135692232 555951978 286502778 934896694 743009326 194567916 553555990 874220738 69737726 229903528 238178292 228484054 103476450 903434094 950760062 479952958 21628880 710511432 607736104 487699680 368583644 772156348 777689348 302109300 365054760 235180876 53198196 826644062 652245332 901742048 609810014 40855870 703100908 40942828 597942146 488523532 556215344 361670 235637586 575437690 625694176 874552228 814361360 577784066 12201108 551854848 334632894 729232044 148202246 557132102 364957266 553217374 513331970 567102300 120898804 975356878 384858610 798172416 582660472 309640002 714219496 213060170 963063756 930623640 242610312 735818520 573014572 263095830 932821174 321060156 476977406 280804948 256116554 439354416 901467332 502421550 881759330 23261258 359250292 388519214 992705664 662926344 477674462 489474778 235937922 330383108 364703000 952148246 741827910 55116372 49642592 46524498 122203748 383844880 323226330 866706696 361223998 124735956 528041188 648836424 525082948 367203834 30351122 801644078 18192538 897666604 922479018 310133296 176483456 341947114 10631838 186334190 983158090 227088460 845021638 268603872 179145554 675640722 626039420 12578552 690369258 422725294 813907402 315676752 316241518 751856658 717567226 872959754 967761124 902091492 223409010 628286428 992537562 439898854 492555888 22257534 294021704 716332798 650854682 417054400 398583836 276665652 991579476 627690080 543578214 392239624 5236818 888425766 58955560 178208572 64176574 962387902 841378052 824764486 894480614 555025660 150828498 805131700 298663054 853501316 386337242 207782620 619605318 846115670 878995488 73883652 858229864 815935016 203944214 925943090 895660642 315957814 316826544 467579944 152174330 508034708 193109984 732752198 403843642 515454580 419159134 633365142 494621696 142381724 390260026 504611468 610029764 66350822 605339124 648033626 96161012 318307982 410736144 775056320 652774530 238063280 828310916 388904530 255770262 173414346 741575722 7170498 9063994 691464660 673615868 330018328 946619332 824287458 491624724 357844460 19028850 930624776 923563388 237601590 440023612 195903126 81858154 15768540 929354178 457998944 805509936 136049004 516416582 73816366 718071636 5559370 34526924 159721636 943518708 410286770 242381524 943477260 64146416 375553598 707560076 644961156 113491042 47423906 835160890 896279098 678725046 125934400 329058910 782179462 770444634 770024700 279229418 970754772 469143300 391795988 480148952 511490198 512316478 870122234 960256096 593237626 430003990 266386810 433102234 445200182 869187568 54019158 353571546 470348832 55165188 135926404 610134320 844665960 216600166 286594164 938364618 694406628 450218272 677165710 110974088 470038284 631587956 245341334 778237540 561225714 51457742 358374260 478688988 652809780 316773250 515778960 419393612 481421882 342073804 919263944 804139464 799452578 643712398 822533456 643865958 44539626 919711508 867965912 478201680 693667524 188354200 738884700 662680554 147494934 191513612 599799338 809423914 164030886 972639216 152140938 52832592 974774474 563874908 343025790 567370336 31646542 593661602 477351396 918782914 612611860 372940098 957091468 861010192 554081628 569035194 195395684 196717922 73300142 227149800 14330934 732016668 458239636 246086706 866117968 479802506 270924582 760648210 370732126 909825928 348184212 86245922 329523552 452724228 292857622 891799356 821178088 327776220 771134956 231478712 394563792 7337892 854078626 829155140 899710480 565799738 322625678 429228442 294416450 53535998 921870548 482575528 350245530 877034628 907011648 740525020 665430544 631135386 44770240 127291050 642200120 285449344 446454462 136344744 508241210 504524192 717009136 149788188 731492306 354967162 856484010 605823298 943935332 75784870 774152028 422001414 305364004 566877408 596736116 7030194 535207534 383513346 114604220 528997280 229303562 658218632 224557786 763999608 165327872 145997284 203941826 864505344 583716034 293925378 492098004 840210532 524728610 878975182 161486166 63095966 97990794 112721572 356144008 528800242 212959892 279200174 146400766 449176412 433901144 312575358 690633470 848587742 274728340 754830154 173852768 197684972 94732518 679645942 992741912 651311514 813229204 195578884 480520026 975684292 460620144 210098848 178938642 289100280 551052294 827667244 301713096 106053614 141016782 867543070 380420254 632200966 878227312 332818706 517380034 769949218 966682958 352663932 585044954 604582120 390763704 486716754 220414452 24222058 242469958 56742182 558146574 568283870 978074954 411326516 951068990 827631912 59107790 905920496 179646660 31720946 556701370 645516030 164562612 232027292 201636870 287223708 601310816 51854838 766024994 507234188 463051558 925193894 702549700 371034476 560468330 636854364 218640062 7933984 614986108 383091844 214209564 232736950 813890706 249378132 715173976 883621780 991312160 587091244 653093848 761254812 129115258 903519992 148129150 662556752 385244130 996327366 977684306 199440732 888332758 45464384 677857288 160664556 715796714 365077956 567480326 851371764 135210758 699610602 496994302 353848492 337061948 552727602 130754340 74310402 935443686 774761378 544875368 975997922 720224156 467111384 604650806 712157366 394485374 524677270 190755240 278793186 547730856 150656364 233435246 411869402 446869670 534038466 689597856 637956960 539054362 215909942 82144314 486555198 858864022 754492704 333065092 902215430 615644962 819429770 409360132 898587198 383992646 683130920 285890538 755636644 766190816 440224112 964582182 409442682 65074720 701766258 898361190 243067356 283530796 682343952 348938206 238218882 373001820 55620176 955257276 208459886 775431864 204969030 832266730 44442228 206569054 59484052 889690398 98085234 985358274 857796226 413052936 99160216 828678340 781544652 934348184 66355802 375208416 361821252 682453046 556715220 641406548 316153508 168016864 591713274 258927982 415347524 501407152 745974342 629548360 482130554 964455014 210694254 390471600 269819126 580900266 452388138 492802892 641805630 780322052 1070510 625892888 300074430 968445338 594474366 785765382 431562280 488469778 505266488 925095716 845636646 521033584 717845388 119239982 155383126 596813362 398559528 778504120 836854892 76362128 466760720 210489938 43081304 964696786 347599282 592840742 974199926 949328624 151996982 454450976 483601004 361427798 196674654 78038434 162459986 227686130 558962870 84944424 788798900 165611190 55026238 242137574 981516788 553405350 323837230 608613976 395969462 939779060 639410286 818248114 424314350 458614772 626520930 329643174 829786214 661674996 489029034 167559436 933013152 895629610 848332622 386143710 461777368 160268928 157136924 155501648 282541832 436130752 70958138 719040708 71502342 928267204 191819120 511986400 241571894 868960470 15453444 476851182 46468024 299929146 218112358 624619056 721891388 208754138 875537480 359345768 352128902 163589874 715050306 537217052 941137852 888733944 882233552 153051984 926192020 869215330 505946854 51344678 272373974 505121202 210119084 998540080 392406052 988772846 785340038 830960598 388556290 419505794 823399672 561995172 384399854 246101040 223537716 353060280 340523382 485747180 549279784 205552804 125864282 699013790 105063206 768225006 913594596 639520256 290716170 115685410 391733364 674649970 437662868 295671850 773686748 426470684 132971300 289903100 432913180 392187466 42375546 237841726 191409742 977210072 977894482 629684442 840056938 790371654 499716860 289760040 140072820 975664540 521415432 99415706 788651786 861393366 820685462 972113596 523299340 189105974 896401778 763291556 616486142 641691474 164660612 200054606 801366106 274966724 935679530 805893952 90621588 183009402 66707542 374473402 699928884 963144228 646025192 915075020 224982238 271237992 345649802 628354392 9926350 395277094 354773084 902393756 485735828 807547916 877309126 754613284 557845594 234335584 716917768 763737810 394779560 334946216 694325298 89188798 608257330 158004822 170322348 929370526 337835794 826338696 557027982 434468452 124707844 804553388 184146306 663388436 990983434 155623834 629505736 334314140 121132798 966941990 481329092 568763720 198611308 703792578 66773508 801279414 13191998 124064192 393821268 72772864 65075750 744619322 343690882 462431784 46208204 873823068 470915840 863330520 478684450 534219198 946036674 229414546 868195072 530836290 421395622 522634216 337717280 338678346 213879582 750425070 542602924 674439158 578907932 9996858 330231126 428603434 862922780 925154672 185391278 484826744 878648738 595594988 741658424 440321784 494880600 471125832 591084102 793244946 293331852 121194778 768789540 836001362 696937154 782301558 56219996 415799090 289394984 744077262 978547930 134298556 344546094 380178824 182055210 636890236 202914588 730585156 220093536 536596506 776096122 259892294 976910118 989290110 74471920 202012242 769829714 479617590 57054502 702832902 161838810 37279828 150914124 742942234 540476890 231659732 523530544 170083662 408838480 659402698 33103692 83898900 447658352 950136324 119490752 148984634 638964388 322914688 430766074 185573766 143973700 151802622 673209372 261550230 407070084 339296052 835233606 657793328 793199508 553184262 469610040 35960350 494527514 414235318 694477114 11130782 186642456 869362262 592610142 702582628 583343684 523172006 926287168 21228128 935893448 889807236 695429958 595260880 564219204 687799948 48117480 704046902 425498260 574272664 73271626 396963730 740862950 89098912 892869330 49622450 805369518 605700296 207903948 369210112 546853582 478516026 851142958 291823848 264211038 538868394 390869464 563428904 426601766 220387586 298042512 280406388 166054278 636341926 338129960 495843916 374882102 58588216 83992994 341909656 214327302 372879504 988926732 62449472 534540650 211790570 34147662 284632990 765476856 461639846 89311682 750174920 339126514 318535802 411184874 904540760 117993392 550719398 727769764 47938444 385953568 512200468 70762634 649693962 673663606 896277570 813254922 484708914 673404452 10381316 235854698 143360538 49474688 566387936 281527368 96767598 400233498 700988550 327972844 532926236 717768930 658792440 835828886 723297258 328139596 262914618 583482118 616279382 153273642 578342374 560767686 504818690 435158900 766368586 808413608 490700254 368973916 7044740 855397808 673920022 865607058 872031210 242428266 809345412 799795360 89371012 171513236 107526530 887140842 766781998 113709314 902515632 400594404 913846286 566552666 344435686 22390348 34097928 229177574 259518494 683309926 454150584 460939848 683345898 390613004 99531828 596673372 387961484 846308118 580585938 192637410 61812882 369357038 826088424 433855354 952477426 424738782 494739800 36313596 563339080 961167520 204858914 877976418 285358288 730175188 561312536 186966434 655958902 566496506 718096722 514702 833738932 570306838 688859998 396530096 401100584 444789304 148872728 154911986 987440310 300763412 204843762 958689654 748338052 379654480 769772328 146199690 807171330 884167122 876177356 405547530 589266196 546033906 239266308 571458314 512349392 420337938 990533424 271828736 850512182 404378728 1196922 506604290 184493460 129795638 436718310 398101150 292563686 193286188 718558218 858707092 339056740 280964376 184158634 327057090 143716472 338174620 252614238 267140798 868147596 186184440 202283482 453973634 747780818 224461958 36549636 257867196 872962318 264665018 464002816 564342534 77274726 201663204 567328692 351294300 414610110 122698544 175032862 576736694 86444456 203126788 943901826 71279822 873376570 149833152 121955220 951755340 845796234 862753782 920809690 847913196 116328630 867231628 760468506 977032428 285957404 930579348 184315856 836359950 506991822 800000334 416185508 608606066 914824362 899271910 420543772 667321612 444460332 846130796 973768546 951498352 207170476 83580090 470860452 582628244 917458916 661348040 983927614 816188844 958592478 52532268 845269088 245487356 176708776 754933832 125390948 265286312 591554380 39419094 635096080 659832270 840520174 507604246 228063442 371771772 159831024 745125718 352369592 60080588 342166278 377412916 653615906 858035324 596281854 19603700 302138526 721507652 778751180 46689246 726594068 360591112 998219328 336444218 827016 177337336 500476180 577424440 466756414 108537110 918743834 105191974 871622464 875845058 190876596 943604350 328521894 34614578 422911104 817357490 678810626 720384944 960677084 26975890 932599378 639946484 79266420 274482136 318859330 435096298 973860826 200589938 586219672 89379814 643246952 91646710 739305050 394582838 707210668 851276116 962677684 615480414 686076554 957338794 370056712 66670350 540006074 330557944 602604646 505900362 575146364 906815080 102298002 247924586 22310068 14190628 785766410 822735192 74975538 449299082 291068454 335178798 922042798 859489318 227320904 812669378 416989964 22970710 928640506 951483096 545456014 653130126 855525642 864637330 465170948 982869104 357566266 494022466 698694310 247168298 256151388 757020550 365690108 469997674 413833808 132412462 198655460 696629600 135862024 119041534 315645118 656506356 719514666 411520832 382415686 706887636 496439322 205663830 442323132 149735158 421490588 124245020 712874034 777409960 922168910 136438884 180388884 858216366 580505656 552098162 266358358 70647026 614460426 331901918 618432064 901966332 964533148 81208092 930064412 18064814 447672756 964116310 371983572 349672938 789273800 698656254 952109980 176290876 976252840 389666036 696340494 472273676 96071910 263899076 170002696 351927216 205527328 320585630 939407196 29009776 710900820 352972312 812835450 828735682 620635048 519335850 441903874 408284270 183440604 851556298 308120632 195757084 249572534 45191022 750495130 696580982 325601966 945487464 521048130 749810956 92535244 794329404 192800364 706800680 449264322 241339122 736766644 79269164 618228564 972721510 83693412 231391108 796572388 710015202 601424868 466657574 835867244 409048426 717207622 795199302 873661694 753621288 208414570 354875854 89969750 751767872 988844566 862814594 481922284 518821300 956514632 999953178 891911014 295838690 885692562 344439590 795567854 28279280 798736808 60849014 244438364 97001824 335041348 618600712 957373650 411512034 649781064 488601028 519072112 313883686 623885426 78624888 853169002 116434328 65808530 180931448 28184026 465563056 886597496 60558372 417519682 259391234 115107626 219379698 552327642 765291536 562513730 34997078 224403634 447246580 405713678 585963774 858333170 59848830 683741514 405284004 804644734 606082976 766825662 810147150 30684352 240397756 92990944 76889476 744089060 797480438 575393692 396077456 456892368 291633110 225960684 748512200 790188476 775800820 187228382 732479566 167363056 827483000 971478124 970872682 450072914 570303936 282939716 973992330 749484162 721517648 953828676 831772130 924234336 788642990 850389386 42379370 881623558 602889720 839219596 640321264 762708556 808857466 13331532 365674694 560242864 580879052 300609346 476974838 900872132 537294690 307614082 483451830 212923580 315185822 326479334 136832150 940280642 712614920 717050350 36477944 553106064 935327818 465514724 21020746 533286626 617639074 941687934 508710460 995844 211267664 757100514 610288602 50733600 243480762 984263076 17422052 552918834 897921530 873176244 407910712 50799910 687651788 31734282 328217728 579311446 852524364 65916066 264193806 566567434 969355566 470507206 592350960 310096002 352253806 196923474 732352346 151778770 644874188 507493970 509334276 177560626 351370588 371838720 682493690 396821132 561161662 823146402 57512906 502449626 504018534 405991986 973611680 424677382 453336540 42518926 306539682 892910550 611529818 351101246 473103398 535400032 652107626 330146382 26790512 897957454 65168778 69221214 402722930 377525630 913288864 75901056 791892490 25157334 161148042 404635762 348449108 484748170 214631208 184548476 997556422 590026566 287989558 869374002 282691480 415060036 449037486 352784302 828820942 759376222 352031780 515989540 281506092 249141614 382941890 139829490 196854762 262061760 808030564 483559856 560383730 693812168 155824056 139099352 217345142 776774078 708617344 232178476 980321110 233452986 979392954 692826634 480034468 963482870 525197786 349669176 546186618 435558978 539658162 428579066 16115422 666025100 29013332 718931992 769465074 616538526 611807524 307311548 496603258 877241176 784453308 630053262 568060856 250950752 536120966 990760566 743763838 962898606 142305704 61552058 127685936 825748696 9469930 487062158 92590608 748255578 446371110 543672674 170264636 262778418 156596292 832344700 904491202 196449736 299447598 517487170 811777112 547399544 616514098 995009422 692742386 614853298 577139792 2968582 488362812 807914476 856030472 427192652 568064582 567690114 43177946 23437786 659252666 653768994 713417712 391191558 408505232 727048850 602572808 29267884 157895286 550850432 521837782 72291016 296072896 834619254 421500418 515717144 683025660 629373660 489159820 889828990 342933524 507232980 60127040 534292006 883839702 35354316 739141430 554055620 743509916 614738922 941369676 891092402 646020 393550024 671882554 92649100 662795732 921072684 439991224 33815764 686380848 485148622 804024540 300342230 42307250 494874122 61547858 544403154 55541582 447218776 487205452 556238896 365801378 476567916 919905062 80344978 770252632 986099548 601541288 327304874 229434408 624003194 188064848 783138276 528077178 266440212 460922806 292840250 415389302 135705282 789994050 759580382 708554372 266153768 478643360 992383778 250285268 446922498 722246026 150224196 812900634 38029890 820375474 826701432 764194952 890906202 32513470 178047600 278444078 790676434 826697830 596655816 934282116 265459462 824830772 134490776 157218438 615754868 981997120 688351092 376423214 664721418 972785144 432954602 405226372 76453676 387314532 561024412 429912976 69478556 341104210 306933752 839439830 10980728 700967086 736034354 546287748 683439458 530820470 520794330 833344794 750506312 731761150 513110194 813294340 388410060 333089996 697819366 12938516 499349302 703997858 320948840 907112286 274595360 12904354 506895960 922477950 251322644 604825316 259486560 823223168 220181252 827855158 334261612 647333072 610050432 383283296 332647660 159085100 976401220 574120990 109312850 783081130 844908476 569128762 692732456 479729888 41424694 727098874 20735638 538127010 257626856 166555884 947104840 5260544 919469746 82964914 905491508 446805188 495575320 502877214 853341954 391334796 338230566 937582686 617737186 554421106 278687610 498923690 205204724 788920640 685172116 288238118 938078080 328127912 218893754 523416702 220663324 874923538 211894254 169418518 212599566 963902652 728809686 842677686 830823552 18760966 703706730 879364662 581673466 729779956 661644666 702303424 55363092 749169258 581745386 851866298 376297254 486697732 624247796 308849822 660150128 135044246 596017992 638182282 957655286 66741794 232139728 66210460 525726452 923280676 480265262 379857464 989890354 104567620 426539262 444617088 685536268 100146070 204355342 932022524 447913926 413048338 744886210 53726080 447112852 678641476 226392806 867580904 658757686 638283892 52642320 777810696 309438268 549907118 191744682 26078150 951723812 406842232 632914180 705276024 72665818 629965008 112195566 895662842 655644990 744725760 193787688 764760558 447272250 602613536 817286812 765363464 438691132 662875858 523467170 403351882 679141142 216721740 927829620 164463288 582554074 416832118 960607224 265048700 211110214 420248222 303900816 396384670 453551898 372310114 168409758 433412112 600949474 233820474 41858114 859859336 984617688 464906034 84465144 799265004 247221574 389564618 336339334 949283644 859896146 538920238 255583708 220443516 601018886 217172978 332963914 114515544 808169686 857834512 693139594 607371658 658643324 96841044 146876966 706686866 278751914 865668634 335767552 852869566 604374646 348833310 135319296 95018504 746784782 24222074 238880818 990361904 564302536 916759612 834602354 380447138 545400424 97815552 722862816 100156026 481192504 315622968 998128032 439979086 219194528 626906772 347452886 165138544 108895822 38831228 785780582 381329854 452495692 538127298 619297352 393736678 192569172 16086850 460918456 514295414 805136442 192548228 655465914 126351540 818328218 777095050 622957634 414831094 99255960 255684328 661942440 616745766 685272140 293868490 511372690 465858526 98082358 295907338 377227420 982139686 631375814 839678600 139866026 530262646 325651766 348255854 669130498 43763126 987214590 882758504 87795234 149329684 516191918 508387500 985238524 614576242 505010012 881048370 635530224 953683294 249695960 319350994 73510506 653090168 781813800 382934176 465425538 349974432 606682684 819032176 990958994 162745772 948164242 876245430 42708804 119784362 43973054 642566630 672441060 185255052 336733426 747229988 167753290 966888844 91334450 338879066 281774842 172970256 793582840 391862660 752426596 900364804 764359624 690736550 287593982 618093772 345691182 493375750 575526614 519815078 903024246 861625596 510543258 821249704 348034918 523254244 63401692 886435196 738406806 457511102 387086498 747798882 243181372 573685008 909198198 541489596 119732210 65295480 86937672 261150396 260389866 500384602 862982142 329981482 992808610 185439730 316372262 192826012 480495818 680644206 426649418 483877248 886900228 105052384 219276158 950077072 346981176 126673548 814489026 321320796 766450816 242688478 668852296 356932594 956330848 945212144 715880760 431306668 857594460 59960166 915794462 469107042 914136978 382001002 563123708 351833360 731695602 691263366 467720442 133403196 49538194 197884532 661321124 919520068 704965318 917683158 871732364 479012442 650882116 738125454 319323108 733203342 911109944 130079202 952109006 988942242 714141380 699006268 755228144 653360970 770750342 134703874 734847324 73378418 896714440 515543060 736472942 743897166 984100974 534757818 290322014 637730008 167578760 382105798 5586050 798175956 825390244 339614514 392565620 380158590 642128716 7275356 493315070 20193628 832790654 271033914 152265250 261909996 779671586 436350986 643247470 74898394 25526050 307243842 477620148 546637262 659745442 94062622 429213368 760490098 842265246 528060930 29094724 536695088 644461352 44966528 985109038 527990068 49219492 496976990 535587262 93453864 807725004 470733166 783167854 125343654 595232896 145093370 922781188 527057248 892379870 524111112 648659866 656017076 44699582 23902732 132481102 350029958 397676638 313067334 293004878 580330502 865435510 98692664 407997934 261587670 275223186 775562794 280208268 278558294 499841844 371928970 843431864 328772536 978154126 977498046 764293382 941755684 35824654 35166240 603489834 89807854 951850596 571952044 575237146 319002436 395067344 186853070 624520790 820649466 310094628 184809678 788920142 925685854 512946074 22524920 954135462 39751806 86295160 171002202 615275226 518162180 476230684 19531564 863807300 963158986 68765712 306928982 869958896 979297120 397230320 136821962 275989500 158213008 490846570 889765916 946278032 324955358 78345702 504013756 907833402 22847986 503855412 859285198 277173284 905028916 934494976 676565820 67638678 649370734 44323822 711562718 411894524 520740844 845927314 651028680 273559666 112710654 671827758 122472670 765060574 982049862 732562272 294333834 453193780 717652010 940323244 945233138 752943908 292327336 166205664 327778720 86237628 334944970 207438622 789613398 58750930 829618810 411871190 969362644 604540670 226807510 434278642 6736580 382270840 139874676 95714364 485014818 980851008 66763200 227637236 111677882 406433156 11643190 964638534 875317032 792549456 913752248 876743702 801590710 158684856 516085150 525669528 289895202 242598548 355909338 247541650 72693806 756988510 433459500 989019780 470796442 25603916 23754050 844338444 435734290 620989254 697247490 487850310 106779606 27674662 31288082 941453378 740396286 892485830 135271866 607118430 691099586 572954180 713873720 297833386 581746370 651088176 477891400 535141628 228054292 809402572 384277034 997796736 57415328 633171818 542774714 865806840 31292742 3581686 596062024 140485890 836356990 25125604 888537192 733440572 365343882 32113556 413585636 193451038 13400534 71766092 78721842 700770612 880006960 559268444 987754084 334746060 311653640 417235116 391006704 647499652 673663066 5577830 281058896 296683554 999182468 588717014 662257482 602549338 18822686 43178586 580549740 767358022 522802782 548312146 447650430 385420836 636608996 338615606 63609932 707601936 840271488 677577396 780971388 552172588 36177400 597451066 934338372 841688712 16040976 43803612 320062686 615063922 190865220 933098582 185406994 60353608 317032816 219906918 48057830 787750552 111430340 851563180 515448010 47138216 351841412 998150238 458803936 852008706 595309270 852753542 420473002 488401194 557173566 217379358 527266980 373985700 715544202 562745114 857471204 897549172 724092142 690803990 127382992 725713350 39723758 96895646 958810546 665393822 686803788 646754398 658229404 172645138 424933350 949681960 330131308 961040836 183449058 963300630 101755242 243526790 52625984 980961962 517020928 243790520 926450918 993333068 100211646 883371866 303785770 976565200 360165616 721912428 738491958 813433520 961141278 378946596 896731860 97948024 76172822 31273806 627319458 574291284 874625318 22970462 658052130 398051742 404406380 303191016 532458970 565027842 46974054 136000330 105442164 726162444 865472782 457979602 857929830 781162958 406580220 181111290 770067940 9469016 699489378 646311110 298932138 520139984 859507686 560840742 774672956 274089022 933912160 904236272 615309108 329876130 510224338 339279582 382415860 708254602 319108680 736079818 647706014 956661190 17129030 246757628 837861682 314214396 838715074 481112072 954675176 181865398 978915610 76048692 144586492 440219164 347124864 60910928 52778038 684883780 591992650 220585410 521581980 449977456 260988704 334339788 97129350 691922246 384504508 98828180 306493398 715836442 242366350 374751182 312877422 555189354 738846740 831736648 593453704 962564816 407324556 165540298 521368548 839865006 727427660 584814748 421509580 496449374 264769312 56691820 262640814 929993126 452109156 686467900 685819832 586550330 678953390 683284712 790104528 931664132 207779702 480346180 828558528 432828380 879723720 372634238 535249788 481747862 278460954 251784950 503455176 539462206 902352886 359004126 847105480 830164244 625917288 82955716 475160782 576977552 939046950 870060660 294608056 957881816 574578826 114486072 707987856 524441430 525404764 373332494 882764630 479580164 9467102 13917350 528452346 841159264 520324688 898231754 620510326 161598680 489604894 887238194 815894840 440396790 716908470 376506394 220326192 983706220 277253520 811207474 344451778 741380116 886834706 195963104 64658690 71147374 853077784 66638810 310140026 214722042 949186974 866556468 544630054 938583870 119202936 706877766 262520854 81069760 327116818 254007502 175364016 869730260 265286558 445448764 752865058 920339066 885197198 401484322 860520928 50880740 221995302 752654654 795879568 989476592 782181652 393653520 123380830 315773002 649944252 358863760 922352252 58806774 20922324 830379156 711925468 575036074 858069198 544787288 455850292 623921126 413703828 920965520 807146486 622684716 193925362 495967994 844104466 145590598 893404750 77996780 847976748 226414166 111367036 410881226 509669948 152322772 830311690 411493262 644359034 455065500 393772396 58039772 258356408 788102396 348159082 904190772 630127666 698227202 140313116 191792702 462257938 456150648 336170712 800527148 951020596 408193794 272132986 370374082 213993040 708256458 826920164 249882320 548638268 126453636 371160170 68619862 344103770 629722942 938317358 242574624 532737920 674216652 238522224 696215676 377912528 516837942 615627268 268399294 411847942 504575254 298574784 982660638 990528346 934022372 928999520 574490448 356957050 621072342 89033222 477998690 511621976 519978620 983785018 101200668 668938044 818207552 969101984 392585922 885857504 185027818 170158564 341164494 71434866 582816288 830242136 144623084 214480586 520746424 424030022 777340024 998091900 204576206 273176538 320865812 881022160 491720250 472013076 848618004 682276126 290489594 350527018 249529194 371105354 885673900 208338842 195571726 683022040 561791030 365832950 440178850 464475502 353577418 608258110 970537848 558570746 645443176 626098216 334749736 225162614 222004086 413681374 8375858 108643352 568914956 169619506 321626020 575686696 125619914 48334528 315163272 228482318 401790292 333437376 610852698 784478482 618816940 88050300 364669084 805999982 129620026 598239588 849792104 812011020 630000514 245047030 419894358 376582516 447137320 402325454 344984606 613421640 976558718 482693908 954072328 168467088 816572996 544652158 45591090 594483770 483872066 351863362 556377764 332185048 402508350 911847144 549355970 733232208 518690928 817539724 153165766 57557682 524411018 622933340 928510626 545027398 870104906 72391578 244985348 31072772 987895968 457090746 805727144 461751900 113854508 928180410 203204840 523145980 640989534 308035376 613594696 320780458 947161464 262055174 380354006 47147692 978027704 68123472 980270954 773843550 674186370 404640834 917766070 86007286 616049264 467474280 184595324 137525276 868584398 519298824 631552600 439377960 367441824 631570580 93822846 447553186 654175544 901190314 514131980 152651460 863514336 164050520 597876784 813669588 773075928 991478258 207914724 195127698 180293650 338551496 716487488 22495832 138484926 242575658 818311582 749171512 149342118 131021502 651929312 565249092 320174588 43416390 743745808 162121662 827187138 543483138 980703156 519867376 161948856 659889732 436537256 803690602 78078628 583833230 476915986 987955966 481818152 945575172 15954284 809082866 582869978 444670564 903081630 810594102 419279998 491426810 26113496 357729804 615542106 564334196 567514612 616600964 697540802 14244394 890128254 5652936 608318516 649846366 224051948 393703182 868694646 695428578 953277192 183526792 107214814 103963286 355721362 856200106 708727104 776118036 732974462 422854226 412015004 988761932 98522802 456852994 414325856 273010106 193598794 148312100 470638584 513542476 550906180 839222090 973591144 824001058 328027952 613024832 759106196 412619246 211486758 125805560 583208890 375528150 792440832 741234930 951680214 288057842 681530102 108029308 712979500 106969160 559728202 878569384 710385282 758793552 753560408 648841630 653898172 451671692 554852114 978590762 438698000 337843112 647999666 11118014 611342812 556108412 574555526 987530632 637709064 791183090 523650112 363314364 948514496 859809912 60551272 739116408 195836642 18808694 213953286 312594972 32678100 168824398 37780016 611866762 53587586 289906856 566401492 914306556 806619912 353298390 952433466 693167822 622949030 679953744 705804592 15161274 406546892 850391798 410482406 590526946 456524692 618521152 259832726 437389620 538465740 519739530 328887642 461583586 503434382 470316048 874674502 142603896 460498130 303424170 54769578 886928220 268960202 763754810 419624996 364819800 182787158 872506254 716370488 274600606 732272234 36048582 668180064 614585552 830740502 626351180 239220966 805412482 639982162 881067614 300883840 475775294 160567716 897729982 711609068 797023310 520919060 786345404 908205360 583328202 12645726 473213204 191130570 869070998 441294606 398766054 9913870 342512356 31750614 91267744 179943668 200642396 742633366 430671258 496768244 919787632 468264852 468310468 476922350 618833146 733089200 309613470 858477982 364517598 161025142 723572836 494048996 309076516 335680690 894543924 155025464 49430106 937267428 248279646 935892602 907742604 214998760 880444030 315346478 582434210 587213792 613931752 620330030 193849244 79798696 442604210 675174420 288905150 547833170 431778858 856671006 784479834 46300744 830378142 836314522 762239554 685881442 417607650 631645078 272341470 68168296 717752344 41115270 981701494 341234064 401198782 961321302 883667198 343885092 784394202 321907906 835442072 640678998 604562754 714830886 993344684 344471242 796691534 151652278 31367342 807178048 821101646 465396680 997448948 803492750 763413860 460964438 94622378 593566036 589297400 200728974 971484844 169927598 812810780 219481090 409395066 503503070 510387962 627889928 22217632 642241934 460462912 512533160 911757654 955130510 905140620 819502154 303953600 71564738 253613470 246796756 337047950 621106584 140833774 451581734 858513138 304102694 948795872 278872774 562127416 748796490 264333424 110088528 294116504 816188560 820713390 318751230 384658566 365807508 848891872 370897840 979696544 308883980 782739960 71574706 630830776 200583700 274520782 565664916 730272266 75943578 390225042 114085162 157320498 642504172 675957526 684870812 364445904 309946104 618635398 791664062 961160928 902362734 426985176 49684846 71580952 787285080 252520332 66845146 180668826 223320694 285824472 67253290 637050560 270725234 441398162 303860866 843145848 233767302 526291894 241554324 548297708 523472964 44408142 796186198 318539054 333902422 528440074 764543076 159368076 58740900 167990062 88947702 840996138 377530728 845786350 355560032 220086354 674820702 996391982 815926018 693302942 414872276 567655764 235670042 76266968 550603810 732282346 181337918 621021672 386858346 528893254 551135502 856317944 618349476 731213062 999371220 396540904 869348228 713213064 979302846 582243962 183395040 291930036 606613016 995868682 594546894 197172682 853441694 305139546 975720592 46621336 17161778 68995550 404020426 943589270 94351898 470867100 361000856 421119646 301422950 131217820 970807994 545093478 171163026 745866202 784035628 940604436 630457386 104097826 163898970 214387992 901227770 527820286 655546050 879438134 623539748 769004816 943463610 511771786 899061250 327395264 844557522 210195276 407691036 229399634 284940026 157095168 94404088 698105924 324759220 925609990 560823508 137510616 585828272 120129546 922426890 228967604 727892758 444302298 39673888 687462532 47368132 719132674 490571670 116820004 325452396 216272840 616380366 720127418 255952006 256360574 927816876 618254440 279611186 506757658 246541376 233606678 111254922 786305964 141917084 54054874 343064848 30436304 864036456 498091154 127374570 491754214 168694594 406728680 703111656 856487250 985818316 114292890 313478344 601807856 954765902 717092610 681205132 606991830 710402238 639730558 932710848 863245126 54357310 630172096 577107166 601200064 674911886 285535560 691679756 44939898 48287974 65328480 158340004 795384476 106265896 700904352 784856188 550453804 330131638 39210332 698429064 175296362 425283176 757274088 376335094 699524070 603368204 605161408 969907324 380381908 863047298 274049018 607983046 148110782 749422356 889135200 946999478 440373672 256460326 501759424 208021920 580724254 436340178 750327476 305314690 505008384 199980072 889914084 501458584 449022698 67517380 453152042 167003262 214299278 636839666 268756682 863062130 140254784 722533968 72557776 759452584 230646202 128352390 422422876 858252590 593735906 130285962 945181934 868336406 62982332 248213768 817927478 951849844 2348262 594157602 77779624 856153790 791476128 474447310 511836680 609240766 977305154 492806664 554673306 376341934 505513296 877247226 913286878 777119760 59419732 260836396 581107792 669296948 670434412 37942034 311175164 305401586 875048508 815101236 127446454 727378768 258046230 754636132 61544688 12479770 526592334 710273662 15350508 356058564 972548626 706751576 257222080 12309108 305770730 671403710 344496342 681244076 68866126 420269400 869873860 928634932 395234988 466989002 529185936 489408954 657011800 437819498 965530906 68729826 110076950 566529346 707310442 883212112 353043174 402051610 685076968 355818580 294742636 424646592 610882044 561841160 591043862 580301938 702728666 596177244 395113128 839276386 886873170 829369584 225297588 502037000 518651784 288329260 521622340 154859832 220579848 185012018 424685702 489963286 447399906 293647148 545217918 841131710 438721622 119443168 122226264 304196392 36163986 106743824 182025678 390823822 444516066 202115570 301069708 389456698 309083998 573245214 193665340 740830786 267636790 690698782 72280802 22077360 587123628 214134140 539392674 42523020 764744960 370814312 683345246 296485914 468232478 636456070 200782612 314781100 113846824 253878328 710860066 938263120 316461864 287865984 811163982 26444344 396646626 84257136 642142992 375043208 607425948 758158442 553843094 997319566 337390744 797756838 316581742 300161688 605951886 6739800 733744784 486895866 323827694 897039168 542895214 911970934 348643804 326099198 211996202 295958964 136153556 818051594 922934548 511871438 843209404 852054460 252510224 915191722 426434998 280128822 942986222 75796176 436106182 468364454 484345600 102541986 266047518 723981434 657773080 707349538 445609964 732697626 692132152 94666954 133815778 369523252 389592240 777021968 85109406 922912362 84136468 897980698 440260172 55216652 506920456 411483170 940179968 236871972 879485468 127573228 973470946 820610644 271057208 582881414 324464402 575828300 487404906 350517718 728846556 157002226 263620014 712005862 988993078 25635326 733186604 671659456 422492116 512103410 299446166 724047102 498105286 132611976 761656706 358191682 893794794 220478506 439608532 766805954 922599278 377442700 904314014 87723836 795845190 679704916 741952498 935108496 696868744 466562800 585249148 41725242 800973274 561990286 149135442 43900500 284485462 23431580 476330868 761680518 809981390 485093828 679901420 371221510 472120010 556401596 885689060 457952594 15624468 550210438 104074424 598443534 275756984 289461838 167664768 764956302 29636104 104868578 484406966 904415574 98372618 85791358 379193470 20368100 174246176 342799452 877703306 795010866 21138146 599154436 981532526 499105366 182929586 822137558 75739884 797108556 325344438 574944078 729166510 861493302 540019406 783735232 218238132 235777178 672687526 478753164 139237068 237706312 485009848 544238886 519973994 693356970 955926636 838504670 202696888 246904320 674433534 586311832 304330882 912690762 216885178 594229030 996129120 53625374 754969998 443730850 429272022 118950300 878461162 186330030 629736766 864967506 360619670 525243624 532778724 532506796 248976966 296447116 843496946 913657684 30588478 198515340 508569408 86879046 641730120 884477562 746542076 390098316 625046682 432023530 101361530 140261676 169583680 507987556 866750638 513501314 88008914 679842608 664690150 474335380 997650856 175031730 506172298 213262842 930200122 579053712 202522244 128508922 870881804 802378092 700051582 795600520 729338682 572977002 323198858 680768860 819918982 36460996 771157720 741724842 13564810 329516610 499362298 374086718 309629334 392850352 369526608 580165428 836727506 123227336 413110582 728718582 797382624 568381360 707902226 48582590 559916878 61675380 466792538 975060036 877080758 258451360 901131330 747424708 38612036 610652478 903292192 307400582 93299228 452429804 727339646 841383962 423411062 526262604 188045052 73784786 142349896 572451024 849840048 958319252 857729416 309870052 888774470 619394058 715891432 934796440 923923862 837140210 5494112 13134188 36269102 898969478 546320658 215683922 905644160 582473550 424573892 816707942 261248052 671884818 380703950 301213842 137409896 829845562 399704414 623765440 78905856 496314846 133383738 69872576 861924840 313494946 826865070 68132544 118256658 189044374 235824344 9386752 216662480 580700294 797139588 270193048 974958916 432755598 676862876 819055630 151966440 110081620 377331832 242417022 548400518 126812932 967239608 88454656 560206362 968751738 30143894 909341488 980408594 741993008 618310286 807916676 650794214 681810944 960065666 885328142 516485544 34826304 532088656 535662140 553580524 607178204 218233006 33901766 657331062 817419208 975227112 684011718 109168900 22307378 444660462 206036042 833732232 150288966 223817578 558985428 167581016 281037068 45707246 545971436 851685814 276236490 926871326 965261038 850811640 945389150 332580498 621065074 596002124 880108710 672548330 27234316 231444936 32618992 459830954 635028266 461772766 453223470 484343780 236170954 961232256 319867306 286716274 375647068 588553018 473859774 291109366 529632230 948232274 447933308 204102072 998765564 335388050 82787208 450718842 196386524 765998310 531280294 536065542 264228780 779728640 200860658 426083498 476107686 236713716 264137362 375711688 42634604 571700556 79971850 209046558 706629894 110018978 422512078 180895330 55538060 254674656 999187492 880074244 425302914 60559678 418720546 883619902 347221340 502446118 169985818 583308448 33602814 794633514 226961704 723850272 295233404 132563360 685410914 853694440 927375374 455077002 878514588 5265116 609850336 414974376 629206826 29046822 554761068 201663430 445760590 815682830 777984442 770769898 333680362 798380982 580827286 834875240 594807662 743235736 461834676 812549734 651916558 781094626 34896778 818862598 282775446 432425544 166939646 969850314 808144406 509062612 885235120 347807734 579562152 357112710 628316850 679734990 768684954 19473384 818797016 263252598 811297358 771665052 714712890 48539908 45151840 77326898 500981530 494643128 549367884 193472484 259477954 534612332 285350396 124027876 641891816 353232868 310516126 692507284 916760260 306086256 254404702 893559732 23780192 680668590 659516704 771786124 91524606 168342144 262930162 179519040 722956336 759885360 958159188 760301324 448238898 591080602 703712054 42325908 385971930 86028322 231077092 626777258 794243358 252825996 826954342 385396508 270816674 528694820 842386658 653091278 270275588 595297346 114794188 573718784 112381144 989724330 862302420 47521660 964275682 396593956 805368488 487927106 109023798 73527750 207174496 944724592 240996276 144460656 439285806 216184022 194026196 631537420 664091540 87912884 10748174 776677738 90184416 928216488 58486394 519296466 323687360 828611730 591325688 339373552 397354478 861980624 487633988 18985082 388992274 640633542 641068208 649286104 27789532 425287556 771599830 360545162 402165178 262187362 234304006 79339062 1067892 112938982 917023176 331443870 644941568 357228044 657473600 914151582 80945346 42220396 861263790 866265162 294469398 790886892 825414502 118198986 108378212 388004718 511797006 65322976 905498626 144494220 941588368 991861312 514715098 492280602 690153584 894462746 9040766 45043228 952150558 676252082 371920660 584548146 954276422 379442114 986575642 318773852 522214196 770058430 567567546 614509730 838735082 869844908 492108302 157506304 35277942 935027044 593366802 696325720 526883040 591526002 238936232 715645146 985712864 924549710 220561342 918394662 754679954 456552666 368686704 900364364 486784780 897638358 966018204 70661830 719327174 56866314 724192606 742809096 455301112 462358580 495209182 74042374 919616318 165326148 920979042 119377120 144760972 831502768 459724828 284609166 534645926 165607918 389771482 607562692 655945874 784425858 744872696 934503842 887868228 123516882 147150372 159700404 811890458 898863374 54728112 410162190 568805508 820221050 915873306 597037244 598498916 902635738 397715728 235601510 815736184 761697234 915443108 38703804 915120218 106444352 36519512 593809562 6244534 707571042 103101800 912733032 994465268 561854464 589856580 905027260 674563862 608018218 452434482 699722398 718323204 934245492 212015698 433111110 82247968 559799326 583359666 410399720 658082858 670536952 866807644 880085982 239598422 714453440 172572608 165050248 618916264 338566196 612555256 566375894 513682982 358731368 7982450 923101444 474949846 984489340 211389836 624352294 312714462 504390796 229897486 244875556 572207434 142050928 60477792 548645534 587445924 908762886 637769906 489627674 715023712 377628624 483889740 208071664 319783472 414102436 694241646 814607504 845093582 651128724 813043112 936590684 87728938 993534566 370939846 494844876 26511126 739325854 614540062 609205270 865529262 21672584 795664982 810720868 38040952 242075410 975518290 161514788 806554258 699193310 940689362 583800170 931976204 780679182 129027490 348023070 915290078 482616848 368104656 92808522 986451022 430292542 239094134 946892910 816590740 488205954 153718366 580043888 693834176 605246090 529655666 50806214 765408724 554197260 863645120 728429438 880566284 621404066 655971374 485713426 157796166 858742242 390097100 107448572 890237018 152067706 292152662 72813966 486870618 991954944 898947252 683188312 253166116 558515196 675260146 622747144 657675430 782914678 861478882 214152914 678673306 841522082 512053878 438402814 537236878 304742340 844285166 149191582 617890470 946225164 328298296 351426108 480473944 474180988 718497474 223826686 140709758 498763114 39865086 711451752 224950876 46643068 51677914 973511486 144795612 435764214 900249752 749831754 582426156 768933450 390007250 234094016 741221552 868615206 469202674 145134114 388078858 620466196 672059856 430814278 305792490 267247840 179021764 205082270 104112934 76364322 854911218 493550476 174571902 853246732 449627936 41008648 287256424 776558780 102628656 671315804 238062298 127729876 938243452 859738348 455971030 201602634 356056982 476265490 502471658 998853962 347978692 685273444 289898472 17475018 97675348 253816704 309060868 90127412 203642944 76512378 130643836 122492056 332599460 350369710 682976120 459728412 392241616 586659648 597663072 645542800 959557064 423779060 702629862 548759638 428875128 292343952 475902094 534798312 883490254 681057452 863149444 222345938 523660328 616056198 630907164 295210226 945280796 474972630 800819316 175930302 573278970 252027244 738201482 96744976 155805434 912112994 408915492 811027168 226904332 546376788 566551334 516260912 159107246 158708202 854234878 551097390 89085502 111525654 604323856 606064908 762397942 877282266 225078726 431394940 610175300 285984220 317939434 795670256 821290324 311880732 924271878 67493038 270947658 645087042 882019128 534518744 880503126 460918100 593346640 860727012 500595952 470363386 382812296 575231676 364114156 682654390 84985728 461003700 692696076 593068110 847004830 144107886 831727832 753635096 955982980 87611226 484896646 499904798 355139094 537455826 711675188 103915714 732763078 346404782 936161224 579265054 372489696 155822932 708970472 107070828 395237770 509709408 112177500 179195680 111504400 152022268 84416162 927800840 39192254 7783690 705579198 188340446 375743838 833322646 914761108 177125258 830305902 194380664 550636062 839685782 953471240 380890418 890312804 78086660 114774282 49481942 23254804 432887198 187746470 744502714 266169110 416341494 164375204 967509208 182997656 280951740 172281142 867919730 439796510 826142344 714887332 33223884 309006328 725128004 834002746 981498612 603159390 562172066 864492042 584578688 219051498 348952412 437893912 36981932 968024684 629937960 779852140 366485184 678743216 391326658 310787648 554098400 621654876 273350862 23716746 824323070 420519308 262669712 252719986 12298368 525516088 970897162 624186606 490604884 4148994 860276758 968211322 38187848 34323792 825582776 352200626 324856644 525242368 652141412 155249028 844229590 2546498 992628482 523685546 142361968 711133694 341497434 897044850 502447294 180029914 591996628 815222848 261071316 548191560 581941416 778103492 364315618 990927046 49952046 539530272 891178982 36845890 201622958 992373490 400597972 26533822 547204060 730255304 534316830 550089662 479026458 710503360 141782684 310817202 485069422 691990312 864133270 448624824 758149882 721100116 750859812 874075796 56413674 636341686 103842472 136021232 580866066 11170062 922465266 782307864 936997348 840464636 862448324 999739126 791306638 197620386 381612614 505214584 714361614 802373766 821561914 773985874 152157274 124493520 859825620 173342376 176544800 570669722 895988946 743776282 234167180 873121528 648867344 585582786 890374060 136932186 29496478 444968920 829591834 951618286 706615498 574370822 476063928 637186242 725965538 888656318 668435780 785855524 24330890 822403556 283930460 570260456 134039086 417595108 859437114 870639840 658081872 859115646 705126108 470302942 733321626 145077926 961254130 663607874 370277934 435262158 422836720 360117978 188292018 369498880 354139722 32344932 774637824 46152112 245682890 112864758 527328722 465904088 475389466 525760106 824421744 716072824 935421114 119349548 151315126 927489964 430731578 629178592 378010178 360651126 983973180 160079910 49306278 188695264 639629902 517257360 621175350 762840938 418706916 160106126 56303930 325749418 613654068 372135108 290082292 124003524 674585760 883935884 284912752 316379418 489520956 344917542 968104806 98634774 21363492 803083494 358064130 106373316 757552232 484087256 330508582 4380790 403333022 88384624 21596790 780576886 811610688 219886826 718803236 973561840 659855842 290801130 465751214 814686504 953963924 552896304 466143716 702404972 242410828 153908470 26416878 44369908 3723334 933127086 50046072 851865036 739105024 736154488 636869638 221412874 767098518 940275958 589993240 920633712 936165550 246453260 729413480 791058796 315368758 301267974 843630482 985806902 475407160 165798214 407358228 114935014 142005130 778247288 769431764 47167556 218100988 994755292 544440610 325206458 312264272 249344408 523971034 139545922 37420246 805466406 911489104 305685606 517059986 896869204 655216854 355362510 719538700 610507066 180058702 906010760 35133120 227260950 958024002 507320650 537482838 799891178 915670516 591890412 672275512 516751204 651304898 123744580 974682428 952465960 952397204 47277934 382615344 859358062 207928092 579691670 663225278 529667324 976404840 735551240 240226926 425554564 126931668 682094910 835372762 193926274 328702014 635964688 591697358 547995758 38656274 708571254 330422206 573524340 623655936 616287516 36203772 482999952 834730480 197867714 433720922 565186478 997261070 429480712 782313266 813209024 754559518 892500620 191177078 679703910 736575694 705413256 520288660 6823644 180192112 503121866 997531986 638583090 402982818 713421238 24729462 807075550 619969732 67156502 799421638 924446372 216203302 292024130 692712010 177828684 719227300 764533160 900050306 503921138 148536302 364854370 548222306 689509570 702525130 943351410 285114176 938826882 414290310 708897154 985352334 253535160 912948486 516436944 777491342 729772652 355196660 952778114 935025424 972688334 811858080 690073086 58596368 351004994 131245718 596279420 72531402 963501480 790131384 780252802 350205338 724381042 222196328 865006612 915962418 740009946 411624280 408319024 626688794 566919738 220736010 519872092 376534674 598901696 906211476 965922342 719057396 165050552 296198334 823047222 739189814 991530476 14353332 281112240 171527122 674077572 699973028 243432428 989499230 799264992 324303428 750157788 63435182 995999584 800815726 857588666 28960284 142361630 109760838 885061828 6168906 966402914 310904076 281127636 642899582 976278430 807300668 310855172 276959332 470582596 515771002 467994334 664783212 814311672 781377598 938991280 253917390 711296484 984050020 11602266 668720324 441617708 242223070 574030040 276427316 435271212 465008366 433287124 444233886 934145670 348015016 902606132 783541430 210467654 691907414 853780416 130361668 103637102 563033696 105816712 450935702 366469552 885860192 166877878 522858636 177509928 921649788 510427402 694874590 238798758 472416484 930864108 914833428 648902532 471521776 637864508 632087118 692592348 832068976 237692592 383415904 695359186 744749484 457768542 560602340 654848444 19768424 281159242 417852508 233339554 509819342 882830976 11985128 294783336 3348616 722973606 939857778 401045058 125688596 939158892 454906462 533544466 39401090 298597148 343887608 962864086 115041208 831123320 862836914 44865654 567955660 327883996 349932724 783208606 986841458 584206014 947012680 356756414 602421894 287411850 203949244 162641182 459740538 562235058 13463402 364085820 468790496 58314306 601280296 165575012 754943012 833745162 453695480 287104118 20917736 271213354 556067286 507634544 15987122 710376778 436828664 755657552 441401382 919577006 476807022 137001878 771221912 524641124 567697414 333465954 316814630 940333144 877403706 371778062 744779164 775552190 179639516 283071760 423781866 56054192 512739146 112736262 971451998 875561496 536931978 11882166 422433456 947396274 795197922 178991632 965574158 446572732 995576912 44812852 114346884 272283494 20847140 236877248 685211978 920515832 747905376 821036726 890650710 758054394 399312360 516614552 541741802 708179282 26385224 133864956 513730792 394051372 839533150 47975448 947780916 555727760 563907584 722343526 745310726 494978800 272765116 243817402 263721100 585164786 787539198 775587618 829761108 662197468 484712138 698157126 435721850 541388296 323175010 682100396 902581140 18685634 946308118 740047016 741073962 159300750 638044658 270804156 982399206 931298546 446444712 512214620 64572030 105146930 73583436 909419910 635509890 867890902 459035260 301524758 115211432 881403292 4781888 213725484 180322342 234591476 850235890 528163888 365390076 275059578 545943926 489172082 272393494 939083610 114933796 864470460 190789778 31390214 13861404 690226438 14069416 931913016 739677076 785155818 63601366 353839510 697065026 879561780 65211240 694194656 209641564 137558158 409844254 736166102 332726868 451047332 190834082 9465604 605806904 424580680 304480154 891827480 95041704 324938592 577165638 285259114 753349714 244570674 442296574 394582996 454440572 374175528 488005330 293449982 460693970 283629706 418645836 12073922 448462058 240177176 62513514 488281358 460217476 62122464 52797968 730484632 96207650 785715250 490418956 253893678 109505416 431592082 742751308 14955418 567775398 255977412 49810004 415050036 880725380 891900018 371626888 127471878 439136958 432353714 467725136 953126440 107350948 339162632 749405368 290858176 398228572 589191600 823071180 225620342 513194068 498630442 235842626 245702500 649004680 834046068 423509756 978733746 434249296 91138772 332941118 440003822 710971938 972833586 577753182 449888152 29937122 733276306 267437598 12148706 71490630 211175328 948909898 523835200 326316212 15037240 983925662 820967132 854722312 465921796 832294438 366440318 789313052 36865888 337980398 324976958 478221060 965560896 976377250 78413392 533498042 96693478 171936774 10613792 882394528 590714064 29965578 973203674 320347786 915498554 546343218 6615148 564113592 685572680 381439304 487736486 303532848 57176126 316586634 279986786 725768690 641310764 20760848 362003404 443493474 526181748 115661860 569501998 815367452 461250906 712710660 827910950 305854326 804524826 729793028 483998762 95363216 975694428 942354810 147406422 526533876 909816354 604166262 260922190 50416426 162442810 640943828 990389356 391294472 329712204 848481380 519785892 435166936 969928380 647572570 325684576 596394912 391622500 747854696 789471450 900949188 711294148 487513176 610110752 309022214 885108606 372424100 321544162 115974186 65363076 105660660 225868542 651044000 382734470 897561578 227275552 883073104 242730180 70790288 375933944 902220236 969587358 670488264 713510068 124042694 827312572 733926446 556809596 325492550 323609492 726079024 455379678 500865930 60035136 840710082 419336948 640080842 468100546 500575998 279744648 615510810 442787984 643349966 483483848 427037174 488998014 801819324 566290764 222104094 752704896 113553416 205450354 321806440 234552882 150464040 594447862 972960906 111170042 427105362 323128890 830843480 293882344 881912220 820117538 857712578 854501546 11809198 220323728 112199676 232388136 358084160 372026388 401079918 689923976 349657558 325137766 935399542 16367552 374431254 316656060 993260564 120569472 973605126 94415834 95848918 613993788 20774582 557156554 587606282 735597004 708018826 119602284 904118012 389612548 577205198 118325114 812583482 116067210 388294594 576832770 889246082 448044800 721193966 238134708 65950104 60452642 310963532 389583268 420668878 185448854 712914916 421991158 623213636 272879990 347459256 338562172 244413462 902666778 854003824 41340408 724408962 676054256 377892032 957717462 484773530 171519424 863494206 681935066 47636996 303987030 952104230 91619528 822711980 904076370 388760318 266167750 580197182 901080410 457050396 291619780 120783598 636350596 553980662 419876040 607531048 164540904 603632732 269188724 798166356 98892264 911641732 117214586 248595700 343276162 502847178 978970538 497470798 54143974 632630686 389379364 534875052 258936512 454053168 798301882 114896560 16172162 301291380 40866226 924988638 548022072 59490726 322456334 587757882 204668346 34868610 449343858 686600906 600469560 250031068 400479628 548439676 318080938 882752482 27500818 903589886 904310190 36395446 466026098 13652360 536787286 688331182 533372594 796271600 922772364 119082522 596867776 909874848 677643274 733061150 823020808 907456574 500538772 762954460 790471650 435850688 572249578 301162224 165647222 499376274 79461110 313336606 844374306 77955080 94438594 919084270 996434858 672575492 877975512 628215408 449645140 533881260 364328746 212771292 70591620 758158934 751110932 586027850 33857460 485547578 961566940 283975648 605260386 441796330 924920016 772404342 287666150 373071164 10414606 465558386 355249604 495755732 637604846 850168342 383128034 363782964 7416956 110778252 923056246 298043082 414222134 700484746 767807382 886460208 304324698 820571696 338164838 388658430 130813870 452656732 193804810 96557716 269811852 839124598 174841450 999942342 207417972 722097880 668318900 773937108 587893126 581972024 100445648 364590470 286542380 655539490 417237468 415564750 821113152 810648042 628856290 252946216 446761054 675370616 188401110 731319898 410845268 321385170 853700016 595841218 875656598 579634244 834699364 903381080 943175140 540989782 200105452 61795466 515109010 880346654 346108732 914695352 933702988 45040690 120382056 876080024 453371204 431842766 419491462 183424864 195904538 844835460 583830890 330232246 886655464 314904540 963594832 289509470 939761870 273903834 856362986 810373316 240301212 425022214 639436808 859017224 772510870 419927398 505900486 396770130 765446034 207034092 959485000 177695220 282781422 353690844 323991474 316332002 644640378 492849286 974903926 880228928 538678458 89038002 685089630 736988376 744281800 92901040 702673134 608242102 978875074 33427942 701298752 925356686 525849350 188033320 271794964 260777722 553497454 307402886 679988460 253156368 461674476 310614702 558904274 624595536 30419416 517195066 82538628 825007188 224240732 296890946 151674622 918070894 104874632 32350402 776558164 302482228 768427290 300177684 316815880 511935074 214002000 836834232 782200410 887620932 407101298 520832656 917637916 784083200 525687382 876267942 611426020 113435314 953648254 5610622 318069390 428569568 718919416 402120328 829006426 334629890 147385350 990647948 707615270 140617856 907688438 151871092 107435310 787034130 774017486 550474650 538748230 660904924 361671084 667910794 583555714 797775732 672109788 474858740 753322086 860935032 833173358 773450980 921561156 830949552 124045702 624890634 778629652 311417154 85185150 285491342 769282646 528836778 541066664 898556832 792231162 981146778 594375778 164767584 821226314 276479530 443519154 582815904 196589188 697746680 746693688 960835164 919180090 82790578 966057092 833228798 354993408 926344644 686989610 217405686 48574398 994811086 322794076 678133828 475651978 20127926 567329106 361366280 577741296 406478850 368052152 121383622 254114394 916438924 965048814 666426110 385624790 916576598 922398894 673327464 7472112 505556068 859942488 858010724 848368324 271165798 539455406 11191474 108019862 161002304 238208118 167752466 866991204 492106990 327255998 547650346 949760210 732740388 766786412 160583138 606356564 858380054 40104496 613201756 373694568 288923898 625337278 270538628 877831020 254776988 914425130 303597656 421670036 167886904 799828172 727122956 894769726 362945402 586417202 206298188 624935228 154324438 216244650 576364538 452071162 50311898 708471172 811536298 350854466 258840658 401938710 24572398 365557940 970573958 327643376 284715866 370159100 818037566 678500814 255899030 848345030 53535540 531168660 357769140 565416292 630486084 413459844 785266882 137950392 304707128 190288720 943576074 556290442 475899772 700987890 210689368 622512214 597872650 489067878 779283146 494024790 785502154 143342410 263654142 226499576 199643554 98049242 237773194 873338636 913427582 676177288 456636130 981493256 948045144 98134946 582454792 396222068 415584888 744674338 826541660 693133646 249690872 260501494 962740108 41360418 290574392 971643798 612987156 746520240 17159104 412725504 23376992 996325548 7215592 139723308 326481848 678271854 151820194 477273074 980665734 160802298 28193886 652669694 505497106 774893750 895349366 997712052 185248538 347610014 527206098 975669552 865835866 949868444 412185006 61587842 822339550 282246610 771780458 186857402 340270292 648710374 502684082 738180920 899438014 428884338 992724356 861851414 633458094 319924390 714549062 167334242 822853038 938883842 836583268 827934404 802982592 423626396 259706552 764472636 470051812 515100912 597272488 484626226 269934864 663456248 294891744 987727064 521916874 577965836 286898048 709419428 660582592 437928398 702367776 732334570 299369388 166600622 297390630 490346732 62142440 455080282 10998682 243733168 197470876 558025110 902610052 913744630 310978300 633699044 641098756 253003288 709554898 498380398 889787114 743566920 357531738 222194558 201138908 85208310 910815082 148406864 10110922 770918168 981454538 47861000 95415538 494925954 127722362 160858372 90896042 498688788 989111512 669435076 141218816 212083894 168032416 245547960 822893624 786009554 438800088 758165702 927832778 934827542 697473360 416062966 924898014 983476294 971069184 54767890 832724256 195361788 417543144 749707248 945463024 392933342 410087648 391832530 537095048 177669202 933949478 243064442 21847728 214339032 461496752 713030708 202446870 16065092 176472210 524712678 480755054 834712142 759974978 961684516 541667084 313995280 256832298 754411318 296656674 175250114 673237656 622936866 407531788 674454736 143203156 278754294 892900090 40947420 980188688 370360226 603851058 444731470 483454912 404205788 773108272 278760716 208175376 391040644 155349398 751878066 955454104 835803522 17831996 555232198 308080876 465936466 766477318 180231396 206726814 53614988 229191888 600714226 468017356 934625686 621573158 1473632 202542194 184846914 683958424 363305566 556422556 392242020 339703568 707338448 679017362 389651486 125928828 574832326 318152708 402269498 839869842 814386596 298167034 139515004 64329538 328007412 581187252 554555896 884082742 658234146 456082230 352412948 425137340 55123178 488237848 931206684 766333250 445328510 269125250 159380568 998606396 248639762 475770546 555428362 452162450 195939152 509142736 316696612 662385186 667209648 538828902 440476502 74030928 65414688 946787156 741752388 706176454 678693144 905585722 142846678 932634984 610023930 360822108 153114636 652474570 849996370 96016330 927925106 228012088 457908930 694837472 234222928 495820666 518960432 291771846 854239890 819782896 368128034 118687128 721110016 515640780 736291794 767959416 605245834 704639404 920912868 333698506 873172244 544053416 772841672 639757786 587373608 888312774 342067076 797970614 447510584 564385408 789879166 26834864 32436724 230245972 988102464 228373714 67886038 336486114 622883472 959948118 468029720 93686780 755072272 31180020 904895616 412463344 268437282 308147412 764175394 443129220 554112982 513729470 9232310 640891382 875589046 919595620 300036838 388853664 797086298 796791052 569915056 852183788 567680560 493853370 442314368 355101204 436210128 562370048 804475296 79317244 166416558 26967418 14269414 187554206 5236784 995803712 24520546 44091626 522985114 584541738 700787878 126804592 574993784 102806536 149551056 379278802 914225168 877839776 561537998 296739000 397279366 944051520 376464720 549406276 169063538 658962232 363564324 211038574 599579854 648380540 160918500 532827438 755386256 217487588 637684206 907720030 761480616 549797110 98595850 91188174 636994894 531236284 665235338 164275606 448161984 578575784 769572564 417606584 714237098 985787180 824262384 477511250 727191004 646778430 703565798 908679432 31033984 452113498 562758738 666831332 210403916 660626764 399403210 385613212 903526678 603662338 462866038 655797708 647902402 345485342 565727508 35440554 331110656 214282750 243467900 239529784 959685556 260737010 904586942 117752058 312025112 485361114 710072948 525264318 335251188 530969538 104364294 953570384 698279002 737420652 355536798 885820730 54669012 267200234 416970502 745037274 946985334 393605662 457671260 414055586 743423972 912210604 783258574 730674402 777552190 788366746 171481500 481303194 808291378 377010392 105853854 174248580 249919530 880019334 780137458 304212076 778750182 300834710 572246338 734850468 933793568 332016898 393391978 193542946 978992604 600364540 658978814 798181898 483372862 41924378 497520080 643379886 215449988 308243198 979715668 451203418 336647992 843756100 816173008 980730180 142183350 664074338 928135704 561919302 818911984 48765988 670911318 779291248 688336074 106839828 871701680 647690970 780825584 924394852 354086200 977983698 952693434 211793684 848688508 784443130 520923720 195716034 259463382 928570424 966768152 353845234 898563306 866455212 931671158 625936204 300780214 466975132 40939534 617860024 651166360 195715898 469796088 449983998 135841278 441606112 617650666 64866954 424129376 345752226 502279886 915760316 436589488 871075322 859901616 306417390 69854408 849729338 954496898 853647646 648585296 53808104 71775750 634273546 504404 850478544 944999786 404310112 299607080 268294604 573790118 489084702 821969928 911115398 542814694 90434790 510417586 820973314 59864752 845807852 834040404 73849282 248067836 759177904 356446950 846384472 30668066 602974208 373320714 361229982 39618030 945662548 729021014 393908692 41889616 160472674 153102902 480414928 691826020 475013686 312663836 443602774 836592140 191371694 919449908 847894444 928654578 143614710 964416022 891708746 856579512 859415406 219785794 687196012 321486690 524860314 101583724 678767632 785314536 329014092 563620486 193431352 486989846 766029640 284360282 72880354 424078006 996869394 517704128 887686254 678419562 680909760 620019668 835540908 543162482 200588442 545616124 719695824 620589188 848769972 409778524 350517522 924608152 949009704 143272006 264864668 510676518 563611446 561380902 969980070 956896484 460847766 845156984 108682218 986590518 882119568 430607150 300391818 88022382 273157588 491005390 197492876 571086126 627035580 420931874 96930256 568513232 752136204 248291270 535789362 884411862 184038688 119146256 465109310 825088664 994041424 870704268 317545762 576549166 554843752 342037946 24949338 878381560 209610764 14409894 348162392 243210584 571912632 520851982 124723168 620934280 215605544 611634166 338320834 11602470 702669678 386779740 123237776 240003722 503539316 565231712 651182814 125958738 572220604 252249994 497100516 281821092 751904070 550062022 973378350 911220556 443991872 336091150 883936854 668363686 309758996 934893996 260208436 746217372 728316298 762689862 622127860 829443360 217814338 311108962 331947874 169556836 985587090 701320530 798192716 371637346 288906422 574957480 988361526 605108272 532167358 638842514 464861682 713429318 260970284 697579752 21310640 288898872 257969108 906161050 231574474 825740042 432470094 451206992 450547724 175570922 173683464 153561718 206955058 114756438 992920852 394882186 789664484 757311064 450548062 133573196 334245014 116573050 454544378 800590254 993298032 281552358 542669622 359874568 439284564 389595192 704155896 524422560 632079246 274462852 812655624 983338028 383157764 127111558 57520974 716882008 276623228 561995936 660909166 683648674 200407930 992109392 881104928 135475556 989647604 266376924 570694376 303811866 612575118 786695896 604772904 756224726 304208090 756627322 575045620 76587534 539190400 392943540 621346482 848702298 497765062 623258118 843735084 937059576 380104404 982617140 9678820 334172942 783101328 554808866 205512730 457635012 414636494 437351070 8344996 663567128 215064264 465106308 263078846 337737596 812722102 891550400 704977624 988955410 475540892 726583528 141356160 451478030 667831494 87052478 913244204 623774172 890759162 257858270 146583984 824789962 212996266 427435474 615560438 611922176 718240376 93122388 185023680 299021342 664616340 434970338 806557512 635591394 272179780 257765258 318838982 768274772 439307288 606819226 165411352 921241052 850450074 134954704 770113568 457732724 516946062 9863650 735736328 229649150 169609712 264348438 68627472 891418526 539735476 565481128 380306044 964117238 949448694 715352832 151698022 494585240 334677608 114141650 935603826 350855800 129226312 81257042 326974678 966099292 405502082 830820386 524951210 222000778 150783012 968002100 868074902 383574930 823209614 386050814 663953420 413720636 743302624 504889286 134050732 224546092 862718202 205626570 390104700 742223210 883165910 506489160 589729602 188156098 778405314 292293456 191743196 498042942 96524424 838952830 446696446 598606528 90420726 931728342 967301078 54585226 429037870 244778488 279040900 608644380 429169380 140741834 775153666 206968550 92870394 761106712 987900586 979912740 446517778 542147062 175289936 627186768 220501552 864118018 519522028 912443456 791067038 229663520 731914554 807476090 303046304 573479250 271645626 564606162 790973124 343365640 48523040 708737982 563667672 38309824 871678674 117282378 596575258 370206878 433384790 448067974 924188526 969353528 220323926 299643460 308636656 567299116 685235918 863187412 626970392 912637660 16057260 965247982 630116980 938212508 850866550 893816636 372370646 775757418 918206712 795464722 542508826 823456502 502409510 739266240 592527580 213711280 63463658 535776834 280530470 717683554 929539910 447645258 298884852 225910332 293105428 566251090 143742148 91845994 772056794 94563924 891643834 532242266 319428184 829311424 340517488 786979198 258130946 386869792 366190810 437186774 650884828 299684846 250517832 696232656 613318874 80146378 941031808 688211662 83620864 652200046 663788162 556405426 553095202 393584948 855610738 314094776 175390206 60016674 141101768 420595382 799211806 141537952 719874900 856809804 846946572 31255668 527483060 153168624 697035224 859466004 681819328 237788430 463773468 364882670 833520528 308120028 749087100 637034332 31665380 355691258 273423280 576643388 711738400 631064278 563329026 800559626 192898380 575461522 445632090 54874986 825728958 6633868 864339344 435721644 795670410 589962116 132453004 440536998 697271802 648110996 563850566 964819288 328953296 79023124 445066672 854899028 190369240 623530382 457798912 434718216 73500472 735019848 750551960 355156372 695964238 909675358 443293520 231300950 134206350 29210824 804326614 824792788 741817504 43774578 618400400 71905714 732533402 678363330 239843628 312713038 615405386 810030238 759365316 882264488 879870520 572115536 531843394 968948378 987858354 917296808 66496286 125954714 917374300 712360648 126012412 99312236 218267612 3490050 750138026 855429966 257883026 214813320 669698664 171471566 81254972 563620100 352417742 542238016 517325550 799002578 746154440 928477604 37868050 277311260 882497636 923654518 123497250 540203144 582732068 132539312 525007274 993163048 521272236 169590792 957383838 604032362 280473060 966438046 63294760 882766220 516186834 931885408 964779062 561272628 350354868 860448994 399820194 637602606 954808200 846985146 44491572 872281062 885305458 373384458 538365468 498832354 86327638 562479630 15333572 868763656 821502724 996050168 215717724 240416060 194423716 232193606 246928968 56930534 587442294 729914800 674307874 202579610 888724280 720939836 435840072 591853288 443538140 317930370 353487180 42229560 783395596 851408690 638823752 327745152 761651886 659610242 167445010 911691152 532575314 467893928 958948212 57820090 942494650 141321690 203202676 641837018 167373842 230077314 22904894 315104584 665761174 906513672 578181248 266354232 756810004 641746510 671143946 315095142 615278562 643448730 499806572 456665178 271651170 927487904 960165326 836629088 155741672 486020396 876241828 416882188 350693748 658918242 113277690 653656242 595888876 724952836 658315790 657017286 787970776 943565266 584996500 341728768 151034682 628971034 496975840 165251930 957152902 546458680 642832690 194886448 325623304 745336810 834682496 211066186 11244824 356664274 837951184 138947556 775401592 658019110 247677872 664229350 526799664 799331926 704790212 816491694 655441162 998471606 578308212 646927414 150843076 605177106 210278328 732493384 520203206 460038516 904842370 303062240 192190034 257172740 814199928 567959462 489985762 140754890 267362606 181888338 288300768 155892060 92237280 396642094 238956872 435185142 835023986 997686338 717754446 356334388 698981922 482414690 300241724 306910648 898736184 314404638 715766038 965636718 642101368 344420312 788801074 898766972 185464198 154101698 345845002 681930084 174404936 828689804 217751440 88798044 174194862 792170138 7831348 679909914 504336212 886672746 657480546 661952072 772203238 154793152 484363214 265915856 557463230 266365860 96026380 780200712 713023754 341354186 764171298 890705902 419217080 845057130 177410614 852381992 17737764 987630768 765803950 136934028 198294660 636053702 767568664 585863138 496899198 64956796 642422766 903225124 65475920 424733222 743096694 374015450 439328392 143501748 489581494 284764096 527964804 106799204 274369372 851112138 141339740 269971266 719426168 124917402 976350616 975001612 238643922 89876212 485253212 671621458 738901388 48027614 361167936 37359868 393160976 915374080 138206892 476477788 768355332 707005072 339936766 922247658 915325070 569003876 513739722 999096064 588796082 896571876 513402290 151101924 195484760 826336566 188057294 852866634 366010504 626959346 324416692 244201990 694819566 716249512 240425234 708950416 806743186 663318078 605442082 979575630 226539088 24639060 704852442 248413556 751329924 860296562 117223006 496215644 165812186 317636772 41149232 485607106 789188964 618075390 826733302 145629540 886190568 856174184 990027140 403327516 867521112 467409200 786895710 433324178 497053532 788406682 298009592 293114516 925128304 631665010 655890074 400295756 965695858 283020162 50319094 232326136 506231816 263142942 345476638 662595832 311782094 229442632 59049188 336971068 526440006 756161614 814356050 575751590 24753944 299265022 843165852 570978462 172270458 912170238 287548142 62220582 346971814 512749204 539314560 929899916 391358212 838294468 328189710 846859030 198552768 262303382 679844068 758513438 651896048 945367318 610332268 915189882 900353902 138381478 104402934 871166484 720286128 672226350 909053336 726817418 125669486 898626628 307810834 624151450 318366808 817548822 850041848 325208468 172419358 738667188 692139270 326604398 508409224 529447410 234568330 305867842 957237894 683384050 824125178 103821882 198792498 110162622 87988812 8939454 308063056 461356596 784361760 255218106 82477058 914489934 348076406 598464370 132002896 731861312 443752968 631153474 565342424 845597826 341600162 960957584 412423892 780922814 687879022 371080154 68829530 511606946 313901588 147186202 548293038 10214996 70063584 849439208 660016910 681129028 607446340 435791532 571006120 39276506 930769908 750949048 923990498 977604672 223724270 770244420 532278470 998880220 472763158 591342580 514905842 315127624 683459508 102584552 832985448 595084210 415726102 27508738 694614062 973871864 675547012 924884150 907424648 387845396 55074110 442808418 655302010 273201354 943658382 868206804 710099594 848752510 559195024 100880358 428130846 761945902 744909910 563692436 663069106 792512110 985049808 971675236 462025690 358075976 896792396 247923652 908235442 71625702 446066138 140033300 902389562 465634276 750046492 389126624 589922306 652986962 872090492 316577842 785259742 347768902 986975296 790464508 591893812 391414904 225054174 668286646 762697204 736732208 509873146 594666608 946779488 399353886 849545420 651360532 910278442 202336204 842032196 100974644 219608202 99383318 227507396 694824584 964749272 183804128 996864954 894616352 927976560 629426516 785627512 448150368 996549630 985585802 185496676 992810958 979861230 50330742 949881236 211409262 100550172 596749584 635839880 465793850 367552704 8727936 271163970 502181898 276118070 948730810 698707256 663069248 174986668 839997192 251011622 296737802 311330686 511846320 987202026 309464122 64871752 371153044 220168212 483092184 850716492 910567854 837504368 268561272 94445424 244665210 235278374 120291104 6334312 460328678 858418358 827748776 423487696 86195372 6040334 443035714 882180000 564669950 336380672 569568346 249756516 981976824 716546202 93975920 335364630 298358640 116189356 333675828 235293494 91479232 890750080 709206036 507868562 276078828 125530252 147090648 577071428 634805336 947503026 493264728 544322886 747618560 266662952 295342656 309188272 536353102 206155372 77132608 850066580 2715654 674172666 315029362 135675094 247704352 997395982 383975604 276897148 810632922 102320280 557222844 47281552 917201014 953657630 548324988 462460160 569925568 200928818 292849080 484105896 259457484 517841220 367234554 643388528 642107142 952818596 756562448 865615852 517081570 779003606 564302144 982256592 262715080 544855760 787336576 960173730 577515000 762749106 125640430 608532684 63289208 298228336 366098998 14485302 308780568 564637826 550043524 641042152 486412224 520219878 98069832 511732720 506116216 496031284 952282364 722703818 106499850 558868800 387532910 216478214 920399872 267659278 605098074 599521146 979403672 302137220 797237396 367335848 107833248 50091274 231940616 697106350 671453724 422677798 450042742 959012298 358572174 702617304 502021068 114198866 730368250 765261860 886445020 240351134 892882020 875720754 703832124 771146238 563695676 777079956 877881668 696330440 421368336 896573874 578156218 760819860 477985780 978695778 847711438 638326104 498171504 933367900 213469254 592939884 45392134 998519740 460834074 333145412 410532262 353293386 189058256 702653148 27391458 85493208 115426538 685842770 212246784 77613352 77205278 530170294 358172220 815553298 373622570 63522298 798732262 866166246 456408878 83152856 124989034 933050500 167673480 756898586 393504372 255297796 17202318 518197324 868479142 319337424 155819620 665965716 18364690 477279546 727044012 836309434 752465458 680119042 904783030 960587770 922503954 496475448 924083024 384696672 980444104 161728456 95022256 454780394 130930642 712490266 369978046 209216988 80986100 810164418 928358914 431536754 859057796 96592190 266542116 22432008 987462866 122057168 201221744 904727488 868089656 801194914 495348440 498345436 922638840 31706006 155226874 114485480 695046800 839562848 767011456 504303976 48397836 245368498 106166916 374511988 112281254 110179544 544141610 353287342 300941124 17090738 332396266 75193688 259301324 220608734 106629916 63241556 396695096 514007318 810913004 227772140 806173766 64552116 887387882 184638376 62391396 481816288 752673676 416574266 209291348 526521114 538038362 341616384 963567404 952209488 783628750 504374958 305868942 931934126 252634108 661082988 190152310 47773564 347464554 415001954 582852832 612555330 14666156 58212330 700766362 44854002 43464620 594347578 803779334 700962344 503883112 196854594 369629884 653118274 590090054 932509044 476331080 775864348 420817236 253545574 149146516 152944606 274840490 236647924 604742906 937392866 352100164 681475774 995005896 759167060 933554638 579804324 150832094 404778248 728313096 841074744 39762696 52372022 688680974 105776392 59651096 885496156 568115654 801402836 765382152 860621278 916765334 45607788 846492170 215413874 661906790 675380900 960890062 967019686 420601586 437931916 122701844 586954032 573381878 748107878 272496906 485497834 24386650 407004764 318483870 435623808 972925020 564447614 854175614 150998638 22675748 471601216 212125578 569074362 814233132 939141864 901675482 864949462 175831456 501273992 964603162 606673872 224359164 53223578 650571904 695130110 77357852 142147938 212662774 314029662 577432080 303994440 634168948 961198274 927987924 293350358 328543676 244711282 383398252 52682898 727068858 84449044 764975140 55372780 744292732 198853438 115137910 737519566 358336848 761532808 566166950 932501852 913645084 832572380 427796790 358157438 215818858 703620076 99265126 989941160 399126580 983586388 200733440 800996990 377940302 827670448 290546570 471113202 716867822 792005966 737662008 128051398 947367352 321476670 322561516 987609442 663534204 259461024 504793332 123501376 692551642 510237480 614863650 862618350 832034498 216230202 584436718 14224460 36593096 365626058 795979838 888915422 997221950 916639760 222042010 851109468 569446412 74075282 128604382 762093130 860846336 806277902 962202388 766154396 413091434 915041274 797032836 873598612 347419474 254246608 865085898 625463022 262549540 793887680 427354496 914824328 612351192 888098176 667742640 649344314 440044368 322778394 673785986 187400274 356947114 802634778 129266166 943697728 191721824 50357114 788451742 321328494 814756262 947003394 411421518 713956974 392078918 992956676 683069970 770845342 67220656 641112490 902263218 413748224 369754502 179511002 624077322 911715766 128213676 341474886 134871048 797552382 738411220 636883082 211443742 997282778 448866768 500296654 31222342 983005200 787902144 68244250 780887454 654058150 954953760 593558256 697750970 802733104 535103730 66710674 570643310 6174220 143490870 612143454 480610348 185651462 807916178 345245292 198101170 167914894 402045792 602210810 130472246 66537304 273923398 827979810 708522956 286194572 977030784 136433196 200870414 821064512 64745698 370499168 692651374 403206574 295277594 744160074 324196748 686994662 307528676 583180242 264286000 903323956 591984752 816805438 930051028 894783434 525209726 105489134 807069842 760814100 709546512 161528358 440459538 975973858 989758096 635616194 848619484 933196476 545959194 707258496 46042962 801755774 333714468 418048946 490223162 478324220 923796864 6682470 536204496 179188336 265383296 970492226 387011344 413627454 174124260 922119560 660617896 267668830 767760482 554718682 687707794 577540954 997310556 729108024 588603724 271582744 893654342 716825216 56627220 176245360 99952300 784693812 233968680 635892750 702065680 991142414 979509138 514003322 641001940 359408536 149543624 339716482 125497442 167986742 18951892 93460398 468454486 427868132 623441746 374994346 633953310 739452316 325066012 256632788 877413760 400563246 840606 13901398 234273780 131335004 182266178 816494908 199960084 742482890 41397934 410132138 531496610 461010674 340107962 132819164 698827128 264834740 641015266 11161108 723521090 926119778 630346192 228660670 991094278 284232192 931774340 692272790 505616958 643950064 347370042 827301022 117696398 230386596 377929956 129092566 331106082 443059026 184329894 104986968 456339716 199533608 268587826 442401904 980328032 792151088 404857508 885890030 601146930 55216004 509391452 451787096 373227606 518660530 286266720 473990332 534923154 24471634 337447618 738981930 290557236 520587644 447213866 177337448 256952270 939303032 366607612 157634536 425948354 264279416 807660894 19031078 838488030 338040624 990846576 236024952 510111300 127857930 518981964 662924632 27126582 112166484 984632824 273862904 704221806 845160902 500120572 993024942 406155728 757771096 617241660 880457264 165517534 842208876 820474232 784385868 562156988 892822846 399189404 941224576 633706226 914308698 710226558 578619034 344347816 267924928 774793524 262484764 430176472 391087576 299688904 203058804 625165710 169114632 873065906 778492828 615636496 125588942 508946144 82145622 721848276 424909748 272987462 153452714 478631418 974674274 927293140 727914704 805962392 84659358 116963194 632334456 221502526 737935592 337527686 256805372 211751078 952454976 259264792 602262868 542428242 720789034 837490922 998058362 379077330 54357378 721024500 705421928 620101172 621308114 398790380 687730688 639920540 310473048 514422124 747881372 321160500 22006938 512280234 455345670 24397774 646242956 19183048 890052424 822437616 619074554 597928588 175226198 252032656 629565798 90736956 734157100 12285492 2784344 48102022 709054512 165282704 135849492 137983184 535105208 102391384 518226538 377640740 648657492 264160772 816378380 992054688 575698832 164893834 268431766 760090734 965249010 888757560 209535084 949622720 174620520 149193170 700630390 188811430 212204766 245701368 669589314 938143868 629958792 55741530 992228962 794273192 304401516 533514396 608324076 47476648 247159112 678867358 51289018 854934160 840379640 472828734 815969402 707942588 923866580 648612028 764750030 320086490 336723400 651818336 113683394 647280628 515647272 990388348 830256984 675419094 64269398 714694154 845279364 422331662 756403326 281436530 15714816 293058362 522280410 55566756 12838570 219261502 192707492 909963100 8230006 372314474 972506408 32105110 188698930 998411482 874035220 847101636 459186346 479477804 34996882 756475302 263669050 493798602 995160796 880409238 541087166 736013460 987967986 61369872 351847364 362852484 882771592 61753682 205709066 680478430 155662822 97352402 308585068 642641326 703632970 593828142 630422080 64631598 930313080 817196008 373750348 683674462 400430288 206819374 527043406 788659608 741571682 556221780 161551336 72813440 928251592 168427732 311069620 760084144 984375588 152247638 929881186 244662466 124520912 342420510 129994462 258575836 714441740 816560840 311440254 681326158 960464268 726576680 700010908 185092216 197111990 895113272 590850362 941251396 871115470 64760524 293104594 993416604 640167314 507167680 273469544 64481806 725521912 437792998 269728246 418388178 367592312 307800508 828501244 162640532 412899858 651501902 379293926 29409488 486751784 888846644 502816472 771638948 349679598 967151986 857381718 99314018 237443234 609684100 65405018 705442156 805797840 189527692 840031082 679917270 560151572 767623302 283021126 41580570 299466078 336207632 490262126 677776752 159789232 971961770 752868820 369282432 815227604 757707368 959962130 510292138 486081748 279750570 562312962 816217788 186581784 402236404 118017494 737813682 428384274 41633664 347601668 31807424 398842874 813325664 445942398 636642230 337240296 282911284 762632470 756533220 534418338 348304936 161155900 546645472 872338578 872557310 410724134 675153240 355016662 622504490 322344582 953915180 880979880 45060434 979133820 55538978 666994932 835705184 990438396 342301060 898674334 832729456 695662406 968358722 435197096 482128456 583221070 84854224 432790646 207445878 71657278 338929012 59224242 81758760 604309208 543600816 61071036 149423490 904817092 288428992 185730016 720439550 531919584 95695176 668195918 670915040 707728890 312419144 134205872 290577244 499904538 861287580 449283456 946044886 787447544 143682794 280348060 813703638 687256482 801683724 673897138 307019020 508381458 409232776 723741110 366836156 635162860 410147326 947194528 916258338 246682294 24739426 686968334 316132386 506101716 762212238 205404968 828296776 822986064 602673026 488688454 973587598 211670168 172242714 787132382 613093264 136472124 295957066 294174266 827829584 606995294 418489756 254175154 438343116 872228828 427598138 812243904 855793412 837505648 355710514 553839582 305065474 111172904 655064218 888081126 819454046 617200970 894621048 191396332 568123326 206541284 423389932 36333036 178556938 232934644 400394232 682410390 521720670 384797408 843510154 693727578 171848704 766186790 658017840 153704964 378966376 15090880 2916474 465140100 256429626 910224550 46388516 732584838 740929536 77775170 585198604 608712234 104202040 486397778 280078882 882833284 696344000 724014614 960078740 327894014 143757522 192322288 796616144 310085638 589923340 918574474 356957760 181809390 152213724 234537032 314702762 383429838 788959750 616164744 120734420 920950696 657512220 100228954 740674520 78452796 773827826 802344242 91671210 631973018 383227784 154884958 388734776 642624714 692966982 992316306 752246692 744260068 64583258 81621966 512162668 722603148 85849700 937292142 596708126 726663004 604761146 832074636 680342304 176684672 124506238 728824336 176238378 753697224 678656556 182909814 168324000 175890998 182183104 378730442 560475174 584122584 189125234 785251444 765076980 307978962 350114884 129253606 293045892 175690320 532203626 601558008 509903160 325396090 61537146 920120458 772465654 284651106 742513600 630028164 439216034 740438650 502808618 303510320 811764470 443952078 6289796 927826948 672629752 546530826 243315756 144224020 716433382 932330400 203490030 747440284 588857654 639902306 430186728 678954216 944706104 819716854 719550352 264395066 88618134 329925908 668253234 870569186 525950738 305977630 260024186 112071460 420150468 815208902 762784908 166418446 572480710 901207298 230244282 9183400 585122446 610186906 758094492 137960624 137994048 423622008 704553074 109594018 919334158 173980900 781869722 407341428 299338528 224577980 791396194 888909134 351405732 698232516 548552080 570199002 668359624 900193686 394395052 964954676 796590668 952492390 529503162 814266086 132210570 451542934 436600996 708261506 654921412 327663080 979213964 134197546 544059446 282168720 929494734 215074122 8433698 160940698 581683234 826138752 89909928 913804144 169243708 93399978 877083896 933961084 195389872 239897990 939440680 550363808 487649388 513720148 661160908 548490334 498520480 285774038 573906772 204556274 103256466 817344658 248024616 93860970 193017002 767461926 622067708 317070036 734710698 245969112 777555490 989800126 921707390 977604510 581715518 412087308 127825872 821331236 490871766 278860184 927563280 773934998 484088968 813720866 703481494 97809352 80724068 779365544 250463798 581224698 773592282 209574970 6636340 541680446 671546882 398149832 103705904 76859522 321374168 477017080 179675784 538664738 974711942 314851848 476078416 544012442 452683990 490470588 533805634 639003726 30477072 817678716 628221248 624879696 486338908 311896800 135789044 534853928 971707194 602203782 414473198 176570130 687386720 776717980 518681134 831031654 864071340 147198360 191521138 471011522 624453578 502141336 375725580 856088442 515819888 483274078 328143932 62109504 792348878 376545498 260000156 33364068 587910418 384910432 365023614 855422002 424409252 804691930 303873548 441997050 431225404 762349852 410703948 438531578 590435144 747181014 997797906 661035716 303269628 281570198 847098610 917083528 809612348 353594462 100589376 863490930 196335396 464679252 836485346 232123558 398771604 201262612 731419108 538455334 867871986 22876672 317168696 949119434 81998066 962944002 903598876 489146106 425985584 722290192 262677952 890947478 495841444 945620506 616807078 320981366 244507572 129224846 194499360 618646658 134328890 490188676 371107320 562412004 363708296 105408736 747054938 470207796 362988790 215681424 12513552 987357392 745529922 638616862 336578394 318150236 474258374 457767432 146568278 198250296 27215040 664530326 293917484 671553366 810215124 775320466 348287374 956033360 104327658 798469628 786926284 44495122 852299734 175570862 912751164 5888846 377069020 808227480 390361530 300538454 383499182 816975082 407999842 94571230 567443502 545061298 547950394 350809500 536889648 917750216 566652436 343659460 182655242 681342730 780085262 548475858 171316648 41055418 44470626 850550498 245214982 358143992 293658958 626165170 184439578 890373872 377061654 579033812 555747578 203236734 657512688 684115686 304842674 416182350 238916280 497420968 433277070 458002226 482314012 825161002 337095216 246024664 481572196 786258706 164122740 143935336 448185086 655170990 507117014 215187922 736456846 115322520 573805978 416993290 689509728 190265468 133722444 181363018 510988278 968284650 29367974 884448268 112216428 573166598 466944256 600307214 934508462 97501488 836803800 70029694 475461364 603347518 190303036 581922948 12058932 187697386 50333228 692672334 889859162 75101016 454731132 865936062 40500456 453032262 124033332 488180978 421808694 803102172 493716630 992591282 214115306 988142572 282854388 793621352 435862316 474600960 888413258 822566326 944380814 535991592 54826146 628790668 424200894 869832070 588235280 151102886 239068364 936531042 641407408 768548024 683286424 699662390 208939064 434503466 168055654 391652844 251821938 479582 788375610 426652866 538342290 663161978 740764600 975957766 576802362 783520360 932024690 394821790 508680774 226501974 900366742 706324278 130354160 723557188 923923274 604158658 574400432 91108618 887048258 669205208 156421298 697508904 593847564 152359226 986987702 323266180 891328150 438223412 443971340 450150590 80659110 798048668 254049922 4342046 902233838 960842044 281946658 646471982 118649910 411827632 441283700 612877934 74840428 490365188 691249176 242881746 489705912 810546936 25348696 130273732 305741684 904933696 317040796 524786380 551011162 357561568 627257996 497492140 892817194 730958270 298125432 776332536 176434840 870821924 538516500 422408290 367188544 141544374 766477394 34996566 107475956 997325462 53696824 949922312 751031348 12311540 295505268 588794712 678408934 383154446 868046666 111007018 890495462 430587520 207377314 743939086 570840300 241035296 71630516 106583100 595356352 646862378 700039904 381013922 88551434 457639524 706794478 91955964 333523156 22600436 313889908 108875078 527382982 428621600 731649380 780957884 871945836 596420196 861579326 641012356 81948218 381539588 786668074 955771338 123036960 150299432 440712366 166042626 368681590 984830270 200901460 361858546 991705730 769804566 66511200 866524420 353913668 79251280 273389908 56993186 471379336 681669854 350381476 12952006 151572964 667906140 770441326 588122744 426151520 834484754 456500996 916348632 469049222 424790982 731816040 545649158 151993904 220498820 769499192 168681696 685184560 247760032 32166436 688758730 253043166 899551850 823408860 230918378 156693108 466940470 671043738 926293290 489310524 899133130 382359022 585269786 610381910 973670924 207150748 513286836 960603980 692763720 678240490 995680256 993246260 411912866 747625570 89834190 441169670 132077128 425403952 797700696 302503468 858930502 249283654 433405934 909648298 912052190 793032730 35189250 761085610 766751976 370796566 504866404 954894536 429887516 280715416 30210858 395761848 849978786 876349422 754535668 620111224 419246232 632334310 244717946 913830410 369794178 590870236 58982538 959655562 253123442 799292132 476317470 968897866 266051158 946417964 841490884 566600286 468287828 746901970 230268078 191693516 807288008 288993756 200142080 123857364 180906218 814824392 966712684 220907204 958646418 42783176 589945726 162233046 477263612 963161204 453603784 595404418 53282204 435075018 883773670 632672986 867315568 761611910 8584696 173997716 979109710 154045398 113831940 400425978 135423346 400610734 642296002 736267938 356627896 642296992 34931120 113871590 890116 57712546 546332228 366911340 524447300 229255954 596563650 27414606 393781580 10707850 342956218 656459874 477187564 22678032 293868302 126078988 155296166 92526552 549368910 939403020 409090832 611072358 819172642 74324688 679040976 317125116 893724022 314898718 988704982 760296136 774865838 584480092 708626872 312555752 95854238 46851594 486137330 489301010 70871080 55798804 339825974 828468824 633190646 359339676 279609084 195826762 698411286 86670112 844750226 810944326 798421654 168413632 982581516 43080102 340148474 881630546 142608298 463582236 625626254 857673106 925702390 624556672 588760006 533592132 520539514 653362108 279130050 451680900 391209182 393182406 133691496 384043234 566344880 741631130 752185446 346385114 672650734 79208900 200692064 356411164 119702468 312803326 562657800 195692186 706519286 247730140 891488916 433205798 808550256 489211586 592116318 526759576 303754756 764905534 851167694 484251644 557585694 187361034 812348590 197986808 31156038 149272120 69658996 243128632 513501478 215774052 652654580 826183354 424256260 953023130 74842794 730594926 572869732 542567898 752793594 796913302 918600460 20406820 143488742 197592574 67178524 865516120 388921228 129507464 12979306 13204808 666648346 941052730 202237560 887533790 336121534 174356028 340684608 576675580 607535692 978165480 790018530 119060612 177639072 945517430 151100690 82624158 157801114 730752478 659024684 32640308 349137766 133021996 652501300 708661652 474864906 999890402 502847138 289277218 41537132 125220600 544465630 94684720 538908652 570355328 331410492 975314358 187633858 85328706 783124842 191751754 106292478 598442400 984384232 847614814 18162412 536973188 960344350 942585334 870074594 203185474 783443098 660333130 801742338 479630476 355523216 27971484 589675210 336170466 650903476 261376302 395816572 891734748 477120934 311732542 579103508 457173660 677901622 965752228 461828744 23792466 284499984 237618248 655286458 351726394 802314108 251820426 760663976 710344914 106721486 322408180 936188882 738690634 105775476 630401338 364578752 488750686 143929484 443450134 112349766 547471700 858106378 702432098 888358142 418321084 513175600 321647428 760453854 897078298 122292116 787254036 364262236 429460720 788064964 689675318 45615462 357985196 232652702 792951258 607905646 812874562 243886714 263509264 835759324 148102386 931353198 940167100 945340492 848206302 606358366 682747716 925867268 818834896 614041800 527163608 715544142 374830546 520106018 456232212 503849956 414241874 368255804 625125346 239525058 873899008 837284596 982252122 416455762 563083806 753310256 859293560 560406142 748780848 474005152 618769434 438171182 774810826 482297078 63964862 796992950 725599180 282803412 549579474 826343940 848548176 223025158 661446172 443718856 912387768 228153522 286915950 360074 171850906 100460568 834961864 86402612 409410850 906728412 751171474 463165360 264716376 67441176 392399168 18545916 261701968 640779268 9178580 499519560 450354550 961848140 269066022 205270712 499800116 371247362 160560610 944299824 415363898 565240196 200056438 963499970 58926864 20299236 321648060 307866248 836222004 817994382 301369176 783729894 529474644 735194832 566948706 936515558 31245702 267116368 426851438 955354910 147018168 517227816 530490978 918477288 313783194 511898012 256349692 353544020 329998902 891262302 212574864 429916842 633220090 724867012 419269778 867395974 13624708 228364198 232034214 921333024 323106384 218004204 818882858 24263464 956270078 943681752 903093946 984795172 567715712 662092990 606634002 292879936 363071832 717222478 89266344 190970524 297627412 450636308 699870928 413828856 966097194 195304426 789886114 960073010 332035526 588915580 761288650 458903194 614515478 223165172 708347894 55865076 258293282 228649096 244337814 185256574 17733026 721696532 400272072 453515034 528994464 132002594 374388752 879633280 515366594 738254598 793561086 234229430 46134568 850684730 727320094 598075224 837708380 456611644 230088134 519795750 893719186 36713224 849204702 483309008 407186426 779089550 221815290 247645034 820109732 783146650 610057274 372215556 781444414 438673974 571061790 442238450 938770242 590923758 774860342 498575084 426399016 379816406 78431024 359319644 405697362 167152018 426828052 295045526 899407472 777569528 167964972 65319564 104098216 541102846 431840726 360432444 105839792 598162324 627094938 977071702 270592718 653199058 550776584 912172642 249992706 145958430 930698612 825835316 153988618 725789882 111099146 173631276 753274682 441899240 399481504 15706914 426179568 633534120 886691002 86745822 314124246 863446800 557464170 776672220 890638174 70270722 19316472 321034130 835305188 946497524 405196750 931711270 267027862 229592148 659862874 517754096 685472502 962484260 925477502 10839634 994094914 111963906 423608270 657726118 292486678 976340050 40312068 728931522 347177948 841806896 965134922 483885392 315957016 58682526 945482586 409540194 27264848 891149684 472610818 426924598 637969820 95275184 710884064 596672438 809739586 107861386 968930494 583603870 247675486 863833700 352665546 987664688 30352680 688686854 330874404 693431870 608272204 104121354 430858216 121821344 437042668 375075072 104302898 549806482 312277730 402111836 472087810 201492382 854520606 409595492 365157092 711832900 529369020 608194864 837142284 918976440 301681824 577043334 170643712 470763484 307848496 140579994 973524440 378224250 712721432 214733164 668142264 496542664 532730208 117517616 871746030 421859090 639058618 49678296 863270760 234525054 266495574 897907952 931671682 440665742 602895986 967237402 195102898 982059262 586404510 951581296 179490900 318738124 143042366 137450810 415806244 245924158 393931252 257330058 5301924 427080256 700855540 517537766 424724628 891640544 800730616 691990682 883303072 425515804 533455482 401317902 249306344 810144732 471092722 90757726 64435384 543211662 750882910 12817816 573588838 203009804 755174894 378325158 388675940 485442910 174417760 724371120 330355034 10164962 442663016 330725476 907570860 70815794 151193338 865761384 942042282 640229858 981849146 159558818 385846680 551778376 183116112 826195854 698485434 582199882 309784232 676300304 903108674 895952106 19820896 170919408 454572238 242969612 164931418 996016332 302218938 919505012 861623006 157366474 555772418 580741428 905031674 903301166 479625218 755866212 659642394 894120152 521864738 937822466 416041460 406821980 989721338 885385134 369557106 707132324 909023758 951955146 420961344 403278050 483146944 392437580 32131226 163450762 22924888 307599728 964483624 192857052 509539466 805395030 517316866 267776946 809854232 751932890 290228008 366116828 670664906 242838886 963192706 786851184 797666776 685192566 456770200 39030382 158023106 767596328 778717786 419193700 379064470 897823096 82549054 806964848 285645708 959639174 367230652 913230530 33557240 863850186 848787406 265060656 449997344 590690608 544785072 198820778 379159726 29522730 415523030 7170056 822203932 869266738 876049334 82230434 978672066 327636460 786075434 104793174 360542092 253953766 217282938 367948290 647710824 59415570 355791564 628588938 233103368 574056710 825754052 634601746 256687708 868106568 70761216 772195990 199564782 856839348 32680042 745729650 216730652 810649638 904353938 208290274 907978488 178517462 600838046 658605164 765276032 999049810 975759744 128240028 411897456 939706120 640354356 764627416 694624842 418488368 53491858 325117672 373272426 231823206 671306004 355727952 786297746 310706778 496741238 66296962 779406918 764208550 369283060 316352310 846971276 960170474 561285080 644261986 822223400 897565242 224003460 363501256 393562408 757876838 278320942 746451888 180557466 621283548 205468256 267691692 253722674 784411428 350742112 841866158 905591356 227772246 223752782 620893924 963357362 999165166 150768712 258893334 104859300 835570164 304188956 687323918 456814856 45297114 376354540 188455036 931356394 863986996 55589836 609248118 815779294 876199752 426979896 826806540 792973568 227419498 24202358 343468066 306874554 433433140 479192754 372136042 819167512 809578356 42000398 385916202 590178926 393952972 588103162 410039704 375004480 194800142 670358736 445303806 157977372 214818178 56058558 248042736 191031898 150840252 120180566 778442432 506012988 325541978 510287216 431384724 901865950 973780744 391603842 686166508 393141510 866027058 368451986 263825062 158051746 722461524 433612632 319024998 526667300 859251340 415663940 769900742 914442974 442370710 515789070 892344914 913724728 297641018 205202654 200009280 100232 951978986 145587096 799915232 787770174 662444798 815925432 557013374 701841818 892670388 875199144 425129032 685857316 801436008 142921738 42025082 227404126 907101904 157538892 125997956 89001524 208978124 171804116 294171594 838934342 606973980 231171656 401363648 24770044 651344312 105646086 452397356 129729570 634268826 172590152 613169172 544966518 71442128 356317754 694065010 412407206 748815128 27149996 158626734 49917234 518400794 743539356 335289480 264375294 138445632 977506578 37463892 207244410 350042416 344679290 458033848 504666620 79987762 418603446 650578626 797269512 870312520 457418484 66737382 340032402 500497168 385511250 529619356 80469946 116636236 98649890 419394830 451702674 779606604 670696310 705175134 421134874 507529750 698584070 8115614 266969862 592296510 527054284 908299038 236454304 346227196 87622188 315642248 667636770 712111346 280111328 636805980 660334700 72929018 137806464 670095022 265413144 874351450 496216396 872441172 423576458 317727556 433599242 681169578 193485626 185353348 118572876 538750046 409691228 757241842 408015976 359088756 849255632 911751106 637186634 364850194 993398994 723457236 42172334 934684384 465391214 782688356 58733056 622822380 57671962 736888104 227452028 647777192 717908408 102172026 993399562 883971388 28342040 956376020 826162648 613354242 254938346 948424230 146166044 395090714 453754008 219714382 624528864 20803688 473739786 677011242 694562902 849545352 269580468 948205782 645749948 541051382 302435758 894721510 637580256 582477502 113348956 28068546 115801672 460986294 962358228 399087678 607582460 73708390 48295392 7510652 543156892 85594124 89251032 266620858 240599532 457061664 646570216 535466670 143495952 995703302 479894696 134416382 142468468 347310932 280378898 485002412 566372032 37071562 463591130 746762372 963355494 444050126 155049052 447329770 900319178 436013462 691260942 61306828 387665346 531320002 247402134 399530626 247166886 781244718 703153050 139760138 404762430 991624964 321902708 856681460 209849986 113171746 735246086 350292036 551927676 324485904 33065208 125639610 413839038 161651056 365693948 830493006 649873926 200051860 809561096 325878666 754893962 84257492 540881110 524885342 687386618 961357548 474304606 515891636 923573240 698707594 411801320 469789428 779509396 732635180 642279996 346051084 435860448 431664060 718684456 907219088 396645814 589239930 526091060 180681536 551753282 288759852 806755164 937562530 228263752 797397400 34972350 500640942 864202874 275002270 441312770 547348622 220121842 425986898 191795828 990455948 891118444 341438642 970835606 2648900 890517132 862080136 381865918 480149086 841722612 252386920 897582714 476594148 336754258 221840932 737705132 75817776 778036494 745689834 5028754 185654160 542043504 891928504 310259540 789970070 616707968 200155940 575415820 476997752 424739610 497920300 486208284 108111664 733393106 8745624 916742846 294385756 397662148 664752426 165711544 502408068 560702472 350789582 997529452 508346268 550923990 252839306 241861100 530537610 437129210 552567296 394330418 992850648 346320418 503929404 441744292 482596824 597991848 501160018 685104928 502422416 154109510 871824436 294029044 979519038 883866802 424436978 742686808 773912290 368358426 913002956 167440844 105887596 208795098 428885160 870508020 167694392 280976034 198740030 332928808 281661330 234509232 417823526 167272960 980711696 978932168 945967374 504924132 14959228 685466218 62505920 253929470 189538148 23394124 946975474 521172952 336325222 996014866 36265938 166793644 88516384 72803484 659601294 609367900 138200024 118152764 10848902 93699138 121059320 854896678 748833446 518612598 766181194 728287298 107228360 2694154 970391180 700873932 85906666 696796202 234414584 716825810 952222244 653151062 836211820 872819460 96492568 506346530 68013722 111731244 638026708 766009194 286931306 432726610 433973418 264843422 43341684 434866748 860482414 421041958 133324504 733520650 474183976 625004632 991898892 805738916 884867124 433481554 570334406 996961152 164864624 858976304 721289652 937942776 312170496 201917804 798760556 942650356 541840510 787135358 36776954 592814716 22184426 838777822 298847146 564686950 898967180 936620148 152094674 679370830 473299198 465126696 386219120 502877228 146075898 811547000 406688342 111738588 28696406 940291422 112837884 525849038 724916902 796967576 179270230 263619914 225869670 808591172 789697652 561698430 970477204 879332066 634023576 164298164 42705832 609176476 679340064 81715582 402369850 544675330 796882680 385611498 476424966 679716796 402554226 504255402 199335948 818419324 211961598 358256906 444837582 148150880 557710660 791174320 902915856 889047462 669589446 18842664 1293474 868614928 44020116 263323942 675993454 483758216 781672860 596080774 684307220 521410704 103853642 463297014 359703058 442270790 942253362 196600438 331221504 664339222 961093042 37088322 875368556 672402590 789103200 961239148 523213196 729567092 14310060 501910868 993998638 642285174 701236388 678072522 328448568 15726442 417427524 276510658 208523498 476130622 916291304 125653578 673539372 23142810 568561824 646764898 178270802 267026622 291087594 84872786 559870404 537214174 101783204 203744700 536278334 118594630 43605194 547535500 641956064 754517442 930184794 228041516 24147992 588504396 870751124 867364314 246207680 835497714 160108062 556099788 209931984 109424588 319456326 992625506 986676022 447557778 84877340 760896672 111671208 291838280 949938876 276816976 31378910 632346896 113289716 498632902 919883678 663676642 226096932 166244306 529890228 839224814 747111626 407727864 21852730 130054392 250520330 125411412 536636638 81397720 179356664 732476432 112770700 973071106 967891948 839697134 864311574 44451478 783619384 186932132 576346040 46024844 745780928 646449590 771545638 736362502 7266124 214351794 510718840 863200426 48648634 594021276 187558082 118845454 881294106 788255860 367024972 479547052 500289142 258848822 584620960 114362898 662066990 159367406 275646516 17815578 660117536 268938540 507765362 625547810 872481278 476495954 892020134 690091860 242438942 668320358 242413822 882376990 944528028 947120870 942153672 575393242 564774712 206342164 166027340 929299272 412162298 176528226 222872016 911234734 336452850 890666112 419007060 934531622 499654908 584785306 72585658 139706642 609906094 569738400 484086914 782008740 770867270 548127204 122388630 3170668 79088982 795817082 621275946 272961926 270683702 455260822 53525566 587941686 792581906 804855724 534370420 363339724 461896386 932701686 366957692 501220246 226950730 306571982 629108414 842364314 928114348 249466506 188613032 981311344 653929072 742026828 786657308 187576892 613520460 509006602 449265342 988248148 30463586 611503746 624193298 848277922 690359622 251901594 233285662 532299894 894953586 133366614 805285586 265670294 72742194 369587550 897628710 973227954 60084816 885189366 528836410 503140960 128351352 625706058 754984792 467741722 977121638 651853730 555574586 377445030 994952056 37907862 618674544 488585600 850101780 635148668 136092472 935068842 192946676 81972718 35396292 734116996 375068614 121806356 751282250 127001016 209232458 112871942 571336658 408144654 23741600 643655106 924006408 128031038 679818082 763555734 612004606 92108048 331068006 732408136 53071126 222621310 143999972 237594076 709594806 887633734 621818346 222114634 735613956 974422696 788185152 830875478 644882894 750242984 171401652 770601250 906860778 206342532 383554386 388538002 719602654 944778486 475831814 16812972 618643150 751223332 419618218 141637320 847768986 236819182 443402602 77945134 956269784 535482156 341866652 857557676 343301980 264745996 377216316 9283918 279340360 638294736 973883292 277537710 792902406 841853842 782673300 743641252 362945984 938146592 89588122 597812392 647990802 658528502 45061750 782209584 419035598 312122714 999202018 236984206 900772178 981079600 100684468 471780566 198600358 383926128 157745166 78525978 493793420 967958446 401287938 10881522 637183316 359835270 1879426 571268762 410810980 899771018 705024960 350937076 863460190 833050536 829693100 968784552 311552188 268696192 110965468 130551128 681722728 388997574 756847686 22668868 427720834 542501478 423797510 284878822 637764066 460178018 945759138 533580122 308817384 644619498 731125442 42648396 425811812 967184650 650713336 377315812 422242712 823485248 892861626 531996628 454744550 227192324 761378834 727840448 643813526 617830176 233745460 863159748 455737208 967306462 988790716 890830268 857884650 949090788 996693192 289121280 521941670 978324704 754197410 778790480 297599576 11602888 170258348 45496144 184773604 863293186 254839636 193507460 991570628 3063630 526606118 178562720 703027790 608490338 947734808 768845714 806685862 368297222 342457260 161665348 48155070 410094322 879168762 156853966 269557630 785228272 878831546 217907472 879599518 36566646 473456068 437325254 529174862 844257014 37218244 79957016 155791842 163882806 812607844 438930462 634043474 424202934 761201542 124542094 606806770 192641828 679803794 217080896 199301188 488179542 263723238 164858286 751815346 875811194 45121496 192937838 284489312 852915004 955473458 557671718 250750864 200883588 376888096 242456596 828760386 185258490 431824068 294558838 220043744 846597838 511309090 18333388 918086426 91163158 548651130 703397978 614788174 233932770 858334782 477820884 1862708 559532218 543626186 295552694 619314114 251173532 425055094 745850344 806157192 69047426 704455592 617422838 133641486 565011136 992680938 104818604 236952572 919037398 477486246 56369880 212606212 244246496 446842598 586213910 973194 828961954 781116176 555845198 494494730 195629574 92512722 688291772 868517360 858673764 840328222 304384142 43617980 902240136 95618662 28815904 117912936 363411702 434504290 622535716 170434674 956804140 139955520 642329438 546180832 397248872 39237740 581387140 107494566 103995790 767272144 321760804 688500478 50576710 694743906 115163964 356759508 655182218 423886016 235873148 76610612 631680482 651863078 719662604 657141730 765390894 92077860 273927954 933030966 731982216 212221872 389695542 883066548 491368678 524579332 61027490 163417352 149293224 386844110 633264032 825263580 361449336 385939942 774229268 374172850 971569056 854647994 87919622 388237264 483262528 876842034 679093862 513500542 246755782 728412854 950143652 133911430 383384504 12659060 407416330 793035664 211182586 275811096 376915032 455418270 220837850 615054090 147750538 462302916 9860240 904187996 544106220 297734460 859761700 567851552 238558050 140557586 410050010 703748624 676317200 588823004 189701810 575036104 706568840 549164222 193660062 444820518 147311506 145521622 930540318 744237728 838809126 73975608 63091132 979625346 136929084 499840472 590724556 845827310 497334386 216133462 941427706 66249314 141030772 62963594 755331174 934637368 872621344 424499030 330373830 541200400 115800744 740912108 802348152 81328706 358759746 192140488 869788978 824553072 216142886 442040808 496556138 352248302 272294934 981237986 997461944 201340480 601866810 949209890 517326586 208198170 123801784 403825644 810713832 503185564 758315422 621233182 925721886 770101198 772664936 587512358 300928584 362496048 675858226 166476740 888122672 97596452 469055938 677154536 792235618 813924848 784596602 505109786 850824762 58320554 721622224 792571642 727409322 703123014 747184530 255270990 532887144 378872448 268849102 597035082 393409694 686048392 155311162 813199792 688642782 367356300 919335460 754314540 829385642 789932086 945672934 303824454 855318164 243309826 58851752 947452120 364210926 981179258 951418154 863501934 574957728 496480504 387258476 589942234 553531972 738329040 488024226 986751028 943995992 422846754 446946396 18069900 172383450 113853544 129266636 531164760 973120942 123835630 485677402 578557244 796644492 24690906 942134908 600769494 498793060 329808854 169034992 350214620 516829104 578079804 891432222 616992516 28722868 348612250 346992084 728292788 412752860 406119794 78093306 666182506 959186122 362697978 1876118 859118128 706609890 404320198 424594158 298843768 426794158 713017334 576811952 693044212 633964800 704643722 314496238 111049250 924967784 158538678 259522876 333619472 596423736 269660936 544373750 626835340 682095114 982149106 531380696 815158936 238799856 238502720 40880108 260227758 59967168 477954740 835869076 160562784 808770922 909154158 389468454 588041782 174654152 764910928 913142374 648780764 485034676 400499000 871094482 685582540 752750192 194650084 845411378 438248288 885437494 744073290 713335846 274286890 443297200 228453670 609692268 929575440 710864612 984670288 610214040 801775144 104576310 49797406 104331992 154055016 611326252 28430748 431252938 648276642 557954148 671491746 166520074 998900126 448899624 72186570 593398218 823511968 790771862 863162354 120154736 222562726 509396108 624568478 249434188 175220728 975380522 504747052 75237822 380141826 723383698 178383216 808587240 886816276 683541784 649688996 897021196 147381794 470143362 500996574 898835980 805890116 489439330 221318826 459122094 847305390 555608968 608780380 721995946 534392874 990553480 625492640 723621754 196849076 65588532 973647796 617199870 572360558 732418250 112438772 806431094 401885148 330036616 531901716 668259064 61887374 692472698 752168248 838084940 639707594 638066678 56839072 939476002 813621298 354559724 797470854 114141236 680647864 544293796 971596444 651839908 26930334 62089718 127002630 630328508 687626648 793000148 529928434 916938482 924811032 578945064 14787476 206906904 434275426 542596252 316946910 991519684 570800494 227500920 593757304 927448496 190972158 958009220 510055164 157494178 638685180 228511828 95254094 751150770 118590046 435300620 661452882 764193074 913342694 692651742 253870086 913036004 756122450 990454628 615804964 318799946 745797174 475058390 145971340 453294600 877061942 143019944 727962952 102755684 334384206 745640812 305704556 737343666 401037294 196441190 454995146 541104324 991944500 531785404 634008452 609165286 866095728 593251098 638124300 894243666 71415170 399120888 815200582 773901102 553741010 140678816 600053062 396329808 69205530 47895886 502618960 40943170 153562434 48388780 447406316 643570658 629323986 429270054 700229660 424916538 707005882 857377280 929508114 193768314 515313196 839504408 84407862 659569292 71775420 654455464 886474996 42156472 956069880 391511396 681479040 970087542 721173196 40784904 581847436 119804592 537177600 105514026 981162918 152006438 797662664 912460330 309188896 318298210 128970362 283327910 346386810 937403562 410330940 550722318 466365624 587417380 677219300 775816530 655182744 692429270 801636254 351129528 263250652 575634152 560292622 782677802 690325022 456603280 214998918 240205474 292006098 428625836 629902224 228023438 544127326 65657226 214246752 729450698 975945664 424069352 235816846 330667376 492404628 684658726 671567722 654964508 631423514 449830984 981760182 9655948 521387502 128657370 428096544 677650832 798158312 140495624 948252500 467307622 806696066 904502786 68899060 548477986 338367746 740417334 323485770 632559348 728412074 188185932 575586992 595798618 543504254 130890550 567814452 895675282 864901024 299407200 92560374 181354372 261467404 991376930 300712052 129475028 844831932 201008694 211526152 721328268 755384348 128290566 273108258 697919782 673363206 659104546 700308394 916008278 510548800 812588880 506166330 233455830 215093146 110028860 430522586 574812800 787845432 106396362 415349278 201043252 725224010 667146242 158210398 931847386 574745230 412993960 852218268 259610814 51054646 825218528 107972984 589815500 121096264 308719372 667501656 842961614 73973176 34549794 759489390 987723342 426739628 246974842 949470142 641217170 706091878 719540752 997496424 568320444 469391724 609505656 639987116 890230546 8747148 982391922 244198630 699175586 606245858 738336394 508953094 904347600 821179330 364381622 793531856 94774416 259353900 737982168 20427106 493768368 297102084 20072036 694956440 887639594 897435088 36017756 398034346 435324416 700325694 123928268 846396502 240288118 727074032 546991444 625190394 924999940 926786694 493598224 157626866 663632958 107693286 909326636 785456576 20217114 682758320 274351886 667410116 262670554 866556236 18084342 130684276 229212816 298552718 19478210 431327038 224261410 68064074 369681836 957381394 577730782 984157728 1865240 187134062 713059702 489826774 738359722 466326448 831232160 983491350 809257782 418710338 612804878 870846862 225798318 986086924 441349124 762202156 313044102 630630402 577702058 533251286 913921920 683274796 128271510 379278368 537760364 452601848 898995148 234465834 455607072 880882966 117485382 194915264 697742754 873688504 13021042 35053808 439364292 671530440 515465678 994377396 800938418 821077186 51277760 535488172 61652514 374589312 688812384 860445208 754016438 514631594 740355156 152422616 693583164 345975304 756223980 121942588 359217368 782290822 462639564 645438912 730119456 262487190 558360342 916743896 706191394 743325688 424663334 942095912 295693350 380288788 105104428 789348302 764371680 847461858 885219506 917179904 54646880 705632434 481149230 617805328 639546490 688748926 482703830 66775210 767185736 826730184 889851286 974157798 168269696 163472462 915153254 188988426 6870472 58337380 747802414 460946186 634424328 508664476 699499002 924667224 90127860 46738198 451087450 121929398 313842798 481952554 167892064 63012792 460448728 168639808 293862488 238557596 301260576 458145818 140543476 891546034 330037170 286188748 832704530 514114382 975341206 696745360 917132878 694853754 501425478 566866986 498602016 734004336 719522642 678183052 276124164 781958034 211406114 280946776 871901364 841326386 26007318 2986944 703235792 359908834 537763310 11333664 284474134 818099314 933319330 816306180 63083836 52197448 659297488 427861024 975904120 586802888 718016088 671289590 583027992 605285890 484653836 266090452 826842738 410420354 486409536 625789996 829215082 786148788 708428874 705529668 689013086 959777438 930184340 593978590 600772286 772602156 689754608 801624294 77749724 275968128 32050950 798607970 809874282 12834494 160652442 171520218 994606552 898128526 118737816 848122392 646750964 654877470 802566658 276134274 246595034 254578460 157345190 745985436 496143268 230000116 930346588 814494046 990540132 436298114 233753168 533002098 966466684 548429466 476059210 827510394 824757956 652337912 797914112 62082832 525639748 153978918 853491920 647163268 672346860 263111746 648069234 244707314 684615056 725667982 882892756 404972230 696673482 826640288 86257416 130930604 404220118 270300516 212379524 426341982 965062322 914964128 191842804 856111186 361435228 720364096 717256110 273200478 240043088 510075790 119197558 734239012 132747334 108192976 843118514 300230478 742225610 575211092 801103486 170449858 274391718 177975892 463360776 450745074 146522718 646289884 931487716 69877502 958379514 442693322 962921352 909206470 610506476 386250576 275557070 452922540 304291786 917502972 105461772 535923198 856023636 966184836 684229358 21396174 532725630 607184340 354180150 530286304 410486440 740653652 606884364 954427036 623855394 477672382 992870590 745423026 69134958 719030422 557066912 754813618 193011888 474455274 735578924 499953396 534903076 975370896 688478294 595932960 198894336 543219252 365679496 601575830 875836922 152834622 715222476 336250676 996164450 118194824 42667264 342399252 667325922 397903884 830060572 267958782 528219812 342685598 147143162 163183922 207147308 213055662 493120878 3535156 106099058 867214310 31294068 507565754 261758180 871304744 451802392 40561876 382851750 541874950 26605860 8348760 783017550 575779268 383342916 796325952 756735640 811417016 597528258 608520342 637154486 437470030 772153690 986338402 994224132 710354984 477651986 416315636 565125172 465596848 371711220 140702290 734399892 883044762 416251658 768340490 383995916 819143908 517329772 499682886 22507208 772312722 768401910 128272670 773536032 825242024 702182708 382206928 201565752 937611710 495495144 723321664 137166346 763053322 865713932 748152776 794056456 760945882 308763190 853055900 29137344 467090474 942318602 330504862 134399320 61388252 223034316 331416870 873789048 491948632 369872346 618582662 858586116 848741200 789986840 262166064 680857428 364056552 37513306 955940190 458704246 438150786 598240320 40985406 49352220 177645444 194751786 391477514 324094800 661360306 531679172 580178140 874217362 395850814 27633240 653056790 120091294 91076548 537207450 495261350 499460704 575392842 609867280 175521974 417143620 799792500 803623346 467342706 927929764 743302112 46626854 645005922 197088620 294059470 655254258 559617558 359703390 756364148 727374582 335692610 489993894 735757688 753526660 855224530 548337910 937838394 624222196 22537704 888648024 550896034 905026564 50367498 887554898 330230220 781521524 102562886 568790686 801617098 406669962 738327078 382257904 54552190 593696326 687401486 617525372 270060162 753896132 329461796 418246038 131875576 355583998 640375290 208052414 704515026 288733466 998553524 750148934 876118148 42647754 886285026 830281700 255421338 223243118 157623438 906975184 946722028 433381808 690588452 965379124 613297778 971053860 209186240 44348764 788135936 397853150 563665370 15906360 997977542 587616668 181087522 13102332 81956128 93055608 933275942 555352978 806885374 954930716 588139804 13424978 717674660 38803834 954419840 290008592 48271436 170747348 597564380 787934742 784899674 262443238 360275896 217737450 687246822 122229708 483445382 74007828 794325338 673992872 900934298 241134716 38840452 329450138 510906056 330343796 808362160 123582948 425436608 150817636 792197940 136992302 773040606 865799366 951707040 655947344 37127800 596966420 463323446 284795976 793752266 113593530 787966052 205388426 312038710 661425218 777936570 826085556 777446170 828154 354228946 340118284 778283790 624632244 354600584 503006300 362544518 492903402 862378502 775213514 790620724 92715572 908515644 663933178 656711494 705059144 5513496 833990828 456226914 183552204 178472092 642509042 724041658 487262594 16457216 782223140 108484054 977297346 365582802 376840252 285119332 601286758 618935264 7142998 238283760 815567686 32247744 257381232 475321256 309890600 739068298 726810248 316526498 139607586 102279596 894700614 268298116 630903896 789861940 464166114 441714000 671619184 80356258 290283424 731327094 554710334 895192918 580016948 85512118 794953128 157668786 795141568 492565632 297749432 228660728 631156990 754644400 719010666 82503894 600252376 962106940 604965086 719731500 117698464 665998836 448910688 939075812 790411630 452796552 529685046 34270852 544477218 308677616 213164280 610327984 776089576 801100026 675825470 23502768 855310184 344568162 618253368 517087296 927941986 239969598 667182108 306970652 715862474 6731040 962774948 435814972 275558488 145167724 779229996 279732890 451952410 567537198 998779280 656173552 522188028 903412578 568761990 146250020 635782816 728760894 265332778 757100290 561321158 571723240 302203090 448657958 682545856 370092294 943947344 48848662 504422280 955184430 447654160 956937570 313837328 685196656 611928840 701458518 279482508 780186588 350144006 564669508 76427212 778128532 574429808 61540232 409392904 848007022 877144674 449802202 486288076 644115258 821221350 435479218 290132534 475892916 935883346 63667334 893879312 631363960 270863936 328987688 615263568 272817264 150110862 239892262 469907690 93180132 427194060 308547672 848015916 179182244 253549248 550438628 999277502 74520032 565230294 428262326 556040828 473956534 366825102 601835416 443852768 790811206 191435382 652328262 681338586 898019194 822901618 861051280 567690744 978402128 702776666 969227934 544927354 967049178 141684818 612608546 250986536 407872450 401951626 398555782 404758818 827032000 836423124 357099844 488885056 505221784 178856474 310470284 887907522 9194414 727290040 236271334 8404364 529702012 585983832 519009384 804304836 105149904 940602352 911925824 551776846 862319540 141922708 293196986 112738736 934917532 880166104 603195454 95344980 764443038 812196358 295389730 348957220 599075888 395655030 569154420 490958602 311794718 567450658 505650252 692160830 316200068 919877162 797075566 980702944 477041036 700497424 360467846 900862448 77375766 916926734 873818462 598677488 342909296 253971070 609535094 18292896 929608930 558673168 141075508 708449922 815692990 961987134 518810236 610801610 103085076 870617180 7435040 668195964 42664430 491429678 879215568 224747174 479300476 422141774 314273032 742877756 278465852 953855000 196712156 897947148 99257462 169020608 739826818 281368900 57051138 312543688 701688632 53266796 309086724 329382416 313872944 633784964 195377664 564564668 170831210 612780848 57077370 861991534 821553660 159558424 869004584 877460934 462913366 397128668 857271244 433043252 925202058 986386204 822997550 609550708 854263596 236066842 326687660 656028882 934004386 82722026 476152056 697238654 519730686 444460972 762831356 355899822 475842390 903021954 624020188 825204468 955692672 39706990 175351948 280566280 25042490 902820684 25526108 234510290 525062152 815486758 172710796 742103414 619860638 424367576 240668430 21966928 535498060 978427736 588856420 655600332 900307814 497617550 242937580 446303708 251442552 34942114 371660118 65565674 985099266 596101362 402903176 96889076 35882966 249720978 835474548 973561234 815633312 534128036 604316826 163855866 677605002 316165294 946131644 976273326 931289212 113995318 522128034 795233916 256486994 246900486 3659400 409475474 957045946 448795684 661453242 31307886 176439662 410264646 457457132 581222436 149743114 730246584 589867008 188898518 400525636 145284598 291287576 456514382 932893942 677783230 594211834 77410858 108652460 987310260 322375374 13158004 919759680 587542720 930794888 632271848 752231908 686426070 884775832 952683014 63331624 472645148 31491182 161762970 974001862 502513196 754971484 969060870 281052084 802480426 26356610 708612432 835473990 242011606 166578688 368968546 577088740 964021458 808634052 304224554 308045500 226356630 418935968 457808630 231543194 155077350 361597252 844742308 745376646 968872776 185854092 462550738 791748512 562682230 92723312 820660434 401788786 385360898 598949914 58701476 169983426 707214562 636209372 850734642 90076956 162357358 518890784 736735072 323986586 380448648 8054626 712609898 512530720 391189134 828077316 56218016 918699850 669702 193859358 603509168 651914828 7588086 541590588 913075330 180570840 763040468 3848138 586948752 548884514 564825652 484248532 326843502 649306514 223980406 827326348 206040228 917258428 647570376 434157714 817988064 280470198 177838046 974939616 79603760 823824796 971117494 250138352 360628596 454072184 535143852 259634620 303577870 994914306 483007424 538598724 711009014 302917444 413368530 155108934 271745468 391523300 397026112 391154346 916873476 254431202 364741808 685347622 737021946 723011230 104073636 143205924 128779268 378740388 24135430 592436082 923632814 428052178 883341380 379234724 342554950 20113754 878505746 319289540 397938306 351161314 61664728 765134366 371981170 403953286 709556818 180203630 885534730 730754076 475133196 724893254 847395610 59511366 686215364 943506300 799269586 546918980 194068724 649153210 91699198 332398304 263441510 655775574 830199478 757583870 148092308 512718192 665590302 837752764 644511030 751678504 729741042 602579590 68907340 251093486 893625718 18297732 7608878 784272920 278838024 52535062 321680534 732958912 334115256 502672554 374223866 439263130 71248094 617548756 741926290 201284128 475916080 577463876 76569748 58750664 547507042 282845854 338486608 239445202 728152266 75824406 583304724 244453928 947428218 823900994 394036428 938543556 113644702 484528378 980855222 674814082 644560692 419529974 38475218 799900508 147569420 597323898 617084090 502872450 645661716 530406076 587749480 679418078 657523392 375564206 167658036 960398250 843106666 64565428 641886990 698144400 46173768 892274760 703975692 988407726 937292952 542731212 722287384 137191122 414098944 902377970 827629500 244656888 818582086 333567334 404514976 421823166 323323800 994134534 78273852 545923778 338628416 53181574 283226030 780125024 807630822 932456516 714188192 271657044 439311158 591447908 969674898 384486958 6095146 979980006 54801198 464560676 127215798 467008988 407207170 760258354 689064074 267841946 559805334 349489402 773455506 664387660 927317752 354069568 732335610 764716248 33071000 252474658 875729246 104178912 901417358 129217044 222696604 988090108 676295310 377128444 685514086 273449470 542749796 470521558 997701070 879826886 580748188 221885862 603260044 276032918 937289546 825818928 845206228 746339434 901374192 488761178 300488592 18947360 103144218 230440582 14794162 904334404 681009088 97023498 786074770 886630790 583410576 639186664 648713362 856227188 867682952 196198720 421524802 720188324 257978906 846399552 112327036 342204022 846838276 183763912 564702250 404800244 9973440 835592818 459755838 274765776 657978322 232117184 288717018 389329598 62720602 785633544 942039304 880935748 442727760 952844372 645817956 706915480 508318938 125865128 885510962 264358832 155048078 768705002 362227878 218747644 284437010 679236638 764663756 21572622 195829990 906340586 241100484 253745614 414896172 287022690 145572386 865322632 582725536 426782186 479063626 815989744 120630908 941407832 493320266 706042162 934441774 76904832 15994928 163658438 51620260 738523408 442105624 562454516 101366946 257083946 44592076 29650638 767842842 48647338 579479466 864439000 17744026 97614294 978939836 324171744 266009244 749209828 649852720 692392546 508973346 621629986 686432576 524633740 927884334 890834324 302898056 180919588 23854692 801290700 538931720 321228624 823476 262660336 744313362 152541940 312426216 143724126 677180812 842911648 843416888 12451256 353504918 365284744 697007162 776920516 500875224 794279224 689492428 239479610 304379784 271285442 698287922 588437948 698880652 163928222 464135952 669283008 695123922 81544118 186118130 204837714 152733442 456011662 44970340 350576560 631981680 583384226 777249972 465675556 290876092 637464664 15436354 211538446 369784932 934881362 103527134 109983436 678506756 340727042 84444698 924109048 617970274 191927360 863927730 46137196 817185522 50169364 951411372 499537726 888511112 997070230 193454404 479674904 117122282 54495586 608811744 561203424 959104510 629551818 927555074 575455530 553531938 830167624 69709816 608600314 611511392 853361616 149428968 741716964 732649020 89870754 407285550 189939450 998599940 830662010 867216454 188619750 910040520 729290464 302261116 178455912 335182200 34162762 41392560 565905230 142742702 6560374 568046932 456676022 854305124 725596322 241137438 404333272 964472670 117667040 900148562 841046994 787205086 531327636 275671214 291195770 808673338 386631356 800830940 468093610 473028810 862389902 804772020 262466528 707956792 399035306 616867278 170135366 830839552 329073700 478179614 886534004 642736952 15993798 489106554 392308044 143446560 216345070 38368134 177267476 24426128 314210066 616580386 595541176 397442550 916761966 565953838 280943528 964144770 620649840 896258488 108155364 476817310 603984880 325483246 484578090 926348926 409898256 598434830 652493394 716023824 530424552 141554942 490504104 701838890 480494748 283324402 670044408 261116614 481976668 333339726 520167512 50625650 708687082 173887824 110115572 7797966 584913064 674068924 33322772 597058222 359353174 472852530 2359722 348213988 980272986 616771748 126747218 103503410 733165930 265024532 568753200 135284532 710024086 583994818 674135998 654924866 154137058 902654142 668516698 552926522 330649850 38063070 10431662 544176408 680894162 295494064 820583302 594312382 33811884 163546102 751117210 812871718 748573524 523220526 82470096 716752820 799558172 809430472 799580706 528325104 455304682 584399862 62336614 435871648 8539950 529798556 966045554 332172006 327553808 785396694 16153638 292108528 669739306 548560446 959910862 230894912 639863686 861564504 807869774 693445964 319733706 376029722 8314830 394714872 483308908 524724532 742347428 617744638 713048536 9753912 797937236 146196552 22358696 604571908 587324012 729181102 451631174 637373810 180401254 346345446 764955584 144216260 944880088 361210820 867795406 249243322 276639186 961730370 238707992 47218898 847935812 368150924 835442822 803687348 951001978 654660262 175579346 59775192 317263528 427034720 714025586 500661638 176404796 416739650 984191494 200624676 501464474 772174464 266550486 775980556 570970672 15169160 300932806 817474428 33504290 20935058 265568672 210983876 26247964 628520598 304303418 754507236 466608042 72841990 13545196 132997502 104110560 959009480 805237700 580418612 311131046 210149038 334019284 218750958 673932620 239332802 629291596 78082406 955086078 941254532 358780150 384503620 636617652 626861396 428476070 333602668 800259602 249656758 926283074 302991246 70052728 459008834 288882748 884622834 239356046 941672854 881089572 452758854 669091302 369026178 982713270 190935694 466022168 305959984 905228500 850307876 183904088 995200462 42884146 517370186 540985652 584817892 121789688 138604196 178569596 958992728 64907162 997091240 773167116 685579420 732136468 767893396 821806476 40390112 364118534 405681116 357155232 546300122 758461504 100444874 154666462 622155796 632383488 930284868 50466084 195782436 313867612 782128062 336594102 84616704 454076882 780694050 521325690 951262206 858886118 752320842 266125990 947534274 172662482 321246722 571544884 165781974 963351242 853563198 495379056 914509056 285145634 644590534 965850422 411991218 818443116 225492802 503864378 110745264 303279780 677107126 205616078 900617644 310549210 438464514 478180534 832899870 31012546 25630280 345617146 918841092 877953464 753011474 390704916 585112016 661318926 938770330 129758564 71885676 973868826 613937800 692381750 184788248 311327936 462621830 788898294 994843982 392605610 267273280 551455572 678934846 192539850 182314744 158790346 676932704 112336630 714576608 527172120 328381066 837607290 698629524 829654092 368593834 600016790 971178166 14349622 32883480 232020874 863292814 539887902 55523400 342771080 534292088 229040728 440495328 835626062 294747036 530476344 193435940 321924670 281630550 220972110 825021388 907859318 351398640 953223292 830522436 641047906 199605442 304511758 937991264 299633758 490286494 81197208 109539404 905929672 306762572 820554214 661710298 156516412 494638024 970524546 607650088 646170036 963673062 280993186 470877904 274694980 16110446 666770070 538676162 859660180 874785762 322224282 478692348 653249346 103700486 510896212 186551348 484775998 184587552 630941112 215214576 221016970 733302734 297418202 413911504 518908764 135880706 997717044 420170772 604312420 963447800 829590552 803669884 104462620 108558304 670282396 323431568 174113980 768735336 932755920 260532124 447506960 126364412 971963528 799876240 191015324 817025402 598453434 861735126 651370712 95868586 455482900 205137044 743072808 125195448 440729278 565050274 612670490 405603750 640676522 840875402 478590356 761237210 312657218 607693378 382795532 265763276 806438862 616615976 287000078 319056404 916055364 512738598 563688856 284456888 551610500 1844976 650212170 256898866 335539370 624498184 85036486 110615522 113016866 859244488 354251300 154835424 110400288 217226770 691308930 161588530 552020348 15977952 967004902 420912100 778395878 424419556 475068760 629677970 122675492 806567254 405267472 237812290 177426776 47023004 365108570 94252646 776826114 860894608 644646496 203413324 345042530 182917052 391239172 548549956 884579250 11401976 62007378 191446906 771371800 693680648 752510112 7055400 994713188 612137542 116734470 359456614 268321596 96346262 258734374 110650172 459797198 727645544 286946896 599752576 890487824 201065514 283493776 703639102 648687004 826523416 372595556 97597272 984784158 991894288 962896268 735220380 823121588 645545520 560661590 99661318 18373772 394406914 994113280 522628264 1760532 43462826 247090990 990267948 717844660 771616246 637571342 580862622 289763788 28276092 344526832 884787952 480063208 989342402 713415234 178257620 321635552 283352588 267864446 543178260 557319710 762651486 106702532 154892716 962718308 790665486 12863318 431535736 249661028 866362118 983877802 451341950 479928204 686001134 85929900 927947010 22174540 666572800 618528114 431851026 505206308 696026870 471889694 980556066 474539322 158977002 575669860 67021822 999869732 51711846 847557082 959504594 72004642 789852986 792017868 721523294 727707522 139590152 443188984 552639118 76144132 820843562 131389612 596438466 284751404 416973706 969627634 519345116 870069064 488099432 689152264 636053332 250488408 934184182 177575474 79113042 791026180 741288586 204825878 641109100 261226842 730556214 485539124 679795554 193930592 327097970 566654628 769344052 504001760 283465764 282856496 573205484 218768424 982145902 862286770 320244492 341818112 473985054 869607182 260986952 70603670 626482688 157392310 962153170 691564860 884263378 815230680 385557762 324752838 418835576 99027728 69071378 392213862 875848130 177118906 764274470 703716250 304451714 476988142 317282898 85179746 694737192 201964004 844656652 566553014 927435818 311715518 656693898 596694504 233100938 445793384 703231676 922069568 597409666 206823852 389814986 829479036 471915336 914305108 308664956 306308062 259198332 68406514 918785868 220829760 628455984 922102816 876869352 463423480 81240014 29612312 809694898 465346738 830304976 458865188 750515096 374734744 163240104 728481254 878096078 213058980 741666308 783384836 687555918 337121982 203577782 530350482 101383896 531086698 149095032 636238288 790113206 869283962 595148814 557255626 275686268 74293522 896994888 724131084 21495352 514828994 799383342 490846428 964164628 421321182 285144674 879514170 643661176 791846092 99321252 467175548 344699214 410649190 783459012 44890380 845108144 604179814 18956610 562934450 120264382 298779152 746520636 226051928 523693174 543611540 530017976 323402278 236066934 896848224 522968188 329012902 109657094 459864524 695456758 633664510 237682916 540149872 209334034 404273904 308176668 845226850 962860212 499533642 106315642 51709668 637245268 108611786 812239862 979518840 111757104 674563068 155514014 719918994 167879830 527509918 269065690 651981666 465263530 446512980 275168102 76166064 904342722 63850852 909363448 258123584 456388784 841862982 949003630 220006570 47148326 560416500 340014402 768574962 191043940 965826958 524053644 3076570 262829046 983347524 969996690 801857220 506357692 71816086 157132108 802652114 316461598 695576046 667457202 895187964 434614692 206992146 698799678 861333386 599330878 360649784 652316286 894961320 386509108 887659126 608725570 474063614 625018172 761171562 154418124 803130326 698433970 412250094 444313540 470093404 322566794 276236742 458028528 27569094 759751294 947057764 781257166 833044142 949573930 181196854 994058414 268497614 879400010 831328320 632030176 926296480 460998356 349775148 531079450 7778642 912447570 810121242 833204866 126729680 410574688 515267268 910658438 56186730 504208804 526057252 710635050 826224672 950798818 495484646 50175526 285712642 33063872 978585436 594363680 598914056 993489218 103678766 699749220 184237176 761142514 425778402 872229332 640740454 668675502 78609038 992397402 404921948 752546574 664191940 25728730 218196522 260526728 767659082 499794828 784419774 392033978 777045956 499998730 569669268 742600936 360089072 34377322 485906380 994392860 100425284 275500328 319633342 840690400 35943880 788288968 120432308 738306354 886113156 437022536 420902742 739575416 831038004 342154654 249138800 33446472 260929470 167438212 832291728 842011352 157033106 517373852 26661318 120686458 645848904 159554740 402828136 941927814 980160146 66507212 134222496 140763684 776743394 864261104 325893284 596925520 409670170 643023190 274354670 862273942 41839766 92452040 943572410 299340008 148676012 637275576 354928064 659025028 309032522 226625400 891433022 409046234 106680766 817280020 60543990 513647936 684129640 805883512 386350780 77178800 273853396 852848290 717419582 154807920 804404614 739379976 4974040 639319164 473863884 884707998 785626312 775844400 607627736 866074352 376007978 21579344 615203244 599782132 426781170 839412912 85096760 232544002 929695394 835566526 917602868 466870112 478104090 663176606 697006112 847854396 746726366 691313614 902023296 615614028 231468272 441446046 773805424 270214784 669027740 856874408 858117158 847124936 663737112 554222890 864774392 119187776 351093974 919877530 783487768 813646502 531942832 830412126 28979346 399724746 135525460 295682030 589601704 756757724 982506712 164912664 37901170 823219050 699166934 192144432 290560918 918342636 570242624 896995710 634684014 238170350 879743834 958730236 798327578 44497836 748189900 806739864 435126274 313971712 192800102 278685500 29909136 224324770 740071124 684061078 446818546 223537786 144466436 594801058 559105312 342369434 724513922 615307674 315103848 583483444 261751136 178938800 595716596 422681308 613311252 18225206 33963502 584961586 334196068 990727950 638888304 421370148 245610358 656029232 765111520 526448714 895796450 272302252 270941716 28562768 578434316 571435028 832427752 65171168 641138002 886838594 178085036 771585202 697791058 592188166 8823386 415483036 192379770 718247024 44495624 257846898 311769850 63963222 594486274 928137888 617137110 380709362 525352592 890006600 527586812 611916136 125398792 959581864 587661454 711439766 771609998 68817196 678123556 962934384 419021016 580450482 770471040 71720990 526636430 325529624 3296156 531581270 289728882 285812244 495872736 258075008 983070944 744647086 861800228 168610998 717708210 932043924 635099754 474741028 44812766 473064008 650216244 583358192 49061344 609624834 210410088 282807962 342122118 819256718 235802328 113390484 61966518 311369954 531243110 380687140 203089078 960736372 123690558 561172146 666672420 444543772 753426088 460883176 2452604 453164882 641302750 523409912 860068306 279861666 592335112 792950782 576390168 128068656 108169750 568005390 760959192 897437068 127130060 124456974 256209574 335260666 714704744 91059822 667522458 525248214 794811688 431618646 285787586 647866728 988201282 921195962 978545338 505258786 958778304 788689982 353191494 58686744 4059088 522716704 673669556 971908464 596136454 355213646 887839804 436247390 384907646 861574430 390165676 444718256 670093058 631450954 300654610 147412796 598232602 14969778 977301326 49290050 282031650 297069070 103543566 741503302 547796548 473013900 473818546 329602564 71310896 86216830 92800594 818099052 764618866 425905192 352633364 690180612 704856148 134421450 236186282 444568894 763624512 87489226 445217894 507890424 10350172 208714872 533418554 815820582 340807686 79454198 851993590 243743100 614751566 668894572 881452528 603850340 747456836 444886532 815774746 431612140 150301688 7874152 478706932 853445502 277444232 200782620 537031630 859902618 103506290 17971654 518822080 183352116 603493790 90291140 201953860 629248794 339552076 519536776 620828882 87652176 369228878 844190758 461438692 854023492 876113180 224954136 7179186 487653904 487570082 164193404 482200786 174048144 969676866 541932808 367620788 161378622 213644078 437439362 869779510 582253574 875711152 998077728 462005378 462439250 541020354 309548000 924720996 592887638 426258268 598423772 75757750 999709898 169619352 423135854 134437608 207516100 39350034 688043676 516562968 993408934 118246496 235023588 864721162 812713260 3064144 867233406 380656172 558730516 284838818 632983702 911308024 767995194 71517358 549875996 329129872 226498842 233230082 688734260 762567886 709560102 317123130 559725888 616560848 770330078 885270896 178074724 594692126 241110724 174901112 554699418 787532592 140795216 97854874 20541262 249778406 502174320 917649108 331197416 467099338 694329094 513050060 804626632 657411864 449594454 483804988 891720776 34465940 708572496 515248088 465758018 490402592 331869550 450376690 278674858 526151630 652102524 870536068 295869936 564951318 524685758 15304356 329542564 21252942 641556560 623432316 682387422 619879582 502386094 26757304 212435200 293172814 119652422 593046166 794074476 490872994 456823990 621996448 267095996 182593732 634083924 343015352 51172070 999577654 40256228 927287454 839142710 65725784 405058396 832738828 106803162 619366620 663852742 28309382 93871276 313341934 166275930 694827266 967998278 164953812 434267404 261666796 128480364 858495556 793800348 434108478 448796496 718966308 250344560 376489218 853818464 776537624 150742088 968430826 838358764 714167020 254967816 248340862 718847236 831470750 532973880 780662160 269322142 193245036 911009924 769138702 681031846 922385122 165508842 604826426 319991786 63940946 236470894 417839838 57169120 193987742 312266308 158179796 858526670 860975898 847743404 976894772 460473536 840581292 604920970 298686086 895319230 599406890 827652818 218411044 757060382 942552680 568042258 605099254 465684780 854116178 225912262 688547258 738166082 156824694 37685330 538446800 321311466 913059032 247642544 118088882 294722812 851153342 986373596 45143376 862922734 413532190 558243550 200537644 994883878 213586138 116282956 977306132 932975644 621746984 120276078 612954494 988721856 812350014 182093990 189646450 724894950 276628452 430791302 368375852 820586402 869211576 700389344 60697920 70250088 722119264 360624542 50161654 249295804 966275968 124738842 230790436 869355996 578862714 711309070 218715976 191214242 277502882 579896094 863795784 7700992 779043188 974014482 333035852 423631742 334075724 789326818 842054324 850615494 496052208 676531918 678608582 87232182 525328364 716580334 549380628 669367838 445812044 896270420 721462788 431821086 129097730 660962510 928163628 409116570 780275228 310358328 737309736 843785402 182507174 541622408 695968544 761497886 477518804 961489090 271048618 196528188 873560496 433882308 131050126 715528862 543095330 27515412 466766020 783358434 667772304 74317016 678390650 490631568 311185202 159066752 163583890 282321220 324025422 877920824 384295880 932867444 986895714 252430682 886815614 768833766 5234428 645157574 440363904 414281974 833833744 531071400 650068810 19304656 832177302 267492340 964503014 349753470 304904884 522189526 33020696 536667298 647091584 216199750 870175220 544021216 496036230 354722624 601841160 921911206 498628418 26809718 125983546 296864936 889070896 129005890 115195182 57983154 542098232 983281482 930146516 253914766 253666792 533085972 703153864 927574838 431180208 803346694 676100542 763487518 258755850 714137206 863364608 74651546 833420358 931072704 902026304 5628302 370622566 463849392 797702328 974650780 574829662 7662392 293243638 347874418 153121448 68368490 479328594 162994038 706367924 452890612 928447772 468275664 690010474 162495700 394186516 518163668 265982364 619477066 610358464 699532662 593918068 188580298 352484776 281883326 112960198 144623492 5351406 577615772 853850312 817375598 722782948 736165276 830981716 865403628 220979668 56204938 796271572 722849028 44123410 833271248 201175270 496656118 930664248 194560300 250328466 599176758 858330942 283242126 149468344 386887134 599704758 256994732 824449274 81696502 43775324 311953138 241949402 894175338 552962842 204832292 154963298 768605704 677629756 346589788 433007570 992411124 539877990 813549232 136449382 501596002 643591148 542787766 74125496 139998154 905553318 99404574 53431640 365127930 243188426 455316758 43574466 709031450 68855322 968104850 198721722 772533648 810240684 842191674 610875556 498683010 616960154 862401354 704196478 807971932 9491312 285581458 53225476 76315574 584757048 837894884 689260244 384500472 503599662 445156298 947475510 285186114 687195478 934443642 830082864 508227918 92373906 768993762 613431416 476336928 391586236 70828298 511742278 62246056 726122686 639448532 808983180 728864126 517830546 625521400 236639552 555202544 788272892 3875232 447358052 504183004 703908084 468999638 883132340 161520626 469894660 794000458 673712064 746489720 646105154 673607510 747109982 402857068 283450836 264288112 693509638 273864558 883131084 669359594 571558626 410075100 743637052 194210328 72522180 334568824 213202596 92857844 5778180 549776212 548152906 856936684 424448996 58366914 869065406 963710102 842217672 382701268 177012338 737814976 874828226 940968706 903688502 616934220 514271246 506025422 726887900 296147700 986774146 437743870 499127766 859625216 18131970 709072808 825465778 613354776 371299260 271790640 388919052 280932610 812571988 84972886 540637888 218661932 237450342 160479218 142864526 756580054 250737722 88559842 885893360 889536980 797428616 518017160 921774222 788730746 74951324 161869138 922503632 74803230 280975898 559029904 834568424 293291458 772179338 168896614 281413048 157489614 269356478 423281362 520815180 159494558 635613814 474190426 280839780 524914868 960839868 192034016 540760376 700111548 554596420 280055724 670359384 331944536 963984268 311018478 557443916 45844842 206182150 389031610 217688626 490964480 208874086 145542218 57401102 320831020 178927718 894099830 385719644 870747430 22263188 581989760 90875174 227850960 63720458 343607080 76595398 801751120 37231822 495387888 92878738 305715372 227144632 900924224 414938400 242013532 492788854 67856846 904510858 35091414 187587124 669689960 486839794 956351158 657772702 57831002 429523430 294665606 783347774 273771000 200592406 317651664 481568922 855712360 458400734 841793546 932644554 814824122 823087700 103550772 727073068 91073086 688370564 361254494 530058624 709064710 240184004 804308896 538675220 685460002 414147266 283960498 938644930 61233614 676658342 876287294 514272914 626949786 180826814 372151900 432227602 884121838 949946502 861819550 106911362 129072336 547300376 103800134 738007494 573884786 244305586 517104560 828570436 286236318 514565714 64214040 835984104 791929624 480842908 482155652 632629448 117815238 848341428 675315552 586666616 516251888 134492148 382441618 273336674 44553266 102852832 785961102 745037560 14221452 257458942 789047766 519377348 169499322 851258920 336482860 254447394 979744196 514348550 917804672 851322386 240677866 535036252 529944264 766717028 713977098 332723804 948594012 89744330 178694976 216197102 415695714 547179842 952532182 53250562 399815236 412560126 331469886 631281772 872802422 171645740 717784392 908624426 904073432 943334092 82655702 331565124 273554734 426508246 823606064 185600290 747993430 858652064 101522082 744422288 942394416 331519754 589231506 995264166 530867052 138295094 83381708 986161978 698529880 512711896 629927130 799476060 322602422 154625258 532460526 717747478 541235710 395291968 483333128 303535110 366000054 674606206 127152770 417822520 719699710 329962460 18680674 84003862 99545496 198410516 799723396 793601430 340514140 8422270 465484856 759133618 968059192 781532606 619778600 4763186 803761992 906288330 658993338 53306220 383453230 639952268 573396654 853352354 447501102 726195948 716293272 212383842 17911394 993439772 500556348 719355222 199566870 3726476 710613426 206566192 385010042 69245258 655869696 880317536 876777788 720233038 763148402 102932438 827008714 690010320 554039544 614734462 680069054 82848276 875785806 437310260 13954134 746030794 385450268 563179888 125345016 859227104 340681262 835742416 246143154 213967426 645748350 54493918 580689514 967770884 631350158 686618022 821611776 566783656 813075186 810896750 456479692 959614554 486137430 813557994 56231274 455878978 948785896 77918350 397672232 804494868 997310850 101373460 873810030 858653474 360853230 807111974 743137836 504845446 42356854 963577600 735432166 577514580 863615794 530366666 768347650 129792732 981734206 404242674 981497420 370797190 164987272 186911766 193691576 710308570 204789182 306546816 640675154 706763158 932933646 110011370 388380318 856434624 744080578 970043458 257193198 3023330 556573262 263803112 36266806 229861444 195592210 800874540 440166466 141853132 498516680 313413582 56610528 88399366 344637226 352954822 771570050 425093776 606445500 547893928 32993932 181804116 312615934 665444952 113964410 112295932 927318866 580114624 328124068 989756762 504504350 888774110 38835262 277000706 864507550 224653144 840610148 119046004 642983410 964347460 832689876 656943798 851733906 593011328 647788554 570157880 214370432 756389896 281822578 236368440 505554760 740231426 198880834 502731238 79207728 440106278 22544356 427426656 520221378 948699782 502083276 918278860 538439326 695861250 470783696 205854212 158279178 766387012 862624626 918749206 510625092 891445074 45774750 228452308 182613274 577725328 84471906 818546908 966694978 496634284 528423310 699107836 717595440 70621910 438095022 707477010 337292610 258433580 689872686 337234250 508662344 769726576 138966882 417349660 790782028 952068522 428674774 539704758 288020158 271913096 182150558 167549206 632742192 36588338 500322820 379913578 867683500 353821676 60830038 26547394 642859086 105831120 260369056 247334766 535052850 859298560 78625176 846197268 272096186 425149796 573358458 353128836 253978106 850450364 576612978 768295022 498531670 609050378 537559386 219962898 847771600 54648732 246142924 138249946 173619390 889768300 657430394 222508532 952142416 949410194 475254020 214561878 829652572 431259280 128105994 455869138 686057452 777810592 432252366 92328298 882664348 526986490 942785268 562979780 420842862 31698048 543577274 448936110 61261280 361675580 1557986 924824888 885284960 616419318 737767446 757991728 17375824 804398866 676758324 817993204 170788142 199508972 901575450 18285064 645064998 519732644 959221688 608690500 468742160 630080778 92390086 707586402 703331980 614837086 590436062 751544836 753648422 518898282 184450312 905010708 181236078 937053924 604602794 938930854 355552052 137782920 793775246 326605374 227589214 704722404 304692066 548002612 442625698 163373220 571723992 292652592 307147960 172794676 806754230 486620822 934010450 668434168 698733828 717662392 565226664 841708418 426426290 871855806 651127582 631688290 518950440 611170370 367593550 350664498 62136526 451100778 409800392 639734102 316427382 469485860 831666022 22962980 385605514 533859422 284299710 33334168 493760468 42045888 82138306 210513954 307974254 337105852 837659732 637614854 884009248 717009770 464843528 497767808 964601216 970308554 346246674 781758246 72645572 496039272 19582248 484552082 427461328 775084526 844564548 739081748 491634424 450339740 464793464 795045558 162451144 745012540 372591854 315379132 416970512 305077264 351247708 581756336 134112900 273584308 415448780 777528482 790861700 730961058 691839996 703664168 975332590 778944344 862319164 22931018 921522106 347479862 13831896 773178660 342470384 77021090 783182996 889055006 567825944 117506176 737691652 143909514 722226968 703827572 93948432 963727916 145236812 343566098 140073914 86008144 51056844 609466322 177103674 154334772 60284762 796872426 368541332 530759070 811204566 877288652 326899128 781246506 728313432 665281000 781039566 249148716 336790348 243002774 491160516 347897328 985776510 995154752 117314408 217110410 739395136 692898554 536701050 399107558 922938670 331984798 858414942 271016024 949780324 507356654 34571058 57785484 111760994 446843734 766251162 150381530 309664394 894224954 59217870 229630830 184299746 99186672 437306116 529241702 76148238 395996106 739606992 750051752 508567036 78312454 917299076 852367420 756949600 299627036 227016032 946187590 713467234 680435882 568815060 518807248 530321812 102494796 664206892 475235170 550402434 271299278 542482094 842664636 202382312 700502636 816186554 846757996 277655934 678886450 856363690 675809478 944401694 66264904 190876578 64014432 575054318 882381078 69366858 933877080 859849922 667308154 919494078 908734362 808768602 406039910 794269816 592237688 185109886 79899446 347370026 137887286 824393674 22311562 23919238 807813704 127202714 772916136 643084048 166927474 494314706 579019578 664817274 893639076 813949652 824415010 492223904 913665882 859555644 845662718 837124208 821111912 749738518 609986490 163990992 460886028 528664982 19365964 332932284 111419672 956910402 716228586 815339046 233647680 482932238 591706078 132458574 168390286 631897300 301628864 766373718 926495762 296852806 473665090 294714380 77479990 504772948 208245230 330279952 378007100 158373364 12586142 352808350 569039306 304302136 819767796 61360302 783958286 563250640 501224110 405898688 223259614 341156326 781805380 350771116 137990546 226173170 688849770 863509624 170987874 925250974 946269898 257969452 638343398 130014992 624133352 731026520 55067222 484860188 744105640 121195490 126068990 392307940 984486458 449890404 69844404 222265862 12343962 259997224 472897342 360436868 542281716 41607474 788132220 452339258 974979754 229106060 992810998 55962898 772887516 463981796 618239144 707498376 809840948 305354766 512569024 108044620 818932132 415018796 150118490 337894934 481247030 711931130 990910936 740942598 245457802 708175488 944079646 887707414 809423332 40650624 475652532 589243640 822130834 910338744 413615228 451130906 76102258 800367360 288090924 277237620 427671716 686943490 627663202 298712100 197177732 244233840 835617228 425814364 160793232 972073532 870279698 286177050 241010692 320838710 420494362 125790504 494623210 253642806 487048526 545428318 132599686 393963026 622618932 354027960 163720536 842614238 996443374 728338496 151960224 566369146 576846422 784852038 647184604 590212160 59214168 155369106 35873314 76410688 342718406 590223114 64102066 121612472 158929916 873036128 307201308 146360076 441504880 59013670 158409148 193953266 691862090 310280366 798122858 714875032 609784332 319788894 807965624 29403888 223188102 262041454 271111082 999557948 653280888 600126758 780744598 335079748 521888472 915648890 229132764 85822176 336151306 298271650 956156370 810527146 993170978 29819170 672912048 564285828 577754766 440440286 150444666 760464136 831625598 313961638 544476666 220245930 931684618 404936084 471399804 251356084 53238000 667545882 396542336 471019584 261179840 876840684 70376590 837796582 800516 306407466 633868024 376075044 40119010 460015160 66151412 90338010 236307632 238354162 401828140 798105546 579350286 62015126 544047286 234798130 296073198 784327778 261442432 829679938 461037972 15895252 75208050 612059286 651295704 955940068 243923106 295058422 725903722 766847736 561161262 193088448 203870546 43463326 637196128 249730132 797913580 837796180 440308828 294399142 909445698 734032658 188922098 379225764 676402890 18597218 801161090 687345266 807463522 683833394 168387024 254077500 171161914 479011444 502114854 940004948 861711764 516158140 143595004 960063136 836099356 627690286 250291790 815191938 2478488 113779796 180402360 136246950 383017714 73655774 798752682 691413822 572255408 45575688 793836034 65080244 229294442 320200736 398974306 257017784 562167208 911249052 212455076 437820970 323106000 498798088 728929398 759181856 750573996 123389554 174888132 74212838 267248354 504631662 808907364 369726120 657256138 695408844 664507800 247332382 759722794 593619656 945233760 450006950 359914738 524507728 336523720 435442848 743545668 999933800 425148440 486239228 896214298 63092326 806122514 855770284 823871784 195244766 693318208 747918620 895713470 335666818 997442860 743448944 42572654 912734270 314531902 870953538 583622392 422109540 412873044 48951560 85089790 962084748 806239552 544188584 743269006 725295208 366435778 624115970 563855730 708675476 890565726 210291816 667818458 78173244 668217246 512620200 508230734 715454300 945716190 729135852 446649722 870659996 143643244 501711412 425621856 568746118 766557132 602911362 766091232 257423566 149136454 282967618 171480322 202723312 708811580 634836342 390363676 620950336 949717372 934901248 961049416 970120724 419243502 947091132 455979426 771193872 92433770 121094214 582128184 325736134 224835642 918650332 124843100 223814018 522963408 960787154 94103006 561492526 446108396 86859384 580686526 432318316 900552382 522242598 753570746 773473212 284144440 863180566 689855138 412892822 738664154 529513662 87565956 216191906 236200242 102497590 778607936 615482602 103734014 285629678 768406372 435673510 337408758 125965520 842905466 821499620 659615388 466575750 872256566 412831974 606938300 483045280 597563604 312709796 267485070 736343510 736156978 470824062 225453328 74461270 55371988 880554636 516947590 111443080 739524786 653770144 681959372 22104486 672618410 666417330 244717796 751140464 397606512 218542494 957340200 546642022 200685886 467928028 186154976 562516038 178656710 100941662 422862410 444080290 350732406 703396760 61693648 35159030 827459628 233584828 72771336 28031298 622242412 401780070 534708050 967054170 136803816 870383592 540495902 558652602 942722980 735151238 508380124 566460298 11719472 865846054 457487350 48272092 709301882 643314078 769353358 305771234 213010954 805309266 551475358 720419450 386345152 296871658 672021294 493376876 652927898 372051382 407947512 625471948 968473470 938233388 759838578 234923926 808094842 703303500 742256022 759621176 338011412 189046332 593520554 59134902 507679506 60626962 578999862 83745788 563873560 432935034 702676144 662764686 684212850 746274564 204576168 750778016 834986390 448387646 272957010 672550920 535650872 277088878 956918272 105226196 815937134 25129782 609767414 194701612 660151508 73063942 286497010 789922262 320694942 620648578 225814090 556036864 109499946 960125294 791967058 444170432 183518966 178479552 281806806 827729674 242807724 870463720 117491112 346513824 238411078 986872666 313314416 592684716 410634354 360129612 523840176 323405966 492578246 954076120 755725370 121922234 777660738 834994006 474683964 262117980 952932556 295519576 575525866 608011810 494203032 107731886 201506258 501206102 783977182 782314846 392667040 50062384 522915482 479792584 49222264 819286658 751355640 165407024 424028620 914217994 830949670 409069554 915856802 856418026 725607888 600496582 466214772 734983936 345384544 205036844 124677306 924460042 851996664 84170938 585134672 741162380 152269208 398081956 879835018 16864634 194252130 433008364 654379352 755438578 199488004 640836506 153189164 450714362 336661076 285715622 871977996 889952366 888563126 933872958 116074292 338650820 445885900 768778726 865116568 516906408 72823108 3783350 102800470 806779122 557733498 157656002 237847532 166316440 557341286 789481480 224105246 813474412 600458290 401240364 301186516 772491444 253875512 256662092 470824778 525346986 179716306 909510838 66362226 926434096 558471438 873560762 921252472 376584578 958416576 822266026 25305256 83406170 15973412 884858102 557101306 553244618 636344958 645533712 227397762 865619792 318229384 97778200 871857418 259181902 254674044 681651612 797130954 581105836 419397536 905920252 466716444 934323804 848724238 774832360 16982722 2824760 318766282 408760150 401856132 281073612 46912134 866098614 582035760 199702164 293255978 274000240 921136590 434837024 385835652 967263248 820952836 218914374 918891834 480956494 401029256 71333412 764947668 937956070 790052974 670419128 648530322 522176458 587998704 522217606 217499736 62175652 991914752 750139870 617759376 396816390 59695980 356664786 39175856 307221006 905460478 874620522 514771992 224918924 956623668 661865918 319191008 904691928 201937074 870875320 271858954 614498628 315394746 922872310 615634888 892840626 971936240 664709758 358950728 702626642 141668820 43293594 310355506 396015788 67795196 124161472 884454586 239128020 985121028 245566228 517070090 697142254 722662738 587938492 415140024 873552162 213158660 289235812 273337096 275624404 276059922 293643778 710161928 618808108 683505320 870512446 849906368 152182078 493611540 538479846 867960546 378196934 873637428 234383160 40572204 335163418 344666196 76976070 271737472 886535450 113532722 798253826 671069106 491470744 834240136 621237986 124635728 491355400 132519532 86135678 949198314 662042056 7586040 279339546 904953660 223830378 814446654 399775900 6703282 781368698 967436572 165785100 697503956 569859896 297789850 942365432 535334518 698586064 636545720 955916712 581663398 149484610 630337368 437097792 760373062 655925552 731879346 447554844 637629266 886868670 869903494 934460210 400053488 890426996 78257440 585783910 813663334 474926574 221661270 745959868 783586952 83648936 415054744 686611494 769749084 727570968 748847506 881076956 596042830 437254326 789289812 707572024 900856640 56601362 464209050 906073462 434697792 57486228 974858872 873716590 658189702 717776506 968506838 895932460 872358454 122084610 511223244 279812194 270641882 533297146 496138420 254554596 379301160 606176198 844539632 652692400 117712186 710228252 840658288 271919700 816898892 940305334 86181380 204649524 251827968 364382216 10100122 268680752 999049640 28723778 746556360 247757782 226639842 15464768 279635490 952699642 622587554 736980308 476484034 82815608 312618868 746052688 511173398 667353216 198302168 771251400 507252076 38605484 291377552 646652746 655152864 228197798 330199272 898242380 249828340 9250162 219727180 740358196 495326544 341690862 584221176 201778902 265808382 180451846 828119860 786250228 694164400 271888878 927184910 421697404 833825538 553842424 968875022 437990992 670765794 439095342 496179884 966041732 521436874 190156734 855689386 575467524 196176378 634568322 225685936 823824620 764662382 576741988 879725164 665287036 57858174 958118924 431223870 294242598 749024492 132122702 398538428 117225450 720473564 439358416 857725528 682794884 341775768 57837516 130765444 812539194 734982516 455394102 386462844 833742600 420343524 138336226 781201804 683380288 646335606 118947932 367918452 353907250 284443866 192351298 943716236 826855392 121050654 87684530 737486344 257004506 400741078 208349320 207398826 876361520 365107516 27112240 297419190 930306612 397971800 966307408 28021978 991290882 629715502 557824104 43210878 47332290 34594258 898210080 393816468 385797056 906598578 651711234 2046404 86295306 662912956 951392726 948565496 390256046 281325970 371660906 649439456 147411470 961211374 260445270 319683746 361835298 65991118 24484402 170111282 370495414 61695078 119299182 490777930 985516984 302713854 858335696 854926254 636174894 893782572 480601296 756786012 76137216 754268582 422912232 89037444 736571642 629025648 895387466 977275840 431476534 500670416 830905374 490204770 216048402 946813326 126085708 189511720 316002284 638885938 104788704 823077750 93810910 609910324 738405826 750751864 421832726 960970828 656844430 157523504 277046888 990039526 394696678 313447370 92374872 327798164 794668490 454932088 207511614 666310824 47078980 632509072 565250094 549392730 172877054 333467694 606580226 743799882 135393654 617271298 798367422 206147392 164293508 824208736 553119556 309946832 268141440 159205998 160522704 845759906 159158102 63943070 177911582 414287108 263038254 437769932 641764458 686181960 182841234 623999032 434718808 898644606 515882078 378356644 49274978 257595602 725404812 467914726 247193614 506532292 123735512 718485822 798139172 726563108 417648768 162569604 695436834 32416940 804708470 584617218 696910382 923861504 181933930 446975162 787657670 47725768 576078174 364748564 723607758 172875016 621105936 586499710 385470990 197438910 875073216 691365276 302864904 863832488 932220788 504161636 758883288 591310996 382729762 582860608 291528158 893440960 930308226 716515252 804354370 978029016 471937970 918003194 461625104 298401956 96343114 966306514 287372178 246050038 905751320 530413432 738015404 854873846 596764114 48461622 422211690 817561748 769312290 251013644 96352358 371691708 890038902 448783176 724196082 463255508 600963720 402775144 488010204 925312716 115375262 344950680 447444248 735428372 946836040 696330912 206501660 828001476 320395716 878027620 241105474 704252692 739516234 10577622 338689108 928315148 491824264 784918836 90857816 83719890 620902234 253043328 881223254 253733024 291104762 317501880 759916538 237341810 284041162 648092180 63035550 624233442 697842272 401313582 529224464 756062262 57073682 371093998 526396904 327074802 845987218 800814210 558277102 143205048 48623576 955532192 458301170 832675458 361934086 881038758 374406824 100551872 259062650 580277658 861302450 966189162 465024800 880732408 879912260 182353406 675641222 359049216 215776084 982157286 768608076 87794152 977697962 251809420 944430096 730100226 585169920 678134580 136830148 363129162 302558216 428503046 629001640 853383244 783974386 562268556 743752482 554401538 400248264 9287412 615448858 363712720 901498540 738086384 944013848 949794978 686621250 22492038 144802962 187066662 667179736 820524918 371414970 846911978 264263040 856266892 833505194 444207290 479381216 602368770 300220840 796087358 314196798 531602028 277023304 385552896 530713580 589835386 541088292 696891746 902215316 239812788 566057814 727800884 647535560 29066418 598825594 887804882 411109800 860040694 755892400 60753736 184662672 431496334 741193986 592746202 875526130 515826964 969425382 969744424 994941994 460751794 544236564 282570604 887577090 385119626 586325236 104640378 798083782 840054816 378432560 562976880 756673694 891829912 661604198 125804300 504682588 706820634 544080726 80213788 225455526 304241666 610018784 454548106 494979706 195786496 498500472 304133424 240912918 363596282 434518316 189349472 681643660 193166682 522818898 104586112 329799432 401142066 283786216 833989344 692639662 584558410 647308660 254719454 630995018 263570126 485188212 152969244 544853160 767871222 182190058 541894502 250042196 746561430 664855628 997842214 510245530 974044132 91574304 260356510 353681216 421956982 643190230 68724408 309042180 396164644 439785028 679095218 611758468 668701622 776492328 584391708 860014272 161399258 903578886 464841118 304919466 261528420 838605374 44184974 261691312 460219750 468107922 265276584 38675422 83961982 659438986 544095856 977845896 233041978 403205554 178408824 352169614 421700208 840542638 479706326 691133562 310049468 387358500 71662936 817422538 912817428 980870698 960207544 627006334 543091368 306296094 803617340 163005684 231452158 84544388 252503238 944615944 995481766 451182552 706535396 669551446 897970460 660017982 297234414 70655940 198212814 776176724 880500220 537499780 559372846 97270902 168215208 688398500 324266360 59772986 742533008 577507728 529667582 453036692 440266046 204599636 821423690 815483228 985353920 661005638 609595948 589574284 192463218 749870972 127469060 364498920 280833872 737217428 263134460 912190366 927213686 503896304 666553520 181487840 271109902 702877132 300941124 604565938 823033450 753735478 469236974 635869336 823528702 365411684 723134488 314706822 33839430 146014428 589077666 227472186 492684368 55063304 47609462 345084692 608072724 335434974 818455952 6517744 508430978 232417962 99408264 110688604 768496878 120892828 112708890 938845864 930319688 811212556 577777884 8509452 916576082 686745352 443208080 128502256 820353498 371622188 68844088 530068176 118715422 913923910 812754824 956065346 936363014 260591018 280612496 302482502 530859372 81271440 657550184 146382418 865203256 231780416 151830800 209835028 181285512 992368778 87351614 7879452 369025314 920910284 277039986 755615794 828455906 85563170 404851516 324016922 317121164 648356894 939880890 364746360 311897430 870976736 826480772 725699868 688893288 357824630 386083722 421761400 431031578 998208936 62108214 166423310 545169092 578134414 2831288 837756180 43937988 952148318 777689772 318220808 374509642 626740842 522839562 657694114 585329058 614226736 70097630 829380738 507433808 545331364 847183656 603701388 312135674 546832520 981089216 80732682 878029778 492380216 489630420 680307130 339929030 71181012 748797738 655980474 295540334 795934684 600161404 960315766 579051490 386766524 372499818 705440660 37822480 761985362 236606224 721628318 432017998 248158032 857921066 853542538 673174424 40820638 472758916 95379618 158940944 453273772 641984604 328458784 156501376 940074734 429483952 256977944 457117370 610934812 739673872 876403432 391878842 754016646 310881332 944237124 863444436 955500722 157783058 778373080 952247646 944421084 230326456 425069512 799188566 688637926 4738104 914483730 875796334 589857352 146171530 987173524 509026884 166913554 292465890 230630158 173469572 656390876 429506424 262751446 852032746 985584582 403518422 890022892 91657878 993449354 813489008 479807508 432688782 283785260 627756706 100716544 69460146 225774042 132612942 949728748 613607676 239902576 707827718 99117682 507194478 312375082 960848234 160273160 16219454 113638282 296834332 301753846 953844054 475298642 219619860 523386224 873643388 570901466 69414548 110334498 771723994 758676102 125424968 924836878 131173060 432804884 101970200 628635528 415849086 526310102 416147076 119082836 728577414 605108382 832028248 265590238 152217500 129066146 230910366 537204660 713011756 63745478 343797870 609911344 648483378 509520084 853825048 355936982 667766288 885379770 870652956 727547546 399422292 371235658 804299892 332474768 606750262 266518086 753206218 339377952 352187630 470125548 297808568 186744658 359276338 370926886 506998188 502706166 518935320 811336104 561609092 959510190 927716466 940232334 856393092 386832868 224702792 561983170 238331400 327570428 939914594 329988454 171884720 960097796 498835674 673332942 469138800 367539778 549114478 943002272 961637768 425846100 388245126 953739048 840290668 383761432 379192660 448229942 934879944 273256146 114729402 974243330 981276736 793957400 247308712 99207220 529490896 17232526 826067356 649076176 581190802 426675862 527399914 761877926 599449296 653512784 565030528 936709292 25454352 301573380 925677446 167404792 708436310 293599084 537142288 477215546 192310376 676315926 786134662 466771226 57545446 123297224 580073076 221138760 95435990 266153040 309494858 697443726 363000096 128932776 943533914 300123176 119954528 431273514 311379804 986371476 679065688 448834592 45765920 95674794 853233794 782063272 866759368 999252184 638665172 467764076 377723396 243135366 488602636 589089184 235996600 871602914 570610306 178665636 424736 588351216 760139614 498569624 675642036 658922048 117793064 753422244 537911478 411801710 911387680 251347788 205578072 532293098 616306450 718887880 610727070 544000152 722914006 154472542 879713658 936272522 990036688 888709724 612626442 468060264 741132640 81763476 501632564 131335354 755078728 93100006 143812900 86516592 975214400 579105846 881618258 367264446 737222926 514853338 693731270 999364046 232150750 944069760 331291528 979559620 813393138 642601358 666289594 760450554 834168318 698407970 549789884 94819078 175171490 803487468 709849410 810571872 103287126 624332988 925626320 626109350 100950118 584340574 686961478 726551216 463499568 592560620 124300094 423832236 156235042 744147822 706850098 250581918 925685578 821475616 716940568 741061154 15961390 546882532 52382264 805496564 992746838 318034222 376956202 929495550 881578274 589788128 673452714 134483504 535349150 453003066 397021026 27078516 347308350 253023362 961813392 345962808 517638468 388428586 860667024 638248270 577871986 212060736 707067342 796917588 976213536 483253022 876588720 322362376 205064724 7420398 960764000 194608030 351176284 624854122 213803050 192030152 160757688 538082738 860536040 767749910 511517860 840840044 974727764 960737980 294444194 35105414 444615070 889449720 520343476 735363808 99713652 679287412 618277726 175395144 805285788 670689402 4237654 327932322 594677194 941277638 559611738 201300704 820402450 300279750 629374622 141249288 130940732 653265520 637482582 469228728 817737666 384480836 705041100 171436570 939011932 482508032 644417500 202992884 57517654 739378582 784635072 30001754 650452192 124372538 271426422 987076394 360848844 543479776 433424016 951963992 419360448 833440568 188158560 771059856 233314856 52592726 271968922 424940814 71723328 686824450 785323714 389433192 236400134 129849844 421264670 790849466 215374708 686277230 459993814 377231776 256242674 169700148 249517302 21115806 576130014 522895084 381101954 543785694 304111924 422435460 279461552 513803676 686083500 18985314 624401058 784798690 224143714 832301278 250198032 342514686 746221418 945231502 52839994 667124562 168465848 664413202 337550550 497883068 724126434 158328186 525156372 766478772 30918354 889059210 699613126 591101944 457702060 136612800 200020006 854353976 434448784 778791118 985780124 60910872 835506910 588458290 602741642 437931020 221865954 399225772 177550044 663505322 599816142 987353078 40231020 273391830 470610256 714554034 532813376 365357976 300101422 1404742 836805780 109207186 612838974 896129296 180003564 241292528 587183096 737333132 525914904 890908256 736270300 198301288 502163954 196108910 163113590 361708982 931083804 574656874 688764872 713260978 194754996 811877226 742028948 116824366 967701888 373380266 772377388 500385394 198863512 708350610 88099626 501270030 33162860 632841442 650127808 531661110 544932356 8951886 930355228 507522354 633776112 201039850 273518012 82134674 179443252 707442502 566857016 871526756 479031192 793223830 69376246 123634090 857590860 687939994 368955380 220027732 667787854 393414044 468567256 709635780 709529944 800349408 56994706 990562270 958131004 892444446 625326790 916615262 817859502 689630874 721538974 24410788 550123902 495991468 308249802 185327744 609264880 250007654 726491272 836109828 686485064 379830332 296470606 957352210 749999702 143765498 850212252 264439088 69189054 759498106 560193828 717107832 496402658 679189040 774571986 408146324 762723688 374572278 820521112 406213512 384886156 118359564 90992034 500682524 285426818 128824532 956290702 635737068 397888310 267072860 265743312 611740992 863619548 14562162 659003294 684614608 685179854 473939614 120702310 426359916 325190062 25508264 655519010 273582072 905323236 330151570 605672422 640925702 912255254 329408930 177757358 562636528 400676434 617739296 764792928 877881134 75614274 252883022 209039380 463846344 113746740 755582974 284828818 248638580 578583404 685637912 349777116 592444190 450609032 31262204 995392896 874245426 996729690 370756370 317855202 685646706 166228526 601785090 162733094 65630242 9610004 778133794 62547076 613533786 756144818 925949560 95752552 45347578 713367172 653146618 60835750 728925260 672929456 435040492 904114708 270607568 503635536 412909354 559129908 649918788 403731990 925943200 190601640 266915534 700770368 107576692 765834356 785437690 964659456 844938570 367836280 307246128 811079564 340597750 709760876 868133750 221418718 563843982 337762486 815408126 561215096 204875532 6629734 329672850 981790138 905510900 452366480 184730262 870737612 782710624 147680806 429562686 837587350 518312958 5066166 732222166 720997202 224759384 995473030 540191784 749591352 771700926 947024314 348986362 286380756 799862174 340317820 554566088 64527952 405583466 692176486 108965262 801830842 20927718 357864672 566922936 794146024 862372262 788861116 907831574 633653672 425692488 792709464 417500330 813244034 629050824 939810962 205048876 278885050 489530134 24507760 666706816 78621290 750167358 194261640 915512438 831926070 241067274 701180810 394089278 633007866 453432862 345410004 832396386 381142826 118848098 336633304 605289582 831842444 206358324 279002146 557006046 789541804 170181298 669548896 27439132 852403478 854390968 602860674 748152682 881438332 396590356 895658360 554764882 217645984 84184342 340666044 179392030 109291930 510858532 138271644 138231860 722734802 605827224 140113312 84896526 354824872 26213418 12164892 772913300 45464778 23653256 956221158 748905556 918356102 743656812 194451910 408166504 173348830 206074212 513434818 252266834 881427802 198018090 258949952 148739778 56325952 584764370 480776060 712503456 466933538 976858764 105797286 458400194 514809002 412510636 64516802 41929652 629787592 401853162 121010692 51681650 90182750 382064626 850778710 254171464 482686532 461260160 813774418 1598982 672716858 987913274 359846902 534809102 946026052 950597400 418750594 220018086 979639928 18375702 779476874 249372968 351023866 837894462 280845306 77412972 51596576 838143798 200252510 934739900 255882576 838627522 891552706 773664862 27196900 72275402 568283832 772627048 391006634 828398490 101537716 185879966 705513470 464319786 516039468 494408210 840687842 690731480 258267864 728656814 370918952 740008526 176718116 199938654 580062362 6457486 454200392 922652166 331729842 85333712 103908972 573793736 366920814 289309166 245679388 87490694 935677760 987398914 611942310 421216404 122102848 148256888 270453352 423092712 12100014 936396580 396262404 575903186 932642636 898390040 367582564 823927922 51583578 799290158 138506072 404241144 144027520 914180784 252438280 827290370 720352420 430903948 195587236 703499520 551279006 678751454 974386248 316793410 693114430 859772202 182625818 783167396 38468186 718796282 392475066 251355972 384136442 956624982 219368040 455246934 542957734 463578040 540516012 822391756 573639636 196248882 466734048 484976164 437305204 103036450 199964908 832641836 149232122 386327028 403998900 120042944 727121112 546590418 983225908 560589554 405019828 684285318 487744208 525202076 298099272 126395214 672490934 925692412 166032308 499058398 356936838 831480942 610242186 961767292 600388832 28301626 332440098 327509732 806602450 558410874 871419390 52563220 489072608 10285528 226825080 42933242 651217390 867989172 81187452 32527384 53384664 264359226 27745800 36462710 363810134 650956090 266179234 756717902 945523704 136153738 875021636 913144300 312298754 287049432 138905184 780576574 249490126 253649586 800207278 901977760 805447044 628616822 969771664 852060592 855557424 461557280 126612462 455986582 504328604 724409342 860342300 887415942 887605466 263250302 797875172 250126428 925391938 538995018 547770426 518079232 211288238 89423610 579624256 675205882 9685384 110443170 205034522 864242144 837956690 348817384 454466848 933194080 291089700 65825410 914575060 291359534 456565770 494952630 673318836 610497282 204248496 349614402 806196308 131569228 81802830 689052404 313648436 7354066 209430070 983601500 390850746 143868448 894643054 595327774 271960622 607317222 417971548 213393172 356692728 820640002 371359610 641626168 184886636 310750612 788040412 5119484 428961290 631305790 623222096 809946864 946267104 401784982 940071402 277542232 758138288 46189038 960447470 87573832 999212842 99523954 122276984 673526074 115695794 122264560 351572624 957827244 634526736 146640798 104880650 664344846 549226794 185706240 737611118 422119136 649339906 728943208 110372086 469509048 187819696 902974962 902874842 347422464 281922910 570622144 934767208 610557830 723760560 182764964 337642892 255630720 275962458 745396546 310335012 754818066 620933778 634462942 232657516 725635746 50405844 70563302 100152936 627403478 210255570 34625964 668682898 696991394 303441854 310878066 125682600 73575672 64101570 377974868 623208312 787359300 61577424 664139380 842519304 349921010 668312566 786320726 407295632 413209592 871347736 626130142 446592928 750310936 705721164 635684806 550416136 640676398 758356928 478957408 388099424 301415104 867932704 998493600 382036990 216344966 122903928 940637616 845896878 242743440 101018566 593106144 989274230 844184504 619790480 488240782 788553458 598941180 218835156 28456852 13130388 393642348 86410840 12752504 671540572 359201966 764313378 988742942 139554088 520022194 36343024 113710852 534021388 306469864 777293496 702185224 577201108 19674282 240568816 27669730 629869504 265921288 455488152 121429526 351610580 536631184 126174656 551237336 939208446 244536916 780589580 11885028 198779670 824415376 517025284 171655550 809720630 319658014 202341726 191865370 651643196 778817360 402488008 630157898 955214682 353200278 899609700 915019766 647476328 890250446 48161050 889551300 756330916 332540024 311358498 614490332 950087316 335982134 680260212 959090716 831518556 127627672 80980392 577935492 892322972 374224112 882790726 474503102 700758832 651223684 866330912 264501022 561531152 854190186 138685506 616427456 538742654 458061946 278298424 251590588 38615540 254292576 70070774 117052600 916243674 192693158 741857842 491805742 774324530 997288024 342479314 414124268 897415922 410823208 704696406 556757478 197605114 872714672 921589218 600010592 549916644 855413712 854571424 288721560 795729480 596267424 958500638 125739818 945203530 599797338 66823130 750055968 740783510 898311288 648486350 128123502 647559828 545265794 830679838 580160442 546380900 683765352 259700068 401530474 262351942 38568944 986631510 316055262 337546710 351187992 106501590 895800780 114109292 230199882 799530904 338801406 298088672 3863302 101055706 485216458 233055954 188758434 328043886 673937792 985221980 412346348 207585678 142550278 595016300 965222614 519546924 127391362 897135940 63067810 932959518 142213632 697128886 957729240 195933750 899310242 107767864 614087232 858421782 356539904 633746474 50945570 834749984 555674596 239474206 544925180 955157578 604533212 346714244 846360144 585672164 156208916 150733776 133047696 381497246 768704906 346311074 254785790 836502180 500656854 829028658 144608518 900169248 937414734 949576368 55688980 654663662 467310468 839556484 439913306 471417600 990252050 974976056 224973266 644692792 313263594 65585812 208186666 56404196 225464570 109258938 927094624 847848588 983527956 506216194 207516794 195401438 149424512 362829256 366264294 581167386 244579718 883793218 687023628 192364150 785661480 305975392 670690484 619568440 927434160 241805560 970478350 612420772 947749382 978142790 193756746 716624576 889423368 827529190 753628468 384920544 776697130 522016260 681568880 662764416 286194976 25137792 492613322 879621450 904040448 710706702 375929506 421711846 864700354 947372158 158484200 33971904 52274556 582654228 102305830 854579986 936538704 771682170 695001060 336543556 340692270 297173130 74404584 962832924 625717602 71517864 175977668 662646096 53097126 46438364 142716166 560951244 853347344 410959584 46425806 428026914 546134296 215199638 580161134 893396636 699197954 860480512 920516248 752901492 425814288 591217220 62216296 751431828 484375882 877983576 874217182 997104922 980611964 24682370 167256866 928731056 629031874 967823866 530217184 824387420 125309484 770265824 573815384 628758358 432507876 687968276 830145190 546125726 24148128 92875122 703977630 473791644 871472346 418858172 861337252 193736946 221879836 597085602 691529248 268448224 231789578 749108560 70635126 370247644 537051344 347031582 779310654 250679752 453393632 579875878 300399822 874371098 323978184 180469338 273706414 816641506 496526462 187111050 565826542 500731332 121576618 781683206 556447620 346664980 391790620 415651194 967989796 213301784 1569202 817489392 978794546 246500212 530720082 361074368 217366670 665931590 346572368 263536056 887298678 631529764 64544634 602802368 481835104 28227024 552858098 81652150 276757494 275891468 902595908 790466310 482036954 406041204 936509832 796790970 271983390 86792468 267986392 161613982 290841360 225175802 559314318 976787398 528977404 523205288 674539910 306484110 950949468 628705054 733202158 505065418 757399814 765388718 368372888 843068056 601489344 102596352 174162184 965478984 726263334 300631776 672569542 528764890 972090168 347274624 160929640 630639462 753120022 285658220 238721404 777344608 776583244 406089814 831094706 874443900 999622624 717922378 295360410 527163554 623298200 43947430 205754050 195788554 575554710 892357594 252335700 542493016 319538360 472786924 624532198 830205330 977925298 30838338 18268078 525679826 462684168 572649868 362819392 744872608 291205170 324126010 857703620 345101988 263399470 404841712 298890566 152980956 323667216 490963690 331479778 177985560 908497576 588786506 17116410 443288350 924258040 414199348 196981656 270319218 417004474 107101444 743214360 789533028 968790856 194810092 388944406 75397752 181436254 649785064 809526658 884918212 474029180 669070530 678694582 556320972 219864418 820567788 916460318 587796646 860038870 911971686 360944274 186190256 167939320 125708874 918745234 471439496 992068206 198637436 89542180 14668760 184676940 684704270 188502998 14545294 785584754 75147874 34374892 630683014 170532826 688344490 396687086 464418374 727612766 880703578 460623200 242825806 386925898 266938564 598977676 157392312 70892272 830525384 128261730 323653854 870693332 562123788 943596524 239098378 467017590 364153130 74296262 539461418 9330118 408400000 119102030 884534644 748666700 540978718 692314976 207424430 615623932 92926652 837878164 706493866 638361190 830303222 220686140 886156394 380707906 881099214 180062248 662260120 713887948 505966546 156705142 314463050 327029690 365523166 963185774 285905128 704441872 299302260 320293728 418993308 997298732 806536154 693658638 527519106 370770078 108036016 118827412 331019020 146548782 149907668 396110008 21621960 191993046 942194806 46960118 914126916 613236078 802389462 229901980 413620072 990561462 815700644 419454426 733867232 996811430 21626640 259982024 205961346 431874508 723576986 279420650 813566398 310842038 423376066 873020450 451120326 752151864 554265804 587222076 929886268 311242476 6066872 115159486 719177556 155251918 418032730 68412264 10625046 759145560 192316498 541150892 67033804 438421296 742104822 932242164 157533276 354923508 310698806 99937270 59720994 142613554 261800142 673578260 289340924 403405488 719290764 364691620 576819136 651309730 142212266 850201394 520694606 654911928 250971544 147548230 801929018 373808698 654192016 734457362 188526992 718086840 794270924 609064884 866219182 735049510 160022938 150524852 595646732 162173112 965221342 903461700 125826530 370892902 960920676 915053702 396531792 423875720 572616076 414349484 504542622 64459838 831111244 799011528 330291070 660887564 871756748 676778494 493251432 605719010 724821424 767404348 566441688 798545804 574103418 496795742 342663196 587834960 293004414 454338178 71889868 602595174 42405512 377218606 243015034 153339958 846844124 768817532 175390870 741595886 662572604 324765330 375697028 765292838 143995960 239165972 608062900 400075990 280432486 808722108 22975862 328264072 128304342 461671380 395757538 118890104 992764930 846488044 118702020 505310866 290260948 624954318 625725664 569822630 472563782 713674758 746282200 225244764 779214688 479536854 394906726 830670820 297514246 317305840 515057152 814466898 13499468 143989996 977792640 800881024 661165032 184758050 533998894 38353072 303074946 204415140 604825720 619966566 909842576 274950290 778356578 344713478 956875876 57276734 757374930 521504086 28109572 384908698 841551530 473371102 887350006 931216148 718706326 775324516 918743860 772695440 528454086 794410860 313651640 235005106 447744800 660175568 756647402 480659892 104880678 835720478 150435570 794403756 95789546 214199600 53632958 830258172 959582306 2323590 429634042 600694540 182340254 399383026 198320288 824889188 778587124 175999958 789220330 63964058 770438178 726576032 553553432 704204146 58736944 9718972 825993386 432906594 10281004 755689150 213015978 486678348 406600452 113735970 809144172 368252846 80323382 997715656 446721810 147999032 565185292 250194894 986133256 72242218 280841754 525395878 228905810 892120230 964797574 80532258 9819416 702470928 472990624 65422414 551600608 92511208 745271754 750529226 749621824 455511874 469712744 696768424 74373378 345563426 398179216 776310686 546616710 96600746 716542606 87665452 33590800 4654306 796098522 378533240 141420098 259175388 472944768 70005434 426494764 970631478 962738204 812661028 270128490 211618336 350623768 368453132 790188800 815410586 49888010 602218564 189348268 455159862 211045230 130866006 174157328 34065784 529595546 463856162 669609496 693726546 655280862 503769096 367646414 853240270 896863084 617900944 525576144 105739086 240366334 209164202 423940512 544601618 7427742 322359144 616317436 217750110 568006806 858108756 419290296 655699240 661883896 551247728 593080704 998149552 446542088 873043338 124912900 405619748 595525654 862197908 533639358 593775524 389340326 307913240 442541720 891868452 320811368 404293730 102759484 384580254 484038974 509557810 886226260 18512480 962170164 735879932 728366626 948317760 725505374 578833728 698441354 467631374 404968918 132551138 773036834 127674724 376970718 154139928 929117022 737641554 47559704 233487182 552539148 210523156 828928062 865092472 690397494 86302358 815628858 792698462 645278180 854940868 227859136 504280320 782323648 440972506 337944108 970873620 759514444 716402724 338953372 740128498 697990978 921847490 686043474 642588268 69156030 132724172 646611372 772027984 672957678 452008852 177011192 575914448 865703348 442669870 367434530 875799962 920914452 484183984 699931792 178103774 470487620 109480994 932476636 363059402 843337812 436849248 131006922 829324650 680320090 87045170 284432390 372752492 153559882 908577432 527225082 602697616 707715056 426688542 76873238 344240332 384918462 576591012 71853476 788330112 126093990 847837140 62274460 445775158 519121438 654208572 286815572 189691936 780863074 592189102 503995926 976870198 468074920 446270796 92138084 785984716 789041792 344202372 181264338 691434090 805186144 444874748 32191840 531413578 701780804 704574162 947986906 812410870 593462894 215874628 89282808 159027308 595115520 128204398 194404722 370926332 803199606 572721824 717603960 510138692 383333156 416629988 776310280 864909294 352409868 75470222 836119808 276649228 919604718 212155104 60434436 475009130 372679866 312474584 679073930 271725542 205367356 766824260 776394798 126719658 310702600 955614254 948165788 343940770 270701322 260730780 944414588 345267138 662965124 659381886 724894162 362104428 443876416 364197248 822661926 226445502 673012266 406355764 762566514 892197082 857877900 624740916 256522378 692090114 576710758 357529548 477698818 973933084 405242132 206909938 272146166 739592868 158264428 670860604 962759660 910215268 604886260 388398782 149476688 631474830 281890452 295371560 538968704 79773964 560040646 733030288 238449184 893662120 631530144 237470846 55520996 675513708 556194762 582855432 962052994 655467208 458431314 531980376 725239784 776090902 63598758 511799792 17414364 325004890 857219268 18473162 475240354 68738370 519914824 737803714 165859106 981751084 924787130 804274666 631182674 424125066 381538544 127822456 884603778 991006230 864053442 823287476 634952994 484659518 426640390 901933814 246604980 836293236 407117022 570594118 209329418 12601516 900924662 214401910 623418918 215298710 476938826 657578464 378592482 991971336 187465092 192339298 952851708 626438278 332851720 656418126 201079698 553793104 430819034 273881004 510478576 11020602 825086358 211945488 290356316 978016764 318823270 321400028 65001272 62259014 534575136 464152000 884806048 502158684 838492984 774577828 352063224 342037620 751707828 594976596 439836908 230517822 524807066 747030082 838499042 144240146 721886902 991720678 709824788 965131198 118258416 876920010 997203664 339692054 508787006 260610392 257039018 48026746 320007154 28504762 495873440 709080664 619694864 897644860 513373830 120537222 593862454 889701952 919670788 731799130 309922964 773984444 509050596 936853450 362340232 651993810 173803436 742685662 311348340 563169674 55544152 572959304 450753286 792400152 302820064 529716478 931228974 784696822 547153632 876321448 482444836 360073984 32782346 854900622 324738732 370275188 92589112 329473100 568089510 903958714 905990648 736780306 420428322 411195636 79342968 555865040 922187998 112939928 670828612 724836922 947357422 816257378 558503792 961816592 720520278 262623922 311040338 203149518 204826820 685204792 903289684 424340328 783721382 541073122 557145380 938719904 966576150 820074398 580704494 920675924 809613202 145425622 926318620 394496808 984965536 374785462 386575274 4805844 18498334 239292802 460415574 477905424 46272168 497149052 656399146 846106810 912924070 309718958 793946190 526292604 794860094 398124080 225699160 548019412 924656668 188922514 774369326 281090152 494132048 290065132 110928970 163218786 519977072 874664886 492248482 498176856 545374520 755925646 988994794 179506872 516380364 124086526 75006440 40927054 621212748 782716934 512231366 227249382 555488484 233598564 78515162 706736908 433687472 989007432 596457760 18785224 848330150 811124876 579279102 312822680 253067822 19823494 212105288 751265714 425414742 385057686 179334574 66344686 784982146 461815516 335993124 546762260 319572722 397492652 65625816 711888142 219079776 873238392 909123992 575082376 81950178 105912140 601617524 935194328 997874490 135429996 151612790 171298926 709206044 368554296 487791954 601941158 588021602 105088738 529230736 725724028 210493038 872493684 417858186 853949016 195722392 511032290 532068240 801834636 438972592 929412690 377206144 428978616 916410720 771338054 502919490 81792820 786382294 886515456 124797222 968309368 150531126 547953918 377220970 931002870 925213152 165585192 802819150 179169872 815733580 363587994 625422542 16365040 764613984 254868962 561617008 880920040 237350460 681347866 232558170 350956060 206041576 111129286 996238186 566233832 109292038 223683856 456130616 518438252 95240822 206590798 922977698 561551588 273225150 639301614 271249960 889494000 396724046 547382228 330921962 942188690 602876 979176014 877849224 242580714 446529226 164765184 200735280 53182308 436964058 32910592 863536740 460478802 885401050 840786526 512518210 935391464 487463792 87499082 300129404 96375530 771342256 965751360 643963064 804267418 88661852 796120250 711694934 917546356 924925942 270079480 175682884 127643560 719368490 795289190 696313988 352283576 800464884 790699330 837951734 669459910 514870518 73917894 357335864 184298692 943023648 403622318 977336792 178020556 179511572 735015460 790648146 637652516 971183716 992171740 661543220 776216168 588138748 670852676 212873364 207721416 884639628 948216308 212840968 967933380 82332282 410831064 410539508 69477540 359930438 284326926 683573906 383879986 221148824 546757294 70166366 594001974 259503750 556321844 421451670 925495816 987836384 931017712 177669066 712501360 611225940 624222412 696152270 93160184 108065036 769466026 646727408 510088274 212967100 661665326 646914272 413074506 83515858 164528052 484292680 552815654 872782118 981088030 426451302 820568362 198557476 188072312 602824254 767940078 916104814 332493278 757050884 456179892 143439036 767673778 640119368 366901732 521408644 129663518 812693876 300441592 764260880 644449482 439853216 242724820 834350414 565373608 574197070 239233408 361018276 671549486 203142324 183251542 523743750 618894682 59598814 492478726 134476700 293353872 683454516 291159060 322261956 429880114 738554096 811623310 266919504 597448914 527185768 112967942 715238284 756318246 448900352 709836130 971305336 822623482 509529548 620231396 333255262 307774860 909818788 652373368 639180270 671768446 344517636 496567638 214255758 914056680 508251666 102118118 961802930 470453596 803929518 75345700 946843658 881835958 757369200 252125734 985072478 248188314 66980062 805712282 139790626 914517852 996540016 335102248 137700918 6784054 414878790 783889820 743426886 85453048 847722636 760400304 434156336 702476670 372310472 350422924 114065342 889269492 394421350 798362746 390287308 835790200 98154142 801877368 169589888 258115038 434308638 982528354 80402542 164475582 768065006 841876534 873135806 798051802 204984662 325322144 501185606 418036050 514445176 26372298 409089452 553199972 397316982 414142184 79460968 940092786 148614190 389936204 971744578 531120056 235227330 742236690 370389392 776509358 327442086 744132822 3143290 9955554 486424766 833512668 487115964 796031944 891371132 865472652 126872834 829572018 205245350 909097452 36529730 977779670 318976804 196454884 164609532 832226658 100131342 174744228 512536786 699560612 163182952 282624660 453648324 367928698 921887246 521845108 975707528 89810536 447044830 464584006 352771928 611312722 56466914 570774862 469211058 732522126 728732962 100615178 693408650 621623642 295030124 689701432 306317880 261730096 859542212 559529318 239469784 290991852 643318386 939922076 616264892 63425098 175185772 602699118 272198386 556978170 240836088 71338786 42243142 762670730 339579968 975093470 229461954 272327150 189309224 337481844 995866246 87494896 982798468 166362430 812397758 272849154 555079122 484162104 583472040 480282972 419708664 103443338 227394130 965843516 900607384 676702164 628230664 17033536 922716006 585952402 336325644 984399334 887865384 991162100 925747462 553999772 993246568 887845920 437269612 238675276 768906190 22419160 312031922 894054218 738518540 929498718 317840316 504429710 859959792 839964028 719597396 31115254 318182762 74715032 509177286 642028294 550264868 80437954 716888944 419786058 909557598 684985270 436925764 650487214 944884100 791898976 535581312 587942228 432686618 520860020 681301346 112536260 398233276 873669658 743541742 392604568 211441432 694583900 162347202 936631418 849681794 790457480 583469552 894074714 250581198 472888948 563400542 375300104 383779178 336125466 936990104 756752644 86119408 497411384 623038824 686496654 832990342 223167426 199852286 429772062 81528254 79589046 952206934 561737054 77471128 428120884 629807632 318731600 59282818 540973688 754847874 690097672 800209412 433211652 574100556 370202638 197154968 726990786 293066046 998464928 219814182 902503128 851613526 978016666 923277186 713584748 303923040 386772550 451829552 752120324 587296144 137222188 535129782 203167202 807476200 64160664 586018918 206139786 997024122 927988234 840466618 442884420 693299798 366402374 323199908 507919310 747449948 869124826 470618564 867679996 134691566 445556308 633699736 304036410 81986936 336059810 47439630 652303168 182405932 403050024 741674734 451605458 532827590 389070772 877254638 641843582 350325420 213378442 333995168 838513218 407773310 314444430 795317900 672210248 876658786 934324050 78398520 456894144 976888902 12271382 619415542 622416422 612776248 291143192 452673446 381962624 89731260 893942336 296826458 24207820 183641444 175909518 919563840 318454916 167866028 674659632 485578444 693344068 877285068 820432076 856229462 640810916 844767542 814869544 14850070 839685790 632183898 677636018 140119564 318939514 147802098 939633590 730173580 614094110 865513382 436608574 426397602 351912720 748431762 371334598 387203578 831683800 11158788 955760368 429693582 102671618 186620838 43084264 328706136 246596344 135244676 848986938 948745064 682862466 860635342 153965518 9325476 942423552 485233224 436660266 567307150 831526182 186144918 533879396 317551610 67894358 188515630 33041540 156112086 789318930 963577562 5883094 733506338 972048318 209620482 821865810 431504786 684692224 114605974 683119776 765126418 632615828 497907684 731840300 954306256 76044550 931286948 21865822 989020988 836893756 62925228 483394928 250066474 103111472 143744834 43074386 751778494 365199296 904796298 786025658 10817402 182869888 595224642 57067444 977385858 900702466 803961226 89546176 296236488 501060894 579383894 270992108 884003220 843641264 832428754 670271776 96334048 264307510 61633930 815855874 743980848 407357462 190909892 822625634 701274122 732880868 40436768 874490072 861424418 776926140 195570318 345475992 229744196 796928614 88675882 625886066 534861764 868028348 882095752 903668586 123586436 465758506 21908626 758748332 56370102 4624376 747947388 161089878 525610776 958276776 976649386 901907898 613589990 516802626 880120088 520892716 247377886 79554406 236440224 735180758 672131790 258377482 117341658 913286354 772739406 12355352 629704946 560131972 143526360 564976974 497016932 713741002 16715576 669846922 550651682 524594774 872408922 585812826 146845066 727799644 906143798 551363042 247037402 402853562 677519142 508634464 430095348 461442290 668712992 966604222 436799976 767966350 428098614 49158548 222165966 832693388 935819764 721980590 514371044 484616766 480182166 340307546 433831506 233692940 78958750 427881828 837273002 167819930 964520810 676806790 146303520 28937238 828161128 880547078 153317844 569219320 308680146 594158088 742708574 568080888 563618526 760451202 377633350 582124806 631574292 623467012 629523610 99144622 120561902 719390162 942139668 114147130 420970352 504000794 644913242 730547708 156358086 841462104 159262666 231503298 659623048 997520884 673336192 955528612 372223334 684170298 177786880 791042628 811771368 566901170 675343848 242068504 164164234 880343384 733791710 790793780 711157172 31238940 207941762 454413168 664382080 941010248 809138712 878142102 483597700 309843454 742384204 734349112 750699724 825984834 159516946 615948074 25863596 963796364 447997950 579212744 824494102 704894118 449889830 846301558 986931090 185637912 797451600 748278544 783356948 679119490 978424336 155735394 504118822 995544736 217144210 303072534 662617956 583015896 266624388 404832200 94017658 394936452 130992978 374795934 694156368 424340666 22980952 525033542 978757710 307955520 273463712 640107850 530605768 551003308 696209306 228111178 75329708 252908802 428346242 287893786 352708982 545386662 681047482 780469372 225466472 551822110 375601104 876596104 704707026 556048344 702753130 384719440 857434660 661312288 941330442 694479214 64688710 546009118 244871248 609865164 220695950 736713160 282197396 707566898 845584724 882455366 804639816 180520872 868983384 197571664 875905508 744575504 851880662 575839598 143464676 504891840 432411442 40159450 438975844 92952378 755241898 27658842 713477610 74434308 768105614 533209312 941158410 533770974 138846410 375439200 862104106 787949404 864352696 187533932 875522640 45346154 599403348 752818004 256520042 148700372 349299470 4121282 70855302 962968362 955549202 284936794 370860410 789310168 807009758 801408350 232817804 494966944 113792310 681686824 529241046 281091474 892774300 703178150 909359892 940256738 197869048 913711606 537482232 356174714 304303332 227772474 820591638 342637448 38258838 58277768 443047380 461551258 961289450 597807358 808170 113379314 570841708 717954180 817604882 777898488 445511982 634318014 529096218 372876962 57117652 225846720 928993656 515054886 858631288 101696318 503493388 534258382 153511728 279128862 836991302 996408184 241851580 940551762 685205224 278471828 118902498 912340580 86669700 595471158 629416682 280798726 318066968 371701292 492850606 864668312 400028052 996310706 842624842 156339022 52411720 275063850 755214646 635636188 272291512 809894208 225556112 417537120 651307046 398316854 924422794 391795768 945601684 945356104 602514966 946600958 849597730 555610686 377839824 9656400 629578640 850412634 51467176 814442436 159882962 461596650 573681654 454351948 470055854 527114398 274962362 148779348 475331960 942091988 242015254 549944544 268300776 412392864 230754540 264817366 244976354 256293176 248391284 15438210 927001096 316124702 477762152 825282734 691403068 313655340 514829480 855707550 164039898 442424722 335001066 54955032 865559972 529759986 950340098 180941446 975090414 441766686 344572988 680859358 494587940 992851970 617000068 841936370 104675778 440199126 171741282 277830956 464727452 485840826 115604196 731153298 369411528 105775366 329574132 820467032 939030186 364559186 999124140 545157440 849461690 491488020 837383662 108344322 667483420 133024000 66672524 395013746 703522816 881946828 266195462 873579790 245121598 876163176 24542808 23306514 286548038 705835106 298083420 705725872 132994226 510139028 548130872 571527498 485110522 369779252 287461336 599545038 541248996 535752486 249456700 947764550 504738406 776069580 282287098 353830318 241731204 297950202 995938246 243185842 751660094 61808876 542108980 52351898 111228928 140299034 118482948 23608066 629309456 73582924 455248382 345032426 233380778 724597206 581434508 349666534 247309552 556547866 741338434 378014886 27118446 806781368 516345576 532599450 532163638 330550448 104472012 476361294 458076290 462066460 161986270 711183616 604838708 59560612 413788348 853039974 379450324 623432324 416678566 796128374 181275312 274847110 754797780 656384024 837189228 779287790 931878144 490746630 948286892 280468844 107580352 95113644 855622636 430883006 373857102 672760522 373678976 162829570 26410804 667539238 79797694 171354588 271419114 539597762 674336338 352771252 247584438 984183966 286462482 894383098 929978284 524846310 994917848 341891410 3509152 484413130 644134000 656944740 741487392 843188564 213276354 518247700 915636418 492534724 718719324 973335410 239807698 964840340 814183310 517952612 622524956 379393552 700104888 639997642 298312958 325926148 466347244 577187322 733847440 580802052 369693818 809355036 558454488 160323474 604022918 756415952 766071274 706943114 284077978 930966652 199588124 207933974 793254972 158300060 247111030 938968002 270372320 965503720 665905244 132222598 8058386 883375550 415758104 249242026 496734412 994027784 573914950 177370490 390770604 147224326 371480464 922838900 626610806 228747822 99771532 479555314 917913204 56610658 46153906 459634864 684430186 111146386 605043310 579342642 679798854 116097334 649061192 296184934 254189420 912520866 853492592 603903726 262528300 357706052 733077016 208744316 137705160 876941880 907458222 650573382 153829438 953715142 274561290 988495320 587174966 951195830 421775424 615309724 589304400 895819032 698100992 114247948 777488686 276882520 440220438 937428050 540497134 234066868 66816536 133986226 892374216 401757544 373412180 590522504 571029640 625297954 933951618 283679316 481129370 287742618 18033766 810021708 38575768 596088118 73513964 10371186 479681824 961341586 757937766 929556324 70249814 778820642 513607150 265954488 631089466 122144080 722398036 19715756 881770072 710807764 250432274 578723072 498186076 346667720 223721888 31566688 839399442 53116096 311724280 698539980 776960982 386081176 977608932 724955212 838897946 882682342 960573300 781035022 208532652 821902096 976724622 512135954 945139516 48416146 666173944 36481752 967433548 775103830 917521712 519085658 848480102 330060358 463865658 379044710 943794054 358801786 404547456 945957056 79164730 206719198 686286934 233482234 145257026 900575106 754877710 790729146 482200370 282381388 942048356 252941284 527209990 158191096 332974160 442503530 879438442 608333794 175088680 377390110 955749246 167984404 952114034 259143174 136895922 817259334 77850780 493554384 24976824 524707110 714933080 295580098 294233826 451875326 700045816 951617462 721046390 120372840 267871674 988974056 160843914 589327886 851023836 785026400 186688098 579052500 741724160 143385364 461040124 361560258 113131904 712712278 224858622 496682410 863487382 679137232 866382284 215609356 680493832 816476298 602001202 564724962 803556082 110134520 998483350 251089140 79435312 189670392 983391124 592641250 342334292 176195364 972389524 764964808 901898504 816798768 665580006 3265242 75749942 995707836 971500264 887378812 344526710 196362984 122784700 27161168 561799814 42678462 494728796 277495208 678794480 357610888 905348582 667354572 140988066 359310512 255837572 216963106 40767114 200087586 869586096 489338538 976964184 606892390 215437946 299891180 429116090 887103336 443631574 152847444 511470622 503738924 519238088 107531644 101031250 670742302 955055452 318326014 39533410 235943392 238093930 755373446 415793756 864983170 55989730 682907080 796439082 672029530 147799172 595146598 612811550 11882308 147994620 993509560 89157132 805539938 47437206 768827606 816912042 455317732 211918740 908036408 188590174 315623606 648464572 169608444 288070836 224326288 518865468 219026786 21571760 599090306 185860884 247022278 763448836 739160866 441095988 179419200 940395930 357823662 370116190 530329396 659062562 895238526 885433944 352188558 148634336 249918688 809097484 966734484 527214146 610434624 124589770 372963518 948505190 419194506 724331768 676662134 503658922 974859756 924177972 93297846 479631142 845359144 775367210 315210544 18231354 417060018 587499928 195572666 678829824 209165430 110691410 514333748 481155338 705083848 633589050 521465826 991075280 95990632 872808356 908699950 191694612 804979914 618654952 250292064 410563950 721772804 932268580 996132780 941016434 688598338 200549206 670254384 927058226 502079814 273051718 96198836 318591596 257687948 747944874 160513020 472160724 270899182 122111550 893044578 575494164 95255564 532201042 346568006 609863406 611375452 715105688 213818132 170631768 224014510 251204822 514390644 295950138 586059452 770920560 881964820 580809350 863682224 302558322 405427348 786155096 695771150 51750998 796710784 176359734 531353404 153941822 396915038 554940970 35072418 489672228 678698642 10932542 162838490 26442032 172067716 329186658 751025858 14942882 418947242 546088998 130738914 679411212 152262034 339542612 350378640 763825990 572992646 484175570 573021782 619852564 528092832 599886932 968357606 679344824 949248358 811120002 520135788 658898538 12226368 859570234 280351956 149413530 855193724 503459082 837741592 40088320 258712646 95761940 972194196 938790074 421561366 832070508 150311018 975701708 459414276 559013516 601609756 125672288 493959936 657987146 848436210 118672046 474685770 791708546 573300720 972409126 325681164 725386252 704528386 945108190 480635056 736160118 389844920 559365764 444419704 91964646 658358842 432030004 439503480 954794528 365185366 190943130 556759760 371213036 121711340 397222386 785248200 993371446 37605408 570751294 417650636 674852510 849930592 49328022 478101678 151242578 999968184 91413992 508525828 264713664 868366250 125198060 900604256 834568724 773896904 171716736 752594240 759088498 40834076 840374836 130916250 209795570 948373620 335573800 851602848 830215352 83473806 30081566 425415734 605768514 797002952 559919754 643864504 943985436 118511510 83269024 985640410 791539118 660172886 471386986 861414872 954031542 63919846 657270556 546170622 648854700 703090908 123715346 671248670 113538072 883499218 864987300 666776756 477735558 937144308 16167430 303742540 644492260 794387702 999547066 362748772 772189478 723061338 964626370 615387830 975927496 199303834 628057622 893028132 119575964 756810468 156537860 117939984 680452718 916349968 902577610 387438262 956483334 845117844 547533532 894988526 631538834 491870632 725170660 54857052 603195742 67485852 503310628 346296554 671721496 905650290 774209376 150970908 587771614 535355212 563726290 770577558 826733622 793399240 841446904 955808460 951051714 9984806 81429782 514426216 998937224 860677972 959665624 159733000 807703034 257986844 169162528 433017778 694433836 860883824 332321604 457856000 215594344 40342026 330746968 733977240 428053350 67044712 266878410 868258596 377245632 960194778 326017930 847555822 757290020 600471092 622059774 198774996 768545708 714161354 385946194 769182816 152796370 325928928 351278906 147055558 353065008 632954212 662049146 857568454 909035686 746412008 814195308 511355220 498909692 259727994 773179876 350140446 193403358 105645216 607785590 20610734 619765302 20537716 275442466 114096386 460679536 779721240 847108990 537900788 651983244 446728732 334942866 669117152 962738406 864311362 768591258 836711780 378959994 824976690 491658140 964624990 860244312 64208590 247479506 872690492 908533890 925990724 769404060 366884854 177677108 726388336 278243700 436436280 595443262 727768474 767068042 73238002 988646728 413098628 264203316 617400160 29950928 767778350 878296902 417370544 20689208 751978462 786684566 705130514 424307672 716244138 36547602 283219140 271187572 360209094 252044324 495133344 61891648 486849286 740189000 8326512 700235654 491251054 952323728 829843254 970100046 389174082 972892994 905803142 713910034 670253034 816929428 784843980 873705088 516235890 233156104 211285630 830785906 355540520 216278874 857023896 474210794 123935108 566932260 668263480 953272096 838994700 794085104 990340638 168218190 553150738 123096786 318196648 126194896 120497108 752920422 50506138 38287116 459934820 216803570 941356520 443048666 363761018 398469242 118831238 505366692 53707246 990148234 787475294 20761464 940686558 803741040 214718018 469146096 260236746 486070628 827410206 793007320 367149212 225294666 703009098 282791254 193886966 218940758 738788350 581039976 715427304 292956216 497754750 224945852 471203748 131891770 528353108 475010032 480370718 736447316 108068806 848809316 424515128 429993250 201411052 141347694 959794694 396393002 185888370 981054558 876849170 214726994 560698824 849162462 843313188 164908206 658800832 668818156 446343840 476749336 845791300 792239436 980723724 835251510 721533538 847796476 557215976 668437714 99489912 220841230 306504550 359180462 369944734 373948946 415217136 765807444 622345986 221344392 981449432 824754334 197159014 558133022 503455758 474238960 243640592 528106330 63936026 444774298 656561764 413770920 554238486 182107238 356961676 576028136 686042768 30869744 871347466 380154292 210635518 68993566 243475012 895905404 825503100 956387418 733120786 917908722 629458368 619927050 64940888 981546418 291338238 705747366 416623636 25716078 4657618 986651562 906654838 198236244 729133002 640307920 812734374 850246876 328668336 145632080 90600460 584920110 298695492 831227614 878509340 336308244 750107098 839414892 364772606 312929846 183208416 999118456 254192744 545634768 29633644 518160350 745546642 228091436 352729912 472045918 267786876 144937824 184734918 496919518 455194170 242912114 944240264 570639022 250063344 297387392 368684504 729302244 891133302 544053536 59021030 783611684 848206140 849717328 82155632 142656570 750913394 210025264 861564320 988486680 208275610 441629670 147834998 406197718 714957212 230202326 56279288 629120126 136615460 790624118 598623300 913775844 369784506 720753662 988923074 467462434 455586474 764626296 31833300 633222682 646562376 915613570 747067846 497782248 800427894 664085660 278622432 175410878 43723830 894533764 82548308 338556866 507082730 827447872 285339340 231725602 144707236 668612524 342810962 536825128 311014842 182325046 672437114 952537842 384177932 591891116 654331520 694642062 335631380 471559016 632977804 40754514 834649946 885323298 224912116 362879794 720443394 375666188 371327776 731032084 326294336 220540218 850448820 669435040 529299620 489232080 920989058 326835648 558406184 724138740 249409000 861785038 477342006 450520766 18612490 835241198 304194462 11971370 766542656 441198542 1435680 700891102 243616736 223046918 97541754 327047532 786720966 877934000 113307250 812649366 973281452 586915078 539422966 350938018 145258810 402497654 751295372 445354624 831777572 825739386 929520178 959725454 760032138 240179896 52383616 69275002 683608150 157089534 358899542 194211580 337294380 317923774 25764706 167013302 460982784 701730620 384437834 168680050 440205586 872936876 525468472 617547468 847607800 109100328 187093372 949666696 866079874 239902978 134668030 504622976 569120768 979286522 162560154 538830652 461195956 43999772 274262082 67161102 274532708 183075730 157634638 414235640 552278574 219497262 26910688 57465872 47150114 50882878 368098468 913918924 195033028 52567990 437264156 314807056 704166824 582772952 824997212 413400554 763650528 328003086 544323698 673055836 803086112 2402860 506827768 282880886 728480740 278486550 350085840 635326090 647579960 887748068 466730050 492731500 213722588 907724688 881536106 625157210 75435008 55262314 745632416 1601158 199851076 326568088 815197196 446176940 761926622 55710428 860697374 423211480 798274386 157661184 605060834 165928380 741784520 561925176 81377922 165721476 829230040 767100006 564419296 255326718 376830744 308711152 392273032 462300988 785561942 902229404 586831322 583014006 115663644 299641618 672566764 590437242 282648024 989267236 383826234 252101010 396384396 660135072 473967564 674184888 427628210 126988444 678914866 845217450 85191920 281864620 909368378 312098044 946753206 158844004 190184320 245542074 486462580 529512452 292915476 416408190 276756310 647073002 833367096 689647236 103924332 975950504 881401226 297742080 344454902 552615112 583650104 568243440 120650832 809347590 473835084 422623870 238660618 220111730 276820056 163755972 67238802 610637852 171145728 294673614 221956450 834490192 399697092 400042128 875777178 629630456 826547146 321241466 409451882 973817522 441716892 608853324 34679868 181344776 82914936 719116346 603712206 793802162 77652626 767746812 327556354 988618472 736776300 932734832 432833216 613684776 529109522 826321696 591865692 681610216 920536952 367164978 367209254 885329062 219343936 372695036 915315204 171527916 47431252 754777400 701824394 952181942 761992816 698995120 16941602 810533244 89179398 456347096 866982480 761606518 650213508 809051390 123629356 546214786 942863720 664406428 749866924 335998084 132326128 560475020 873693898 388771264 101186612 335824478 942630260 344275058 780698754 899417656 18989942 813237282 51458854 486081954 936422474 873054184 910940844 364148452 830286916 16152136 631483272 402434308 98198452 225433970 533513190 809768226 154292488 633491708 957081876 9064894 240058840 601613518 631206696 321714040 812923716 137393500 284600204 783929786 818659622 388261166 101882262 969650568 838783222 238242424 799313926 333176140 966946194 682529602 601199994 707388228 963469418 513522108 902057318 732540506 787664812 282340016 346030174 484905982 894358496 219562862 146762466 69752278 38828450 623819784 784204860 917206208 408173690 224660734 820482262 960829596 540206770 463647548 575428210 276440074 687678998 53045840 480891440 708990166 309580068 484288870 716384192 734828838 957804120 830484308 725184978 469269686 861386962 435590876 785236904 922365064 350236882 665100794 54163874 416639626 235813698 230103348 426763322 616550142 653422614 171614860 835645016 208054408 655221836 618429124 269592424 160081730 278425590 212883698 886716638 948851982 352700428 44205194 958107532 941019420 29159624 212832552 921422798 568302170 208190212 940820248 535428004 782321692 780152964 667022522 38787724 799214372 478194548 40894964 420218694 497348842 288251478 814030568 967728474 865926090 287287804 548742090 499309064 924201432 168221028 723953898 574930034 248942912 378515618 746561934 65786358 144599258 637080820 284485492 656215552 770749282 661127264 726472916 427361098 335681278 107184836 891263540 750431352 765698646 462486742 650545504 959996180 538115644 254050956 143300676 795926278 631777854 34468698 307789886 866634368 275232272 925104600 542899432 411835360 894913054 406482304 120411630 200705272 863154702 508199904 564605206 874101438 311485882 338175596 961511090 725481332 849884326 338717528 731041528 602375656 368684048 538136078 84814858 322893398 534124208 964213176 31019778 721811930 315269738 576758754 407719268 244133008 283215830 886512336 33370340 170701766 310221346 670879354 184107196 597636426 298074690 380769628 662918388 560049278 21942982 553660140 726004010 421563130 978451686 308549282 71537318 246802270 508485478 968845272 528008022 721435320 979776136 225190216 471288394 608509022 36397194 939127714 949352198 284360738 700383334 461179472 461994288 695009446 933659084 611330318 914781384 413756520 994389444 878874198 860537836 6628980 404147406 972528836 574375634 412050270 615829356 688645022 482069758 811232628 954156084 590953854 514826870 673855790 39236582 350662390 675775600 902454170 311969870 272286590 215123362 287126932 185500162 971369904 843252132 618147526 642898360 753890056 447865798 428812290 244337952 200082980 945274468 538105760 71501046 578654886 83004582 168999972 999858000 226492000 202326278 818867568 450092292 605726090 203666510 900132842 117609616 802344372 741558484 20619270 668144244 633004866 919707762 156535086 512562552 588487622 663279960 646971442 449781664 131290470 178185330 986044848 10749854 189188444 452962172 67364284 947904102 941090668 727341968 274796718 57679220 72817368 904814516 776118242 59836200 55496982 958874586 869474724 131754808 301788800 149697554 132193824 731361058 54629926 991474026 329312826 981563946 591924150 356359646 968214624 503064396 350448954 286452556 367473754 823768324 672674050 824973310 267019238 850868664 274377344 666260130 312551976 91587040 984086790 483659790 930640398 938881896 297902128 632694230 32247918 74909986 142123042 853882108 681902086 862629744 118959862 430610488 264907464 583417368 274000864 934619598 963863090 998430722 403121686 656034292 564182660 951992038 126845464 430087942 970857488 8699990 290274724 434842588 856751704 57043370 952496950 66910734 689736598 117118408 951646576 869364924 875817738 26642526 460064194 522869768 202354512 842859132 925795794 390759462 172194988 92663702 472786962 929376324 852221926 983802982 136924852 59365402 370767050 371860738 584669152 456956126 305362252 599835730 767009412 888944140 488739696 292303822 774765202 312181344 663956220 995571522 852878840 739667332 663320960 936927756 709961190 38926496 242971616 476472768 377738958 495754924 111262022 756531804 187872076 224550142 589711728 256523050 868554818 811756100 730084564 254177342 80260058 223042876 251366608 579125524 273827112 555806290 776624546 31087990 636253788 486847472 194798174 163703782 209404120 591184434 557397250 506287244 27817122 384986336 583754248 923553790 618781914 783067940 750783926 802170824 354120930 577200822 95317084 771430838 655282324 131122364 821150130 462360652 996454690 578122972 446508350 548333480 558006842 881476194 29313760 500590282 109482718 965309882 150550822 284469898 309298250 380571426 946531694 90762886 832508914 314314092 556708966 450566400 646081018 463372810 452242880 553339604 422588948 650470380 952855936 952569724 311685408 309065164 215370498 277810210 362192648 303139288 933305338 766745646 826584796 499842080 465520472 991321746 961897548 866362282 289595418 124249024 477687840 405015130 288533856 549292128 372043570 235300362 843000300 168107470 358140080 745774706 389409114 742299838 11287252 349790824 67245280 478567356 674590988 989604794 933770244 84580824 873698294 653980398 494665392 887671586 960051952 22024562 136342292 408960632 726752992 594228714 413619764 817296454 441095704 277130150 574485186 499189990 21918972 692608428 607954296 643439180 822314314 546735662 64376184 374557508 21247256 630089436 294691750 434129706 819334866 704457206 842069070 265970078 671912454 378848676 691131326 89947534 377459916 658597860 679743970 596142170 491222844 432157258 336326186 566606570 832475208 419669490 242786832 45306476 921335966 28325740 113882900 815745154 116643604 813229478 62845100 700675450 291744342 864759596 579007508 641582154 947400974 813781696 879130450 770391122 550095934 678655894 571599218 103607656 651537354 877074174 697559928 746704266 919029362 357427926 479473648 992038508 165148184 770638118 134168500 989640300 745327484 110870844 50426646 944555760 334397186 635180490 495986908 640280286 749125510 17063150 551131732 612836466 350733402 59021120 868656918 703591302 943893500 542449382 65843230 271402430 167445434 26489596 81763698 198610142 23083288 733819518 183760278 686166914 355403138 150826026 364055870 718029796 119421022 136427672 105698670 366886834 478598578 33469484 213754456 337256982 632309824 861995078 875984822 988138416 753215378 624545282 331020726 543433076 141302104 834942736 122863136 372848886 189640020 580364422 718445822 508113428 554404256 771337752 949585710 424218772 650564868 385539784 665893072 690602952 170218156 987373510 353506958 465322828 440089076 800495888 9996186 291908178 852154394 896820594 808215548 551780142 248500112 135413570 520696650 392032058 220043200 557227778 316041446 952896120 448548354 908395228 599357050 515141318 380165358 700826238 114224656 215757472 442856346 53625844 912418216 137858568 183629164 873501904 611866066 646705124 113602268 318852830 57317498 361655122 212496168 773478142 185869444 105300388 654865732 580829488 615394954 710487746 288200076 741601562 797163050 867817140 808106402 758257932 560743260 748038994 738612636 87172418 509207246 790684120 702218942 151174448 799066468 814075544 308840578 789323774 606575816 845364196 369274916 239583974 927866676 798511746 980056232 853836698 979583328 724133572 615351458 989699806 771058092 128193100 257190906 503833956 840504860 863728374 727351924 299176408 364219554 416874018 139153406 494979990 170255682 2013468 399766766 79385676 832190552 434622716 271335400 58511130 516154850 879110232 754197438 822902344 151185910 842084922 701968846 613523634 253490640 242496446 820705592 25019766 89444072 734152872 685175152 150626944 72919932 718968736 895198746 305638534 247089374 375352310 428759980 797316204 742716604 138558602 444773576 378258152 929373780 227747116 596810466 155395288 578247784 252646266 82434550 456235806 752269106 97129126 563053446 10760172 773389474 253901254 469530858 71862294 666570528 548890484 26472840 850391960 322879916 778844812 637244220 810557282 33887718 249633472 378187828 398555820 162922578 143379018 976804104 822245546 273649652 224777652 804246864 986451328 266173752 276810012 351301968 819535312 342467978 994639720 415975948 35201440 500702968 619888158 245566284 781165542 832174664 460486588 224532998 916119772 738580816 961915030 210462904 508442396 44074000 867775654 384766166 792982400 194947496 856480514 962620364 969617424 111247974 176110478 996118332 40281716 777115766 444357732 849242942 986702384 431812334 509488234 145073402 727774030 62458504 643855018 860922586 379271700 299124418 731342960 305621454 250420286 437458382 454946232 8393004 48552292 398914398 844484592 216149590 384119520 182536796 325270582 106822746 290878802 972105520 823848782 430857968 943655186 699730728 540559494 385391144 332126032 131602564 700417744 73817592 554105490 177357230 441600956 792427344 663460284 60703854 631946134 972060012 509590682 299996384 98594120 825160942 199223008 768963346 618056950 658323046 973347242 620719884 801592222 804036094 286313808 77204608 56630906 961772554 80529300 907945516 242626588 750633002 147288184 933674898 539656532 745257694 172413894 787766664 687526870 245666294 41704372 917326654 298139232 386523990 461377310 610011504 358424296 852223426 299137518 277433108 787369296 20510736 660229402 552460590 622456094 262183104 430077374 769622064 145319132 580934118 972678760 746422846 291374274 96370726 451105358 391242098 691756206 914959848 806666600 282075222 724313724 255525598 927528754 228809322 847613670 719413098 604977490 307073198 252565072 418254284 122983728 396875366 460013698 19929860 313566202 662313348 658820104 99390612 678146442 338485826 934778798 645461968 368340832 226632294 569189376 463475456 808155128 380886792 371780528 989275242 247030712 981964586 837406234 257731646 428674296 548875126 436708056 680617072 320357046 41312628 691113502 700904752 826463146 497271016 45804326 473121354 223961430 765080984 180851626 11329294 72331052 790104504 647749910 414861634 808681548 769487692 905401978 937406744 836158896 124992774 887394736 908979210 10399520 770370994 246473370 18170670 917366652 614176096 484106420 308407196 850355240 289747654 280798552 87294042 866734496 558383894 266926406 226571944 460802722 228540240 695020688 174874798 910822854 947988442 517360734 733240604 762893358 368655090 278752668 389797996 131998838 431986550 71519056 685828536 952529376 839622882 397455918 4901474 335396438 458847166 401245674 784089742 688845040 343200924 247769130 953660448 789304956 660970992 236424608 585085628 612690662 266760394 214968928 762059386 290554788 371085434 549319032 737869902 863498066 778112554 651923348 407838404 978727736 249729718 890214906 446411920 204922610 453403084 227997504 670660890 698591062 272205130 285052780 194416318 940140394 299635214 992403228 102702542 848292812 920685776 913858366 270980892 264730798 29571558 309141100 878882086 839109034 857314558 531727986 510730718 449145166 627495880 632032122 31399772 703403116 159802442 280945148 946955476 368252392 317584166 610786224 59531328 881945084 375113962 652810852 760761344 160996216 981086724 42765084 32197774 464249378 231236400 674851714 825980988 50738916 213941354 941930800 316009120 978918262 225707020 880367452 409773654 343981092 284776992 566029384 134164204 835842854 909144024 870344704 292291808 315244754 964888302 981088786 317277698 128550706 496395728 91121980 592885832 244153384 536592874 17114998 979842156 607672840 141409434 352224562 625196766 141273586 763035656 966234408 685017140 397724370 497736472 999601750 955120192 288469168 539792450 539179346 312044986 526016774 935005506 253215314 367575468 941275002 77760360 659196468 418910666 547652376 369799630 843667196 722775712 902965002 773649638 386756754 139177220 302698504 155399620 16080864 257265156 977783386 352511662 940751036 190845484 179362740 181532590 110097030 669260492 25805650 168834848 700381562 472758666 450270346 444844462 359204298 215077472 960697100 730109522 190883506 132863308 476471156 324283060 401195770 452798884 728257998 383837020 613958002 336044684 194940498 151222028 212373000 895705726 39381826 598517170 979910208 117037302 532992314 639633224 52557518 70461360 785431324 597939530 210596236 142957878 932723226 585997812 95996386 770853612 282231738 432023962 956928782 588342970 815953972 108812108 341233138 152794752 900790848 653672672 114324736 608710504 191276892 782008896 304349390 299662900 837859836 230113526 663179164 442168346 791972884 535503302 80585870 866149880 568974616 329871104 807008488 38145594 660883220 725103684 82283554 399072430 577464226 862573926 467705950 952432200 747877764 535334280 718543146 934622698 469664790 54434466 2220168 739307364 110781444 28422734 160770702 854099218 934314716 609051072 240270300 674086018 202652634 642021490 469080268 889441828 232344358 41321302 387256584 977306438 313305452 970960048 578032578 122422882 496021198 874939964 365206600 414058614 627770286 299120348 819651996 495703874 185677234 832118406 59691812 814300862 701811020 564512166 60810872 697715136 429995952 334009288 880529072 525311682 798161820 832065406 530738322 219862580 712699372 667720930 128673772 654441952 709701416 113865988 123353584 138878440 396373836 784293616 149447574 339052040 13206484 323650048 677810156 271525886 647826012 512077230 488442996 916143390 69293796 832168820 616928130 730379204 434679914 650487812 356097680 742821042 26988948 345025932 9727928 795578074 614707942 391137268 646981186 735435834 541616766 295586466 716527650 723035426 541356732 56961532 503281602 379198008 861682126 670867314 948411996 274725928 553280798 113769960 668221598 367776228 518500066 733958554 41869184 626975532 798452382 663129022 286844298 913259478 161923436 755640612 275695688 974850230 588811444 40466164 527959792 484577006 121121544 211652860 51456544 892077222 719086686 133455156 165326812 43912894 589579296 526056804 621390794 230031598 925467358 953487498 696159266 933221956 745581662 211744992 724636270 24432452 929081170 536580742 406908752 586080034 753221234 810784746 362157994 834397758 448444898 393199568 161261872 804545286 657648222 108303088 649822036 543861392 175522336 135198740 318522744 787545604 300709130 176573910 775742696 31853788 907521350 315619836 728542162 669585048 918091548 717971172 835477982 500712940 672998738 223580720 789973922 609719816 607824272 689568446 320720816 981289540 473543954 209326584 22228952 238142828 883692308 208425690 409727854 666950196 191608606 913296536 695620736 833000700 380426310 693862410 761544570 885780110 718496010 290238650 193174806 826879370 282141238 748414794 496249592 150156886 667239872 214073562 725403866 873247774 902445460 138798672 101353366 535341340 847917456 962824236 49769602 312648662 55585904 576593004 838826122 357802024 905951906 913378244 410568412 662552860 792062640 76583786 484855106 724487410 427158110 521172670 74271252 13898916 583000992 561229906 108755458 638738180 938077960 806777572 987289558 293543182 531173154 559759682 64725314 975866218 364173250 421718784 770059944 660351876 829052310 47661920 184247352 164802836 835085042 244024022 7120474 769391240 215107858 345064944 287457750 583890016 590137598 773807696 938397106 694532526 909006020 681126998 792840452 935430442 202364984 490500638 820471434 870813542 209909586 562387048 665047344 231861708 917970292 783089266 742312298 564527186 615259392 727609950 182998784 715050040 329851338 372481252 373313232 170185742 198724968 513204896 520931492 229590586 523650824 520856606 609768256 796463084 708643906 252123654 500006120 130715316 404516354 522169890 99700712 910427918 611343040 238469930 800103036 791719452 322828914 680758096 803371372 700571820 112105658 739902074 689821662 525328888 872025984 936953680 310025214 226616174 19678660 395846752 768568368 94387816 599475628 247200146 11864994 365599658 833987854 96802214 584919090 406790950 305510588 553813696 912149156 510252022 298163644 974596396 259434592 580780120 91458650 160083232 101052818 109610376 258854812 316532160 416849050 508584616 511042344 464069966 13634482 98964984 714954974 275731548 781547376 729316714 536332402 285510950 27058634 3554044 573254056 90812222 427965764 873644178 416563582 833872950 609363888 775928918 274653534 221189054 490992724 77595646 208888122 183576028 176434092 90925760 59269426 553036374 876843240 98185026 423572526 422109526 999275100 547988584 731245332 246019260 426297508 335549586 858164518 191079116 524647476 938690910 40597400 857931010 204193842 304604168 664936418 583745102 700969372 852280440 681059908 763477986 40675808 379999920 275896008 671490300 398611836 177928748 86551218 253868516 221726738 491433382 100399672 259164580 40012086 460588840 486433322 510951574 910425330 20097158 174778868 202811824 316678656 20775900 68386044 263367878 538630078 794910076 913085602 385517272 95138020 772296844 533700994 902966476 314521120 286514028 814612018 13992796 684889592 861460244 10481676 520920164 778118978 151133328 719576706 504328248 912593332 171634206 486023698 337965348 387903456 731222336 267011868 964378904 243447636 195538528 796524188 948613276 856509846 71729392 927329740 67448836 944329930 920355398 270138982 94695006 842833422 638481396 241309172 59060592 633260264 940969190 929045720 657869542 971051280 390692376 712694908 31594114 794652232 610234926 882264460 132617868 117107276 709480484 382839936 138600482 201398800 341202870 292850090 475745114 843255742 569343584 620351360 398708860 87384510 438381596 276653702 343433212 206775496 537567906 266106048 508485272 492447844 484563616 130227174 50549272 596544340 689848940 168711758 306056516 196881422 498574534 568824066 974082300 146999510 381452790 72691490 503800908 53214382 502113770 631426336 608235996 965929806 754636376 577035122 937366206 338088660 127708280 198760738 663439378 728032032 755787884 885416920 19842674 748229600 138508168 752701732 922095120 111614218 963811738 829942748 77533334 494236320 812055188 106204552 531955546 47537656 906981798 919468556 625075966 201875338 733914090 445047016 450800864 387051848 776744086 841035958 74124900 736658664 791533928 859092652 827838206 31203092 501258448 735785712 19115060 628626810 668563196 387421062 627837800 424121748 924855112 15839056 416227962 311948618 168738918 897414796 362910930 549990248 807851586 604325690 498901048 353644116 165948278 457367732 545876382 494698240 400042380 117829838 950299004 952380710 189473446 251953004 685462072 793025452 153106894 491942850 74537424 475500702 365677542 729659204 765731512 702728348 255263176 818506384 643100874 486453036 778460450 301899468 691411182 577525276 677328614 750763924 649933660 44163278 2463066 607783494 399688188 117085172 70414620 114265518 665947296 412103118 807645706 213437504 219911030 89455878 390838196 200981384 450448334 911756546 671001576 612413860 541230524 302840298 244989614 554765850 885481410 550273972 339113060 497926064 254615360 177374026 275786874 648235132 323875824 631363700 799737292 574912160 12641446 942782994 815475548 607614388 415209822 308281414 313245598 153028808 192785486 629714514 273510916 583634654 446279210 399361432 471695572 625689728 625769754 734098034 765074770 639469304 654253518 414209888 827643960 918717366 434183684 772969118 643761506 501842706 114653742 3797116 293966008 524170008 782690408 741852106 883210372 269944284 887146274 841542876 622718552 214779120 303713310 311812534 64735806 208824974 202353144 768651490 272103022 937267490 710157128 82153732 41400314 631953470 480463612 385275000 617889756 511527924 221496224 602368990 769944680 750339200 418729410 360912022 246573088 574375604 2965896 909046940 198786034 609991748 969255370 142963706 104384628 594380936 39932938 118608896 638243144 518292874 69543282 800195428 675980824 946844188 419933740 739411818 452695776 984271680 530041240 35305496 36917026 292578224 75487208 453124008 68436308 322379616 483086206 585493540 293847140 845506350 245195058 138791586 841468892 871708550 420189766 240569082 848234064 656575318 921504444 397273506 875252066 994593178 742047020 539375524 868864852 289036128 2767130 151104030 760226902 651101416 729374430 852610174 66239736 252945354 881311102 271923608 524696140 463457578 168638792 372937242 772596284 675448334 390383884 167910834 896031478 994281800 303492850 604308026 526376800 473772230 616529804 812223560 383908038 271492182 58861566 514054036 968977120 496165810 70494828 682124788 30885796 250406128 26844558 503078170 555985296 742274532 224794934 638013172 736247902 737532764 866895662 983085272 164177326 623978540 814803864 661144122 637822576 54162818 677877534 899921170 555631516 169196324 738763642 556695866 633109002 448485916 152028072 426456540 924115392 380661136 332385948 703186864 496400302 245713504 235513848 269197302 318613474 712656412 394878682 903802264 420734524 788170188 129368152 838539110 979124052 130249200 668434562 296051154 533374064 196512088 892774218 156613288 260250072 398627712 818405242 614781458 985812986 909933676 386296026 160300010 574900672 906286700 460174374 336761062 702161670 896238970 693985106 328725686 259992424 944221178 550861108 841598106 524513118 665049046 996663056 577260592 300049564 139467676 194951186 113376818 225943960 632305722 186602244 93291790 396609686 557452890 197998512 663899640 826311648 71393486 421599466 69163362 225275380 603306062 874011998 751676240 747924176 325091608 806230366 575200316 543102398 306579744 25021110 599885922 487138056 154794824 562094754 541000242 949162392 317552366 84339876 775273422 132610474 613554760 26092192 531905364 94387772 38761926 569312834 790672336 25355064 1322510 670577216 411244826 979721358 205058214 594125948 45153892 785630688 776444442 586326772 940383024 341809454 504367662 470205690 738376032 543201146 140835140 574748362 654581712 232789856 530706426 758028256 490130310 13197046 246083742 298950602 475922414 771661672 600610768 864784390 204882344 455738850 542620888 297346192 56444450 79103234 67578510 5020026 765239634 729151210 510423760 33885934 155795534 368766264 241907126 298546214 436232158 238762674 824347456 751143864 743691388 641949216 349827318 675632420 950644064 779998690 190779496 444737912 506105800 554039714 297143074 610069132 286510962 913362674 339938886 865588914 849042704 49370608 170372232 724695812 446475314 374806118 279735028 967959510 467666906 802502416 282621022 539292726 904420828 279351856 667496906 400051076 788787264 653750594 277548622 874129408 155629518 711427260 930209458 125489396 376263200 137069302 582893274 767521834 814874198 499400382 583918396 975807622 540520516 660099108 250469776 609790816 630257782 602750112 29213082 242841144 275478976 65179250 45512112 361204168 960230752 678012868 186754718 573942398 804248000 386099840 772599394 72983174 786730514 180741720 101485442 210070882 453380138 3746946 456540684 380012746 498388492 685786740 683220320 112938852 196012214 196182246 64649468 743601306 652458960 159508818 918608306 715389004 7125160 925090710 526388256 399421620 419964368 585741414 746935950 389438888 610137638 85231304 36111476 51011732 113320932 542718024 670874612 940049092 795514484 857203116 402907236 149353426 852615050 195314862 658258146 813984682 107467710 716553410 604488800 90128600 113436436 519282124 76922434 226172896 125840888 72797176 570044136 499408122 190729136 832032258 308649616 459015412 9441694 686309414 529134266 622284058 250997654 840627626 156778850 942622504 624692550 88066312 492937248 472614904 578731510 902723646 742656582 9366686 965450622 896154508 382433008 293586104 161486840 761166046 30801460 288638382 444002978 50309696 67550936 348774732 174161592 579905240 64218994 816851246 123285270 522511048 96928674 708034424 682897408 421030784 719161738 508470058 523605332 432885404 358458236 450276760 553554650 979848402 371378408 376978990 993850060 624738550 932412036 689819338 471211044 55247692 2937752 782594206 136612674 976423924 860053054 109241976 334372868 65979864 332237904 920811986 737297836 317444298 532350172 972478686 991416556 565998402 890882518 264601438 980583348 128207514 682568222 299847594 253880352 60251478 304226880 562646540 334311034 881601354 12235148 737427974 647863246 427848728 373226038 996562236 794229724 725758394 828851282 30902020 840515510 224832192 237265364 178975308 66554592 898689500 206987356 737195144 921500292 42108480 184978944 623428418 748598228 700323390 718462858 407788450 158936408 695565116 298008484 499321146 380473292 198289262 253407988 226618958 30305578 921228948 994729394 902552928 315559742 443550096 730724720 51417038 783637124 264670154 380738300 721687426 533758410 723273050 563976248 338198474 939045824 300850752 192292278 67301560 728224182 255440154 299188608 675242438 133042094 875401872 787206876 392884900 153755168 246255100 381091084 705869890 680833154 457118936 843351036 823206902 526477134 663625268 610801406 250070030 617918138 879260350 924178976 629417910 269128018 854167658 679154054 998640184 469602144 262277962 734326482 49327326 87212904 238757562 45277632 23797912 64809762 297275636 538581756 495185958 198951870 946380070 230207970 454033366 41022548 334410262 890971824 96977956 826946350 921484206 596199854 6228674 552644054 176789182 99896340 7675020 318303176 722514958 898885676 587301392 845086792 346281820 606177370 363672702 628277080 371454930 813141514 144730846 243251800 83945144 772577310 239042068 448986830 640011710 215257684 400155768 491833582 509306166 834024182 940613784 713265630 648628484 6040814 468866062 383850748 213993152 827248484 447421366 778035754 354563728 935782506 317976660 24629772 440572150 801470554 105355838 283873664 607200512 729389544 344848614 990429616 239756842 223527820 848971016 258698822 384907614 289543330 420463016 744404620 522734986 492861286 945210308 337710316 700461764 691249080 186157446 224283368 780591764 446987554 893638862 945121390 896559758 807293860 657166864 48134906 861968052 658803368 709387388 172211204 88796246 983490948 172742722 427968148 157450070 9118128 508957228 826764856 181058994 855719080 869865772 331679580 760842984 196062462 289784270 414360774 745866420 355103578 825438918 229345124 209482290 585282266 290072250 458643184 155554218 718793484 440081072 171647786 201387396 477090368 996329072 250150528 227676794 954100514 185730472 912271728 337459154 916326762 453816334 143719376 393811986 564807368 436116724 841669728 748698842 136028044 64010924 910068744 762341264 513642900 127101624 50991704 794881604 232331324 333721688 893825768 514701064 87354970 808998496 574959072 74599650 464572162 66422830 748608356 897303074 482354954 832785066 638733274 52836018 687504424 439236700 142000586 841502366 889343176 778522310 562426274 456654782 772942610 91389112 406802898 8960160 544338832 196921168 629476964 289234774 994699532 211636112 483473078 162289238 569850440 129743314 652995898 960662768 731463212 757579470 51195502 582646098 469331390 436203516 35269776 254974112 106790034 850707888 659439580 172708548 53714270 364536132 649505282 802495416 617999124 232321112 439429342 155218700 738509220 620163208 377464740 248694190 37836328 381887004 91218718 112736578 69162100 274315142 539097296 933018184 848553130 302759036 746036286 284410796 370893330 427722572 537754116 43191868 62545656 270341374 764717246 745441940 179676200 358908620 317100520 466737442 762445766 20855864 914936766 852574010 102231458 14778144 193324128 859097470 489705962 150150368 134584732 854333966 398083818 576950268 775801872 504480292 870523584 605725542 863874442 701282924 111113252 540724954 897782646 366741664 818100434 287128046 727405990 918632018 378997868 823893606 290490172 938260840 958897092 347165110 369220872 8303618 775046388 667550476 895095322 851723376 591750406 459327084 176741740 199016614 904042428 728438546 265752526 391094516 80971434 326056606 945362448 322668706 684325092 206566670 635903494 928304424 532213168 770401316 990240818 400939536 118432182 564623654 350355500 836453154 876410352 344140634 800833566 786768464 142064034 374369248 986024836 629450676 532242758 547704888 895436012 136458610 872134058 712526780 745051002 927403574 178030964 106935944 118956062 36477020 588496648 880200216 366948022 671272328 304078708 958253058 516463392 522583756 117022468 719724164 600899682 926171590 368218478 407857032 190726638 968455786 529315918 223483534 90896042 318608938 529359320 503339952 348358172 438178110 579568638 693683004 868163540 424698798 677222468 477929072 291193294 382070432 793573114 498153330 384582158 676690810 851907966 149708668 525344320 741689136 717625746 589124830 814639416 110817956 834012930 92815526 485201050 199586114 977874142 429220284 732304910 259334486 745529068 848046150 448330912 952366392 115324236 576197550 790575920 377842028 220064140 102433650 268363290 412089328 334476924 49818278 997962322 841151010 836092746 668643328 245133948 183843672 762467332 409001624 310116206 56893218 367364930 792326146 889913104 50391230 522585726 764147946 142198918 730445828 927677262 795783600 439216036 804480264 414933738 857090292 964529382 878302542 263996388 465728938 556377768 717571448 540900510 81298906 427479002 184067904 70840780 676268836 319515322 986140234 986415928 479769212 647779840 720127486 788938986 381803564 102677752 655128736 391726982 526795220 494086488 792985442 290905818 235388832 634645358 45256946 277572276 849319044 357478606 996389518 770390010 887771304 872847420 449987412 215782094 968612932 930874342 523208056 645719538 299449160 887530348 635113894 489025438 629830702 963633350 193678134 765338970 894690624 793896580 123545834 860202534 4483802 863775988 867989046 831761528 241495246 285845306 99066528 435700936 256528370 48300556 532275592 427525550 665083422 762625498 997362340 564333548 717532044 666222656 582440694 426460986 410424182 11784558 102338904 285927472 181264728 81734510 688099490 39754746 582372180 639834074 73103408 249672662 692995104 273069388 303962912 385233064 269895582 774791488 23613268 910140826 211930108 222108910 84359186 419597538 706247450 447870840 585505458 938605022 4223308 67902026 274763950 672338694 193765810 556752250 241339528 260923360 446338266 931514748 708610308 182423230 607662508 195547108 915940150 799316174 481244578 683264324 588362088 879045658 313182588 909662582 142615922 919505412 561204586 231313908 782724182 605919500 564493754 502564990 423170634 507741490 146311916 51749360 588506328 565547742 114617508 623533860 425843704 252525654 853405098 602817144 644655906 779594648 267024476 535659684 79320480 227317216 688714510 174942636 563975856 256657174 115769332 589127772 825458854 458918130 539861948 884378322 682383662 79389880 963309656 527164662 772908846 471586286 764126334 649803336 925138574 93635042 698282698 232821972 595602014 12602746 39905850 884111036 795881548 420742388 894595296 109728562 93071580 461345356 484783180 382206940 555221966 955196370 261639028 422682044 60314906 744593734 922142454 587873392 195974666 209602162 234634906 921992004 947028610 720197126 760407612 930477670 301439226 278698268 656581714 928787364 146589302 974862318 995830328 696926286 112988684 253820288 334259708 580451092 571188586 147350734 483329188 896112718 452625122 723346394 599903684 30736536 179010878 667472296 341004060 34559638 636202028 155442500 375431502 274227386 90788770 786584358 602158238 740510572 924055264 704536404 316348326 97847936 672454772 42857272 998600154 355325524 458363134 1047656 170651078 529830730 693867092 13753098 3943204 837093724 396282766 395276096 1390654 209020134 140980714 564775918 228578354 511936048 883187996 72599128 928707614 440981884 402586416 604516190 653537290 171298288 75703586 188677130 917009342 375121648 902685866 110125160 864321574 844898886 303156994 895656790 220882448 257798462 820723320 948419756 837754936 710139856 489864598 87919806 694287884 541956034 185468294 311539608 835977164 210924632 253891402 294996704 44546094 574186936 239700 400189462 628931928 458961980 931252282 265753022 457793114 134418096 511949184 826442316 928536356 957152670 829799412 125307280 605336254 91688884 198564146 998657542 311211772 367630104 459691120 946333490 895646876 459856802 60694994 697572508 895006120 282471618 820459378 307650904 369774934 876691458 187044068 432470988 653392048 535865252 152074524 212714776 168625726 300298186 731862950 72095010 328143744 575056666 425363502 314993788 180421838 553246630 478412020 237652412 249338864 28909712 781163236 369549690 500213758 882970056 678427178 924595522 609396118 49452808 152468984 919456184 295417624 68469942 232871076 917331394 808293066 270761616 899562932 409217754 565783868 651643870 39442242 131834248 949388274 443235728 345436582 209303098 874418374 534101556 120416126 104542006 855189880 911959852 754458818 288988712 319430722 313530550 123688124 347399630 51463670 405449346 659708596 487988346 594415650 855059890 506223706 785650350 176300626 831796224 567672304 790464472 584804406 804940482 762318828 173605586 323562094 140230912 880511722 795854202 291455032 55074456 689327690 992112892 883645432 158873488 960031614 733810216 588033196 839815028 750060012 979630084 607182098 750588586 261756856 202176728 561288364 194242862 584404512 384006848 685120402 744419436 456353400 76268138 324945008 796004890 376778870 646147506 511831342 120567594 294412446 66499916 977369094 735593794 994357954 301891342 474995524 346629354 272656396 2117902 975219800 841974696 371629772 98849858 203713216 716711292 156299374 193034428 821078142 924693268 453461772 828971652 915714024 846687846 495449072 333195612 864035654 774098132 65020486 944143046 893147996 145044260 150311690 66010316 543051998 94389860 647612718 792997814 556569450 197841576 981619130 588414204 931038142 386497602 728770032 833903830 103476406 263423890 194808570 791943250 401119418 232186494 214844850 265069124 264106940 728668082 885365008 179785196 560110810 974061122 817852306 799265564 851643158 382358090 538910164 4366210 487478998 973043180 609557042 770654716 88748338 652893098 809220786 696395608 258914234 563656100 940950250 484416530 76894696 997658910 76395710 782208222 827059576 707970914 24485070 931409980 223372636 321446792 215561316 309103154 493146526 122767610 498211704 528712362 854292532 968622814 424113158 675921550 457150074 165748004 148868624 726888494 449031158 431485212 370464152 432044494 681493916 827183640 310504316 75393240 968048432 831086720 754159852 575762516 560919036 602343730 34105912 757639766 775365942 481546630 995338824 171917748 190133974 543166836 589167488 472118756 629371178 453262806 311943378 431414118 766260732 132030414 703866588 110325426 493719402 262888392 262126374 573101796 397702364 208732566 630429462 183562318 108941994 714199998 420595516 936438780 704610640 466404992 376172170 965720608 229878798 654108958 481067046 633256668 577849048 508044846 520397384 797263236 237566372 722728026 899076648 325251358 599263342 593748742 348625506 497270846 703140336 675323290 118933024 606135406 896345564 780540550 725194652 226339180 121906246 760670428 495229654 619431116 815302060 425291262 241295042 156941136 388542072 25492636 972315630 254162256 198987354 1892596 117519776 351505580 629828630 119412752 489222828 361491588 921445492 636125276 5496050 50312708 276094750 15673266 978695076 809882970 445278978 874347066 609339376 873644558 603647850 132727246 39752560 949554214 825755390 442627322 84730878 291000562 624918036 129577150 388644364 772838362 325145186 296216860 343679170 695323486 135102586 933553330 740534650 597355504 521279940 736563854 700680682 656637746 715814728 432110538 509705644 912924008 920478948 436269352 47939870 409531188 826727086 308432148 894854954 351404852 655974574 701550300 302367448 384705018 848875122 276425888 853394324 241393388 771535702 899924128 266149864 111868110 551233050 916742378 268410490 189680312 890333866 617921526 822622618 943222614 817204856 301509430 334196560 825930842 957224720 752563450 634211852 453100336 298523536 76358340 343118938 973489318 344083326 772382190 224590414 252208890 782019546 163047920 649874140 985527314 231519506 66740688 435818260 840027758 149967802 767273918 228503898 735180028 719458552 305901298 125633526 908889422 322784802 411599578 503495176 687654316 711279018 232129474 7802202 150999808 30896722 943148222 265512928 466144986 451622148 399260708 439083762 405332158 99574576 54301204 888241186 184103204 854572016 221458772 898144820 127757764 298824728 659127492 570528464 42929102 886489094 412047026 610980176 75591748 532628196 186758138 839044834 939349274 409394924 513762870 118813514 789039994 107798364 115357960 914167024 524671654 992805230 122235478 126870846 820282940 929455714 360891306 31964602 541174540 12631258 655872440 910049084 421369840 643599134 928934330 525072110 555618770 820527122 544321982 730039204 459966816 541593248 698940376 751830164 620614284 568524096 700405446 55688226 65687950 744394682 542818072 344932428 711027462 434210742 56762340 413689948 488976930 408674030 543626200 132889290 486744396 689549436 922260664 727228054 438519790 388056344 997462974 888071050 707516640 456877442 585645094 885987478 446463104 202447462 220447230 765631474 821119454 513560584 832687712 736862458 852883536 872242550 281968240 181510222 400473024 415593346 779342724 124747302 245317398 112426530 404339240 958374082 561133104 190561160 972151662 266255608 568035204 428476740 45844902 590714118 82763814 452130658 955269408 387102856 574564626 358639574 521931630 228659592 9209218 949734870 92510776 440563130 706282288 781793774 734557040 620381524 789689158 396388668 523635962 912449096 215547518 682578236 343329776 127482592 43366676 180643146 299951972 753712042 717165646 453208406 754826240 427329122 21094498 505390848 648475576 391282994 997394500 311590976 741130174 203101300 694168472 958313910 936508084 154287242 838703858 317163712 212597768 611554278 273144260 317552302 355268346 158260636 65336298 864251072 974583600 885519482 395101958 192361430 509340052 151534708 709045656 515852718 395517446 951678600 784779726 889322294 263295498 659819060 516699296 983482846 967945178 501635582 248564740 143459862 73889828 200794238 365321662 332213718 218748560 688082828 585212950 74747654 486747190 424735820 608248322 77426364 133359558 132430868 805341082 826536402 287766678 586691908 364599758 461792354 717845112 801333404 350768802 352081258 149506284 61180038 995584278 353878460 43191562 265202886 78868890 992127204 170181424 223972150 952229926 791218454 941283412 670952448 233423022 598896918 256930740 866314842 213041060 473191558 2442478 381668456 651920502 330074816 512726938 864352946 108449838 702997900 854879818 293787482 400128472 128996822 157195470 778626164 132632504 510531940 354217224 990874792 42190572 882732650 90121128 62590014 28870270 9638174 172369184 577501022 35169552 296605860 68639910 867775506 894278742 906761552 441933294 795142550 748138428 906519244 864157490 601568982 550841388 762773650 99309564 48918468 840401802 212887690 331915250 768124944 867503488 147661994 705728676 642678324 340834474 355138884 555530232 231413382 787690604 621369028 204455410 729816362 527116076 545238828 151307994 536026982 276801220 28582444 108949376 343707228 859029486 350759660 527195774 569220426 814808514 301002172 884618222 144367964 55912632 665923996 428008918 770625434 778333924 171254312 995099692 571675142 35230990 634502406 548422038 685656258 674730144 573849260 535919032 571150532 126700364 527938998 509332930 873710132 50534934 814524386 476222398 370980458 390820610 377146770 179785646 262244386 456086808 937048536 792025896 926517930 458699582 841981840 426844528 221720038 502806290 140455724 776150134 541601874 653510714 239243940 89183814 358976184 189751262 237643814 993191730 265378634 918837888 540187612 511410412 82475470 827171300 648338782 431848864 490286092 786893938 583272920 333333444 9021192 605950480 665412428 811919754 437747510 659918426 656824718 944444822 193933986 42958264 982761028 714998960 488737946 526930582 632073826 315388288 884151830 100760010 932511586 212761092 671530552 631005780 818271588 573832934 767252600 524992894 103799100 931596920 416205088 940594306 453204034 914706898 519850034 706797372 80051202 649465328 914123220 858470758 496587924 574310338 981505726 679990712 978889512 493923660 799493872 482538382 189481612 340971688 558707362 877846924 190378082 550665648 967095490 222513208 227333008 411836292 596901922 846155552 779398010 129617966 567575952 558429076 78229844 740892108 42203798 799998264 579493650 45010890 297839772 198828184 43037552 611013420 380663052 934808588 15554 988470876 561924484 266460788 142515110 510455788 703486888 979786324 746253654 801244832 600801926 646953012 129423156 883109990 319968264 448882262 106969416 655545104 984813866 285799876 977861910 199281662 108731758 294244968 382718698 472200250 99107346 589384228 947400078 642875348 833668970 866413108 891970000 461069496 492225366 445012236 539717356 416243370 350120400 601747234 215730210 75964920 920380792 474235186 262161736 642656520 866067102 626366290 363890078 953649126 439171790 229829868 778903484 869437768 633540878 286162698 786960816 818386316 145341198 283922096 315540772 266913788 827315628 229875754 530236860 347733714 447111356 731203766 641745404 825864902 450398122 339194998 197877834 745812516 136085968 197104804 957882794 646221172 306852590 715713858 319396340 748452752 729455862 732493610 714201550 808784908 333223154 309000322 308672330 121788830 603260314 796745756 770106852 113337088 201369482 380134984 401587784 764962308 857157574 778645382 276808796 644488386 140295086 417746368 842857058 890397286 323665818 282898740 270053984 298890676 564902250 741990244 792946014 414555718 309142352 156403572 455104706 364982720 586388116 403388724 564026508 881428950 697407904 758118228 497065362 887467114 488091686 607474766 268671198 112697804 287140184 937778116 601579390 883846428 975826672 541398978 715972762 863043120 253882772 692695888 806202854 28507808 815419524 2573012 960454502 346053778 690299596 508739878 566440870 876142686 220981228 126896330 655545966 917276664 455601640 864249692 915344828 872189778 865403492 85095622 705778494 135719360 231480546 694496616 461088510 594076962 166404082 911848104 349816498 564480290 492264056 130506978 381109288 879192440 769583148 154026576 70774110 871940114 605853932 724964100 827942658 706844588 57852286 199252170 10925382 715042378 484917664 20395442 793357922 121171914 469925434 989866906 423352570 506944094 360715840 178621146 399490778 209952648 856558170 6731350 932909836 543085618 695566220 568977404 344981156 934046040 644432496 428070432 519369290 130274964 240195048 757600008 851530432 277422512 834168702 310280364 392357570 135030270 800230852 602036256 258723706 748679536 979663760 434427936 799295356 759590926 849998268 788942006 938965180 170945414 710386786 103112080 649214410 915388812 731183722 18526870 580915272 57288880 527213032 433471934 900104704 158997586 165704388 467445850 999224892 167872142 957522242 604911822 893473624 866814304 992700322 352310246 471961848 394671276 959812698 555177192 914306666 12816170 349501206 142426054 671475000 783217752 574768842 435120386 399538314 854626232 109708334 763298566 217198720 670150346 446228770 402683634 522332860 83382096 220174674 490805504 943550556 335652562 872170744 24173774 775352382 197065112 25546640 211376028 541529630 461924970 724183240 720437924 613568862 90299220 704835962 115879104 300920074 618137664 938728036 252585536 303351496 122933624 556083492 715774764 69692222 460243094 982947766 447575780 124695538 494509114 579433210 700977522 909745822 787776350 116003750 206819456 509328862 73818452 433206418 283829372 728477236 548368036 198277338 980550486 268115188 370961756 572762094 124221782 884096826 303701206 973949262 634408410 14585414 527136816 400483326 144371410 735621710 780151038 13785274 135143006 435985764 873470376 90695080 709195236 335039604 24348902 574805832 913407684 95731816 416274440 702585494 804161258 343920886 366146012 568084392 874619118 240027212 359299190 176461200 383701538 607213408 631783782 362527328 733615780 267222774 880667692 399321022 547419562 832246722 771327536 780820806 363840532 816870492 594632028 323434642 562864588 551595890 883975124 122604222 792421604 45040756 34053840 79712026 531803792 32600228 119167308 856079706 902356088 227185160 299351098 399203458 672312630 869316228 474646314 933970580 805459014 329286024 259827830 78165598 183326908 855997128 771329966 343827660 342803634 868714832 762269322 488214698 395704340 428226496 851203890 680592998 312702848 832718360 917339426 753556544 354485126 411580140 20752934 870201946 857601636 171293822 996980630 586073666 702892568 166011632 472890608 931590184 224636864 191053338 152126290 574502058 809048256 313351076 137536940 975871388 924117534 53552926 928848132 544437552 681061482 671845388 38029604 28703348 264517092 29567626 750525558 450052784 802077116 143269804 493676738 545196766 374340834 17156918 822158536 786253936 464830126 166339814 447798846 620928592 945211356 452958278 322135724 397266188 536638478 915864394 989691612 62355692 75776234 92373840 398604606 610819566 596485724 297958792 894849420 228724862 354001588 210403996 814045940 596259880 296764416 999659816 913552640 36606458 483867076 539706952 476456970 83616862 502476556 925565806 236395110 163647306 485067532 222542116 734092644 635895750 387395122 272407984 632200080 959377952 694002580 630960750 950285330 366499844 628136768 596810776 825673790 148216108 31206080 718121456 502481852 986461954 74592828 584249402 918759296 158308822 691760032 583329764 232082286 233603680 980789128 196708254 414977102 462704136 199407484 471392402 860581980 338375038 422965808 577352652 946166764 505045454 32432764 410345366 125257074 873944878 863280042 588360970 881519768 223706512 935340218 335615898 785655418 887356792 400781368 275971768 223812130 432732494 337616042 49105752 958140190 239483538 753204022 702303896 272366504 762270456 861697320 721556972 971428414 728932650 612777052 254844236 699714432 447523756 722880758 686981000 542546246 883861974 695077142 488451384 366974996 940832606 152537726 405130972 347341552 493617096 765241124 431171502 372116452 675501948 498709442 908396906 280766426 730460324 648829456 386962826 757084264 740668520 160804782 584716422 473050038 529206480 140552214 208347892 38308794 730615392 61604588 74127674 362359202 539302166 104341034 734060892 349263138 858405192 516675558 758952784 333436960 89958728 801894284 588395230 400723338 141848080 356275596 71286312 999799448 594811504 805371776 660557830 224863440 502790216 47291356 639207862 539524244 90173564 403647274 559024520 247408224 59997082 944886782 352432736 287251570 685032296 307446932 337493676 874400308 658822342 37776764 641322654 129152898 833677324 113714014 512835516 741698902 65384914 333827044 341191646 882620092 299021430 836016854 729681734 392377080 89652388 645073938 23983012 543948726 209148366 200767066 18264700 507841574 601228516 800020860 460516080 940464568 488547910 228697244 459887924 827352380 410979322 540816300 428593476 828441812 795820866 457096680 881171718 841011878 966825520 935153332 658513040 907507630 783879412 241258264 196116546 913528446 234066808 38451476 52672702 404525584 665225436 132719866 606407266 627788782 374766928 325552646 976481436 79726632 999299348 468342008 947638198 411150652 780892958 65548728 494262908 787546524 684752746 906982342 613089630 413088726 440518782 209028620 155629762 857952366 353889800 176453830 765593106 517506764 477693988 681693870 432336612 419435092 566654820 744265308 555650400 646864612 602884006 582478122 860741522 238548952 249754826 27475746 543801008 360234976 261848504 125917746 407085962 627481924 86851404 212449616 435810578 719620598 85862980 962419844 85167898 870964544 325610000 392520930 865918072 962379746 369541628 497260874 713128478 514046660 73290482 488322422 487381788 550535380 993286026 585284652 685581378 856937090 67158438 964281714 635055492 849292658 262034346 513396664 188609700 894790668 80188980 419863794 388927672 973318574 429937446 144198270 328836782 726434094 627306904 305767958 28758222 591861332 526138830 406286700 412944536 753589096 289542054 597992464 163795638 229482478 118793852 169505262 309508722 363421034 88825322 943518206 787990404 480864076 547321148 343765662 57446096 597079920 714657630 219825156 559573608 68466396 93570984 397844314 154474040 388886942 156031264 460633414 12518040 475326026 886914134 268681468 782468878 616842758 620532210 149640110 686974648 259815982 580067344 166141858 444803928 327518588 490809632 169411216 980302904 996748470 17704350 279164212 151657732 870329658 373116274 576869706 236749000 980217018 516540408 925793206 62868632 217942642 170923706 240049662 578719496 199231468 897359386 216182736 651663482 378996814 145682538 713366690 436928862 820757792 506181082 712047980 478976544 289817464 255147682 42347248 718373580 721543258 805814772 965275876 218245046 110916642 207742552 223523614 38991680 798004256 310060798 868823236 739604 843285452 345336262 713860166 53520192 820710948 652429384 158545788 10485686 543458806 33844434 931269342 672096444 891473242 699784882 391588948 500342892 151187466 543246132 664136718 402466156 572720762 316320368 656893538 725939578 673591832 418089560 311755768 200028056 883318668 179417146 626335082 753719396 462983878 50837924 121351792 549015526 939832302 820934416 765503306 502192380 395934568 498173024 277798666 423608200 736937054 832726670 937432148 724887134 998403918 22682592 911324770 772787892 383271850 52560280 648551560 841766966 755744300 230920180 577962884 999301278 594020912 116243226 573726688 804052802 124068460 99653936 186616982 42612724 576339806 396438410 497093388 100836706 50018148 847060966 223493812 781918210 189948928 523322196 611049938 697249434 486807244 759959698 304651766 935192650 933534456 70470618 290498564 500065846 150164264 457006180 308292200 438030150 240496634 663327806 994359028 309056250 290633910 952404690 149340292 835081778 33468706 47186786 662427356 904753188 413701818 458670202 243100220 350333852 823713286 911374162 254601800 697929184 234109188 935619298 294996384 272092294 739272160 592586254 248106958 102986370 701677702 946824816 920244584 498514642 879954604 328443114 825506124 553210008 876656866 675271268 286510990 625470820 296730886 829512134 35493746 989465014 870768908 492369108 409027924 277604498 290734462 586241836 923385206 205138448 288236382 888290588 126283502 299031056 626985084 496823618 101227702 891784040 53356800 517836898 539683646 260929310 601650938 702044888 188901982 525198656 15719028 436904018 749964392 383681114 564472146 590453728 473191598 563272300 947122838 47008192 715433388 362453636 947142192 949227896 519005820 850259408 258177340 847368184 549056570 516623418 673282530 329807336 388873586 614555168 83496712 991471430 803988444 487510216 364961566 750789112 862720108 3712246 111388798 547168112 272422348 407818532 425108290 622189666 945658500 866027642 509451874 752045484 932543104 963177918 485528366 944214938 568934508 500301542 545077222 417794768 488046352 104823148 361481918 332896008 37351354 864767622 83643196 137967560 239535532 546103158 675014008 478714424 505073660 856328330 392218178 817957258 686976506 767045334 205448468 294581824 189160916 680004204 953601918 548519914 680881408 339512002 807032578 185397492 971071968 204712494 170225962 244848310 670559312 360337126 334559586 909348568 606566000 832086310 862312138 952201960 176830052 496423328 30352294 113552326 715658832 6511402 742668758 176403930 503899750 657018642 277744270 532103478 931761348 886496692 214725490 734016432 368684096 658422858 287887828 113453838 854885766 93507370 769404244 336619386 401252874 204472556 738171568 689936482 284241746 329711700 962646072 335571546 18103350 891197814 528583940 386419366 775016898 315876906 325999464 609075064 294034590 739723614 337444346 196530236 899394514 533860978 372272514 647444138 378104626 353538490 427862514 756986990 602039426 319620958 749940966 544470534 982079440 986841834 609407302 309250858 934793226 806070580 461180884 777427582 786153026 873165810 410240128 202365450 19463800 479111936 742167900 275161074 90194018 911342004 785000136 765488680 39169800 747300912 475811426 630327430 18097668 256025856 97148284 221953742 508002406 909074774 352950048 82946660 364655950 817799204 801098432 331031836 115298272 16874800 652447270 718900346 63455174 888359224 438685150 797660304 295370398 642696056 466390226 540627386 329815410 135240760 455366272 796143374 411375088 932418868 516311014 207417456 602834830 265211824 167238152 312822854 324722960 415669590 459296018 543289436 920715812 790857590 556994358 162664550 959969806 933793424 920400164 320101164 257532642 677990320 194122590 68167244 145576280 155393750 855748444 84850834 96150008 501688176 826489702 134706576 125703490 998872704 640275108 78652370 861105840 552123794 838810414 195320708 424310840 23684392 349555912 880292678 13482390 295467404 418507158 87715036 128237782 109464694 633558516 689946144 669880296 777006086 538688744 145341598 539734482 871011146 932018770 37789800 197011690 89417646 487944808 941484702 75139750 724137682 973918284 547528836 915861132 887936090 408701650 361858004 876859162 320786708 529642698 868645198 785684836 616735700 867777968 518412824 491787984 724357006 138840416 260856718 769979856 12236524 198118480 704946632 144399256 699361400 611922498 213798176 63791906 483371462 996236708 584423958 876645624 852079816 589540494 278407466 651932626 702498406 821434176 13439086 210614332 587153404 163791806 956369198 930458626 487047730 975650582 949284748 751480676 945228264 354427956 768729354 937249772 332112292 103849016 742579038 752605884 275312488 275228112 858387966 246826448 141015198 130804082 449430538 149112606 213145660 167397424 297255042 943336380 123612492 982349340 957197794 377819516 667254150 433239588 802159192 871862910 857008746 58113798 751025940 839407628 653928818 553064026 686609626 636770866 653810894 814474396 66712732 905050308 915359302 209728390 281368102 630374484 607222636 961954760 577238888 515114784 248470960 328366188 584550664 951008590 873255250 173040086 378714364 383561560 789349360 166642958 777728536 588472678 659697840 155146326 67254072 182624930 152223262 434967364 761833460 402172904 609300382 353682592 299961846 492985554 98155670 210011652 971992040 767773962 608713598 36883768 322437860 677240546 544594498 135604314 865489634 766726220 701450922 204272862 349143696 512479750 968234750 641586314 191862160 653655796 371071414 836359250 781696960 341958814 660667948 224999480 30989250 822844452 118515008 85549698 172597482 670665012 657835228 540294702 148422638 754246074 286502754 361840972 803917124 784042540 701835256 561216334 417615868 576842094 504043760 915094170 987939816 823611798 243451238 15474116 77744864 444800864 636028182 719427358 831564812 396634164 69301092 804553240 635217520 340397618 935871866 339844754 80982250 370960924 350311370 390275842 353513858 505171100 500875778 123298128 496002490 107044510 899675368 250872042 17049224 236220730 135966486 974660608 219838182 677867518 240146908 250027450 208569694 894424546 313634700 631011372 181290442 205778002 600919570 982036394 598424266 347856280 653169800 947243344 56205584 866715796 565963988 263503142 600762872 203357560 686535854 45324904 349832994 448371638 782701170 176894900 421236504 460548588 112394982 205934840 110896710 445507098 479365676 202096018 610895724 8540172 800331484 390242494 335428572 634930594 805341168 230164694 594618362 707378456 625502306 375664920 44359876 435561000 874187616 747097576 487363694 423930030 918737070 158718166 570918054 798099538 585251642 179236732 835128614 974734586 465791070 997108092 158533148 680428958 702160474 798008724 299420086 793133162 233275962 138773314 533945660 973572394 797146062 570225784 364021754 792564976 785640644 471836810 537189144 169028234 269133232 588345134 221941472 310256 356000840 149731436 670529766 110269620 677278876 647141304 437705894 518798514 32533166 544300080 311602006 834200638 748064712 618125012 865092426 669511040 414223730 466436916 583177254 580347106 245480404 311737030 125127100 552342116 552382874 103892190 819602106 246960576 170190060 431656874 176246670 467163028 578125854 699480948 942495136 602864324 233062818 454714466 661733434 244031600 865036634 765054212 677049918 755228056 144258662 114959790 124119006 986254794 234421110 657623820 566295762 706195366 445304562 484963624 883601428 660476780 61554964 363639642 786742674 496769934 468200336 42267170 138626882 606225284 932709248 60506584 288850868 314366848 759507858 188748004 843276070 841874584 757227194 909422520 241905574 66893720 734186912 653668454 432106634 908337208 552618108 924731544 593271750 117826010 818229208 598140298 159723948 498463088 477872600 288063224 621226252 700611166 328508008 560465704 41131578 667702370 151314990 806514036 843741742 794143946 885169326 161097936 610754184 165815808 86384500 800436246 274982254 864159090 91314196 649175766 339619398 56251796 512170498 483318904 327013844 337467750 286038472 164090738 67364258 719561594 2298742 79155920 24734296 556058356 985225502 403092194 408323056 692453602 277283064 191574094 614747534 95552228 356078968 636237626 679470876 608029320 869576622 105110170 377937076 850766096 130178938 32196180 768133748 438905454 298741038 7105180 965890882 658841954 363825348 738285600 324350454 288565440 804509146 169688220 237425146 954703764 756914746 379579540 104039032 957032078 635083698 465953638 356635400 621802934 26392474 977636994 595947550 61353586 881568124 28752926 917642658 868804756 116636330 22165616 523260946 86194802 538397618 854418474 524205732 803532336 860490210 88088214 89926700 580988576 856933330 63645286 710263100 370463398 360219788 227157514 148588598 482292068 431151190 498274162 54504 941563730 11748428 287745722 819526828 497550596 448295282 119026372 533180048 448344782 142816994 909225900 90721926 962240986 640790434 347784324 255451942 314260044 791736270 46484710 942358242 223304852 159067682 7400076 953206604 168845064 379971484 441914114 301115526 289913044 486489322 472833028 891579466 255427196 904143330 231585010 422933800 764885286 367341056 723507122 241818944 497214588 633203360 934363066 935427428 218569742 765432936 634082998 886919252 410780408 747310834 457686150 21341836 630776796 316890552 636905318 302222552 491087240 782347200 857773604 282400962 292497294 817847360 884876366 9772702 568886346 561093470 3706156 742061740 161926002 756195928 466770552 643151780 451308028 503624246 411472374 998781928 705927370 30878086 319417890 281793010 823892540 133070096 447476696 687552678 821213486 903270252 35086262 273735114 56582576 891236132 289042078 302441108 543541356 400994588 634609770 251096150 775218946 609679624 334016220 944626394 614520178 917947266 302345590 237706232 837185834 31528326 383853050 837552378 207802964 823173858 140757046 678218312 390470806 187128534 746118032 469715704 968269272 559423912 953497346 928127270 643503960 61610378 707966656 118850632 425620634 723321136 64151576 255566074 826098328 573695576 732895040 634083404 47973798 29328778 946024376 547989260 725241226 782417832 20243834 395726594 765822560 803418486 800328584 706679216 328208902 366935882 605511714 895375172 401623478 89688330 950711014 551165014 446305608 430152740 663637526 160927576 973023512 218043204 863027760 223625886 229001740 127838812 659326232 25781086 188818704 561487456 155648554 263783030 134183936 969089532 574176582 265787708 737860794 235873796 42868986 82902614 236258084 1229450 874343546 828373494 758860292 286914360 772091794 256341612 771075386 557958704 450900552 840004734 68582574 705409440 809132174 401720334 454569962 156384242 345208264 765604090 301189154 796114 574755028 240199300 538991418 334294086 876207066 210718542 890874182 221257962 314607940 590380406 503972160 299808758 305653474 128398188 231314588 226764838 808337128 488797286 423704994 843177586 998298218 167253920 51290476 903172840 974402410 302681110 315797866 459704622 548961436 685320282 826283800 701437504 187772834 151913876 964200642 262216962 657465666 212643766 654351918 595135628 373571670 156857584 635843178 766645118 123041412 762723172 430970020 524926144 374284352 767946288 168493520 166079218 774023024 914837228 880368096 677187388 20857614 123410198 454296122 488062862 872994360 849055860 513337698 700902106 161304212 326821716 162789980 472622014 601153662 797401170 592545444 909262682 402407528 95625714 721897850 396078106 402993794 691493256 283119018 813640050 393189026 66312964 493619934 670080100 246229128 99710400 304239890 288920690 605801398 59366780 188520696 708051850 434220910 468853608 833346780 282818596 928842476 193920974 99878538 460817772 310814160 729998012 587350502 671566978 987072312 151341920 459774374 721728042 912965966 997029314 526969840 198442342 169271280 107236388 768981728 567021456 894098316 228448040 235140332 516237624 723727982 459291340 265671688 597835998 381053768 172697624 524563912 724560788 424554628 518386908 563425244 812988688 563449394 666157636 931724366 167865690 503627382 504573574 399381340 837281908 333497352 659812282 167572066 923210450 705703098 526344776 711486458 49518428 574050364 467176834 999085354 223700432 2224612 902943780 738497978 918905816 991550642 145809088 990753424 517903574 354421034 660940150 755718642 343302552 681304426 73513352 814842824 206012706 805663312 488547962 704109254 364409758 967064772 838498464 774802618 48451692 959298796 849108096 970519642 760929368 346481104 33506942 180101664 180493488 372363062 298364018 815485294 64505290 403040114 957936488 491407412 866775834 206374494 580359738 180140452 803837202 712905698 168136834 36121134 727077662 814809994 911755024 324920734 350560978 703477796 751600038 123807064 712838108 856227394 341120232 625999376 942359878 499798256 590108740 146262624 141755896 520625550 17073610 448491138 373066834 280544612 722215270 713316856 686366772 962174422 737571596 70350016 179805370 311105376 511434520 370059246 262417600 289157356 866704346 406866172 397092088 237670606 733856802 333774250 576839878 182505992 452596556 947160842 781736410 910214534 272447142 117561144 480084424 684379826 228085138 983405798 11787672 759038550 299760382 520053418 605045528 921124076 694648802 915528678 879531568 63320006 185518782 246915756 869153452 341686694 201728030 817869770 140444992 427598832 459507280 306756574 356136720 413290298 892299662 270007202 848469976 289427026 396228486 404869820 358873440 419185242 478026252 986630034 156063862 116329964 339724184 797511080 251127178 153173414 769046044 457163108 525510250 722760676 622665170 201227090 519350870 37468762 299068552 445944740 16077676 16198132 244910526 223818388 427556632 581616234 607185936 797774478 692383772 566162106 169170734 185966222 26415156 306989910 385158230 93169182 42195372 94714914 949323962 966639154 493635098 388433200 229087128 361395808 429364484 246824086 342043046 341943126 642995202 304596608 614572478 938517650 167271742 485114324 909714078 383181106 882437106 155652704 691931978 473923800 313233914 892918106 139679054 73562366 87528758 578424574 256451010 969205700 708179562 810607920 446240128 798314810 182906710 413398306 467565278 211349784 354328956 754352186 233012568 664851506 304540034 713617576 578767984 45511932 152183544 178080778 958580082 588581148 893137192 427392998 980267604 534846234 492489906 36156818 154282106 53635324 762803642 608367488 492432050 445175094 756662604 429382194 201960342 186941358 900294360 572148214 61719728 133610766 547380190 329368424 42001290 349396646 153582862 460544898 618702692 531988826 832993870 829767160 738930246 483248372 45141074 34627808 908633960 218455720 911763506 249045222 161587416 787819562 539624820 687438382 335584380 258882790 780352832 901683444 348309424 535597558 356596534 603304820 389664482 606223998 402846386 480410106 239183162 977002752 654105274 835097450 50374640 141834620 951052118 450314068 466648478 762853446 912014496 805570296 960410372 555736658 109380836 973423172 200386766 815280740 911466318 587548144 170082896 127512576 556789336 271979082 116042844 514165970 942231662 891378932 710022734 407379970 593410806 683399358 575339918 255522120 763272082 76533796 594309466 464533292 185154668 810407430 811455136 529144124 472692344 351397868 319034140 829482832 281337136 324231562 633334798 129078554 125695810 734811602 877690908 766807974 543740110 961032288 789720632 881028850 480949126 538382898 398959370 281076916 933248660 823411616 494700334 886466272 551079048 56618168 969320418 562961060 746346896 601877622 95926276 99379842 794225524 996061212 624003560 104979710 527038562 653291138 643992954 158584882 569682174 310246212 233691694 305255204 168655894 451753528 1942592 8635634 450933736 202747006 332674238 289319308 640353520 985306630 93220454 436560408 587304412 861484012 26595326 947949502 997561006 80891284 453238604 956455218 481831612 410506454 592744666 833171606 490045580 377999190 343330514 129026448 924206860 440248716 357470264 752916380 190067386 860844338 644447856 685540984 670625886 958299836 847786242 749656938 90373732 261788008 772359536 426524146 817876452 553502084 466446230 105112994 26666252 993895592 258749610 178938372 767248462 448382908 272447570 309265240 316739014 369697814 457378278 295850930 591251848 957213232 963432734 812301898 789605988 181820366 39944404 337019452 535295984 955680138 873972606 762793958 2130658 947546992 739332638 840522836 464909010 711463588 814278952 456035854 579392942 917951230 131719064 360525308 564189408 786817836 10931106 802128578 737797936 350553388 580835756 56509550 126153354 715091540 752614580 71139172 694558284 606801140 666202844 542121742 737721608 436799158 785052484 362760246 998167460 557860350 320805972 734898116 282465338 595961064 486340642 582824858 562397886 719731692 53602940 417380558 936093140 49199960 589677438 179345188 237404066 125901398 789968196 981108230 581715846 619793740 132638906 879041880 662388276 45597594 168258492 644696920 691183782 100217002 320503940 408717540 452864646 647525776 215389422 186259770 362492310 297070028 863978526 307514182 509243436 849987948 38611634 540354630 364211190 389074626 405235042 686105148 272908472 395649948 356919324 141010382 929625222 85031356 806757800 961084638 480302220 811698914 102162994 533407928 419272824 574216558 969602614 509393300 408268624 371432128 811790562 525007916 909950158 485205798 506493634 491082592 756487560 117927914 721042812 469269620 607859324 979218386 170436108 206062314 742122998 300494718 404288748 757997808 264322474 861096960 241862650 671774570 186811618 353992360 646421490 590740412 989625142 277429230 614780274 13176046 180686608 143283466 500280704 634516736 410849812 767249512 782571074 643819470 979647690 527653458 254255038 734890294 218171124 279570064 466278494 494064964 312871390 472165238 882403940 899164564 853353970 983862700 487450918 178902726 450694330 923092272 414219040 148136850 241423754 111364496 167711442 682695192 761337220 770633966 317824278 653695578 402923978 858210876 142107274 408377918 413649068 613899342 860465686 540708190 907287918 802953732 315965570 7289824 923043772 454556224 153912854 785997256 593777038 279262468 249040992 697857828 669567928 489481720 32950794 979071670 405556914 178701358 848474854 49113496 221324376 743133000 456977974 204093932 781853316 915602382 328928316 512315324 895049234 515219000 71899146 487056854 928111446 928586130 41740994 940539616 770067198 58926678 207804682 792127768 16641938 957010610 878361608 387818012 715141844 82866144 384077710 311356932 172199230 863547552 990768790 297245216 555116348 170126934 597149998 511174494 685967398 112520876 45118672 704986200 64922506 171534648 802628476 996962246 50992290 992681034 318978738 384352448 508685194 392529724 176111642 180042846 685933938 187162888 867572622 886829468 961805930 458367024 123683204 238637440 391966346 56575578 919653706 884901758 105177494 821144150 523383632 469112808 545793508 151620244 183397378 473333968 378321382 869039882 718952688 866941376 682617236 674327404 48487794 901687770 696361996 680756660 857028010 605097444 736110334 185480574 690254332 214550806 112878684 984129768 126043828 454537972 498775856 974416616 726098444 202272326 144582030 517336598 106524620 128361382 115863758 684804970 881854326 742034998 940869968 108680456 269558026 635973136 934705060 952092836 886506936 787002882 984509486 48006750 382905982 745017818 442265172 44033332 993353312 570290930 661012986 618709608 877008358 839568984 987358420 81937710 212613716 494128418 304010466 935216012 308224364 563016224 449507230 206599100 747679864 709602168 294581838 6044700 792935980 386150958 36835442 608703432 871300860 250437378 956392934 522065176 300546228 168111950 790429328 228993418 111196378 369754332 809129566 934774352 617387520 289375116 351296628 315148446 227063798 49581640 22456412 616605224 145637384 759799786 595348354 61409710 499470992 594981116 504307456 22239394 1384326 528271642 679115252 92962036 247096506 718570032 732881972 672054600 679928264 699229440 43276578 753413106 625821418 255711254 989796276 666767072 990374988 424630550 212122160 306336996 395667734 668354504 917343438 758998420 102031248 70903444 63160510 350271824 41760864 990925722 463501866 909356518 327267868 376750510 811227110 149511694 314322750 965911606 790698500 334654708 613212984 386845116 494751560 769120188 666265130 961426372 803725428 227764264 417497986 401723636 338350706 341339682 105719172 39054028 827531206 61113162 335056176 773901110 719891460 306496912 636192106 171953830 408301374 553327512 490693448 880424616 381785100 257854018 89147448 60381934 179854080 335143770 674564878 283542948 77456222 632288864 347998146 928827464 701458396 174048490 252882876 304594190 191197144 863419358 769548628 32125932 27408858 877447732 457833930 840555832 981546450 645246260 39207768 40022010 705435396 305609648 374053872 675424120 310699914 542365038 717170526 76090778 166487258 400040026 655903352 840728934 897822134 374439564 15333202 512014670 722335914 728519186 437364178 130828688 862614384 641073324 440952298 56376440 851189170 63562418 870217076 694166496 571024796 160729062 484708834 632008360 66122168 503252836 111746688 835633360 447990222 985576042 341405404 229424664 599501082 564857060 842397078 276684946 183577546 566388818 838977686 439405712 410837496 111264370 260248678 896421814 713015890 982158070 550287182 974624160 477278738 117802364 92277556 666598232 78387988 610924798 710350746 677073682 325334016 535532812 576404526 254631538 800189748 88335416 522524700 6351780 160898918 450358318 665125292 552569628 910927016 285082380 492352958 234606836 502860072 773801734 340399778 343129296 449597308 807595878 383294998 442657994 8505806 87646344 617609698 874430868 582601412 898163320 53689324 696443570 137837214 203806560 688069508 810677834 993909260 935983326 319473940 713032858 585315800 576211202 57568206 747024870 515269700 917987648 442100104 432891932 523999372 413686284 830830084 12560334 560344012 280023630 309352732 818336400 416701818 882652266 562782920 888621624 935737984 854974076 456725458 339219996 531719740 963556056 292925114 141153616 535006724 836761782 47703898 368471244 660500250 64870862 103809642 75951046 669673042 75141172 262880070 47941780 418948980 757005640 7284260 653349464 78482610 476080576 654892012 132160306 603271422 316900812 831836962 463547412 406471662 777852012 722262430 769239144 163696634 93633952 838761622 658347434 907952190 398729832 238888618 57690682 670489182 538616266 772329776 607194068 486652498 358684032 831100226 727255678 106007380 566435064 262293256 608535196 310430028 236606762 883687408 351652148 593628026 711110640 414642714 750733834 365699894 952241524 141148286 277531408 289255746 321891502 709641674 330449844 247428050 363512760 381593866 453906410 957449174 397898706 340564220 315177678 866922028 294567208 440187432 277864216 586527202 259333480 919494704 433270194 817606710 604275956 720129802 204822626 810396092 900225006 595755748 999322342 936589760 640142088 369236858 366320346 651672056 612934022 302784540 386146170 512450562 678758658 436072732 759272856 7477640 38487402 148354590 773838680 221123614 533904140 527369642 418228132 479764426 707354114 372699338 186004668 615518576 550804424 711004946 192601790 605833334 831068312 322761936 872817834 726068718 47920664 203830264 87512172 599259572 633537436 486221314 983632944 304492322 119255306 594591936 632661482 635141770 347222142 667227810 228823122 708693322 146779228 869945042 453151188 908684066 29951088 536014270 287133260 497744768 689138316 531000740 638043288 350705126 986550714 64039114 300849888 981715312 857983638 721505202 966483342 443424552 433197210 554783506 947973740 405800888 390055860 638109992 694403356 795309198 63587164 609126476 685016998 775262964 62443146 643226942 67359404 464532604 383249518 809592826 286040700 621239244 498005774 590354082 512333638 576299162 336510510 131234400 918909986 763984434 959840458 420846504 805421034 312958168 786555252 448915490 164051144 694300434 335165658 444655556 887978148 800450014 845740534 579070144 586240918 909382010 512321440 875584222 596901166 263866324 259812764 36602416 163161098 685306344 253559960 502663492 657313074 295860738 803599124 517368030 435290728 916676204 654800194 932644160 464776454 902497282 303672070 500124758 142699934 867748270 439992754 966609302 787323612 970162090 180342278 984358632 883122974 596537242 689665496 655586344 434412870 127849996 148283464 975234988 850773560 460022806 122608136 874769872 425062986 916140476 262085756 34982788 643193770 646861918 790547940 651594362 745507412 205921418 483283988 682557438 777856150 968812886 651721142 146782978 333732934 392539406 694249846 781334608 732451240 737888040 819446718 413727196 48571046 834624348 859631962 825951684 74939882 419053056 843816742 412465994 86848596 727958326 690456158 211127408 116738362 484612396 294910720 931318578 229505168 192734768 75023268 593103388 622936640 817382882 221841878 463884074 789978386 391463462 22665854 676434484 558494036 378548526 182204598 905926536 639212024 897185936 835705506 30468656 231579926 44427684 518665558 537060654 902429628 284696232 814937508 340322034 483934570 832254818 979270600 786049394 837539530 383345756 764290312 801844858 553886818 136320138 798402862 109460166 25462916 906481366 21960420 96594570 335734414 670389146 635686660 769224356 946245730 616227556 457912776 906208232 478263348 797345352 735481228 199824514 86174542 647196026 948227058 414398646 550321090 125722104 826664490 116318700 928457030 93631866 260503286 106132088 602731762 538846334 459149714 684657662 474802450 352598756 313521418 997800456 489979056 889488520 763780152 808141188 692143060 298752610 156246006 212723890 230888700 367581732 994100370 173672834 523185358 955497300 102639854 399110074 927218260 486828338 402695760 507422718 699008620 18865758 606761948 440297484 536950006 81925400 589049298 728257992 56686428 787525588 130285774 471296076 931238740 701793900 840980444 583135544 410507516 449104356 82162638 288808064 827845850 714860146 531816112 284229328 923927686 287515664 475651558 311076572 508551678 152349256 198419638 562316720 20088572 508949212 500658140 147295094 634051108 227168826 472696100 353878898 320975902 984101356 134560230 326395576 601651412 467648746 985781362 172826494 61879190 785959266 250370496 971519004 364681762 732784550 853153736 581197146 889353470 708736832 619925748 358299956 13337306 556020904 949247498 840362846 266285428 709510792 994347174 945294344 872635848 280145778 230809282 273843932 345812270 963831938 979570848 38866916 271613872 678675840 118590998 596000306 895069460 312460580 834407116 49252706 83708438 566274646 88872276 507771296 714439138 574307296 871977174 359284738 995560118 849627462 227686278 767324946 939488618 448826196 402928236 300286640 507446742 794700822 632094698 609700358 290322112 944231190 758898788 837910440 903376958 413598924 700597970 128326678 631147802 620871324 646411564 351992374 136589940 604568190 547491956 234314966 64994764 648713206 105581042 723340872 956935984 70767832 610948692 863286090 518097240 190400124 791883468 636251226 995375038 750814806 937734616 856531176 142525812 804466968 958437342 584557682 65687022 266187268 143433026 511733082 923357652 868022662 864520954 519760538 752400746 649456004 256529706 362920940 347291060 721157238 410290282 641873430 812723994 299746348 782631198 766715752 242932012 130424960 659720874 128567716 488931218 119133948 156078196 930805752 998071880 412098992 916568234 84387442 856646586 321027128 276158744 946823530 405008330 213967822 953376770 560397414 414736818 645325024 752869340 493648802 417631618 747573222 812081772 476386034 804961284 858008496 529101566 925144368 598059046 531852880 148764986 87498564 501386716 826198446 788258042 219875830 248880088 424033606 611719392 957278020 557198564 305109866 362429620 229590226 465355026 637219052 115456912 856855746 99758744 893261632 439669198 205150814 886183022 726868282 548360836 403610248 334566422 855439178 279817378 742220166 526425038 212262088 993436894 946940726 762347548 299313728 296096934 443404322 627220954 58768014 39451200 535599252 109064522 609471706 34426744 917148920 532145534 750703898 667515706 624012074 372306736 4738254 445207112 335927336 519500300 513868156 860686202 91168722 264981766 551103748 869058782 327357244 226645130 665296624 557728334 682765170 145855280 67581950 161010572 53953188 872315104 533147928 240950972 571659412 250373016 164717392 650098460 203585302 251013018 380253356 485363340 580652836 834482126 32626654 549480864 750226458 90517302 24628646 954394356 234914100 15142144 148306336 273680098 289606586 221531956 629528670 81568716 961779906 894345654 339536326 191702912 734215138 704427972 902502660 912680092 311307800 474231998 892383164 669923522 333450396 984842952 55676736 913360912 246074260 59457010 507974578 141926310 691378180 548511282 454987676 52189788 214934322 604345888 315542266 188420712 544767652 786498498 734036090 983936348 373647670 985390114 262582026 859717350 547747496 269919558 67679536 803253482 795774916 657512572 47405390 560312022 497264790 737029998 361418354 533497334 282999128 792295682 924204862 562541876 104865582 535836052 284255736 965455744 997088634 389943732 992296914 375343120 435650804 527025672 58618166 372184718 610518052 274658368 699573604 907313016 517199954 220451678 174444456 520519848 145813378 39079228 343092100 405023358 817384772 132989088 603042954 980783086 287916048 532672436 984430400 285344214 202197320 553427892 539636226 347371552 40960862 658370106 153570266 13406300 905479964 697180756 27133182 362717600 668276090 524673256 137747986 819110820 542487584 653871052 833148636 895678078 78264342 99011558 994920672 418159628 644925370 674575582 767484850 707868458 436271132 481651058 708350940 829769454 792625390 628832764 550061882 819300934 771672172 790461314 573995374 243242890 971340856 553441430 581494542 969711606 162269268 574254534 83811660 317991390 301806040 430165346 149744150 81621142 541290282 516592716 218623792 511809258 732048320 721867106 231213724 673259750 369586456 799521206 429714034 794928750 608174874 98128040 793997124 460658124 479187790 705380690 357708106 349697834 774594008 397149722 204821360 419238692 466904666 685331782 687307936 935614258 88224550 925924404 581253552 882195468 94846540 556375716 232306718 468959798 741517392 628781956 242527542 834060950 921647816 675567574 550026008 100078874 282175866 692661672 556495288 342996886 208841730 113798646 768262484 885799642 598389314 265738750 707120966 825356408 785709888 155216648 987087978 131013480 627611100 356848930 653499252 550363874 721324652 32724500 403441400 81418310 848709596 990498088 96663322 866953000 770968358 796444592 143511412 639481456 645718072 329620500 53649384 368874522 873275774 51731204 754041766 451786264 310580534 256022996 524503984 346112996 576495920 694084876 194597462 940018928 970011046 271346414 246296366 46896198 954075944 726549342 856388286 482935550 396182700 728431366 407551706 266340026 364409428 496941658 438947432 184886968 298482058 970937934 146528886 108215826 121212432 346352340 734399448 443867970 260344174 51025750 636773802 467136126 166994382 811511026 576150516 168608570 884130930 337890828 815348756 408808998 143988544 667905988 792707030 357111156 747634402 436527698 454150378 856884214 203353152 906154322 492514178 365275362 385244022 806363776 485288354 130916442 596500050 634654566 335608674 796302254 19764936 313254182 875288212 855363066 123140828 729099512 920544254 572706894 902646584 448211008 210496946 361242012 236919092 284999956 96313608 623703632 295655674 667862316 267870768 282059600 519563242 626532718 73141878 369812988 256662872 555200370 973250192 862864668 918280214 127348276 196661088 727792018 929362716 672232340 283377348 150984038 242014318 284291222 147362216 558381774 21055854 436759488 612632370 332712034 312730272 195724200 439064768 462207686 550344760 743688940 382424238 510134324 771895900 349675590 61390638 821896740 270172264 989453004 338642550 361373278 523414864 660285390 145950742 757530972 462375766 847951162 569217506 597528796 349843942 387060870 688820952 162115852 236726038 598424956 84214180 830240582 653986178 312889090 532729340 243830302 758746934 575188064 515642052 969538602 352829730 425494302 428898946 153625570 114874982 700417074 839618782 559514898 522154006 322847780 886761194 587696706 518339694 993681236 25514596 619083766 95421342 485083078 799986470 40173072 534822364 901156490 666394884 75211494 892488328 997279266 37139584 463060732 511324356 145540756 509931320 419044082 93823214 471454274 775452264 766920394 772646350 593253322 544731698 216964404 279113620 247921684 53053732 71533840 653369704 764637230 334979832 432814732 179924422 676161210 598446268 955714666 346359368 793429652 286910888 810315794 354619444 200418544 358322746 86264596 841446000 463583896 680837720 464622026 886660650 297018742 130927014 570300936 617291112 633917164 491792754 580952308 391933024 361181816 565885138 220346752 86663882 149758136 983752536 248881640 449000812 758869420 587158054 592755134 792900680 24369228 102874220 260290698 7768470 477343968 368136638 562155958 70700272 813323116 242323478 833135470 94124398 771661534 897965894 157569514 998344510 181428598 992192038 150685316 905961714 550462066 952739104 871401762 191650686 871534974 251203720 503565020 170553860 737482972 418057328 54018740 528194608 126333894 763942868 598783874 659152136 780372814 55295044 297569006 978953668 262081680 328354742 571139342 485210932 835078756 803121980 763299838 962926842 90081296 535715570 702496802 503455080 125285966 929681512 348557398 305059156 79602226 55176054 195275672 218833410 491130064 511101342 497390976 189224336 369039900 823003346 303687924 114872280 785746792 190217676 722715738 704449012 147346138 25678046 443656222 496602996 961104850 933635342 766402230 407727358 890418466 140733556 268993620 58341826 80922628 404727750 914898842 801448394 90646112 549285970 595637308 821844654 44067324 721681434 782975176 823319460 503011012 545501282 176988260 36562846 128133534 594565358 324129176 808167588 53954130 134542394 280082620 189637468 175060832 195421712 741807656 410451264 235710450 805177958 565625398 116683332 197908034 233314592 589391668 483565794 296722270 588767336 144761728 806506414 241384232 42757010 142307042 503605488 29666282 892494720 362110952 249647314 542942932 621762100 78306066 244496134 728569318 716653690 879225376 849764120 802652124 382612182 472971484 776399080 330690630 540766670 423671076 557137612 512451386 524526390 101589008 101798964 973054886 69002232 747807434 962475774 278049962 204377034 228924032 471091120 207729240 62253616 732155620 233694654 92182060 766610874 372671700 851124284 399043746 726667754 925484700 156145806 728253518 922617616 698604700 396394854 818767542 703669324 111695638 321272672 576167772 490668254 184190016 698665642 859962942 213860108 481739006 28535048 297809644 454716132 767922044 829062314 520748768 909902168 100488450 810073024 444960332 33837320 369237838 983818888 335706938 985680064 707468748 991655528 817415564 965910134 443235724 161750512 259306988 572213836 437373360 889702582 373500900 185309424 16714556 340897916 463814758 346045748 525594660 701136630 757831906 885625566 996932368 150020586 422643014 962786642 42886252 239804232 221562232 891974012 574475650 769572662 508714900 525059100 541021240 478475712 920523660 650453376 792516772 317735418 146167144 160280300 79685090 365586682 776794892 241462008 114548864 505612520 825376066 335649814 799354792 616331312 211933024 29341454 771612042 367510156 719452326 298145354 62261172 314730198 565800058 479598856 554065512 513547028 824457812 222533384 763900500 871769240 216402350 851403410 859588576 418127160 790587422 415611258 425688280 7645200 634939686 475623444 908715128 154569596 430357020 581035128 374259730 351760510 315215282 23824368 359806626 918205264 797611266 234178998 222288958 246923044 530767044 474035360 164783310 960867350 120895666 597770598 614740786 49118458 810367660 862740936 299521478 240040554 640488502 153517342 777630658 651645104 239183348 248652920 702807992 140000850 328852128 670019508 885940742 206963564 570340128 751439920 334408278 111693548 255555552 106753554 539965152 341139602 504083956 371763726 388051958 966525014 79084540 483321656 923362426 39999118 904514802 497480116 894189888 771241504 849491032 431182046 332097022 675232922 43392458 12934258 224188966 105551700 861559374 981365772 670767292 395979724 724668060 269351556 810346986 665064838 763609058 111764668 226731840 952122336 872394564 205827094 199724590 288133738 352513170 362172168 191354170 265365352 775166788 944711348 318661374 296198656 346361660 884296208 604484586 836038578 86090094 304867324 546065906 50226842 630020070 879019620 262068074 869335812 935243730 878216336 510765256 846957052 39859288 533586314 818074610 488217140 564830064 501945140 471526896 251372994 853837586 253412766 185604130 674622142 563765850 786720060 270137422 979884474 241726384 233269748 673202984 394625640 283086944 300677494 530896978 648044378 358932836 730217638 530936902 653754382 964314804 620468578 214547660 597620928 944699178 905493260 267543150 375226858 662718916 258879568 540659352 827726116 164470058 694510780 729712440 377711776 54795002 757156340 793608018 177470456 305217298 758054966 73772470 807582964 568682956 162092884 79445490 831639218 526312856 592880590 127668164 92853326 570054606 897269858 188786582 113700414 426033474 99920878 466755750 99615516 511234076 525151436 543056754 398796872 595576224 199351296 894009424 827954612 655185238 126538732 928064332 833800332 697067342 503593390 316994426 381436034 506356502 236874030 554526004 680100008 142715848 727460786 653231804 590366806 849187108 995367806 103256726 514457684 258540754 881389102 718816194 542840816 28337940 142657850 586301014 239654288 959767168 977549584 76137936 430289796 972710046 618541292 168248168 940191438 320173434 281412240 456074214 215592610 989231526 643333864 293018430 410273236 271512890 687848154 311247110 471448608 250407258 72431130 61462040 277353422 151185126 363053320 712157978 55227474 696117800 955004292 889635516 15418132 669047542 306724240 92782330 491555144 376680644 661496464 705257914 964577018 334329536 501956858 662255186 285977302 313523762 760621038 792865344 470950566 352180704 122387302 855814138 706235206 921464628 727682732 377505336 537980774 493030884 230558990 103845626 104169844 553766722 513628850 961336562 120175500 111912168 159802264 461871816 438320306 598092276 440777006 460668730 330059398 278364362 809896132 826798554 265571514 286708562 664039794 885005488 338833806 128277164 768588328 445108524 933454456 744335544 594733232 948725814 190336902 467306804 720636292 563403710 60345580 388446038 286405266 769396842 770053502 297454432 439103374 794490404 36949256 731053972 795019090 987057888 566893862 836322414 48361886 458820920 949638622 281309272 479238406 604990924 415289140 806332302 694878402 795563320 664038860 840424146 190956470 243107028 704028854 417824526 656438978 182801560 604981566 261321266 36791820 824795590 295683630 918592756 969936146 581830882 918480232 159910202 457020020 480373164 310407696 722852898 148296230 566016514 221276124 490171218 328561550 246118814 607585844 543089312 124089926 57215592 835695328 612287130 308118044 371733426 829949650 726294068 689098254 16115596 79520984 369355302 363597658 792916550 268621438 323154352 704013190 992711492 649488132 183368308 531249364 474107770 961922606 427638962 454794092 111760224 395644726 280431046 123879294 862663558 219097912 393857212 785096524 130193614 242255962 693757242 281046732 940103434 722436974 185294816 469156500 761390592 524504224 347700752 659325744 238831500 43664928 377574626 13228282 166790554 44332150 371343400 190680368 250993600 678027196 381039000 59279026 691530906 549133664 19067474 890241790 805736662 361414070 650551752 457558850 785729548 105811708 930600516 281483838 307007860 140198640 498288720 523924076 539144764 213563848 280693244 311952568 372719136 582415368 317085248 566680100 646376034 435545230 540177658 264185508 363859560 704524016 8198118 288151076 361077332 331118694 538849006 415790036 552910304 616707938 566404524 433444988 313809930 885459414 979547922 194253100 214293342 505309832 246984554 791016170 839868162 933242186 98345058 259758298 836828982 631982528 897073246 744761116 765835424 595674178 758393352 990247462 211724104 514902130 723466778 629355848 650244194 931024248 250960438 924408458 351867658 636269884 277385850 890553616 698973950 665107606 655243646 586812568 98432414 524944500 564667700 925432826 637836496 879089440 530458858 123121714 988143226 453860258 339464320 229105596 129273598 988011256 313265574 45089188 499586086 981978860 863616584 483991622 601676378 905551390 845605392 102938006 878803818 695086702 739546184 371598302 673570682 94130516 943800770 166128614 268541196 77056006 318290676 47822060 718005814 931022630 893528880 634266746 126075138 619047520 453412814 243361864 682468584 322143240 84960266 818428642 603395020 266518324 750733706 22893632 870412894 345267012 490400750 644015732 156046640 358848258 654897670 883760132 38569552 678394650 575487100 807785274 235513330 617382240 424429170 799611894 81673928 952936462 873632020 560613022 419851118 824785862 136762630 969823718 47631198 734698220 710540060 652147192 486359558 370363406 491433736 558844878 86888616 287307732 396978262 223231670 886160190 919725434 608282592 715174718 777885040 885312122 751205084 56632604 128880414 832565428 733285550 545113216 582473360 315822348 508668156 474603022 862238600 235256778 570909900 529337416 663231636 647169598 1876652 749753306 415009624 937192428 855427242 411807004 79517864 669336828 460113484 473785602 231376760 451690366 563531694 798028014 563515050 783865130 423330040 585619242 519685296 448576054 848811604 422193160 110483180 335568082 775912098 347983286 615640086 583884894 58156582 476835178 599393246 260533012 92092734 421603554 831146600 724655058 682233122 92615304 463433660 169877394 728132138 522909432 950267202 202520044 892542176 160846212 258179176 809578676 581455584 255706270 365625704 760843014 753940700 268313482 631734726 6615224 131425450 457726448 777305230 954769838 238324934 919431020 153652818 467855946 857933046 950591964 394880834 975405726 689759360 740580326 867529968 567876010 511077976 392059284 968728576 168482414 749030310 784746990 777830818 799140524 285471794 603274938 178196032 348576256 247126348 561319528 738614488 277453424 126183708 267388196 346028604 307889310 355834340 441677494 289052016 129459022 434591316 267094270 786597034 985434800 718711042 326840734 516648330 769457738 37540948 158129498 929084584 120632884 538343922 920218470 651175030 323556730 429266864 461399960 305817612 71841878 385340438 737980114 873697712 343543300 392504508 648993384 140749814 403449172 68615092 188804480 170924154 911352882 269696286 819115902 230041948 378906758 205278436 480278482 237070510 724661318 745058994 693725324 344455196 711971520 543162994 26460486 524806878 907099464 523951256 491031600 607241154 959201382 247587160 461751868 167227010 749494164 418292138 371891504 407783552 204096880 59453726 250003586 685981698 516041210 620574782 626632526 954209174 503174734 507125010 699518256 490450902 151335310 357752148 870057308 748532228 841726184 373654304 276679320 233761794 48686366 647981196 997608098 304953776 147907208 662883044 226300876 415279872 471448572 474492254 613812488 697739344 746579914 274630042 912889580 683109978 426856318 601685132 965316206 966864794 979683186 60111430 172290048 949585942 947706594 567131860 101874842 865418900 747039806 163448786 642441186 710166720 960778178 493342050 845821958 408727428 95839438 754315224 557470152 459219640 986496974 283639896 533396134 338750680 930178844 190993916 206996170 970410924 693839742 148825178 403312050 575405718 603733064 289759520 801006744 709851036 960050858 717233592 530702694 726642346 422039134 138332 302187764 314655746 402242318 81017008 844415178 371592820 262930016 53241110 274626750 233847804 833018494 322522562 208877210 254421228 423222796 576646108 833356020 343364494 583392602 586515510 502528256 241381368 110110708 171489032 182338086 303610516 55180508 862728474 188284336 888955416 110940824 167121456 837568044 330497186 463118792 167179630 498640204 607489144 224810250 413825622 56826294 565566934 831389646 457965148 681747732 226515634 45915770 803883364 622812558 717967282 691131556 598760108 272030766 404210900 513587530 289187772 678656560 674905780 204079234 65742306 114021588 132637232 253351878 771533194 646412538 29956042 930538824 826755558 649097098 667187818 318794040 769867122 881664624 558519630 613656002 69353078 64570766 576810870 249222836 781101866 548690008 62114752 815182718 816087406 645689760 752322894 262862510 825171582 222200786 33653878 365874148 87676148 816504954 19375578 633107220 814868120 836206252 867656158 323344790 214894870 329890992 315207694 680717242 454941394 260279062 2343894 100918280 504818754 132896934 975947296 194837590 478374632 974566868 818493494 62485018 843190494 505851068 64436464 142421326 111909898 485394566 606692082 207273254 230091654 588386382 109933338 314923566 505530092 95674482 672026290 852402084 562963852 427127100 633076114 663089428 954768900 220266336 573984202 390377738 763030178 643616534 772094174 291531856 120220240 956699596 726079026 537756210 749772948 40086978 695427180 472347142 295594296 958980784 691503546 955868468 469360118 31654964 631915298 420122594 846727174 489382630 58117910 591313962 972780430 775910910 603088708 312667744 333055280 347438682 480101714 96627398 177208900 790781192 935895626 527071112 542635486 467366362 414250702 57294754 514807028 486709206 612947332 806464776 497456508 731932914 25771638 507886684 867824562 104778600 291827858 28427782 922540212 671496562 627697834 353059424 947754958 209250756 27242558 773138736 954699506 591237242 805991488 155607412 112388540 879235744 647907468 74548990 771499808 350970750 592674524 574986576 396483804 526376752 32491968 283445540 122057188 306629658 812530424 789847388 741211864 858518044 205805068 690728338 409551056 338207868 390712616 790723258 638871402 212229540 525520058 984241830 416385012 876764934 962653550 608724742 605658404 155648244 793891346 539118714 938873432 1225236 882166830 531909844 894327232 45172742 293807754 188856528 246435390 268882042 710322750 500606624 23926548 581941714 873973672 685571884 217606982 614810826 145521122 857515938 332053792 630826714 821113130 437636972 993723380 561201944 246248436 231397968 865988920 554220620 620142422 417221466 923053214 152855588 982825314 172457326 127790844 879398104 116562760 659451292 893540322 818126280 825587646 146039240 83277082 981068182 308612262 227559496 637835776 657327760 503128024 732093090 343055546 473196152 784575372 935001610 143632248 598822210 107663734 238274860 366221002 483944336 553664906 288532206 817270484 93933358 552854962 567549722 456197256 418437050 268310940 470956638 967541092 66971900 978882870 261133034 69299748 175680894 412029084 719379716 51300984 532741428 896937408 57025784 290099682 870436094 903374152 488910566 22047738 367887892 505619226 14795786 917356180 745533686 302422164 356184094 348197282 900408728 714685714 718125746 607480858 546983832 770105698 154793392 395351486 990106552 640392754 118279582 488048236 218051254 328364756 582901302 135990522 748541624 129030046 550249874 357153134 641118248 742660766 332880966 223051140 940778414 323339576 949588856 727782904 928273914 502195652 349544626 92696214 628785170 914140560 330011456 76577730 822372922 191349970 347222648 882341238 528505012 957307994 828472686 261663876 506371344 380735572 745862052 273197002 562680794 79152078 143153126 623446546 421186406 743891848 188543158 890974622 814689690 583470626 363466440 506141806 13084374 273352650 110308352 521118350 581321402 127882244 371834006 719019310 827141898 910195388 899513924 795089500 78212382 761412264 784546014 122109212 92938684 622563276 826147362 223545260 497650720 803975914 808844738 447644278 326774766 562609882 637788790 507490166 12634470 53267878 10657016 518187324 480196932 279551344 913984968 975210326 237840758 71579268 86639770 515613376 973247210 735367748 270865752 285481108 39475498 192949222 630464568 260859636 334337724 252674598 421045980 79532944 676919326 835752798 307740990 470388824 606150320 255378210 898296328 534676346 226571650 799593384 917888304 887086064 98640980 756225370 198910274 228684148 794903666 172697766 222832718 545433996 604773064 585278128 55191832 83504200 169431266 673352084 709020990 641640906 587938212 482595132 684030046 996343660 731508870 66847442 697776694 980906942 521986812 538659418 715628944 809605768 117933690 517455828 940404750 501078310 502960752 152670906 192103140 346906506 27632216 195285520 949597290 588197158 648759158 960648236 905002710 978720236 370664756 717626440 948037012 569124714 796279802 752121794 76767896 137834952 83741098 719321280 143736224 476725614 577771810 723218450 336193126 259490614 239206318 565641528 221654364 2584156 167028198 423490440 261558094 828756614 464685540 447418656 916614140 489752244 103587716 707295516 286023406 361113652 383394188 952948120 367033270 940014770 277671706 449510568 904223724 942500424 943728812 189880674 673131080 688103616 647840726 262754628 432099654 20205590 722769540 928963468 705531856 149704734 537931850 455953632 710647040 832022642 894804612 197541292 200152098 154865204 641848976 828255138 815599138 362481264 947143416 317265638 391060046 153916926 71734562 109485074 395739704 766598870 959412086 342247616 890845666 736328662 184126048 462567228 247438804 364065770 875501974 97868860 168436218 899429654 18436270 332865926 101836678 962657664 50726168 29018372 520901344 868935686 409920464 176580310 791575434 509260306 635303696 858442412 467251498 537741860 712436208 905592830 358353452 257906868 724082322 294644428 11663280 871073240 957877746 751539122 360835990 256990090 387571680 763540990 196364848 407619042 374841422 586612790 748815296 96663320 161595786 324366166 238027636 590961184 514708630 221595964 615887838 622397204 262472248 540357712 270865936 491230040 990251558 676991198 817145636 263901078 965712914 644273622 553160076 516713362 27569798 671638668 801057860 53718314 382974174 587622380 32643262 796246864 430272426 490603508 520260392 265541006 49311920 782110430 727216844 819320472 261868688 59173186 970840138 158983366 929552350 469678154 479957472 112975424 731750976 813305132 455925154 979773354 602737554 579684014 876585672 643393356 704264124 432791164 191058178 239302410 979415126 588218342 458823970 170946866 687265174 991111888 173848040 636292964 856349534 484398902 969122448 623872474 326582148 231258502 941929172 836059482 595491212 840147474 143721634 710147498 952167702 862701160 650078254 874176916 477447190 264878016 886309724 684115562 936135122 845501188 890065096 576069282 141415282 964405744 302335584 346575506 678881528 156253550 458691450 561272772 547710862 73778876 960173152 645156678 799115402 294829854 69039436 592271100 148861254 405024132 178424636 238093168 641538856 243428542 887595866 207720416 58582508 614275046 601955570 791732772 232153240 667279670 389575038 998500178 900112544 526010928 966289832 496372886 519216194 24736598 85153264 216011862 463338490 608177388 114598538 30296742 177508816 137259200 634251120 823943272 170207724 252242386 591320748 265992476 500654848 244394748 268867682 548919464 617559356 527618728 620514092 172655942 318486036 232407370 951273264 595794126 390694792 244147936 619656562 629765642 918619224 458351674 693283184 423332504 390342878 656682750 991200772 221662592 292823538 332636210 357171018 401521744 804102922 421862096 842580658 756541084 143818382 333193846 500080212 559837862 872087706 287637980 681924742 663998636 979091744 123243350 634642750 666958700 978100656 494574606 211308852 311512650 72189542 383224172 123395184 43414268 931087562 608364450 982456018 385929432 231845810 321035980 406676068 938410672 512847256 457586242 507849368 202828646 637360770 762086510 167273346 850025772 543887310 735980670 844113668 361183838 554002920 335137456 827094306 341270352 210778374 244033718 677761888 93639628 115731940 482092884 441384696 277957192 555758854 208789194 418588450 707490474 255197226 567409626 774040762 353574078 174260960 710340576 355192778 300230812 693754370 656572766 940276748 599855590 250066706 370109820 272218294 333277232 799577836 478115934 728093056 815599078 900518262 874897108 464062680 217020962 419857340 233941200 215858442 836604684 977003638 480527216 802831938 659398538 777502540 876946890 644105930 978068230 201676210 639937134 908782438 809317102 806616116 663052386 458452826 760822600 861311826 591899940 277530558 230936164 325716652 305990998 986495102 740213918 455607856 967994050 224684344 111205146 2165462 692043692 718862190 592198568 220062958 534222770 434869932 483200594 292052546 582541868 110580686 343380624 659292738 509061440 8570220 462397742 260492076 980518062 745171438 536504100 796777788 679449624 38830674 521108808 708060776 826039114 151910924 947169092 644700292 519756870 94561800 604935138 889235898 312475030 758088158 626306276 813081948 738954466 113626048 488454530 232170144 318183272 145792400 191767106 991762390 498514180 46997690 422918740 42217430 220848092 264775534 181441224 917426488 44324468 479025020 345421074 150946556 369498982 64281990 575244198 759330722 948692880 602618344 316089396 48760618 596645630 8480 608411426 607389396 449631780 23663196 927159156 782384832 480974610 715313508 373891324 518941014 396739750 379470678 751274232 866170956 328521164 922531804 609275642 57667178 194723074 556756672 425806452 898275596 412080116 605425124 177726644 357542938 485846620 754285568 395257266 810508560 143454136 732097804 887309328 564294904 491225536 854592166 811126834 835994028 113824940 116096500 787083114 400127846 745737042 210560740 138172084 81176360 732756656 998606664 99581590 997596168 951039614 960809380 933633444 558481802 409805994 979308638 465861600 790602858 595795814 96323980 753374670 778800290 337691362 896797084 80835876 53324676 985037572 448628026 932935678 420017920 564902138 943994560 292635788 253901018 664588920 330871140 927617746 717508536 67702352 694177190 623114728 852303130 439698926 31239130 562370150 752150496 125783292 559791954 451491454 6182630 568734638 71219478 414891978 27735088 562404142 232548502 314369202 174167680 604515808 160935394 372109946 719141604 289327590 13184614 495947094 830509340 284542698 187566184 207653624 165963442 212596356 609473388 748171242 175433800 363504684 565756498 73924244 994156990 34227838 524087544 155648752 848752652 537956910 641269482 265359482 508914962 880746676 801498598 869532106 241333270 333633056 459222578 518436940 802944878 589625526 536320240 962487458 934566672 684517988 577462874 730281848 411286194 163248882 13240746 465815478 881551322 443074828 850158696 224785342 334733096 362252056 656726226 555856492 397914682 664238650 855611692 116935588 521226210 651857146 507835542 569799858 748723604 882913482 906784544 49280280 272542050 963577984 11191654 710281280 926221062 979824724 713101582 550457870 577240010 822350148 829721022 175183598 871742744 458774310 403644450 840648184 443226706 599003500 268000892 119310510 40962386 585138472 862623806 973828160 561391886 885733682 107636400 49806336 661046082 311716536 371689502 111014216 542889310 840215492 409525200 972035416 709646000 51320596 573663138 108318578 642762400 936749046 359860584 355323198 957761096 225205568 199855772 944176010 878689344 263481778 366316798 294246086 843977500 941554686 448377112 141577040 262792268 931773702 834994858 173714900 933463350 3528898 821306072 471747456 487059850 824610948 875127532 858843138 745242058 371169814 951381680 126947208 324436796 104581248 829650656 532933084 341109682 576261700 6586126 501138350 324929820 281770106 953937616 477031476 812906198 662626406 130032298 91076574 158739396 322617364 301984084 453724650 436714678 702772472 105954564 323361222 683694196 525920112 522277566 591351536 261771696 453258186 925451388 76091708 130635388 857560050 499649228 640332754 521714242 205616020 891803974 683685342 521021164 320941114 12913902 953186334 256008656 334173236 45384894 521989836 851222974 50256804 262973272 510121672 51230652 64561008 707565840 681993108 554430754 804540186 949542772 937727950 873965446 21126436 837870586 61283066 805350204 455472208 79320402 93086582 48883796 66299276 677433278 572711188 654471716 135619274 13461422 976453622 281684208 194426666 800594982 452508670 789654830 800287158 953231058 472221414 234880814 527108796 834524840 727318108 760556238 488171924 733802264 183962096 48698644 399411744 300403530 704171680 632189962 246627200 382716562 512170404 436535412 755255522 26665090 180191770 890313236 537689602 290297178 742581110 886950418 368468850 620597930 335459570 419956972 386133212 219533118 214776374 446157684 497290202 896358932 396277664 513752826 336090378 864577022 861002186 214243006 523663660 521516360 810096098 60445070 390274306 337210990 742038236 39238664 309608758 211024232 32746360 601966656 725296222 351490674 496968426 562474742 230255054 635474642 648084946 371006744 671524232 264372308 572496636 398054248 922867402 17293386 757217710 810443256 386822012 639471812 268040694 502507848 579545690 793389092 483074206 236915936 852854790 698153556 840519954 636277120 681132176 487434550 713925060 832439358 919293818 237236054 82913250 120188318 832391568 351014304 909275854 196024194 982968826 614260934 414152242 654564594 907773138 116344268 636380798 531999650 532007892 976099700 210390994 480989328 762797194 198247844 940478108 792189364 544943014 601669652 765724726 73037970 438413510 510005808 272359948 810172708 179162196 848361212 53717020 213133646 752396268 733463616 594234680 578675068 490841366 396995938 212373490 788366150 365334520 135892142 303820320 711851672 228277894 611892842 529325740 603748008 721001882 281798644 59842524 157740618 236502556 682828654 348374820 838520892 263076080 693722962 412960644 355453720 916468086 537660794 394247726 158035776 604056526 710758652 379539326 442843184 252887886 200076732 957541932 904657608 936414654 88427938 557920280 743485830 130087422 995221098 805096476 17530814 934153424 932876278 18129096 643473456 763812116 457220212 189247360 160567420 294570400 472845044 436026550 400721242 675922694 578688116 99990582 306533838 109427290 99156678 472329952 790348418 257909814 663934492 475642718 770266030 291544582 993863000 836844840 719632378 130660940 276758440 535680162 977891568 125754834 547939556 371589828 261666792 409572662 213385192 203878848 899333906 560598346 377518686 461205488 212649762 273635122 748441582 444771074 273358952 717395526 854613984 208558992 214231864 39546646 344808652 964853252 532823904 244404046 654398410 594905680 874919444 251506056 424245116 26220604 291115864 674053188 406553464 381161260 808973384 340342672 14995688 743650502 929596628 569664832 160270048 156067596 98877408 582628570 276206796 516031304 568431040 336181638 747469744 478373134 490807704 800955730 187080490 140078936 358814788 242469224 328291834 560533756 37038334 452890142 950894828 521906680 686567242 3481182 85738448 226328816 389601588 102769132 191867154 528806356 771265502 759065836 94167940 771548182 825428908 243464516 369363402 422995576 831589362 999866162 712113050 984866692 119429582 629270096 943321166 545898276 889207196 280966440 805491760 786255238 317157682 948889740 690076306 553347472 467056444 607578246 622820284 146193114 170922620 479734750 489244552 973253564 184321488 188407204 389069394 699298986 935130004 467322762 155674596 529671794 383693258 846557294 705994646 572684390 936294268 353131070 589745758 887520454 421566544 411083766 112073478 564488704 350550450 588143948 901022784 883028654 146240802 815640462 565582262 451713294 772651378 469317024 242850394 350141390 433039246 103716510 406108820 823095112 17924252 330007628 228751802 235387788 349374292 151208632 206400120 96367178 649749364 789909164 406180684 745149248 104823748 11298492 427755876 703258610 583495294 153433890 668305228 587728378 195772668 874615216 499312150 265354506 26912382 92389272 304527330 638705272 837150208 192321304 810984324 345968890 303841886 6845196 17973450 869806072 140246168 479197256 104318648 266810882 200055060 74369596 602056068 194110310 469801140 348280360 937443564 580181312 351598228 641468996 562619398 807540558 303302532 671976766 476350660 180145416 746816856 444242384 340275840 772935834 259708788 704132528 191959660 551411476 413366828 634872290 869098666 706021042 786101250 135759490 769399014 361494598 342654074 345117632 968743902 350670334 58476164 47746106 150162522 264790512 342104554 431143468 855931182 499221436 842979046 949527862 10083366 133326610 865924958 341974484 69183024 427355476 252648710 546311378 695294672 955388098 779182896 335101462 238775480 160526560 902358568 578340298 603737752 691543060 218471752 399655556 909063184 722339276 638543182 587471864 351277326 324763222 986090656 43372730 223944064 141438530 975918654 187996704 230518662 98171190 81739252 36032084 708566428 701692482 156335646 639207542 494631096 521379406 543646942 955908208 421968688 823877022 115945588 927680480 87177318 715467816 520568004 198594086 80971504 762336106 67332004 439078362 180198138 430389366 67298160 122928054 522603894 470553306 995622012 906606480 126039740 937975306 107145302 184575112 566088672 509968198 635531078 905913504 509513028 38134226 792019298 819231504 884656904 769955446 267401032 539793498 662257518 642324470 647819386 830391556 652807690 307752890 607336802 337399784 615652982 667642322 68457398 499037946 869962640 804379896 412973696 536931810 872299134 130641846 756733630 981636076 581096526 631462180 952261550 505213144 920641010 264726106 831427138 45249056 19835586 453217554 463642246 624843128 461455638 780108688 479069546 436371284 135499204 609882820 279102148 812676502 355961620 787368736 302165356 675577354 846124526 183574504 496997762 11637974 531998372 589907884 829855294 931958028 627565826 108445948 519346412 476867506 599222818 979236766 480974490 574642288 666635890 688890516 846156890 415607526 979505564 634162812 921406760 627206490 216998858 189002314 352162480 275596084 27951386 730991368 531179662 665931540 419086308 690935462 815791142 149369842 706569952 806546382 113853816 614956630 125425362 340922480 859396920 220271980 898291998 259907514 907877140 451591238 708210304 506442722 665522086 856341666 951931984 71827936 546125538 774228732 627255274 246189270 448074124 514628978 393914456 873146276 899769454 847382386 280778302 992117508 659061418 693142940 680879410 676146254 161424238 593559044 121952186 234505940 810522 472956842 422139264 156520358 897914808 245364390 132823856 982676362 836963818 49983782 505325746 947039736 670059216 191258008 547114294 700339076 511404962 829031778 514655400 709691006 139485326 817724064 775269354 446487464 92144210 460577548 31132978 826735886 208661104 840179366 252093408 106645396 914726178 105208528 232155074 219309494 761550838 931894750 627281070 871553630 405283644 475300976 544816588 854644436 563912276 504813272 692745070 174447570 48861320 927601746 131859002 938036442 671732844 229991504 473650620 667496344 760031184 42209160 618285556 426905380 200177554 20765872 111125166 435179674 187083124 168554974 817882048 909477144 152638602 335027534 324147054 389327072 161485572 377216104 792370124 296966976 204523614 13447078 706977602 317608812 512707718 620945550 721253380 368798554 846305570 896836098 904807416 227928320 860391382 85723502 24725756 570309620 934984770 94093050 322764872 589150520 912093810 56677936 372842350 915472734 553735276 179318876 130121254 148734654 608265476 966389506 694210388 326148584 309882260 970678150 252375398 311247854 15384 303615792 226069690 912028944 640445786 967428758 867343768 586563868 846632114 399873738 826426224 40016194 585350444 656876346 582760870 147634220 831247628 933294626 38050580 646598770 949796054 167086422 648669096 461985970 639799428 20084206 507079074 236946664 150948108 18498742 828108316 239080794 153937846 920350262 259405344 789047574 531086478 281689614 22165432 30177518 743094840 332816782 761897586 85509958 588052344 881050824 496537766 227041984 886703268 934750392 444988332 889370604 883764686 538940 962235472 64418994 114731604 908431040 234233234 415422756 516098906 128132640 205199794 376527318 687548870 827604748 124759452 295029756 700756644 139490366 202039728 799728062 843657412 306337670 730368266 432707052 634953598 503606132 427988422 60816858 854031784 130955406 206877142 66467480 327700790 450180334 934272674 487471058 308131124 418937430 628614490 678556614 718290128 514176664 276162754 558306060 512949562 86767644 950505204 579021674 775822352 411311862 561350112 626749578 105832056 366918534 149254208 429344484 623229790 542315558 516717764 210610256 351542650 442411614 365457784 395165036 567147754 407608362 585847130 133427492 111365580 72506142 200925494 877268068 237298444 237372046 520915942 871359932 857405582 421888010 368250762 801122850 38944674 322916378 493154504 855082976 154320446 625861686 224215264 857561036 494650174 75032670 351424210 634946392 876539594 283675318 748262306 449145214 640442850 170738864 213339466 464064720 822044500 609957414 356800056 47515296 88400800 546375168 990420758 590634280 337668644 852970796 241704906 763301566 171779380 416805076 28793870 163688844 295715410 595632348 249745340 621259206 438336692 766904578 800721654 507897298 794988828 730238142 972564866 555771504 424706164 229457314 745393402 288031174 1718314 783910004 898035018 57091044 153425644 796493076 614480172 764211752 365283438 851137992 446005024 430774404 26700386 501289578 954477600 319994004 142659714 509086038 93955036 310342108 672581674 888511328 848826218 669237480 384327486 812991700 874732518 208698750 79609354 800697056 71154156 94502608 300678862 354241848 282750038 675724826 580101114 835228544 406925158 631818550 762881466 888249880 510814860 148297630 529710824 180132240 513750986 885140458 60364972 587920458 681395694 969655422 9709990 784105632 57993240 592319060 842789684 764594614 29937942 164967426 960047976 225777290 212889448 579405734 436554044 851395956 131078106 445522704 720604768 4105602 729639268 687915522 176040604 768060692 7150978 38557098 817873592 244446184 578866190 743688400 935782612 557242032 907565286 851740102 225466656 499344702 965563466 283878242 299451910 15266228 806301868 285242712 849371926 446507756 31530226 22847886 422621108 264794290 737273314 832065550 938612448 184717960 85314982 299731468 494239762 359583800 289353658 506119292 787526586 399768676 655524636 251693612 619664136 986096548 503222700 49679432 1181320 885332900 985040590 56571300 406941070 803350724 917368886 512107042 6058672 62446132 559503064 552381410 208414660 764463270 516427852 233037662 550212724 410146982 625050410 906449114 664137282 318654914 745818494 503914286 446439494 666607724 497660418 551684230 945586090 155221520 374428926 627154044 295520560 807641614 15769748 602097656 666860022 765504098 658483784 842206144 96178784 954108876 405505958 298883732 846972470 996946154 343263150 853260556 383195696 890768330 346712394 102089430 114984270 290920142 328335006 54750660 749104776 831450996 348931450 139450110 933167590 939549168 26126856 645884464 952853640 412657236 59033246 204470380 860774252 391234822 840757580 887923572 376164058 13253254 644512270 161894470 3536522 186324824 610533302 37619058 750730494 235846330 764838536 409162270 365552540 189986780 30649698 252745262 863710474 735334026 458629724 508088910 646883918 19643368 127919986 475826080 847173348 187400914 739867192 565379196 267846928 731892538 827916812 77358234 844728684 711302558 562627122 270448324 462879404 989397646 750050120 512386134 52334494 676773710 319538624 942838736 285148684 714281500 189973190 859010842 259379166 325524276 604008802 370526954 114302248 205521070 532045474 76653608 778121426 846480282 263237830 839956464 343585628 721207816 500938688 205258384 859548508 395716998 630181364 380027198 206188184 945115240 93653454 84440040 76620114 654373088 270040226 72623444 591241534 583520780 151965138 847152120 556522756 679036144 468005230 338422340 879942434 150161970 25574684 60196010 8920934 685850756 484112364 255789782 176904092 671648554 110572484 884947118 399066630 752722422 816864724 548119316 630731104 992355638 799842978 301301112 624015834 715745278 662855612 150272252 441055558 158587678 4058534 209491746 583412336 468839076 525763116 267675444 916960116 686164424 405265794 189282646 13785510 598996322 405023732 539095506 330590344 963344738 952805004 439336988 782191272 224576878 317059740 689288770 955810786 349083286 513127502 343594098 849099438 70901664 242891240 456446324 484275912 855506784 821732658 906079148 459093838 254519722 266332092 786037974 858803996 618741162 545728452 233827782 853546404 540575250 728869514 599528234 235206994 378139524 894406624 320092396 250253396 527084958 367047614 127744992 433784362 446742204 82212382 298865332 841638622 787699516 68428836 742208034 588642758 695336218 601364462 293614184 70763816 503567630 851360420 803022770 513625580 787820756 735141674 476229348 598180342 551247466 939858680 81437946 400038326 189932800 454003470 697879304 934464612 630317774 262189754 483575572 196751154 802862378 427793180 468569090 962371640 944961600 753398174 914809728 811076308 182993566 717039834 837707180 123922030 29143566 729294452 272167680 502127136 251450878 315789204 185963210 158954170 315421560 206818452 621050194 80961116 895421698 676621368 438699188 431322194 855321380 257223666 804509822 4815796 396187432 666349852 378925536 57756862 529324476 698773966 237015078 40181110 6347976 270022986 175511552 804075096 866353000 120755142 718509234 460195248 828533892 217210532 853105372 419105120 449625328 896542158 722020722 779051404 820206058 455694736 264415494 750409148 157111672 971758056 947400960 954587062 664364608 960376498 352960278 982175236 426052756 536469662 355062404 945619296 818266916 887742278 834536444 462691996 751694816 599974422 128024106 540653900 816795178 243550428 550947880 471592206 323212040 724856164 506355010 236940698 393011298 205989510 941719880 692366110 702016932 391535860 243044712 218794416 690556664 41500410 306636062 999101700 26133792 46864180 157905428 539034872 609316850 103928724 416175048 272355088 135429676 215974636 516783160 454176640 897621860 538819110 752903008 102962306 763348978 559137432 813606448 275409370 863772262 179059416 449211302 417295158 387421528 802212508 265975094 522225968 78142198 928804858 893263058 526951192 72663664 427869104 373359408 182984410 522573048 405361860 195715514 305217134 476700848 41241838 875178522 106550598 194111716 902816952 640333548 792258804 459105698 653054394 179627366 938942970 558198260 686517094 414122302 816179076 247885812 154816064 174401600 297963032 84635886 331636408 139419176 520592212 708676376 540940800 821937356 230763462 513396010 761208356 297222684 960320846 837190624 902497670 427979350 18984922 261095888 894291506 963231346 690137056 890086126 916029498 310975554 209335992 689958192 312429298 18532802 241590512 799479236 562978896 396914964 985813562 652412284 231832814 146531886 416719908 788380856 813856556 234545776 83299514 861966352 628087516 874837050 114134662 605964368 960041796 45503852 700321602 689348066 471743612 723255954 188049794 70597424 913325242 864138242 567866166 931209690 272682884 212452852 973212526 941733596 271708386 759792058 774022660 805585298 534290382 939430824 328947800 835076758 906022596 76597640 873336662 253867152 788508156 68200844 300112218 906705096 984684026 878883432 332397116 712023012 949478282 286361136 862505560 511045146 343951078 134664872 228848040 652413532 625015330 84887416 236207446 382972196 33722926 719277982 842920410 99443946 377315332 209610014 988722200 804137242 420056540 207590710 824603516 371520934 862778698 45568154 210320012 74797486 186940772 36287916 905504450 383330412 465094210 396996794 644929266 18981674 483577928 840849718 938556080 874352994 233785254 85565680 920779336 768000600 139874030 123183852 378508926 932147846 607780584 738245126 942778648 225252650 858943012 45301120 413954084 34329496 388380746 889246222 583149276 698271392 64243936 135099648 123210392 654012316 45419064 738293344 423746056 553294854 991514406 946865592 805265456 755708344 626817102 929060898 12972932 790149620 720725694 89983060 15637256 849150800 854728338 490547576 695677348 590204918 513026670 690212682 200158546 92385816 746403222 647352138 422055792 86239286 30610310 574625952 537546820 309080300 312841742 160989892 951282624 91053314 807461062 338656002 937963774 89142498 508425908 437123420 270461792 426172580 733202168 59578772 230984716 896576656 282685288 902686918 479630316 269373752 493975952 662081210 955375022 391203306 605113052 901196072 348122794 331591578 92627824 772309148 855246802 782427616 410964890 318375240 92665276 481424358 515658146 206334332 807352934 834743798 208561282 857324564 341571034 208499678 205287740 538983212 150432872 805331130 25274372 741490092 26557864 59722398 981243804 607745812 484709838 968286608 45916344 518950966 555841524 696344026 10086018 366454196 641118706 589815728 81416102 484837494 908131784 290767478 888454020 542571502 110298392 789428296 256899650 356391760 520551544 685872770 165210992 247186440 193996852 249792450 909954842 215953276 129471372 4524626 848330750 70456276 163879972 63729130 809495976 266810094 148110256 395590686 875183094 88241620 58193446 505589592 493305188 712848836 869166390 492152964 425863500 470209540 7841362 333014806 362949330 240563206 530710032 35680334 314357814 21047024 668471086 433341990 336556440 665718472 447292840 463394284 915798216 741750690 442809202 742319154 274666640 966169546 802261204 134145392 216276832 701495916 573463274 388165698 245278736 325123696 225793446 452832168 673398742 350241680 869336322 62770158 404666818 481686070 744534244 952221508 269741858 378872776 214927510 663019008 579119562 960245042 981053682 537416810 790163890 94687942 635238552 454485578 77626814 87221906 239060482 805310718 917172228 995010236 873439612 955328542 949311266 244336192 926719350 663342530 37692056 999541510 131066958 791432230 686720296 200530406 170026 907949208 234552844 187468676 372786154 182811342 265104598 270376336 180989198 761876456 340558612 644371906 696876886 507109950 617045496 717622922 37935106 340805662 827133050 626119532 12720294 432214144 417087676 862580628 271607994 334570304 212117258 279477214 726513504 162097366 216765594 480547030 957057468 789786196 960374624 874625754 860820096 180127332 874665188 114325380 556738284 733008832 660611382 292014254 495061530 821905298 945190752 548586710 765892350 198996266 248352302 264319296 834298016 719108014 480543172 263882416 210618954 493146628 435240938 190651058 695114684 652796000 612617832 166561586 519906480 528753182 888866382 304613382 945886908 972272342 20330504 215009438 343703420 175936492 395906140 848417882 196501326 726380198 316790772 646119326 220376056 554903902 927453994 783252680 841479186 624904634 941496930 7890630 299541812 8233482 758326404 636924196 746535978 158617020 407102548 426584460 304217344 240451606 708373950 922777306 92318612 848521400 571070142 613926552 680849232 999050730 135590014 408708824 519373372 815236200 385115236 261703392 323531124 398028352 306214832 948395556 960366912 425312980 988679268 501589044 551734044 847131134 422586682 114549430 800956774 401890130 694362048 302744784 104030620 797812158 886018542 62849150 767199716 804849926 934341104 524031426 106423776 758636628 658834024 384758236 266078266 289586124 356240924 160703212 113111866 20443086 771837318 120076126 188136290 137996372 974048674 520029460 700302110 169954948 172556748 87882408 852009596 775175488 699759726 329979916 967040168 888487530 375602170 911945948 8761110 225795006 906182180 244084922 768520176 448201626 214462960 166990042 274571932 629835696 656265948 237710262 285654640 970190098 762659242 816076358 794157948 39097618 450422720 930644606 247472446 725525610 639899148 450682926 719699534 681461280 378224178 130743786 247819010 117978096 638663850 828620196 957103636 662960468 999129214 989778128 602739852 285304070 120601898 944170622 484175900 520377796 704085136 298788028 641225922 186189382 641708406 267545484 516527562 765062260 700035028 898601312 601688944 946316676 433132684 958705686 779342556 819981808 617862448 720410178 108467644 255540432 514690358 457059490 389828926 190486722 169319856 627941912 860812214 903042 195600150 65035514 277316694 952197330 818030930 821829686 363635700 457894386 753865916 501551220 627094510 52807288 379664668 426785540 34976622 789267230 348121412 447429464 822275408 480546782 579532830 788110946 131105422 46049352 762122252 290802646 887055856 483736804 844227844 86865070 318926992 667867264 677787334 186564460 628426122 522773836 328145436 144409686 230530720 233810066 886990824 877335426 941569564 732243886 235614976 207969734 28483464 596074590 822000426 431682588 613571276 504477982 571388798 971470174 647296222 80698070 702243170 960255984 219361294 387398510 27070086 531238356 29997498 395931678 590600434 203790920 965630490 729296110 706464882 436773706 154473166 892632570 24714528 418719360 584372576 805942808 445984066 875628154 328133296 127252164 163322704 35712428 653876526 493754582 969739818 319676312 368103696 113026910 806638092 179993628 969314184 911080414 624721902 732886238 258022444 691167428 989315238 352208842 517083992 898085842 942834844 113333800 397492550 202769364 326931280 986162220 81830186 770726454 204320634 954393436 617143006 459373122 38747950 691684030 193644006 394647488 861034430 653400312 27387086 13297438 360740472 882885748 693678780 470438636 920509122 851115454 504319714 462130678 650470874 378518850 821566042 679433260 795506468 553710382 276563706 187872186 224767158 537087658 697300282 675582436 142890538 486080284 113647768 793390764 440230210 471168420 16721586 377795328 208387156 870334296 915077272 297153458 555457198 573005622 77419838 643930108 34030298 450260932 628310012 916575548 494011804 391087056 838065904 139326104 919191624 549084402 22878884 169739172 596409700 304494932 517817102 502229190 100660474 515291030 187848704 150261160 985284878 842614776 763683736 956987798 206485826 63589056 298923010 957005504 249588866 391867032 357355048 806440854 286158308 378907508 637001852 751930816 393608046 523846664 895020550 280766456 519171912 823712270 981065094 807164418 923144368 706193554 438123812 780201070 493872902 783330172 19195580 586964194 340109998 367035802 814293224 849583810 186669276 759341852 692713752 690510858 475978790 306932018 730202192 765143576 422113810 881537144 849549542 889707516 258716584 293601366 387469210 940160580 277732796 62566060 796941610 375588882 943724356 681531870 186250128 397137202 380022778 823402378 292436578 269428554 77024808 681217432 836570202 740015056 489690528 26587378 744970856 826059332 620551284 622770712 214872106 64640530 737624100 74237870 862148742 238346350 274624820 910741112 847186920 701137264 606853794 441495018 801065160 838713016 316667686 622383500 125310990 170092236 556555928 380556512 56422012 552457884 474893364 750575746 673712566 328719942 313914914 339577176 478595254 880322622 783448482 303570012 374385962 115976534 143879136 795485704 306987706 458294422 914527186 246137978 374201922 179251236 813485360 264458210 883201240 632898306 463142812 521360114 719818676 109664928 462540436 357683526 170300082 175645418 25471232 266890712 860401974 665923926 298329610 821571518 773951914 913463320 13438164 310976796 276457460 111374306 528345222 700363368 14575942 887157972 596186602 892007906 11882056 365524738 868000960 485039460 779090126 402887222 988329016 808696606 855337334 752466148 641562118 51132634 410080640 169983536 804105854 335074252 608013410 691634904 737032824 635562024 650197910 308233866 624692294 319108112 375621480 649080778 931699422 170315736 820657720 322342996 750890650 994805646 196016026 663390900 51618104 543207066 348430950 801674670 366184602 250025900 185993360 832948158 90412290 254826594 270110744 906672248 186621590 425981572 621686114 247220042 322454700 918925238 105740612 840203770 541079284 260838772 594711966 779425456 772548372 326372474 886658146 182956764 37284582 654073160 956583196 273915694 91141476 869264838 600782422 360228882 290822474 121250752 228392412 247487612 454836074 348771748 753674304 701453832 202456198 80743106 269861028 271132648 379504340 588669314 803078522 974130490 220441016 77668558 941353436 162721772 15716106 980583878 500044048 621517762 752502040 584111888 540151470 638348028 400777224 762292208 607255876 964575406 47408208 178981260 457181824 452244312 424088474 925217078 861181454 152590998 872149582 911538096 126797258 279527928 845539514 319861922 321689574 68187578 467924006 976840122 319656272 468511262 574467386 489032140 223547416 319566172 962324098 543500276 475552186 575581660 622482840 299701998 120809240 870530192 815573368 674611356 716441724 523439470 382616364 342015244 437647768 918518134 988109570 810677182 828823334 417561602 445540140 923247658 430441872 869862588 430825194 841125600 714891026 39725582 904330870 789035100 33512912 13897850 55228220 527727134 450903882 174357098 488385156 698408618 713677594 608412852 882196162 152023646 563591452 687121424 862078070 318112518 296686528 420016586 373198540 10349496 647522788 621947606 706935020 534214288 575136806 702621378 161485138 132758684 277060280 632011258 363642040 951392610 194566864 890755984 436000700 849711240 304530546 928358812 137486666 585905034 763958220 149073806 260778858 876189938 198052590 184104756 109351412 313593226 394963312 472853690 102233698 489138340 558617686 334270082 766390326 983857532 903159758 222671286 502833306 579869648 876051918 646074520 901467656 603809916 275559072 311592152 353756154 119802422 511577816 161472190 958425682 113670896 957238220 312774240 355974200 729165308 212856058 240470508 915855576 515577242 230158778 148075470 609279642 12110466 192456534 348160906 906680096 547212818 178652478 803058508 670939146 779652516 959473456 941178770 78652058 621332856 17679174 942204752 547587690 534745528 681775826 818612226 745971294 311923480 792545450 428952604 848016036 325402432 784754398 92716676 540838966 391581012 535373062 628289240 843351774 186239878 345726280 763548398 214274614 601395802 403651006 955122586 390411374 876153518 329354934 212501596 672067634 865151404 510025898 548484872 469181862 430052240 719080032 145022414 550336124 926377402 360624552 775773674 438825744 552465856 353166162 170890718 5552068 517297646 736062090 859511928 586247182 18352954 682086198 875515230 890473392 724925978 342850512 521400068 406964240 685482020 10723756 657526096 664992012 375691524 80059164 160411756 345086858 577611608 711935568 942538370 980777428 792653406 930883952 493936994 795416378 745319868 421974592 718133312 371815056 454839346 854980302 232042116 432837474 248710698 287654230 683624706 945944542 314186830 522045542 555690574 129077472 467700268 223646736 860242476 627714976 479803736 330980504 192680058 633982272 998927154 417799480 360281178 484633106 370763146 288937398 504766094 98565992 900651338 346262484 609613776 617478740 917920188 500078048 776374658 670259146 874096820 904695904 153351602 115168326 956719946 735330964 919473258 594986214 648521562 824175668 757720348 697175128 91061488 257922680 205182554 814976782 357412642 275810794 142274428 913882022 384571174 895921662 401681196 181560938 754378398 780925052 505128854 601122006 494659038 624432126 58798990 120017568 641611370 6476566 8296268 73020296 631067168 714472884 642023054 583379886 111149804 320163706 675604386 801543334 16476776 74791764 275585362 877640992 446747762 398157332 694785970 477788616 154658708 524125112 6769256 74410530 592460504 296182138 926809468 240371626 290718562 698471052 48244416 359351890 876127696 294493466 357906526 831359004 73512088 605440498 47788208 494624190 334595664 268436592 705022754 43372174 136486776 115730524 325899502 178195952 769595756 23480280 122822706 750197700 196105234 333215376 308124936 535091840 449302804 151072478 12394658 904228990 711081664 693549152 555944714 183942772 79782588 815008372 638891874 100621320 125028354 181843308 548323720 637454484 755500944 527357824 722612840 466151728 970440780 659595800 518901870 618353754 594141892 889731246 776012486 310402902 389046944 514514482 71206282 212274144 786659242 981044670 99782898 73534054 774705120 210397492 841418166 232790050 395236154 183819178 490705440 960380656 542943576 573410940 326840434 655774110 476731500 248393160 969050704 882381462 571021118 245945934 562955010 532175170 181719228 499061034 462603432 509504766 376931278 577764872 140372776 966025372 694401630 961859006 223586212 7846526 159255252 291475328 378523568 856527208 814754394 503849368 718709978 361225086 196593576 700979978 428225464 624738020 622648992 100100612 939805284 236613234 302946312 878914428 704915306 524829652 799572744 111280428 534640288 416232006 951801598 808982694 817680148 232157576 128688242 657389796 622873348 464883338 550618590 731654952 556125492 542771992 200640636 684020954 314672024 157418694 618121004 141068652 917402072 218779782 813048984 58073942 27413232 628862302 636424876 371772524 683860876 712638790 183139952 122821296 150509940 256324258 365273802 780867372 603058980 551377756 917393732 407170754 590909710 191989280 843661016 526376048 939399682 918441774 551197662 5752052 222494788 316932100 397656646 233888292 48252212 18233532 533902608 701011418 738624530 675285656 743624590 561543400 59892468 748258152 748342068 970241534 612065742 27190038 608124486 139724236 375676398 683779310 50969402 169738690 85919140 603894074 463163264 344635866 310578916 462179940 773399092 948674400 864972948 647099490 315406088 274893400 812383922 297964696 479387716 518515152 275609864 702815672 812076086 581485990 167590594 488350006 779894112 59534376 267705332 411100270 738831444 916347020 897365896 620137010 16942430 914637530 308947286 458510892 441590406 185587960 38048848 927477158 990531904 800905302 363949222 506721862 425054832 859541890 92583986 318522034 620355610 22831990 531556632 359692446 746254684 529548906 727704254 604241116 340737230 288143072 246184390 635512348 233730568 420147016 434723548 650530142 776905998 472314636 514150458 38860120 514289852 476323998 930088100 353768716 93318204 914488352 895846502 459645306 343972384 517673616 446240130 884842908 26412380 113532412 151926492 213610228 399987930 198881918 923597736 280264586 43730760 97259858 660459358 471447648 41001890 72079354 655039318 768139006 991718052 537811228 53603956 313689906 936395546 873484684 689732046 327250468 437965290 65811374 19030968 151263542 253527342 552009962 971717936 954879448 506756362 336357568 870131978 715435580 297695256 979434678 997469390 381589186 711230558 489090024 435602490 138173864 474892800 649864002 434815106 176508586 647399558 73642328 538682778 713793206 251050594 996844480 288462692 642978246 401746092 333744826 113018168 902538724 877515310 779738898 595949754 858807180 193416728 614189246 753121924 613025946 270308304 149243718 622791492 970327276 179544142 875435882 148447490 204803326 480242408 818053194 361100610 384246776 962275196 927267548 20964828 632124974 277534104 83816382 346315824 495699036 692735646 824256828 378860778 54032898 486932636 303123746 897037236 335280440 844104314 382907242 609136828 123392170 400154148 949347776 202442012 859583776 142836872 198021920 719993614 516727142 149402456 934611882 513530154 113122930 484588452 468625868 699187964 474673660 79010886 47918042 873955886 580590916 499784788 835627316 618435284 386612184 858746486 51561148 977316232 658049742 607684122 124926222 356283924 956109508 830192214 776785580 887958648 765366990 582378740 700228146 789616372 599870188 135961772 559233352 198219436 848516 249496320 801999686 784773040 335988974 985515316 694636004 839204968 713817458 604823528 901121114 664552946 934517144 453985190 646291146 507508918 929478500 81360048 395752624 651842150 866970414 268163008 548680888 474157822 845167650 202749864 762433470 706142586 468323508 406322016 316799254 788775876 160177760 918364770 991119504 855595140 363339568 64357702 731345636 696485394 21129576 947358792 535490132 986929906 322976976 808325492 798026904 979184954 704503732 146132176 490938498 139941530 696865450 503977422 287741760 422847368 619944310 253588772 693406890 575085710 598876068 32818416 313687884 916713000 216997042 663886906 633131118 896917166 13528850 482604794 209496814 920585628 509873704 271926808 601943898 679469680 432079736 905522062 72791622 165531640 240378430 397095922 595628048 331306098 701792516 38949084 477699028 342921480 176809708 551273854 184160622 26077344 306829974 219266022 284122038 996496684 611238154 353152762 105452102 672724972 888769474 846163142 257885440 274653658 558358564 183652278 749553480 469746034 306757272 127260236 861918982 968208320 905906016 518236242 651038536 166313428 830580522 607642322 15096638 790429836 391781074 112155868 890896926 192211712 805716208 385928044 414177978 654802282 265998744 38172002 27760612 810435288 740967236 643255678 314300802 28582730 253208526 532741544 385626560 344182354 428153952 928860434 334311912 516013420 323392272 830944558 955752606 680011318 995925080 776435390 790467616 200418338 816502398 989911498 112504798 235956534 333255824 813571864 378832812 580442288 35561722 112462524 774489018 657052900 671792672 579046392 955576284 569179284 229238272 94833398 169990912 340714316 40229582 690841724 244137688 529594698 54528180 581535036 786533076 727482656 411085700 548458466 260728138 682539560 486470686 323299918 84337090 771909900 755142002 223686758 670140148 808611268 835221244 433188142 403757684 249806230 468128220 151023896 670625142 583107732 860283976 150831372 717586880 95067140 199578542 800232956 826207120 667876334 606246980 94624558 594008538 297770236 863286178 940405070 10695660 935329608 415256716 322716458 547916736 260804184 583210778 556540810 232858652 498734768 665818314 817827790 994458000 580005208 253885598 106031808 368287698 572957090 555011654 559756068 193675516 983926184 310477082 148950496 46498140 326680340 509108538 497195588 51117422 511702116 997720154 905528128 305825126 802975840 755917128 747672386 459237928 640707290 943420188 891479242 939733848 288699038 482701472 19207060 303309636 748004740 49096530 461158672 845414284 623567750 349167138 358235300 683216268 971979122 951058896 605516920 490982342 500915534 943760102 56304036 834269534 943879070 571293652 427723290 302635264 40393594 314873024 246534420 874436432 87317620 561257928 321176588 654755954 285332236 178582012 59862060 568888522 361063492 406260184 296077080 827767494 961872454 17056580 197553502 674096744 750627870 888412598 302900424 403516302 690405488 402702670 889766130 908538938 908159630 251808578 142250074 158616314 661549546 333925762 542156892 254577984 884008054 404839096 672407942 484798124 131558412 904240446 897972676 532881200 3687502 101340878 526173530 446751692 91608078 5970970 181984606 457179510 205634478 606670296 103680888 199459760 275203948 669937570 113256548 58971460 288586080 213879828 245487314 249208926 542233118 383531846 100690596 278665918 327133124 21405712 69108908 274691466 691925874 7607388 647654104 851611300 949359112 107518202 624902764 168336878 776597958 227514618 707260296 300433566 792581854 953720052 675257004 466615936 987511636 962783020 379772640 349094158 572337572 254082886 45085552 694329922 71238690 214803526 672494722 837237320 38901448 546715500 782375904 863321956 231739564 604324024 214220984 513983302 830407654 735878988 723309038 917186318 392283890 735352320 38037588 541934374 563785162 906043240 386829544 309721036 867695776 266800492 186943932 963415098 851878782 301103000 734211566 362718892 810016570 723352402 833768150 630644406 111525628 894435284 137794632 352967934 979599768 690139598 893875212 869424824 44785538 275910226 670367106 323054532 249089040 891746188 615405986 518329230 318015008 583812030 810143774 344831948 363676412 683961662 177653616 369939762 408261212 101159544 884821188 790965450 187629564 461209454 101926068 260939894 744976132 359923022 549768248 963978184 672825548 897893732 874969166 52383006 717786526 26306582 884743430 630188666 382590484 562574734 443745338 469321494 491313970 814105710 524465418 394907620 278299378 752104878 174887538 395231672 728741754 710591312 21792824 834670028 669342474 466667712 931070966 157133740 770527448 419213638 654583342 900596676 304321318 24437942 982705696 341430070 538545082 372052364 884176078 257596624 666343810 347615086 896160256 678768254 857067978 731484130 71162790 797482942 436321484 632890726 191092046 152273990 96636626 185739548 175757742 324511884 122509348 269941640 908949310 57486062 384707212 96052296 143117114 464411960 713868578 629500530 763783350 445570866 548438028 892037212 356691580 846053332 854003606 659395774 390507662 359506726 647289736 806055032 199417248 6148844 860198892 808560794 816208800 415711116 834677436 46958072 270811762 723962494 145374362 393940490 405518562 811774232 640079304 756421564 56208656 661410574 444876918 466412880 112294634 319282140 558871924 58835730 790951934 130145052 813043770 940102984 787130522 211069902 660390814 365145372 162979904 891673548 316176622 70366216 555517996 427304560 835891602 240372862 324159730 254392498 261736412 164588542 269882608 769484498 929338958 914215230 676339672 874691956 70038598 534814062 63107568 916348952 573393682 534838952 411376592 735421632 957285540 872340296 277517686 479923528 312480266 279194104 571286598 400362246 297373210 388643014 735529036 115151098 262892112 172168962 980933342 454495876 434077876 742559536 115245660 408762472 508858930 45423314 825370474 791631392 160057946 980416032 463632256 640706874 922590116 32245372 839158564 788991594 999983674 896215908 290976160 942717068 43223728 641540924 503980690 258691124 736363466 346163068 449322246 986958052 289296248 784422392 952678362 4631974 34585652 578317132 717176708 434851112 410413878 328008994 651108104 613837874 179582692 615237166 786860288 619644272 151049568 444793116 779626354 28450566 700224622 211658014 464287004 769087572 492225652 862019748 138384480 548577012 404881148 383417824 267100390 978824942 114979468 731721352 146565728 12279176 801108364 235404970 110047642 236308554 923046152 276495156 865484878 131423214 536929440 694377788 334092384 43250064 590901988 911465932 277653338 804977860 572238366 787147408 785126404 283361040 499281672 993561620 326779044 470984952 782425170 828456482 609159680 264844814 378424800 373908100 457064572 60020488 836752578 685275752 685116730 259510560 329379614 492581838 230945544 989839462 423135430 34834890 747212878 792895780 132656734 720393906 207586582 21042290 111846780 868293520 853569166 22695440 223297316 367760558 348959258 989088654 183501778 611208630 507598 516222000 744347442 360400848 967232092 675325084 653701880 505789676 203292780 703711088 560802020 113310946 636320486 397856966 126737216 169579982 718261962 80864298 482778554 418427738 559325340 532823586 692197294 966909178 681241266 941610532 533531864 763359036 498160214 653529524 80654440 363891154 862545850 682298308 359818506 651510808 538765564 27442028 845837704 327337566 810128584 257647888 350396860 949997296 411990240 747587622 401689546 497042930 315288338 495449902 759114824 70319242 550947554 508724134 974539138 737971640 167549604 619330994 647882946 984934256 296369282 684217646 277574314 192210456 245644446 183873906 575890522 622713894 110071380 763472856 941948700 265994138 502424822 391090280 741019588 920923406 925708502 907938878 740463662 7560524 967985918 531286538 834239460 778631756 434738162 566737202 632734362 817403304 96267650 84919958 506566506 292248938 27560862 904891286 889955580 268924770 105646674 181107036 438578224 208373466 577580732 670408286 652816224 209429766 908568676 472935000 731968808 411820130 388828114 436936300 732735666 617188188 940652638 103486794 426129514 122519120 24339644 165721740 51693750 797905884 579002126 671436316 425871318 358333842 738282220 910685818 244635414 677709078 898254352 979467194 232979538 102791240 918408100 173214168 781303266 386158616 759596372 323619262 229890982 498023114 384233220 756375826 358726604 350082248 271958854 108639254 264004574 528435970 189004146 185599072 814555114 610223494 676570296 130821914 57314914 295325794 610676860 379995534 303277760 11176090 452020044 12653072 305419632 574860698 385537060 376264446 360139482 912315694 522425676 877282898 572461952 697454960 291075020 919223934 367548672 641642518 333090134 228701138 878822396 520400940 488534496 656614326 728094590 619872518 627740398 584254084 600663598 206943484 164691364 169379870 142801346 951197960 918012052 303331332 291607822 638448892 650136610 565885790 838074572 113144932 967697606 970930232 766951330 221356816 437495574 115433172 666740552 472932316 710636098 998256290 216134684 20722152 660983718 758245098 649985508 352673198 286281060 821360726 241044596 606826976 813332688 761520102 580684490 119459194 940893680 632476382 72782542 810170292 92942240 385791474 608070872 870249166 90084680 361871980 61866296 492615716 915771092 544454870 424549152 592241044 793308354 996721404 273194680 418026498 160816846 579131990 213444792 117668732 740109268 13824056 473944456 823907374 830220186 73049842 466877304 291487306 117526760 609701622 626565920 386975092 429300340 67165500 392983794 767667672 248503350 367687024 189974618 609128464 125443292 68160852 862977714 529192454 431185786 465952208 861013062 692574582 155548976 495383550 5583680 844635244 971983368 240333200 31288696 938602186 358682620 612758072 905593738 304085298 569469712 682387820 206752320 377239678 412979366 299727600 188278456 846826828 53659176 260966642 343461238 467533504 941648502 901122206 162634458 268053000 353303790 131970706 826941502 898814028 875391300 487678350 914751810 136724120 640956352 590595486 973879320 247158512 15113090 526168436 926620058 199377530 473659858 697659756 959508072 81213798 342412506 674449646 978873406 730865844 988309454 494752216 423503918 441301046 955390170 61909988 733736904 873526510 419198880 984876708 667528436 825843440 835626674 973409658 659979820 305405068 940501950 709946892 571606196 215412284 389711460 991075006 316699340 419317916 757901116 562516714 721669790 118306288 887498492 420619734 170824766 962969436 647994214 717883204 958550234 675687594 394107902 583323804 195717192 118194246 786643912 350429106 911314000 767041442 949506868 733379974 752103772 982373952 425836240 291676922 27499544 42004624 491721856 987567118 525494772 48608972 493357470 283765338 823365938 639147226 828405154 969454284 470475272 382641520 98339600 583816834 707418 555287740 930132760 726359784 292946606 794439426 825206048 112785824 135198590 509599958 215479118 99225474 510081312 441571610 466436990 797049606 598878004 116307764 883884048 711129016 466305046 438933232 151400130 942020258 98947420 848706976 676019802 133990586 68378358 198984678 19009662 822855634 473742574 55868242 649218586 107349144 944325690 859743154 71349688 650574178 176015142 323608906 751181280 511725530 520043368 564277492 617431576 379445590 685598252 958943704 325104048 222352944 801423938 144825504 191440146 893942300 889136216 58146964 812171602 473171834 7414722 232972938 839460164 726669680 422658352 744974880 247310880 611745180 858827824 566375024 111325320 552786252 548316514 578475066 138493838 482489656 465188466 705194792 685896702 400668144 905334746 61200406 503486666 943128812 194601466 201584300 148646876 699786858 249389084 47727344 728591724 44110408 158272012 946956908 615743200 748807292 366151816 190646102 775434554 268729936 848048560 788922946 988018238 756470262 189002810 480058802 51928312 959021834 25568940 742728078 784188258 953666428 867959200 189747512 992876256 760197022 337632146 747273936 596988962 565068784 546439446 868803766 296407242 987722502 298391702 307540272 854484814 370707524 131666062 955467246 856120674 121226832 628171034 864230132 632091618 841820014 537122112 154037888 371118388 929033718 883395806 116291064 120176572 565263350 14071556 114074166 283976286 797986542 437470976 724077330 653570810 923842262 61256560 621259090 891028936 302743210 107106626 398466906 898628180 169739766 58648996 718208466 651937754 685983304 700698118 958553806 468362284 551356506 679916640 929204502 197521936 318564002 254439974 293202242 829026656 122391596 755670500 472564206 955616316 747905244 58493826 228421540 310058568 557578252 219296356 507448112 218816750 975427454 544768808 86064284 264495202 675985712 405975668 785150862 38144162 236013524 419471034 8426824 322806048 102581266 16005476 824341830 457973586 629054688 428486102 148167208 601128140 568268874 961498624 596713154 32846950 952370232 587861614 799900476 219904430 249013084 338472794 296343094 680810320 990313864 394047278 46654648 115391578 719021344 355679988 591120672 178717908 811029202 211482096 903488518 154017116 367077366 383866822 684414906 625393688 85324488 522283416 664829130 200005378 295578912 692106196 775944340 186781960 447022428 880347594 102521270 119728456 775942298 931487468 267594070 925423920 889648952 990147764 17474354 451562256 495237216 398625266 897529220 540891640 769664928 455377528 695077428 352714910 832654838 948664302 391382748 543890504 549293488 94172292 155039694 917514696 132400332 654527202 772727612 476277426 770786388 92086552 724659466 645118030 163650446 986855988 103303640 856897230 674850484 384808186 238609092 421491172 791630792 337965186 464045812 193024000 1529980 928007732 561657976 310898144 543024994 131202164 237137988 616414114 172123236 26848058 109609662 957753614 998346894 356055102 412276868 563243804 562578528 391198956 356138728 642125266 44995942 84815760 711775530 424739038 104482448 148597102 712559804 222686994 125789434 751622484 729365764 84187806 988372198 62326388 116286366 148980922 182935498 874147836 974107628 522652088 84297852 690241810 218052782 628714888 127245170 780468450 617034626 921270012 110501658 953845490 13137392 862754700 581677600 915101148 794407986 334091020 523639666 230540310 190244224 871010502 886008766 120833556 886396074 782775922 285912420 810558710 738328308 13070262 807306346 204696098 517261998 489773418 30200230 139664378 416769442 104081988 420999834 316069152 798936472 535757542 672488732 424997214 840643746 936380108 348457230 743943134 904097154 133258450 322134142 806287608 884402512 298893460 616287860 696139890 440033808 403487572 238104382 867243530 538750360 255941924 378110728 264042844 216265104 348310830 665691646 458827090 583909158 711078404 141310270 21571946 999592130 937133990 340877550 843921326 813224880 290969724 438754018 196897672 326000606 906510078 656089206 979621966 258165702 322099070 755028770 246536402 188250470 507655582 358585980 361178918 904469946 98515024 425620158 516863430 796326338 684102978 609305956 265032520 118515330 7643288 886233548 361438938 536591824 598128300 98001290 804770368 717080422 679580622 70124774 848834980 631190108 521820246 656271842 159493418 91647154 527402524 950700838 909992950 862960416 727957768 463651164 701161914 636963298 613394758 41219026 699790382 814678702 15072448 926251046 146296562 192559248 895454120 16847822 723717090 582327916 835661266 290355664 167341752 226019746 263889286 983799862 59459578 75270992 714076292 937054552 410436358 121310896 451983760 769871114 969083852 653077580 688402042 279438686 4974936 889116980 250252148 299806984 342083964 110369060 164717548 953865502 710605472 185072678 346010494 486709150 473430788 935384866 482091294 486756366 892785536 361471958 837827108 449488310 740804082 761627374 968623572 425351408 978803546 882919526 232265250 596250658 686039486 674161232 519153352 603479156 602950946 472964520 341410528 912532902 207849250 418269830 486852578 833582326 248775470 603018580 980601744 829874356 713991462 823004428 190617680 380135480 313629466 53285134 277402016 929966934 802341692 919145842 429062326 277280594 287903638 743404050 623093388 599590246 262703674 296133570 13851528 74189144 26225358 100906826 245735050 182252308 248523890 351924280 756955476 71332404 31469828 820376504 726405926 799748114 954370542 905036484 279842976 577808102 960840166 913022502 490363464 667173496 714765020 377236854 763228784 479268998 496998226 555295994 65288242 14122940 888217576 356789580 882988996 275538636 108882388 200293384 490022086 649708708 959327254 923456940 879052218 586780130 866945914 942133766 813075472 813039476 631666328 65122224 71939342 558054358 430335416 748893402 984241836 61814040 939628640 468350044 373850922 27674000 617335094 504269372 683073136 677736576 308569526 153621960 648269388 613751678 862134602 773152460 844997894 156197562 917808090 234571286 897960166 554563208 42792512 736032072 62545088 60325784 797934774 991745100 448041208 96188928 87055682 690141304 145082788 199898572 731970672 904414460 9903694 604644690 682831654 923784180 717915458 112983230 95828518 457803914 874233440 595290436 74396582 451708992 352635684 577609484 297827144 812132270 146906976 455892972 927451176 946252968 650962598 695383320 673425484 375020758 898751942 317922256 609272878 969121938 798934010 531019370 366240350 313062822 527612960 283932918 295831428 752220798 942574252 673750184 943723534 486356230 967932370 429585322 779857698 286036026 566553562 82433364 787501096 49310012 730906810 259290838 497429526 214423952 567625538 478806276 443296922 663158538 70889948 375284102 372509918 241030466 100172028 995561790 460963370 291576262 837703416 972099662 440413764 5348952 526758206 849912968 982745342 282421130 676190934 401120350 338605980 73543132 290161912 959900860 250291342 497387968 139814196 700604046 278903198 105644218 54124534 105526220 319206990 364363964 493697858 350784640 195470454 719165422 726697928 194044036 686813614 895146332 352532368 263526184 743168514 755505866 837392876 205561948 299369358 117152580 554117504 838454308 80611452 91842230 180674492 632323418 892801924 618098874 174528694 349669770 302558400 356466152 15317642 966648862 288066002 299133582 478190514 672472706 246002216 950589582 375762638 815092864 119853656 554724878 711788058 565656312 882992988 647839588 698874154 302165118 422380100 911670522 905195586 236452116 967138032 265930672 380049284 654459420 88173658 968226394 222062122 681886484 707207230 291328628 81171416 444210468 732892750 472434200 155140352 384387980 723281378 109511318 237905024 223495334 831388672 549816108 964570258 868823598 768192664 76920226 776717472 733573904 210479072 367074632 131576122 898330606 394938264 280453344 943589032 539429362 765431664 831045356 556951592 151430696 32616884 311475180 603211190 991072654 661617664 281639442 766926870 282876842 645558088 776938 253350488 355119470 515177480 314640062 968113214 728575392 630897978 262248766 46255646 763620224 842775878 636252558 395426620 411075722 109613162 356478200 878582786 803951298 252537336 355055116 342356210 447156182 996441554 248225886 462320220 517686150 668019472 457183782 608742834 296928974 141933298 524474690 325083778 618836132 94850330 917477292 203575188 642952 813757492 264656956 803173678 146396040 572979154 636127596 513289764 522143126 667632398 956057666 307853240 711166010 211896138 216088896 220639816 368377614 861224370 937079508 189689634 224225544 316990 48949490 187026762 376733176 514074788 696990994 310194390 848319272 322544776 965413516 429387280 277105240 526368054 504644570 928491628 307916724 9057366 473800852 395882970 213456572 626342580 543534258 448840802 769712170 926238028 508287104 897849682 98333686 981403852 529304994 487541828 417076264 261240494 294257962 807483296 20536164 484219682 510209902 509013846 776338512 991728022 664972338 843362978 349482510 814201872 474410402 48299514 10377166 472834268 276070794 949009582 495018490 668000780 349075506 68998538 123365686 442569652 53020844 866206220 216065614 358831640 632132474 736300054 731376882 338434664 341297440 406540354 858829494 621087550 198235428 844976874 966901558 904217790 987725176 67210268 866449684 466330738 727322412 217452142 332194110 777576994 710260672 182195160 432456126 601267020 849727184 842178556 545948180 816374358 513508788 907001656 272155194 389306022 885397952 192524364 914743020 714122430 626052872 850199762 781883514 453881998 607623508 152137694 576622528 742924068 869112828 122219328 880019958 629073330 570290882 954220416 709564588 528034042 245555268 464878446 191070082 838423642 977870660 91102702 887845912 659077176 980389102 115948614 535550102 205457358 658905856 823056562 915808738 327617060 766372338 579072594 168654504 674560222 314904232 322268104 999788616 990907732 163517066 225258868 972881054 683050320 647631822 226845022 118129278 788722874 693486134 350065882 929379514 69892412 31999352 521051252 667405478 616899666 449949476 820602840 165789160 699346094 225560944 108360686 597965642 928760342 855806894 738101122 584595382 795900904 845519734 447361582 237226926 442019156 522930186 312718058 874563604 119790910 282348258 123990648 349185746 453952704 601175326 203053038 682959334 83628442 813097322 319707346 497794874 541022572 688441410 831449306 992590726 179218318 684468368 347800836 654587662 944893346 70601252 990722824 19209434 53008864 458131648 705866100 589333378 677128366 56033562 507433520 595330034 743669360 950693160 871968780 160682720 78417440 107200792 301727524 775841236 634976448 186417834 123406570 516093884 848222882 355030466 157703908 668420114 385551152 520285226 417113354 596740680 586534542 289925038 692366698 178254272 2409414 494882010 121604018 387042686 412458328 110087984 829053102 406540032 750132544 169027070 253243958 559985926 34586166 650804186 449820518 366364260 515918690 1041742 496377640 818801702 39450442 89754122 269140090 20448700 833938176 923010032 799714144 920939224 14531518 91177084 461045112 151018806 802949302 106727198 739174592 281344484 767370722 421657624 604083306 417367882 841868542 422804678 634397090 536160410 387070438 806004478 169216996 209667702 975279394 59356732 712664132 796826030 554204368 581686402 559942596 860946784 171215428 171923714 859348802 975960402 542518304 907459634 568211804 55713018 64745082 432476188 446619266 829241106 577842204 957473896 233132622 320513128 136395502 147533764 426312092 607789574 212320102 676935624 488617824 646370118 595269002 247154044 73059828 252932648 323966704 496684354 665319684 319584884 138950526 306470952 842824782 387277952 643855724 474628396 107934922 481007420 316505872 74270464 407501548 902065468 916198148 492788694 388326662 778308142 402541972 65462466 81470098 665141902 913725082 111356446 52759976 360603594 373701958 47174036 617045638 155446468 258193818 510695664 898875688 239302524 898899564 172214530 133003698 257133434 761587192 339858634 563165582 473013446 461980238 513371082 122415030 319401080 961760450 976375990 942856846 563024254 946283970 684394060 137518086 173721516 907602252 396753214 785995006 127756040 894482506 127230540 242291856 863491570 139924600 103504202 341391760 681926130 579878242 841862668 832821500 556207202 80724248 729501124 246787458 58402898 600464766 783071670 587092766 851793202 358275946 788733046 444460002 396819060 204599064 702265086 39152536 220149856 712559716 583150014 845485808 837558658 87576516 663146676 280500198 579927354 745480822 548263294 784459064 405033906 710425268 64736152 40032602 389486484 226223970 318513542 775878012 573562910 312028300 59896058 855988020 666153076 852003322 232165634 176873990 791861566 495208538 696569868 986348896 283899048 310602262 953473816 969404936 364817896 627328740 872093614 404273770 328828510 130482888 841336162 95907944 490563364 491702982 924544440 654873606 771520532 327122108 423197824 168489572 152274424 96530280 816561452 880274088 315093100 291767816 231817692 473105956 344119252 755443684 301107164 940573134 903777318 780561946 931840778 291942526 44248676 958071798 778354836 727096842 603760314 973193738 16126648 810255290 251399438 787332296 52104022 211978962 653445970 782401338 562187176 133582672 383936462 38241244 878611032 931142250 761525138 403142998 47306166 147366918 40428158 300634536 119048244 286589362 61348756 869741902 391615998 331495440 973023544 413701064 303836434 583027238 121615048 805748996 840900 322911062 83625570 262292398 710743786 718713820 9434188 485335772 912142686 498970434 744365048 689783610 907956454 483669892 784613712 630388048 918965042 218676132 600826134 582633992 717449624 384831636 428706764 250044588 866558674 130556592 775359552 43756568 897736498 19177622 556071266 41536780 752178146 22598004 702181146 147018180 583488066 458514524 695171920 201045620 434829184 578060056 475567084 252514064 580406126 342031446 629165944 505022816 3123750 184678280 723971536 579821552 288373184 520287362 311159332 429696180 545011726 838297370 203154402 48961998 583281088 147778614 809286082 507192748 102351852 967702306 291199608 23114106 669946232 884007076 654620420 628536350 896265260 939971728 103817194 890187560 457521326 179098010 786793102 904383084 49020300 23990194 964625448 873685496 277107834 38251070 182078222 296450578 496516876 935640930 100100382 63240296 363750040 836093182 776023546 322873782 873122636 911486824 465695360 111589388 284034042 556442508 973835166 359541422 98911692 401071778 436139386 970407214 685604288 106570696 651853170 810603190 481185844 48628188 380489196 683546834 242816694 405186186 184849732 961422958 613312620 388121390 921324464 797697020 556288690 935490104 639192674 480121312 360716308 480514444 428454496 251817028 549444430 839288292 21928152 681790094 190575108 220626894 679059046 920260652 517046408 734530064 94168010 295200780 87098352 568952088 622318872 539628704 83245994 436486170 452997640 933908766 34382418 800972332 175458464 114191570 680661774 660166116 160749014 253096086 645195928 723999026 964484784 312174702 351500562 933858958 791963336 4795118 916254252 9247244 465753702 75268384 268087654 719817682 887134456 411476392 755298634 368790232 383329734 953583240 285779796 146797940 826860216 164744326 898436856 49942220 913610016 7307188 501217540 460939600 75521868 989073792 866935462 167145182 179194432 897127248 466335566 439490528 750655288 667579210 8039714 11818646 966158436 519550234 682047350 333940148 979676586 685942810 707110350 631248800 517885896 418536332 184911968 140088342 783305614 767286106 6804604 407807748 960894414 197288056 477001108 256866586 505105514 473811528 321265612 277409184 909460066 440393448 801915288 483272420 10135944 680426842 961097920 825335938 911751966 171522514 21084512 351531246 433295336 837408044 41510846 920681390 192817710 327374544 963446882 260440528 898366956 553926748 545745444 578702034 447085964 824933550 731639828 228038366 766210492 445395000 346633856 142630380 830190512 110971622 753539482 852592624 451623744 280078794 796685278 767603068 504041040 229468970 499413418 826700344 902465148 698127906 559150454 13813114 692241306 415618344 337600674 38999988 441065046 891075246 330629288 19967126 970258982 625823390 816742844 498943272 613332150 700833670 436814180 836324990 446682814 402139722 742951572 899132076 4980882 516044418 743446922 88221884 239819438 9477902 680016784 145893846 567224946 29668192 940932294 386460798 571240698 511164276 566848508 862626770 660632882 49251148 343921314 961012246 403503628 747617586 241051940 492623752 257640276 149786366 712449118 697076606 707446648 232820086 593497694 320317976 384068840 461527704 329500184 753910220 791077234 232895704 780683766 448963802 696664780 768354714 786757816 717681714 11035494 810080992 516328158 302039804 863066474 669751140 176794086 589071438 36815094 740537658 8103588 642613294 526557616 186209608 798604638 682505518 297325268 584541778 834581618 787253684 11025856 895934772 835901864 396531450 707270144 419341554 79369692 881556418 702412518 5534792 502842940 948864510 218329088 264832232 120527006 453785700 612581418 514068108 803861492 175852266 712878764 352330848 165037636 575870854 772765094 147689960 965148906 990833760 65992028 736806266 274256900 63574742 514873670 167385990 476009646 515030586 54292074 410909748 972474022 369366508 272397252 774999628 412542358 318839018 352847122 482770532 160703830 14341150 753378108 505022416 546834620 337466172 462114832 38701148 116615804 741627760 619256276 229064714 385797424 346963606 917558554 971940588 88955556 78885122 280586632 506838446 377816492 239135944 243922036 784842220 421880470 938416818 535730412 283099810 650218282 760369876 716147334 182251056 757150972 273083838 192386354 699824512 351328432 534191594 592595138 113553294 40029448 471332494 193223990 590662374 629583630 472748542 100882450 154731562 62281490 104492822 116827142 10909820 769864664 522648674 780003226 360167004 930144912 37566712 71969530 908799980 866458024 459404078 514758722 8035266 589444584 410038370 221211542 552755808 44459190 904868988 730694538 557510802 727785178 973788640 147179268 879421836 952667126 6780716 430338726 272879642 203606302 510882024 223726710 427717674 998437162 143893220 680189260 744371672 894944256 672369674 981314102 197045552 451012054 587457262 638655266 649418116 564117344 32913518 757490866 835539646 664342784 426583368 555727964 495135332 24264428 772401988 298444708 705517874 809462126 959191996 183626006 36290974 208412304 388955028 97370190 951187534 88680094 818010776 119104612 320091976 766498262 732040642 630910114 286446654 128127160 213463142 604535058 815843116 436327530 687480420 760940776 95361316 763560460 495017380 336435084 12091296 688266904 568411520 25481774 167938978 122693860 188612940 403534030 928563762 293708540 618696674 991316190 89982214 397597020 653343436 354257552 592258236 740005032 936891678 742609786 667990006 556786834 687745842 152060098 396709894 856928022 52435294 891331198 886431250 646649812 96968342 160866764 86204948 193767266 397884128 466649642 515440718 406213450 65418232 243350174 102273372 252767064 279877934 737407356 970748404 528357156 880143456 347448798 707839018 939002562 726658758 174133130 270548336 305440714 656887922 358358068 371192370 11699256 370875512 225297914 497830114 930247870 213196800 25853338 961800532 252377964 389249098 975506048 963387242 208370912 406713300 167659846 603775290 281892394 894036932 163516420 647780546 937421422 50280040 252043888 695197050 340365104 238606550 281382142 945621720 61837406 9062174 714312328 829857504 652948286 263672076 986395518 816686990 548021230 971285718 921878874 832999332 134055740 607006622 93828606 232298926 853339800 80606240 957672400 829849692 17593902 405459320 892604692 603700500 598412678 230799590 885181734 104728608 104770856 224430364 486386138 212766408 778976576 36005790 133951120 456854192 177382300 614785442 689539086 724861178 751543638 33019116 58644336 106077414 452523714 274113290 627519366 408468202 496176616 767877802 409948822 783173526 999158166 98277878 565128980 284858924 502035248 734593590 169178704 252678076 367697402 719262652 929369588 542715158 943915316 294678202 673363816 389226654 227984448 509721582 226336910 65181452 106579560 595947178 544335102 282291742 672399696 648453670 12127664 745466470 846581554 164834516 319975832 930383878 697174812 540501896 668769170 738109844 901233206 157935400 35554348 536895924 309024138 692937802 775832148 39103130 921153322 866014434 601157616 618107294 769522648 767661996 321308334 323109642 671466268 340030410 668063702 523096808 835644774 767269574 755045716 237684184 430308350 927212590 674048986 69236476 778675736 845385304 956174296 418088578 102373552 330603748 640697972 33839104 358551734 852999574 423110158 401436206 717272570 271368562 595913966 97884096 512920908 90458108 213119792 904756072 561580238 424746086 164613290 820046476 792043196 994562306 35686294 849467016 117585870 484717438 793058162 550866140 885806946 145833188 31117998 565214972 636231774 491608400 506643168 935224700 105393194 471376448 301196016 356962878 854699646 305731740 928039692 22309858 332942670 151932808 413661494 728045826 210809254 477412770 477222532 542446720 820538392 513573966 132208398 507367928 956898672 785400530 737002940 780654250 791083370 952549102 832041446 414390148 250796062 666942914 116130644 304657774 652693428 231163396 910170988 838368804 910607908 368699700 802235610 534928690 775652166 779637924 279982990 40612574 300215884 750508164 206656960 572400446 68157242 474864824 254255802 923676596 756100276 947893574 801963918 14953876 682905256 812769474 751263856 246024384 729067036 698204148 803528738 584853744 954649586 649784462 814269782 229226874 671516140 907283256 738874716 226150900 20164080 987276198 996429478 109837990 797960002 901549246 996691534 718459316 228225654 337500568 555158688 582118864 80592996 119857714 569338312 684452702 570667024 150555058 741223090 127788882 39979380 960425626 253117074 810199926 550626902 110102412 266883256 905888852 428576104 100061608 925117374 554509784 21907790 72784786 539662810 46714254 111605824 424380620 426010466 578792014 926601182 192540246 113872282 916665948 595598458 182909348 1392446 184345572 219181788 278711156 887525896 792327062 987072876 320712246 535019254 313504972 919742916 855952020 248397326 320630102 270360038 968829552 622770702 635584124 632494460 758547690 575029874 634102 902306896 946910526 220665140 790436766 450486308 275446148 578793484 415451684 967558262 439846700 854694444 952031304 622264980 63668516 254323238 129152314 554753194 245897242 357820408 916808604 633695282 733496094 466404052 131111160 551464816 999047890 878871452 423828290 534536924 655770334 430230178 492191862 269876214 671045760 356512258 719153012 261838614 515309276 787596380 705480442 342499374 69721620 435586144 351386530 46459374 292683336 448713944 106133616 500083350 638771192 788535808 453803194 665477688 643276396 533823342 57784924 779692708 280065776 935910094 865691814 672708994 103927072 305554374 318219860 970483982 534332796 534631028 653888318 796168856 259891498 196322622 419795584 600620586 424658588 368895552 882369468 498066070 356282040 115028186 513341268 591254030 97033058 459360110 736999914 754839964 928383824 278212300 658078454 182944746 553200396 999293268 423624070 631977752 422503456 725508054 95127802 737822616 182947748 406750944 900142818 542040012 801005278 479559078 812564516 505588608 489385188 548747896 73940338 698978700 82406242 43297440 593268868 320270754 71722672 886217136 161146408 964764042 536755714 69087052 541173908 498112270 284068498 336375632 658917066 153846848 474379310 900344360 710099434 351604400 767046452 94443302 632261576 429529202 496245248 110822306 299855724 989793638 6828468 106805160 292246322 5460186 517730670 349667820 396365438 404383420 839096058 280913678 732044356 373899442 648772698 83457752 207987204 941483086 973625286 561194214 760168770 953229330 169518946 425447828 39842498 414660150 484031192 11036228 353090076 578563454 336048312 83047942 966933364 404612556 494816938 832116040 249957768 199649040 998556930 501780010 481242186 55945030 296954788 904546290 799196204 477015762 883330346 920226134 761782282 238569712 4758462 906816876 926598870 756734724 804710678 599092638 888658918 518216106 831928416 361148340 318637314 374095442 622596758 607776890 63166002 656464390 172149882 659305302 428233540 735311530 127470572 288644284 774955288 490393830 348951368 616695850 18825864 289868266 635682392 795735750 230293922 776749428 946774484 5909988 317318000 920014788 606843482 549455768 233426462 830476782 705639102 995366842 629346280 273412764 341539234 193018486 886623512 665517880 624207484 296868100 334109232 829528934 124487212 144107432 371501846 11784172 437959368 452477922 64773622 896756516 549149502 381813058 278706674 64815790 820704578 704475278 577561728 729009838 853190852 534811342 383218518 746139958 621741310 69992578 882588516 949204526 253323932 677745394 147078866 883237188 670046620 544136684 760157186 614348396 499340752 831746006 716984066 102056690 210631198 228616872 290751942 206392048 510787958 610910106 55915434 10702264 971973818 785537964 438961896 381491608 998069450 860005444 48875184 992835396 884725342 125361658 742474782 978652830 56475192 189445030 789537548 987838246 470839446 902010854 425458906 66164866 986011486 812107586 210672136 732306672 386660908 820315268 154164634 887770602 502494712 483476534 12616930 446830620 971510018 355254318 813963400 680811068 14672584 231436100 693232816 695163876 996124182 765248372 379133368 451350354 496490576 829616550 392096366 316650478 980351170 727619322 261746272 433436410 749579362 302812384 679338090 200106280 456105038 453457860 676741634 299356398 230385002 940993078 50429154 19521006 301991004 20439518 222778930 50204362 491059724 629753726 552732842 338217674 586093818 665202032 306251866 434748272 715539308 451723802 366775190 83032982 46826046 593102182 255994968 802453018 992266718 402222372 239767912 732036552 952158196 321561572 903215200 240626494 138202754 373162604 975785774 247395338 395048372 397664884 692466608 332237124 221844000 224106624 237505332 384603222 607817428 732000048 796509740 206865488 163926242 473869876 374939640 712541002 87108692 451012822 870566618 849349374 601026048 265666720 279356046 838865498 720844628 112634308 366413352 115909888 438117014 190178702 523971946 862533174 745144040 358676556 519777406 953820548 863447230 558127626 761624380 170070760 970414760 899352486 470776078 504916348 517973098 71274092 909623078 871326312 133744478 613704102 135656234 785269922 185399922 172231362 915104724 922538754 621423072 827745964 528372178 245197382 810262200 860877808 668590480 623209006 170417570 548139300 266428040 26420620 721126546 571970046 108334660 66113312 624045844 592307990 336823790 165720564 457481528 302232768 329459050 874382454 574897726 100964188 705237242 270687002 909436624 236133424 277077346 885399604 776420492 82149722 635836830 600351394 686066470 903719760 125647842 529964516 141288946 186226732 673242436 92362198 439086452 384781558 665913518 917568686 813424078 871372280 292759434 584869250 142879848 399469342 462755068 389647644 378956612 259393552 491481312 439468006 691855426 734376076 458459258 472126440 499868400 160601844 205148172 387792388 835813576 159594748 936990820 592477574 956121928 579812504 197397000 117247802 794058068 785779048 5529842 483960836 246009968 815918020 775329876 863979438 780053802 245093056 376371862 181558746 222764964 638907932 332389768 681870494 645460700 642712402 24748656 345897730 510385608 44512446 733410 958025286 877708750 98767960 213819238 6048072 562982260 751743930 239848262 129055178 107252762 176933886 345681290 880976564 227306432 21489152 336014806 440498828 334242094 3539686 628705306 131118286 119739936 28733338 235805872 584935398 744252148 960935552 60596554 796620546 881166348 177511672 179912158 758804870 205521168 624063672 226383244 381223956 498552206 574730846 614687318 894591972 136230594 31283702 428926314 901495136 304914796 485283456 600525626 936873266 434947736 912494322 610936374 385055156 148778946 226118536 832320004 515955056 591908254 586829250 939862970 580346736 261709598 409510426 905096024 681208770 311227978 847432776 741889284 709748744 63074596 124554762 781026134 139881344 223894716 302562608 312712836 463617600 399371452 833674320 671581372 117326892 596094230 470909684 19468728 814532166 288727764 180120536 268190066 43500558 119565622 224839936 367998248 519710984 983830654 588949946 383482098 558963144 743325900 156096090 250292300 988783018 353368664 511098864 318904586 570885140 194818474 648858160 380111154 962365502 597403966 442348118 599440110 868352620 410690562 326124144 821970296 135731602 730669450 755858414 204406936 246335326 540724246 189458536 965677406 628912714 548443668 910375314 928904356 11859002 387794870 390530698 422513414 956926498 382988476 547521254 976848902 560834482 155241884 590293602 895987816 866910334 530527774 655179400 824261268 317797616 814761706 238236490 96101924 962956038 966434370 895862676 100022420 511744778 55579486 831748470 482404096 786232904 481719204 79055754 856514966 484956256 867144114 675958456 395789622 332219912 505646312 203982640 139132128 570277790 328331268 278261152 506706020 346242740 804105210 55662348 808942370 988670402 312682746 730475168 359756034 332726676 412665310 18038038 279105546 158320052 209440098 94967362 568660754 494818896 646456202 715437716 513966566 228094958 569427858 874302836 918021336 385861734 756920702 357815632 215507122 371654330 463768178 480371578 945499590 848838086 880692826 573807570 963625522 117753380 160113310 60125650 69704690 995726896 543101830 161542856 148273632 139602418 987467756 640330120 649431962 660897708 891889138 638566898 77804372 49533604 902279192 141706908 238526596 184668714 286326384 894650548 22699096 936287198 117931436 443788796 709677902 233076306 530852226 522918746 375706 787658132 505657722 899568784 765416426 278887240 560607650 360906160 702289130 428024270 808898006 534537626 264537406 799483274 135134540 577004182 516173672 234392882 918412998 167857900 980512076 842589098 245182586 583084400 117259036 431125392 425589212 531181530 215651668 456207932 170337108 261566990 506595400 150752722 271524516 890590174 76642846 13131866 865347666 223724268 928012526 494909988 538689750 805263052 707500408 832247594 686116738 147878766 760420294 535042778 894541242 636725998 704851926 111577130 492653526 140949648 289034636 463110530 579608118 139427448 649454470 893289738 111377038 289341018 293150274 657996184 891673800 513934314 768362300 16067248 145527310 440872690 665278960 957376152 178887334 716250448 782498896 67490460 55043888 828669380 189841880 36854670 862190642 575773320 964792686 205476994 437748386 656143454 637303882 170020224 21357244 45811206 516364012 195279474 842984928 661061470 127995178 903469536 121908048 878268776 294526764 758863354 7874892 842158986 319949404 538966546 643521246 323071804 704099212 798483538 895843460 909776238 259222028 982095172 500488120 593049148 34131430 281596836 381164706 172262334 256949686 622952216 488600064 888088024 905947694 807498546 301898660 942248276 307943382 872868126 848588188 313673910 259623516 686637008 147283068 503021890 441899468 56049024 996130478 169031554 194287676 895126510 438429918 481772170 49378456 837299256 517778352 949750510 402655170 1049524 287303580 397091062 753817966 272447526 828596152 129191500 829051582 619282384 992677170 750512536 604924872 371414632 98251458 258896212 349724324 725121694 562767144 912162534 427330046 308465710 498633732 974924570 787811138 187564918 592351578 585407664 750268894 279469436 952109912 277951524 98712282 339395992 786032440 103909468 90519710 166646716 475716324 352969306 120742848 307032578 763392706 767903464 254373592 305114472 146508472 615995286 405733550 316069124 236045084 183356152 964849150 623101418 11157114 852212570 306510856 92703306 637829604 990417644 502802912 752416364 298810902 492952604 566142142 561510046 168343828 497806788 264094388 860170082 12596374 748840812 703126010 591365714 857252144 887704804 48591880 446655456 444571032 966666560 600103428 963505482 452608372 372283406 665703810 84030492 698730788 297734942 440727522 541889400 276713234 979235462 921534218 771016098 255897498 760863832 978199960 819589422 524213044 419555342 309929440 796673220 68558142 885489026 560364158 141524980 603105242 544839816 752766984 788741944 760912286 468276626 211995160 483859238 616396900 67738368 169781316 519497624 323910162 986079222 754596218 239042244 341082638 439669804 202109646 58838726 601795580 303747632 184471248 741800960 729610340 578507932 218266436 388949846 666037000 577008442 777851610 477249218 655581762 969874230 2996368 470205868 882057012 155953894 516334502 738639202 37814796 750140226 734160718 788944282 830482868 682711926 888055170 421301630 52648544 551839484 766367156 948600872 442822006 871368824 726709610 659812694 53397514 723124490 931567930 614119654 969802826 634845180 677446516 673657470 740385332 243356758 136828260 710628930 569913904 448216382 881760320 529282584 64369400 790441960 931413404 635988594 245682412 519077102 803077400 246969252 871637860 823970794 924862392 245823828 193967300 502562970 417366218 706377564 536841578 635026734 265482304 703323604 183735658 382852978 130614050 158005466 260721620 775559550 47512624 374350492 473104180 530058448 54275648 428706192 94424616 760679798 117258892 493307626 989924644 780643556 260233934 985881362 501567448 2975862 723587728 236784538 622661948 580368410 451622860 742100602 118367224 374281478 248385156 572512476 866135516 376470252 226714020 955958570 64343984 994527676 828119876 499483042 321042662 751372044 325181020 129994210 400793098 235448780 624698708 355275122 460963352 741268912 29484498 659297904 374516592 66475634 597852226 622158530 528794188 200893104 635413470 828231008 710211626 827948912 958670168 242359554 731812852 450831132 618907156 47613790 13030670 755834776 66526358 33142724 907929082 503188862 562777568 117738040 975944854 391621914 696523204 194530184 904986180 433682938 107969378 967315918 124939674 793297664 21567590 404659162 284309618 250198480 168387880 291618170 845220664 922602862 162961486 297624342 307478934 356268566 826151662 363918688 773476224 844210700 267983452 191336120 598021400 390364076 402052158 766870046 888070542 481340362 674986776 606783538 222319826 369779272 12380140 895995612 899528102 722736028 180785972 59429324 953963474 213900762 97670848 881539634 3357754 477831888 971170630 543814040 508098782 784673538 292033764 967282828 801292734 876452592 104234758 788584038 305168444 232902100 193290454 840686812 514603654 911782786 890540328 310476238 783740356 631250770 143273694 765085518 401299746 115456632 217379180 131927044 431407482 324623566 43946236 777777570 877009820 113806698 928548622 1696256 737203994 130081794 125404802 479813896 919268942 105911392 289924938 203212842 531138272 499505612 130110634 749894248 201142678 908765276 700212436 686473364 279952738 388260210 279064022 113890920 30332166 754639734 281972776 917255744 987571398 70834318 133172292 572036178 425619590 920453402 405689708 219691958 235414188 995083240 233384490 630220176 489887290 112770618 621178566 463406086 244183718 606988316 963421620 302578818 398194096 572664936 564857598 896232500 336280134 430810132 635967372 612904148 456719176 630820784 578098212 382931252 968109318 361860728 422484840 297769944 171660668 51734724 918414928 252918274 959200224 495474988 158777218 686505340 987030416 88583070 51536030 844110844 814352130 751097344 792054108 735421180 289425438 188833990 673013356 723772350 989029026 288088690 420967506 364197046 805078434 54225168 39918570 803853768 539214328 135600368 507031154 124525312 516135102 938305600 919194688 738832660 242691864 183288746 228545216 200304024 17204126 482775274 890743748 816994466 933731302 517118242 164448442 36038140 522801536 601581430 621459124 174475342 226005820 939979454 334589348 964345328 455339454 30510772 389756662 588879632 16679786 426757942 360397206 889841664 352606536 555402996 559860782 915862116 361060822 180221222 246212676 860382528 812341794 89751074 961686166 731024864 571417058 201758836 966064830 263365986 832284962 401597472 62919060 540699810 315775786 523977172 1458530 822384936 628670024 41939454 763129122 332411290 609349288 939697840 191879480 751912622 784116584 679275828 952651810 891751060 597935156 78909728 813655524 252444342 141142910 263578888 152361768 220454930 284166728 22919344 117558460 157662124 354448246 111419402 533727044 59556128 176957044 656290012 992440916 600038714 912199754 379345256 965801574 673732134 99269826 75001040 305986136 712840442 794097546 23167822 474313632 894751414 431480014 466770104 797768024 15489688 946889662 75080094 314043748 275810354 166908082 153916558 931228612 326887500 704014028 265649512 373406110 511573916 585073792 781381594 645609690 831947688 482843346 763094502 175630860 302728172 256072402 739066416 646422624 882983722 138699352 998498066 191544060 651854910 257543502 454157948 95081002 313961376 241221604 98887018 929379870 268289864 334615446 770948616 710904580 91363050 244599006 681604942 102681618 523198410 495398040 824236516 198269306 423361258 686809764 67555526 339903006 621789758 78484660 425453284 802698982 394619360 432226318 495564078 283895052 494970978 906900714 135045082 54654118 356207490 787820542 706626188 148741980 430547690 712607262 631385502 796618602 755920054 979926182 171150600 742385516 145799826 576778214 186716570 677907362 930287876 24582758 872073958 243466504 166057320 162843204 112344580 214034878 488785732 982584530 234386244 578517890 587864984 348741770 790299364 863297808 827040800 976527352 562128740 28602610 234279610 540174010 296644378 322609184 936700740 421056052 101102632 597076278 155805006 492800500 174088728 426720074 730209876 907934542 338788026 805103168 337401838 665863836 398675000 835886294 981386796 102456120 148721444 699094860 361405450 905056956 150928080 398188796 868958502 548707254 651654414 622670110 910591862 700754154 357294258 665506822 478028842 865912440 8282160 799680672 252216582 913573696 997933990 393982956 388002080 9103432 985195896 704926916 281188198 568041344 625237762 683931172 222857704 615677300 129409010 631253538 966239806 653943810 310094070 952172626 883086642 175373572 763632032 820940404 169761736 802120706 59444122 213077858 53764664 698330876 309118864 303558060 119995818 970207136 851583516 654023676 265287162 535079420 75054980 972602212 98211908 846958046 379197740 610480526 481178878 85322642 636215826 275011242 673184586 314922934 277622788 950284286 503847236 634298780 740433114 186790180 243066300 8629906 317215296 391604274 351322802 443940874 895046868 936080724 469464346 42951998 623857746 80083000 919117328 133953352 794462038 386327446 561251070 398509028 849853056 981881044 552543716 302519216 595111780 5730676 961704076 419684204 460201248 17225312 391256120 431912612 387835568 868107394 684123016 307829610 91369518 658271102 727812806 663607566 934115660 76828026 665775880 426217552 428342282 289916884 79714704 884220728 550745166 377017468 246007038 168530318 673228814 77623910 390038774 827817066 650105696 204812566 183259760 340320826 801361020 97397164 253552332 721641774 93088364 943323016 415177128 31515742 61700718 896931238 694821832 232957560 350262142 533662200 395203530 112253816 902602962 503985316 257597358 78141230 650616622 201549438 701496104 657406100 296485262 222171056 786974158 177728434 872004990 239363286 117317872 18757086 292346302 204320302 194573538 750397492 944913558 808403800 49902084 587191672 828158554 250281472 6372478 398125882 475721446 720943752 489950668 921018808 781236076 909766376 920846774 22526718 134213798 715038424 357346618 106482524 504453460 254048778 884668022 155559878 710070636 613491196 719882818 234409104 79333830 257779728 758137226 384413718 921847738 134570436 986139174 845123750 122577132 544202450 788425650 305135868 778059046 410523656 614096088 191853862 919018968 90221826 121891714 997511330 290946728 292135264 288583924 958900558 152428468 922727214 309616692 954277556 450338864 518251042 451673262 581372634 829288768 414532084 470755260 487843834 854126612 569160462 574528 593736224 985952760 591651526 802248988 650039366 650770404 287261052 174172782 134900474 896723328 431885520 821881816 653826718 76921046 399775096 361770224 438511306 956248192 669490120 775964376 981078694 851895968 388547042 408145770 615188130 328830034 383407446 254400088 568910622 423510678 355359778 183361298 115182550 486433314 711104020 310960464 717235164 912481602 912647740 930356460 590666458 498105526 316580212 934089498 938809036 819301300 937187196 363986630 657523054 22881608 261063132 450504802 159783928 846136720 214234516 344812040 527753618 959386638 933520924 425152990 665347546 248159456 241509938 449706656 81474816 828705172 857129462 423892878 340801438 92798376 260668044 354060704 651267870 811553206 678706066 937453228 357579336 458323326 43298342 361605284 559613664 932355208 991289472 995885406 619313888 8639874 399297916 94922230 712801724 495590088 391608384 889150076 830337336 377706530 274156250 928333712 531473876 627060142 673981854 394954662 745381074 297797786 896149540 255179340 755303878 393205496 547465384 797573720 703711398 642065120 164866072 785497088 637170078 899956220 624440434 119936846 386489094 548180216 821004486 13494138 72427536 675115966 902477986 101644120 564113558 700921248 691885158 262530162 764654080 920097168 268802166 818378188 400307602 180497098 703868116 42902412 70255946 934688448 71680030 431057116 836174016 937790104 892457220 291876550 869942058 866805624 309231404 614418534 32826170 337285636 404100500 861941498 207357272 479220470 35646392 703685044 584880962 451524268 578089548 171926818 656080036 384815728 30553774 639420914 941486570 222379522 665479876 414026032 328591378 13805162 903898716 830226138 264986656 382651684 844253314 152462338 240660666 348775166 877412122 461519698 358691146 958712680 118313494 976038690 434306446 312174444 383776928 678614866 435827622 516976118 292049080 591240922 824141846 129767946 628962478 189902302 32074102 136264222 393287050 708453596 471027798 999020000 229673114 540839252 164910508 686389940 302502020 134979968 680244620 927895260 323871558 352655100 700015090 216053816 74592284 580272276 647179200 53968448 919461792 164158748 161944004 398716414 343245090 613544926 557218298 950832364 607714424 870419572 830518538 163301984 907440654 408989844 846833772 984476598 941126786 528030490 93011116 494960452 66653438 974318422 605170580 377920422 565349782 944166186 375698630 353529578 119096422 411739372 740033220 801106244 895935140 433509370 59369368 391139422 265269394 633468442 512373166 913827734 17105060 78094184 87987784 368054754 564301850 404250776 661754152 60773136 506019926 927999122 436260580 342793026 530546070 286379862 406745808 907977100 282645970 367470256 880180 149977834 791247364 105067948 411399492 822530662 774132046 509984892 863243356 774394138 996983772 461689678 468701804 412853676 684444 627922282 429989110 47469694 866407684 749906970 27016632 306859892 45123046 688211966 107348390 783003538 901834142 788798266 633198670 215466422 286828766 120564508 109751036 811670572 838815836 730547270 27981714 971931720 66522046 731495310 731707222 897164598 440464678 351429608 468855914 937232346 616422006 592659300 37178496 464599262 921793526 168342274 582667644 606974806 720647568 869441246 229032398 793492408 682686358 798171154 487597878 260673102 938002934 150545934 944685880 342951570 217653376 751418926 808372344 945947402 691797344 549528294 979915684 287889960 6562004 806480566 103351214 123296496 594574498 182782004 907322600 636971550 91653476 895081088 463488910 265238708 138500960 579865990 29476730 924720314 715896618 777753598 735972476 714263652 191367706 964571010 177931024 776455878 216372132 518232920 307355730 86879332 658495004 308341800 557193570 40403664 585273882 282819018 697960508 363213698 985534136 246292492 121584050 500033592 894585210 117379602 426500006 491427590 528272908 185102556 649592404 870205956 251058720 854347772 516423318 940339680 715802460 326155960 939577646 52686030 618381774 283018266 836372934 943752420 608200934 111840730 298903522 146703128 290832530 158939476 964312396 604826452 783695642 229676308 790519306 662758628 367174672 996063612 608430554 64114044 445671444 301279564 119371296 669087388 966831330 642061442 780298098 643463134 963770836 280952458 620246112 844624792 677369170 864861740 226567246 15473074 41144432 890429242 232380004 785809718 197424202 29766578 652135366 210330420 479109138 893016628 57404720 13917888 854168562 73450670 798234964 925740002 610918516 790342160 557728282 963333586 267038108 70973694 491710372 680486970 789885172 550189026 366588114 496284910 823401596 286776152 957401404 191577084 98244918 508824112 464599906 678874180 345140316 365212830 941085154 738550636 84859956 671787258 230656234 613782720 893196754 630496618 444418648 54202558 492384358 722457848 539242744 526697198 305297380 616500160 871281488 453538468 376382380 964147432 942944510 827664002 274209340 169402528 312204610 372398190 23455260 91678356 810904004 459032666 416723902 67633872 878262602 961737180 541615384 642404766 833023726 535051208 842639464 28920862 89858098 413206484 329310956 621174766 261237642 888217168 864504254 994057832 25382850 758800868 732886644 345155532 439479762 667687572 774051964 674882712 653895908 96237808 489874830 820202356 960825998 135812660 984457408 211382270 636040096 899789352 738451868 763125792 109219086 620549380 797018770 559998324 192705256 214257592 939089964 419274896 318221712 418343028 969030214 355667208 604401876 412057582 609050808 642392698 175520144 604378306 479555376 823753416 10254428 896574336 697895722 161008312 615752510 294350300 779208468 619920640 508844920 214353656 90718364 26021016 649575222 383715292 942989234 137192608 975731656 283633276 735527520 840027226 934765424 945884890 393726258 758879588 798275326 812492030 184928830 358948988 879405004 214940202 845100296 660368394 139104424 25428148 451461802 37939704 987966894 818567614 316713986 960655222 752273734 902967386 554310912 266055266 158539446 667427088 926475178 309347264 255879362 392266692 874108792 844102422 80023772 517162398 694834452 551895026 567125992 201940802 27391490 320339524 299977384 989244478 260899266 190396230 758305754 356731156 710054654 815249646 15159860 329232614 778312304 300297184 11693116 752714092 657375732 551904248 646515278 347053976 381977934 482186076 43751078 83422856 136261884 339895308 865011512 353035300 431915346 116460118 474490670 476453558 478223940 943446232 175896934 66758288 252255260 708547842 940008242 511110636 684610478 269903312 94128104 262416288 472828014 462655458 369798406 152584946 856758348 771391082 568834792 522339330 937609964 220674024 787685144 504655544 54964526 661108638 159198704 640815460 689820970 617183060 540654548 609945478 708830618 470467174 959108912 716618216 82197716 369783222 193535992 138655066 102430288 449672650 569255446 783414968 33268194 757314644 963730052 568885992 550048840 270063094 276371758 494422184 323596208 606612442 442284582 49061572 794549336 296733444 740025870 892716274 90083924 702751058 837036424 441911406 303671924 939187322 733516962 145127748 179156574 76304432 234850126 716722570 140791472 26929074 694626882 529898608 564837102 754045848 179738604 417157016 936197654 522396274 110739640 80709984 526508292 762549596 618390770 108335576 690834562 721818616 839514752 836637818 1698130 888954322 758235060 328909766 633027208 228412116 809223036 407647944 642819102 513613346 260042844 788932440 967922474 444397838 137395694 823920132 387792684 737514074 160416612 296058124 163655732 480618420 451391968 661884864 200040810 448218578 706398104 959690386 521336872 748054960 822066658 780584932 925038386 698544024 366560390 732749660 324453064 381424052 875854996 680945908 893353548 982719046 396742110 883869260 556302602 5407554 795469260 640801244 227141634 959645292 966600570 969173034 134110750 840306882 663714182 104274910 131021724 106491652 635820134 308373494 836957734 567177094 242105702 905455136 224684910 568394030 578311934 262382322 1837358 866142480 63751510 80984186 442903100 30588818 24057950 104582342 870450874 181949904 921479894 520960812 308681728 526151020 426777380 379440042 167899168 733480200 703295544 98708026 671940422 512509800 518554034 593299372 210444414 505060260 526335820 495455800 805190454 623067800 980026844 88771616 906057636 490879516 992177076 18359234 114502354 315118610 346392844 979399024 941091116 847847374 767154038 619796734 969502818 923449842 803152952 887632640 509655460 189534992 211127136 587049880 70863268 212138584 697616428 520919378 664271598 635398992 678198186 495945250 240551840 224606380 490620584 929905920 559278500 671052438 883198586 340972242 704270812 62267446 921832394 597584382 164919200 867065378 919915394 961688878 203680976 602333136 917707092 512528026 842430086 718453174 470475638 94505164 987635602 793795366 561630522 737145124 991765090 360487336 506288502 465691510 142972746 272326996 765204862 702417410 460366666 173716962 427666418 134390018 206881958 40912298 733883004 142096450 409437232 460880892 914491056 364797342 551521842 259220476 363838438 680420216 5971022 306887856 765624530 522446584 509927164 90156380 10179926 34243012 265979508 584162996 795759358 564436646 448358678 408342526 824465276 346382574 806067906 737465452 456262540 691199198 933690434 690913160 596872882 547289718 933324534 646994470 523646324 627174552 381711600 268531304 303933952 502781020 456056114 712200846 358405706 844913212 673892746 996144220 200404940 336627736 564334734 757438566 273778296 257395454 701405830 876625598 153526406 586825906 394866480 218379022 66346904 636248556 76187770 106614514 243159640 138876884 473707944 997106440 954682866 857170260 914561250 560427560 123842328 575829372 24455002 655397714 300780392 806754248 631511680 209929378 273221674 747545462 602577242 9765300 570391824 614012028 249088694 555211460 754813262 19385716 512561376 62819598 839165790 314715162 677023398 274794812 842603658 4556588 173085390 418203474 904008684 712235300 449371964 345032944 673271936 188207500 154617904 801879110 185633258 151088448 969627480 588160676 516536338 977695770 360543396 8242496 677138904 302212108 348244394 229786118 643563370 97555336 686925630 12647510 129003568 397396876 754819844 994422562 747601120 13371460 440858698 993224792 871854060 481566512 683672406 735549674 260344830 929940512 514531390 320666860 546923250 43477374 550311950 597797108 225465278 512810530 619925510 861049796 28810668 533973814 200942898 970157712 782470402 712088286 295124138 764435392 602594526 799739614 71478768 397536104 466397100 495434128 323085620 100335382 45618878 936596920 951324632 378376458 729689356 948074832 175527616 935140088 588725896 906299372 145868928 995635744 130602454 728405712 289270246 206582022 727409048 864240846 389046710 61670120 585842844 901591072 984574256 510286482 846332688 462540378 98878720 706694342 699966206 748201270 526317970 889395102 776893908 595874574 9290306 545264170 619299496 717943112 613453668 655577926 885565102 861070658 693722442 854608246 199265974 937048504 51629092 132351376 345164156 496502408 170446360 566002190 317004674 157957832 896779416 787658268 79000270 518734584 573548918 1522640 780176666 14286638 199783750 8730408 429951106 827500696 420164834 307500128 898546878 301167354 358613680 27328728 581078322 983625206 196473664 592306692 120645130 404235984 516240160 1163032 681547936 346759590 308215566 811846848 114497780 141421794 18204938 191403436 644905120 69640448 818646770 886250166 254925198 288500006 7187538 436883218 711658734 55034998 67067050 5366098 285251496 932595970 117833870 858894118 351307600 443576968 314775682 30043146 870298134 430519248 716978554 45135958 305426256 717490324 318884474 591513248 255481746 415713152 221877714 857302458 469931844 946139562 149431544 951302960 802163364 764699128 992566572 843091600 309433342 712827670 310435822 121557648 347890818 28452880 878244386 717858278 44099238 865196266 287048306 186720662 780775128 422751642 783987986 132904956 636370038 144795544 141383434 886260682 495806394 338521100 686152864 182751130 905771096 274382972 559438984 164776814 990443012 829250512 169363070 204312400 984406094 588019596 776890240 53501034 98734974 472509652 869132978 757845134 958358932 720913948 92629620 225914480 570966908 881527656 490093394 986339164 789666210 646828824 600042486 212100862 260748870 825226846 647143740 56251210 137424490 37444668 557772180 189018136 140250970 475118300 765676574 189547658 60174650 626674220 485357128 657703226 54375478 938104752 495088122 924694008 143370856 249369322 20398898 795903290 769913750 439668088 538848362 978413226 855061950 64097970 229558610 518448418 673893954 197685262 273422246 231194010 703136448 456699800 679865610 739333778 722992822 378415078 524166580 961195132 472195148 718606220 28432728 976200496 612040218 384854020 84636464 518363604 643195758 903699908 619295888 713791190 524604550 279382164 262241810 279940978 864181332 836761762 939616214 628024486 572460586 978627024 990819568 134545132 487375056 160976676 193452996 277874214 619017052 10215822 236474588 114452306 929558720 356991186 266693022 381583580 388280604 400327734 764412430 576612180 229901200 21829332 848231762 4774034 462426188 960214368 351573868 920405860 731866886 149592420 512879030 644445748 825351866 321728296 552465664 837115260 538850918 304975700 790981320 69484488 176518210 761070964 422522988 565944826 278253620 543506028 773014662 908850794 91119868 909393396 933825156 772210274 626207852 257193178 230323368 540393090 301529564 378178932 698080804 507065352 469262334 152100798 388412326 49953452 587908270 636884170 615537936 691022268 583447830 836710612 574321042 976554514 165192164 70384234 700537842 61313332 272534170 454491270 689190626 34142170 297380762 906300352 875684902 614970890 629127276 110838058 389023810 494419406 105780468 77944754 993997892 674094956 146905954 439391520 977440884 505503976 918044668 371370226 934290386 830923072 105200876 747834382 137587684 903183624 641894090 709043128 361235194 813987880 571891860 469081118 584775192 401188008 767662324 925179816 496507126 236983860 354360034 357688810 57344528 566583416 246217480 973127144 334341596 51546642 857959306 923290286 657309566 71487492 870792152 485915868 607732972 304631178 802347526 733581940 672163776 311288476 213392008 739668064 13908324 58643074 942147524 98324990 103161266 527964276 592052576 230157140 2935790 651525586 351286884 148924320 978182958 416707498 533013200 842800630 15405530 850587724 365336494 881381810 501765306 139141548 649584060 12222312 842937500 311389280 275804244 499975658 315157598 368774552 805829504 417752630 9319994 683419870 2568412 171434990 826977964 179955344 893418878 47009096 47654160 433180842 467970616 392376430 472810110 958420378 161462208 882661998 965320004 95418548 793056338 463940022 669513160 943117332 679046002 114511884 172047904 700871812 121020476 559862944 912250570 33826896 951325042 301112826 941361450 607970134 203316816 170514198 724640890 337674636 966568024 156788928 4389294 211407350 696364654 352249104 821248412 354649158 589900370 589856698 919850320 125421322 865670944 905271352 496601436 777875048 596070510 471635450 248349188 533661066 585786148 7066696 808984448 913327954 175944446 337449146 409441338 963932702 26406872 499894154 792106156 80959906 413353784 557206866 78965814 804497294 934253816 183446816 578811322 213044486 327575384 88404372 846403682 511113730 478722186 250100580 930846026 212163148 778540752 731123212 297932532 679122888 61410526 253449362 736598372 292362706 457522836 874922686 858131314 503647026 765720084 288392044 953260384 574057752 477176130 244770958 14033630 658356314 352506706 504812530 761142032 995412704 409053300 61987502 306249324 935694042 241029136 356469730 3611830 785463900 996908524 498790638 231728350 588515088 994571626 824815184 607774714 740688528 624377674 681826376 938136158 171036786 65948774 524647276 646889122 4704502 546473802 416045988 15793836 537636540 768702852 181216148 382302658 430545176 776482332 469784498 128379446 258100858 716075228 424690826 847619068 406800516 449178614 145975078 360130612 511372896 319521572 321617846 268475210 609185292 420629174 297241674 979648342 722955830 761585104 275996660 551656284 887268788 725972322 157203032 989687510 878747658 323483404 274094808 8197982 373302214 762645964 240415606 149031664 80688092 152811488 631859788 416484780 790317414 237076230 665140760 509488580 637002380 120081970 552849324 662071812 248011640 716397552 386018548 654083038 688385384 628496838 777942690 793676288 69723274 331529980 972253726 563316876 233229906 683539562 435227740 720199938 98640706 91736514 393382718 894196506 525208968 872055868 617034836 495976512 191490040 462682784 470562824 92010906 404967206 991280528 171866136 761322780 444081538 518337844 166282778 400980450 410585896 367928550 723013526 2656770 596052714 636796406 257873604 46069624 934635258 983016470 616339862 280257774 794990924 693571506 993880566 464152068 458316464 286466192 712237600 550731378 275106278 631940634 387933214 419690450 526270296 52438324 174475296 923113284 452798738 455901614 459463108 407798878 960425950 557604438 78354718 8438232 153960190 1767516 907903012 267712194 881397092 515469148 909893010 844668518 235002524 772258110 423436650 492035966 440863902 806889290 50329228 775096180 752603102 551761804 114964114 445139086 146734440 50035064 311116984 70285506 301532408 550935072 648759638 784869084 810149120 451401672 390059100 816140684 893500840 779655456 711903782 991853838 144737840 350968908 261054242 172961484 764754676 984606584 931209644 973594382 782182746 906108288 993444578 419896650 475785518 36391590 629705820 829846404 89733556 616462456 821699308 22533488 122116498 74419750 750922772 229223254 562374994 998344028 646626832 784847444 857224192 684286296 211608126 478475430 683647806 652850940 58633042 348221346 748764538 929600626 102062428 458314904 276750906 224718816 451406666 955255956 953851462 41266070 346781286 47117646 578838802 598627010 34202800 61817430 320324450 394972724 804444842 567934368 413327692 971344580 923375886 131618892 121011422 96294830 55700958 726170874 46894130 382640138 498051718 530038956 705719610 919110144 861700230 887822120 8616522 398127488 715767592 353589598 155263134 272596514 240138262 316331498 335537650 669889208 323158714 677782580 311881346 151551392 279325692 259639832 658193344 556476086 675625310 719768726 465738310 197961390 900043140 859265360 671381586 349110050 957556370 735901916 799938432 666888658 685972330 513039966 965076616 219307694 721343414 203877722 20313248 777744528 183611718 278248742 433786942 88389534 625163532 126620928 224993660 750861832 945314486 47765274 555767428 152644356 183578662 430970768 805188256 682919446 154955308 339387660 553492446 84431350 740583562 160234232 612905844 464892802 621480126 43779550 786315266 829995168 717949748 644152088 986931888 789461296 567415352 111503980 198204924 276224596 313683286 797093798 923437140 145468114 393653690 135072798 456509920 316138430 441994488 831129492 851162620 548817858 620387904 385351442 757985598 331871330 868589288 940316956 99584702 43502376 887380336 458694972 843933264 468919740 948554636 558858408 755200754 620631594 761109706 51890810 349887946 404456540 863768148 534738730 650113040 508705168 986316922 626346466 289890308 770842272 214662222 671715898 124775722 147109058 342505500 522714220 505954420 522617514 648005086 760309638 713136944 190668312 531795994 251066412 510536094 682658730 906490114 118841816 828629916 359896882 927526780 666970964 62719918 608092076 884974202 244640860 867902078 2047584 730938768 295239852 813338440 589533730 108400526 505040356 858313976 368212816 937664588 49526962 870147734 857870420 590244572 702938888 933606038 798554556 625918940 563637348 836844774 308523544 632114834 296767248 864148016 257460774 571506086 546582156 205968208 75842528 818841082 603953376 510719170 265694592 199383528 410545706 579639734 557282050 22128660 727560820 526480710 134132896 951070618 835747038 240229986 803231052 864587216 719518898 436412396 245937248 47598386 469254680 759632418 218468108 121319692 909177644 568658826 431452644 24749914 318091930 715973248 951232704 811602376 33053930 995590032 233901120 303801862 954789300 758256730 153219786 247346020 675205864 638370870 958829170 125970200 462596424 256944964 936138830 174410540 510215168 820562856 896592366 997646914 726309668 597185090 347843742 446779892 844838598 99629118 975574692 51438966 585249502 60294036 597771534 161809256 234748466 929639598 139230724 555280142 161328388 69961248 933598150 491668182 828988236 431021166 872651468 321573610 129181166 88860176 253837256 14734734 888952456 371539394 479330230 869196978 347037732 555325378 829715174 993143980 371849746 154348938 95188772 252091566 783228256 528401664 261218182 789528080 990017080 260357464 748692552 388151330 24210196 665035500 713085984 191938744 322757972 242672828 925832124 282225786 544089518 298639730 64586184 151765442 961765526 565865032 926463720 809875190 141837122 229425874 593892164 137551392 151263168 798148758 695013628 85797282 753280470 112442844 775487166 727738398 859523198 202041942 617848296 486535158 212573718 590959290 952283762 937090210 378741386 19899914 347574656 491625908 452615142 369642734 995446514 634772288 246040994 636559434 626665226 246890302 154151744 849567452 571230306 719476314 884275380 82526874 614084904 278534800 780013740 585301138 643626478 957821584 972806792 45984920 906143236 512161776 521533182 957686868 897342184 778891152 907885468 712623866 479269546 740377366 521802620 203811156 363542658 371826904 465283868 338570130 186626716 550174616 582092142 852537546 5586928 102735482 617109402 294172460 255132744 661077672 970706562 451345274 686843104 907511448 593698696 369846192 604531996 194163170 62644802 337443292 35367020 56225910 874828138 145438912 58666524 370614894 233961712 530050440 780334438 683653802 690111212 10061402 199094626 204286146 923564694 478080300 728106682 59856076 943284306 40037942 19068862 954614508 57929916 6926502 347030744 843554428 418452370 538697578 969319338 703710966 453924962 741485492 392155110 905368800 626366074 250321280 14901514 928738514 635617988 969716234 516326956 655724854 462088014 225867130 292189628 76954558 433041588 770618068 436414376 174164114 687893576 795033008 289643934 51483186 816355326 194931650 407874104 875920832 991958100 909938604 923102546 471931300 885233372 206320454 180302926 79805178 462775388 512419294 925985522 901686084 790292580 903606590 881698932 547097978 603557542 843309768 114261722 612735114 51963762 530781346 758362230 216826 743583612 881400468 166021662 333846084 876116976 542290840 188076120 100611018 422492772 483540724 560690962 27299672 227295182 252610450 700253146 283001118 218227436 591076174 618492448 198444588 751096376 566023846 185405828 903668862 543098256 17756312 282242886 673925374 104353636 192046678 178036892 663324150 338214074 970541962 967385996 969894216 315030324 867424386 450978046 930841996 381316064 549791454 271889930 809097140 333832912 169116278 431231672 742558368 738008190 2368920 63688496 173398408 750550528 624107142 354650936 767482596 222133350 281200338 603834898 456060684 400534656 498296058 643572994 566141364 109679138 836656310 189158752 705749306 858173848 314529706 523030028 708892546 810867608 727852192 679237544 730834686 157141190 285180664 890613830 983718550 309733944 325607062 907235204 165304154 256270674 678084990 657239720 425788300 974881292 143293942 163466888 872313252 553347748 590993174 938082600 841084440 301489076 84302742 402202284 497560588 467742972 91697334 133426392 67958912 676603122 389858804 971326910 100915922 620495452 760932148 510135138 804936930 171239794 263173860 770925596 28993518 309987542 998141256 991981582 973536580 520733308 378374144 919691506 633386934 461267134 989017742 855651572 397003276 677380146 754933074 211401818 309959500 211468528 744040576 953382134 267935444 756187646 951427390 423924892 949312656 597631794 125405632 348151354 998694948 143416368 467628794 249332158 422400130 201740944 993998622 490732440 720259612 477912862 211970776 120211830 134572974 258325740 696083522 565716378 3212030 543579570 778390506 341289956 92425002 990659510 655062740 168621060 603138616 191804608 646846762 739846984 902359328 717264842 314506306 90932852 419081346 822718154 814181034 384859594 140829324 433692020 495850874 301951914 68532680 798681598 421411054 969262292 416843058 137311602 515881394 464179082 985070494 619641066 763769650 848670924 294807970 595043374 528231154 27298836 360785332 224563444 223096974 960483614 941245744 553105928 263915820 87128190 582292934 130326258 980031878 631629746 280995330 721292592 50629760 609363916 813063794 982817860 349010864 623923646 685520044 345561576 376317582 29429538 49243114 260236906 946164692 952109204 637346108 470395220 679900030 366038896 566703576 944241780 785026586 608241906 691335560 895325916 857142836 408615944 240476372 728300284 999736052 337086952 248899624 408843182 31714642 885136696 958087768 28000584 932694544 832928744 574229892 422681796 879895500 719328668 556380456 174699378 137740816 242189082 466560914 786212570 948513762 998228060 950363336 488544048 178178978 808610314 573160540 820261642 393345584 573192094 975676316 461534586 982732980 148711422 199932578 108559228 505476110 463037060 25102394 167425536 993156672 564592472 928625582 549527200 991567120 500255310 227576510 633342902 207537396 363897116 77672254 732211684 776991448 402357770 133415722 523061060 721991218 862323626 866001504 55980020 680394598 570564840 666470674 600593538 10882636 41784886 40199214 609868466 343350336 710614350 696945898 618568214 3616570 474394906 892834530 217739176 597761400 621683774 744025532 90810272 100430264 345683436 851039700 270038242 295246804 114194422 833566624 72143630 958911432 488323274 71514888 663670888 719515484 797674262 213241784 954598446 998331098 357718938 846963000 393393542 702163062 185736672 888784358 186799144 806703316 846781370 406106766 763052964 648659316 395084700 280162720 920677926 312476240 393238650 938774202 787137382 203045612 626242876 132601888 836556810 946863170 468001108 34193252 114041438 647057600 128461488 500644964 252251684 111090196 454518378 286589614 178146244 756807658 889770930 435963494 354227372 195694476 733676274 350329832 449359362 390246920 14370924 122978918 613266882 734464844 699189260 791586960 210567544 115484888 648009830 305052606 329306334 499424224 421214742 824941656 446665272 349152014 112731534 602929900 873233336 210285030 664113482 80859030 916144246 891399426 946162826 325207444 466697774 422956730 290878632 882277672 177422670 986640576 867853372 582463600 67419554 432215648 330975876 82149886 936934960 195996316 637082318 221731230 491379870 638502382 709302648 265050950 317801676 822192148 797578474 329791184 18687024 712468134 626859254 519594524 457823152 322069236 487325848 415233638 712750112 362472634 267667768 691009950 627915932 644933486 990301918 40642818 599794880 354035106 202853952 828431700 926549650 265076622 221696418 628632624 362722460 805939090 245956544 855642436 537047008 406001508 84365704 157719182 52209004 964976170 806039232 742646896 57685720 873593768 313563422 201006616 817460936 24833878 218115230 378083190 62730170 268190030 971388504 162787082 52317284 588970144 483721820 466258512 999650988 117326920 111212018 997486548 908516096 511524346 676884882 330216326 799189870 948975180 671046786 266912030 293031648 827501696 842022578 986886312 684434122 146255484 786510514 628454192 260245384 958610780 900777108 728326068 785483706 803935860 392278066 481014378 579922186 98694692 969956314 233515186 733130572 191542522 738137188 221276718 155006180 783443102 642431022 68918432 716695816 212470200 906489064 863034062 898984922 927138122 483385894 545983036 149316870 603665082 121764746 621972490 10379456 90226962 978973454 640398744 497909014 265537252 992842972 737405014 990565848 477835984 732667474 646218698 401478016 659920836 435750098 840001642 923773744 616763112 441474826 324113272 571220352 836419998 901923194 352316640 78391814 478794224 26838236 789567782 960327368 803366870 674829484 868472988 420504356 581262518 183731818 94709272 63220894 109266342 14152684 461052000 515406994 345780510 240680156 5709164 213584422 527874398 150692112 575982328 11336258 428339982 798801446 893422088 631075442 201752414 560677302 693985670 235989056 198064548 416887674 833258816 893379308 973628722 163760168 555425888 685500362 701091774 753201360 575618330 458406590 225011374 25607574 153058502 335238484 797902036 204637912 163892880 325766914 707768834 534821798 903891610 710787566 645587804 969737430 9987204 194590106 514805870 696179150 823122522 318823478 38553894 220915308 915196050 815836106 610338476 819012520 608746896 332478380 778871694 305842780 444962384 415188288 321988514 695057860 190563576 780392176 825942702 375687116 8681566 21692556 978453106 600928450 831727956 600991134 624141262 478944354 107517384 810797710 895484902 489319566 525135306 955620114 727445406 18595464 388855586 479235892 676491600 419667046 952884358 980418716 751298218 402832060 896729502 521513320 382209124 330955668 693681566 800291022 606935716 547698272 352225044 510676630 966990146 617152998 247201250 484838004 398931598 602357246 311227326 623561508 941726536 229152272 119485060 52532568 329508448 339434784 401858734 132282632 203546234 989437510 189440546 503187282 119053332 283061552 578926514 570669060 930067756 323404612 183861752 255361280 74880504 669236338 501534472 986710854 730884770 973239856 128429814 158782188 812387042 7105072 361000458 19891188 70187716 649945584 687342870 721972788 802324530 192475224 281288070 912152286 846190628 865658500 863811396 181675868 654772776 936576236 184057740 441223538 770791210 653548794 251300672 320787714 663505144 997076086 151173678 564950522 636753242 888535994 219395530 550625690 721442472 356438806 336983232 458306504 595889632 406245094 597198632 12362362 78151052 778095612 947443256 692138766 321392868 386647340 148266472 268237160 188270486 703479920 757122010 3311874 240368666 343268968 640931048 552688296 601877048 750144798 511053920 533987882 418455928 451559408 334742148 458384790 415493482 574443550 747147224 994748146 838250338 982296082 324817476 509986912 254950130 33184584 730974286 824051950 945604416 596494554 862922590 351457310 908899544 171960950 560645848 428300120 531570674 789160968 69034226 962800092 356400484 936062238 385547070 520170758 470290908 130565074 987268150 753871936 108387826 210029912 680512720 792883296 400256130 469965078 141153864 485365406 338171740 329566170 804201182 766408004 501439112 55415442 176387666 646620434 953343528 479111370 671850190 882439408 560295090 938261356 570094372 889314800 457388332 614675818 566333564 349468394 780043018 446822368 835101824 299066556 917738942 517318234 517408466 983273734 289964092 390300392 362031252 205934850 155718086 264838830 785614956 545991072 141167770 382235192 512662006 237491540 868188846 303053956 251196342 625991464 673076290 321260954 271730542 780300994 717416054 474746550 850448106 380918740 794548186 452417966 642408888 309908322 411703008 878603516 804536838 866634626 916785640 45918354 632543404 757538180 351674708 920066536 348701838 434589782 259949790 147830490 100530552 371239674 868646746 144103526 249437120 570787874 557205458 974188544 142969688 520473346 347063158 104036810 248799746 982274682 104982418 796034750 42531668 505228838 891151324 40763100 653457424 295046396 945257984 500681262 797337778 708200842 240207364 453184704 662044930 517765468 239116382 466160834 777403106 439355564 40260374 698384194 963238548 502345244 45018986 21972592 236123684 633326830 500242514 982614320 50085874 468855864 163226028 821358438 468027616 700470338 802446460 318765930 365798160 87845790 837487934 760860986 562319164 179472684 821044946 769121368 414766444 724774502 69548158 953507016 740327584 535534014 643495080 501093842 325613008 249110890 146424470 501251802 919884394 983114312 624596660 553412844 571284652 778721952 138375276 446434664 558528704 474473216 473454370 439578760 619106628 274648924 22887448 772380788 939397746 889600804 332611452 906852696 765567906 403889126 676246396 610766098 137197970 173632306 690653848 589291054 226886088 161255356 638462874 924278990 969906616 612783660 375212132 619048932 206099094 407065834 244792998 14315540 125636972 842096846 147508186 197421172 355020448 200050114 354849528 185360922 730688230 997039990 116798760 148164712 861327796 600079832 25948740 430088004 195069864 82301368 412772918 691319856 26679338 21146768 569551340 391485286 450811296 375970536 611829934 600898422 460431270 265714744 219223974 36321866 321941162 484460516 547613758 808704276 99119484 29604156 58934168 116705632 648376486 156460050 630126270 106621788 970469634 705092858 609817872 358166574 374821872 762732814 945837708 73924536 98520686 734775662 559291696 312917472 363940002 395539226 880742682 517201216 343000934 431101618 618176436 202901064 779228888 439128140 123629684 637270546 486993094 102285208 538542146 980445630 665501702 414947888 571472920 928335720 738600386 866455592 121333984 913616684 433631810 200200090 85338126 571462998 916291870 64724810 166618406 621769306 549015986 960628640 383429924 902057188 8318238 420384248 93416426 877035374 183110010 514677062 105440336 974867820 560246600 379589518 960997840 401619162 997634192 402015772 794947598 556344784 189971568 977634654 921419566 716354146 101681856 68619672 209233256 5392318 987152452 499098552 825993922 88118166 494203996 347296270 526346116 919625842 309607678 741983510 890970318 841556612 900196274 141094138 567901972 225000732 121345880 370365026 54576462 836076140 694594256 30464262 279503758 119898578 781496644 735949436 233603798 907539726 425471080 231553892 256150250 64281978 764670632 2056528 684595542 231691452 623990958 250713184 448821446 914737202 906631816 511783132 760328132 58191494 230521210 715869772 990860360 266202758 794968990 623688414 701139464 370286888 743025672 537190364 72478938 995122120 963477632 150586040 936122688 904696558 71363740 170415708 619773850 627104172 152024034 40860422 220452726 502186268 606589140 713014518 783388132 910675670 44352748 277638428 240813760 686752948 707744390 281661334 249340232 706456392 14465788 68218784 537822646 646099096 136070784 127170904 419420746 433143440 227069888 223208500 445891242 225166960 320487844 658788116 168725666 895195032 667078500 13620232 152296630 492216782 365752340 702600614 587194034 212482570 720313274 795787426 527013932 416556186 533805230 797630528 441293998 880174146 870577236 90550642 896575506 860073614 524198232 840954060 510193288 359892376 349044600 539062746 744674486 748074396 391941286 363945530 481034290 603566526 862498854 215273544 322750632 100070028 188652000 577136510 251529046 617664262 377530468 247861144 5002482 492162610 874668622 814742130 599048838 352472734 492490496 10662454 903192678 409499060 265220188 240323130 613261806 624831896 128061348 632207666 680261562 513350622 698555692 604263218 692791918 405399614 582835014 837702522 829729474 67534672 564376796 805187368 913288894 668402826 694574514 74174258 701151288 77558956 724701946 227735476 50110462 411987384 286965794 445251428 936803092 721088880 963141708 569729620 240511058 870741700 892389836 251737660 821414138 203195746 279986978 878659924 364239482 703959866 165177130 262104612 839644978 58982848 465125346 350315850 561934658 482867898 399357966 710685190 208762092 196717220 505279574 287825886 290915524 309508882 951006478 381763234 937345790 620347562 426170638 318967358 454846574 662137774 878808718 117421256 70232720 239192374 514412888 454878638 876677472 376587270 981807412 103467798 788789988 324282536 217468878 563940206 521525270 577704106 67861160 55995754 555589402 193969056 880613690 490771050 669838902 220420754 923618210 508963722 527072450 153715092 863392406 808046940 473653578 36997944 828189208 960186146 166597136 99366388 338991264 81163098 699969898 666169312 403522554 406162122 332638970 782338048 956860534 793075200 938583348 692790308 365550742 855125382 505680678 29845482 455231942 186059668 769884650 156360924 473235646 642060510 441012842 451672492 16096530 59010596 717626912 428831018 243498204 286404378 166531944 248850298 389186854 760960412 642348970 319654842 57303758 839709018 413231030 508591854 516461932 897981834 575903882 635478830 659683266 905645516 856622470 333750584 377175976 98686770 460078282 548262628 752208266 947578196 87117906 469306298 130807862 88959022 444899074 582599438 961536158 409730806 771236348 664804458 166537930 319585384 677184538 345526230 984978306 344024624 390704426 200055292 658008900 92469150 204224806 491574322 846199654 35847096 739015894 324592864 311543558 688488360 971110946 460874946 932773280 949767976 551189892 801451828 787754220 82631162 830539250 529480064 202495820 57270878 197951106 863859602 26689040 964196858 197247452 709484754 161754898 873443352 235763206 912664414 557125272 946365990 801058476 853157198 339331128 766808606 659680848 613604918 166676750 704679808 521196398 693075620 461068488 479418390 34035788 45955346 946560328 514208414 545895752 425978674 7699182 572641732 669199822 381169772 700343440 192636622 233980494 100569362 961931964 664658888 564432516 184720092 913292922 115938388 37047486 505424772 326122940 669959894 474156122 396851354 916409982 588964810 128755910 104369964 129359808 956329410 745003010 960991874 844700250 411901716 469710032 392595882 407957960 901536252 110339264 665947882 724124312 410285310 139391006 631300686 348363710 380072604 374591544 550016348 926810966 901438898 983734682 139336730 534490694 981187932 618419404 435552974 926933364 512801892 716231494 756884072 768737154 947715644 797160490 473047584 880885988 953566544 83131248 368411558 652866178 428493124 619142798 385108090 351934740 433294566 787757960 174076582 327427892 939187986 319571590 593389638 44568702 821500538 178529118 338637238 902268148 210348602 215388306 560370886 130132612 668534982 304261048 44430630 398150110 777655778 133597432 649909730 406313396 746759922 534016098 74834350 243065752 148882716 42455020 645776726 738058872 666802414 46986244 260843210 497959544 368017494 973556120 18924756 610029430 186156040 806286842 218327706 367015318 930783036 361425980 17437796 238473986 955568042 646452650 996807434 936761640 539335518 925261068 507028022 487155092 700419894 242481722 709974728 960012016 488113256 516343932 741763128 940529242 59911188 201863320 118725654 572015654 321378688 986377108 532187508 293623260 550920026 395891848 487955560 680078462 851586434 37503008 236185280 403166262 280726170 313675284 667634560 311303394 917129324 18715246 491537068 700265018 274253416 8979876 943063630 830348486 322322648 726791470 768572078 242416758 856273624 394744418 844253460 480980420 537705640 136282806 750313212 597718734 28359072 826426302 425979694 830107154 309037406 606241342 206044222 922201092 463301910 706135460 780827420 376873784 128858544 46902438 599809968 211635458 918598636 602285942 975116548 813497820 755904260 74637330 734071720 109329720 555623410 298663200 85805436 293019350 444435088 351317088 38371064 714644904 477120642 984165056 938600572 60829240 961564450 254037274 496220042 876763168 430303806 712132624 548157152 443005244 8738446 482306870 251888328 716529838 332459366 233864164 500589096 169549352 736592016 824875032 664567462 631015574 245649312 718228328 829521594 909389862 136955560 599197966 26951124 180863058 206004678 630557054 218161600 897878468 746026306 343093196 187470708 1575906 268608864 108449370 923222196 981830038 162268632 14863692 687778202 989656570 537076306 124104846 443159696 668893832 661763534 201027036 430488114 603943538 995342910 655235644 893232166 643908758 420540122 942043944 60215104 377615068 193661652 963024582 861536684 355085262 351128842 689141262 670332378 159006292 347548394 96117184 197459064 327464114 608445570 914804318 626569932 226720666 77081948 919226086 266383058 67317490 601023702 43379340 255972562 335009474 961135226 157324776 668595204 682514032 771731628 408688638 487745840 134497422 775100250 182179776 508289814 340700622 691561244 604376884 17631904 424136812 483038866 426836160 629322280 44092300 116886930 881698486 915266004 510923604 995198646 895991782 718119432 39572294 639548584 765167742 408461024 436458838 389836890 736777158 621578198 29023394 952646186 989849666 579543028 501986116 455778720 394798406 413486316 98341710 464502940 473269396 416421432 716987708 77731628 318137026 943515966 388603398 707125866 157445574 821609832 663453508 312135896 418199788 160845928 84193240 569707914 559066700 458427716 329410596 744432610 828765088 681409876 958143460 285644598 581012010 313706018 76852270 836955268 799546164 684433594 222808228 439431916 955706924 435378332 47800292 879537026 700112596 471206284 262057372 334733276 6931642 355938248 701338432 841077026 432663572 873257304 283752028 855012718 563913898 554448062 82554504 878244008 36833132 901273178 66340852 323005380 817385528 179451160 581441826 769860024 353203666 600960480 813952248 135527318 751322854 136587794 104900904 375816062 185949354 638512468 308123330 256611162 839667342 686999932 310634214 952558258 419439728 643536542 551848890 572175764 702814090 134677130 911216360 336134630 148318724 880020140 262094336 195768928 62656610 923114224 537505128 693475522 425431624 705635770 831991238 962277678 61412004 726526952 570552984 260640852 35187138 922391420 649820484 263275150 657681886 58201184 734000992 847566990 905373534 433058764 204850468 549885804 400211884 967262006 981198272 405683136 618676318 749840228 924556384 300974406 364841390 805007486 418431292 454909934 241352328 566876024 960114250 905530088 478340720 672306130 882137634 912076302 50078018 409113534 573432076 818410340 172702282 236187408 222139270 225641662 872354098 905958872 419419990 852840382 305923222 855267630 786948212 179545574 988316810 78025406 51338804 988490556 311036478 223016426 20218914 369019134 284366830 862611502 727234066 637429294 877186282 960151462 668317416 778444512 944452706 116438316 284904188 749181472 308832918 459851952 482725876 959388850 236002884 248275006 878427852 633444338 315067034 334914614 501560546 950897070 310052118 438020466 130098534 103240404 937403870 681797124 530036476 273434754 988590432 790208138 462600720 11857142 936761982 939769588 826181036 756733294 103984570 19619142 817403212 785113638 672920640 226904248 791769442 657470582 4074850 958965394 707021966 558379092 712902654 492483446 526168240 983946510 23962244 74439322 281864642 75544816 206619370 23871474 316488958 609938054 946330740 117370392 580858986 979032520 180456634 58692540 757880074 100904338 475005838 353337082 307664488 423813008 52775660 674695824 418700608 830182882 840330958 309042644 932116502 781196848 271569608 682210164 887905646 427234088 385110604 493773172 790449556 200387996 154606270 714788664 656003688 385386680 975731508 357408412 696873276 690543258 299826556 754604686 133903524 995640890 383745146 6090660 778466166 439178426 495035130 127945700 314286122 112362488 600241634 595347626 143907796 338220776 480692962 832158054 791665412 298872222 311929894 557036054 368765718 361469984 271788528 914009010 593081758 961240934 922643956 684046006 570704526 815364890 263325922 633100042 597243430 755919568 570155940 118706682 2547740 828118212 257223790 935500102 577399450 835156072 848990968 494571202 25931820 11254780 332346930 287196934 423667994 252736964 807384796 232778372 745116376 163365988 528928768 983709002 394807310 814963472 175286992 457779662 215882482 780987416 775993614 94372058 789628666 35050928 669167378 399243936 638269742 441751410 613740978 395360174 303146242 46722006 21971826 781879122 843263480 627288426 132948256 893325246 216142822 259340030 13708274 106350432 898843128 982554264 725618370 730887786 233594438 994236838 214170560 752372932 568318122 992654896 381630962 864156744 112570150 451296616 18775224 22268942 183445662 565833514 413325814 994954460 492463398 169767502 572311068 680475084 619388290 824427530 832286130 97326716 565129896 661189908 670515246 124269402 267220442 108222024 546784592 720833052 611027362 266092816 734254350 911884560 295904982 30717860 161331344 385767648 878678212 177984114 509677742 781454308 7983024 790800492 571174080 127722250 470521312 210766164 91778254 163607626 747391286 450472232 727625116 195491730 450440738 478455530 136775826 688958810 781576128 449024786 689631050 139831250 305660528 38658852 420608672 660544874 20415208 617924910 234982782 660137246 268046972 688341680 818901924 856947528 351489642 879854184 865830082 298529038 778759050 557735468 282900290 128722630 274035238 370527958 902619484 220641712 298472168 146853248 430217032 76140134 69727218 402015740 911498278 459725342 365041590 95763372 281111486 396824658 521696340 671762976 394000666 892477802 356582048 751219836 472071674 73665836 807660490 976409008 180865578 717260210 634966968 226989234 84328782 863869500 236979058 731582580 385255866 247730074 327612798 485323892 91178600 650467978 459337350 13244842 946265874 576689480 996631938 51153306 354218442 989441406 762134260 686272948 120102260 31557848 583417430 478785170 291760266 486431078 832916442 983209878 62928886 52490738 40048152 719888638 794248760 621178536 519132770 406504232 604331478 469382366 301756338 887759470 816407968 916630626 213115726 609939360 611186588 791750868 653931000 392781604 903471074 295071766 284095178 957706520 299619436 429738996 603832646 67615948 192611378 872919420 298681984 772143594 340726146 658787806 562982424 89996208 853571472 951360140 858900554 635336842 468494662 837389918 99351648 3604488 279141742 90265006 970815048 594811952 59181144 212523672 874705078 691358692 723848022 219994918 284444774 154857644 509420340 73154162 620574736 497981962 688665078 698192486 340104542 199159672 270640342 282418256 274271196 16647028 168870176 194092172 465692970 182222212 517770286 596277642 271576894 192541874 205729142 192831560 291477254 58583354 510463958 915964794 380487642 753940454 700470318 125826650 773147446 137018650 130546982 337939618 155779364 165055720 466929262 998054606 158186222 695571972 750105802 299391742 795954678 981987168 426534000 266358880 654961640 172034688 932615490 688048868 254015862 567197452 983081182 280354672 367308002 352740846 741586768 898362022 309403634 181477588 737650284 948042304 805902884 572273978 195496362 404741080 412961894 595756162 693084612 567227522 81135418 103381056 364354102 875007904 355952404 37498108 693862184 133180416 659050620 668109162 667881198 147564330 883151732 614319124 344886574 830145136 943224730 576977352 709857810 538270774 105131414 274643542 721109604 73427670 499827070 746809728 146578274 622444274 478661744 602003638 192554528 44328654 704485190 34014930 876436958 333806498 688880350 568605056 685255672 168322510 1365794 513334412 595284846 222305210 395411112 980761484 970414316 209698 631406298 57848610 774654348 487528698 776208278 481499448 427370368 936558144 88584330 139433026 433342422 47764622 410462954 436204168 766950618 449043704 191287624 916283694 91738216 597272974 250602830 377165492 602154094 78865684 188424504 478157854 91795568 631657242 360275806 117000770 335128910 842656900 627126046 265935492 870096090 708657128 771616430 248536444 902591154 313867646 677203056 33448496 524978156 903079086 107475240 955244926 956430674 736143858 585548794 971536110 466214542 253607654 732829988 768280990 982609364 29166162 634914626 314311172 817909816 309371446 84933582 944317726 980423614 352568320 238027690 952326620 55427036 214581612 630496042 867665462 404721146 249197104 99774668 749003066 481801870 96358048 768833538 741121510 347497588 494963712 564168918 29053360 388109356 447177086 907190722 345710016 85288974 982043078 199720736 573745752 351904874 937402676 575965102 972080876 138498148 672757830 567195316 611940982 957471484 99480732 77186870 938945978 879115406 391637690 332094756 248409828 544215372 394015344 165597888 744983588 973254174 84706500 734907380 123903284 127784134 983140240 889976160 914351866 414168166 636317570 887339606 134075132 137243144 27867018 69078300 208543990 357371720 741224008 496269000 218591700 781137494 263036736 464590910 237233626 198776006 541683050 86402820 673445666 155939064 866083488 950052852 543857044 564322542 596881282 535429040 325710136 698626410 556980462 47280074 718487950 144213624 108080566 335944146 506477926 730606020 799054874 444635034 396347136 770480952 335698038 324740478 690673346 26427346 213452874 836450932 333026362 830577038 559349296 271985668 235656896 110141850 579013548 989258838 107679294 1790564 920623368 779029314 527118560 304808374 911823320 994689142 886238068 295567728 900994942 413102370 332565122 497350234 29556900 581974902 469474436 717234270 673133852 119359788 647977534 349740880 54663260 232524314 697954842 821463832 304922700 568165334 977300464 596520072 882732912 48975936 22674398 359686864 954985520 549221814 612643918 348717062 594200244 112015834 520695540 832256856 670653358 208591968 479650720 734458086 379199508 889014240 411452784 826187966 642771832 63677320 653736658 133779838 464760784 492090230 882800116 523651482 332353442 468284504 955591138 143712444 660616734 392852368 800360740 956508480 654600534 109660544 725092526 767318514 986282764 419999010 282572328 752701700 866395016 110169482 414629380 352617844 43643736 724460772 740884752 565615810 644471686 338411542 793934960 460829564 60509296 396818162 655747072 537049716 503027934 668366536 527737962 212539248 224044186 957409812 997907542 347639636 825354436 484857382 660149484 907681016 860025144 794855836 139159612 579417042 734506240 572741284 167924042 528041096 645597522 725791590 880679824 23826246 837246078 635390330 713001866 121303886 790295550 686907376 224176468 221829154 431402516 742715880 445278082 863862824 428368962 87326714 29215258 617816098 25036882 890054096 793302256 10445400 536576166 697876244 131300788 789018712 606851416 150358440 799370898 634397148 499007022 191881376 722489402 402852426 317674104 897635912 980490764 222829740 910327810 528836842 866657736 943121090 640748134 466781230 375861988 409290282 677359988 716976210 125060708 803267190 78761952 908427058 20004834 127028660 85141992 600513168 104788152 308476010 233142892 899096618 397024056 747524256 287636604 849620928 583507944 781205526 416397174 10810714 129137030 540966588 971981064 219728532 7634882 255098372 723218302 558552812 383806962 175229222 249710238 585759654 25959692 956348672 643725882 784864362 621533830 383638618 732251962 260137282 279902800 221767052 968604814 619589300 407529568 314404762 182154006 39112292 736050950 879441342 880991144 753840622 995055614 950786534 780431724 802203468 689207882 408634420 627500756 163730874 642492080 158049114 206698238 670082484 764807602 153160704 922060964 750276698 792722558 876725742 374491606 995927112 410440592 989482778 795050790 472539970 141190736 397011038 667910442 217328030 601104894 551037042 306463128 288739830 246860532 209410932 399566748 376243550 985899202 940990848 404361362 566453860 984896444 694035734 611490382 558315178 881201858 950682234 756554354 93824876 128420840 17993878 623571334 754085474 346699434 545889870 556509970 164375748 725039820 895774276 460404744 623356538 672500656 361535920 184122688 71647672 50743846 920645530 310145390 759915874 893053198 150713422 744149772 985659148 517704988 353395280 636329486 582588158 877691104 655254256 647870856 798422924 526437448 723793606 132637616 160086006 510469330 51589778 57112862 196468542 509614136 506354690 777985884 957471892 673512484 351300728 134645558 421555566 981085390 977436502 987079036 911118984 952140944 744199218 713696788 165499466 434805942 522346916 860739208 814356464 41596130 503649714 980084732 146020670 928041848 428969718 814658282 627663936 808527604 227330424 115067450 285443508 249859240 862114222 608408982 165180890 952164296 895494744 487905924 760413186 345451186 684623000 327375580 66263438 375908442 34528146 46059944 11492244 396741802 549658812 913861610 11866796 986443044 760334110 651682870 642860462 392129290 462676394 212508048 944117688 807447970 679035970 26252112 123432702 373716182 492667516 795115992 291119514 350752898 751816884 7101596 596379444 483516728 644221640 573781700 157559380 759449360 57069002 717209482 599648010 567850378 374608994 781308146 17140984 579480726 558454836 459213990 988372910 585868526 31555556 70539630 640164910 37503306 503495074 186374542 688499106 145460814 155454360 145674294 910498096 640740708 530075230 619880344 401825530 37279788 439538522 707870212 293871672 518639452 904405868 240232622 429035548 204160118 307230320 666952866 878853606 506959732 282667488 861708798 980775770 325811872 652431626 713315832 787876366 636513640 955565190 254383702 391109936 44175460 916696348 842938790 770365500 275571210 619610376 918821524 947677758 896797904 753014584 430561932 807528500 605667942 499769646 417430070 185244182 661955996 417428586 501404420 652828248 293657086 304428690 40031740 391868382 461044422 501780934 426570944 83456242 787749854 433257128 307099850 897687104 457465370 908504662 996318962 779735830 880931222 35587358 535188680 826140828 718161226 596497890 780950524 180098924 803043696 899201338 472214968 782410602 582162080 951030422 374076032 169635316 554869006 321048078 832523780 545655190 396730234 416609280 243643488 715160820 227686782 622895570 136627406 369087874 976840368 484593378 495769414 348577692 257420362 623067396 7796162 732349014 751012206 874011394 456904968 648466974 390580412 496800802 347369678 795517882 348559216 278166884 85431850 179356816 193440202 490305984 749995882 991519160 350375950 508974524 550081186 437432216 602910838 824284222 591406808 97733494 867787740 483647882 852810580 695998952 135866518 330929096 215735260 848900594 244540072 473836408 15182442 902777730 397722402 487101402 676733328 48582570 631635300 725939350 728257012 737693934 395036774 611387998 378900698 604889086 129418894 327075560 387929576 831318560 817661762 477356580 507336336 64147898 474454362 117891036 966657388 162712346 311902278 847757400 776107954 70629476 270541864 660641646 661069708 534394006 84107964 664712028 486971408 248574704 414985780 336193380 257467894 960324266 527088496 998637364 32128940 983764566 777898266 77273376 709245098 194279862 278761858 952192064 825180408 986516432 797510058 913664126 719573868 389991174 23978090 393620630 498504852 228928234 70443374 108009232 430932112 113238700 119816394 125534498 726434834 604274044 620159970 928110036 720290304 812522176 923523390 717275158 375824628 69333150 295069706 10917542 134223444 945620378 855428074 42903736 964519862 771528052 508422184 541019514 83082398 267937816 478346210 875325306 620433582 92876190 321188648 476985578 767128722 677431856 714839504 480929604 613743720 232358604 898406750 770795754 960070652 38926578 404313734 376156618 854443966 560059186 137064286 164223140 507571512 562162782 77749024 152249880 459016106 272670390 764067758 554774524 22416602 588207736 415589688 211248246 987826240 997075228 515024000 790781940 492116956 356793304 612906806 273952758 164281758 210172016 413638290 483568336 671043582 380790574 489933854 303933850 699060812 514737076 784209014 650412008 110475496 220429310 282918890 787886426 222570940 133573454 227560666 835790488 960104342 45012122 100457300 427617840 566532252 886552212 806675540 234874906 374721138 281191666 431495336 875461964 295749316 102707772 272072600 962588756 906803994 663866666 94222748 15420736 420316382 183198154 111362826 559801044 236630676 868410806 114479354 141574002 318591620 15343620 801867728 154522140 430566594 389914602 217461848 92646644 576957506 67584446 68835734 178521108 137000214 208505650 780738472 305960206 775463744 506438040 539852104 847235996 334601748 692868934 320129918 780257142 180921832 460163806 244406762 999995476 731184864 258155434 354683364 423125002 462899474 8090136 729538012 982775604 405511600 235400792 468213608 586129258 613055722 886311034 539229918 920072118 847199694 220340782 105508482 833616410 382792044 957788146 396621708 8098312 143138524 267279490 20671026 630662250 632876460 994694732 150035606 68055932 213582396 59218090 994013826 983676970 608667090 634615558 911794848 456582654 341035254 600082564 716872634 103851670 425875716 501310172 804024110 495856874 25492520 191873268 736434484 282981374 951136406 7926472 995029958 30911942 665247558 466218204 88413078 388710344 151781460 556182194 3280582 52997032 265415692 491924254 916441238 287536536 133946776 77614384 786715540 16736070 472346146 436203116 506486134 510571152 948451482 757549618 916608344 506492630 102727888 634672892 495236232 823618472 782314852 238445450 221805608 338261342 535544514 374495526 481281090 706847204 103781352 501170992 860390990 434435654 171125100 638252512 874841072 820726526 189275012 777756736 674804588 930929372 674444108 670090612 92462398 160097718 928055378 312149822 551643180 640785604 175080252 377085188 480104924 875306810 769542840 652115566 370836922 682164458 536750760 429133640 367031086 544817726 22998168 937729708 375354832 262594060 292272314 875571346 625903222 82487766 995085340 923846260 424612520 361921474 774409152 120070804 711148120 200019790 792970798 376427436 308170918 558921498 177816368 439817416 565924412 464854750 40229324 92079138 426292042 577549132 637032508 610270270 438810380 773635720 231658704 595786470 726822366 740330142 314500840 501391786 532434996 259171360 592825604 147683000 992963940 690149342 997555962 863896040 413775272 374221780 637931182 600721730 348484138 778469282 668519440 696662898 781951334 561026280 811227254 292523710 20680066 469956972 134411092 11323414 678140366 40825122 946959972 579069086 672613372 43875062 385060630 519706086 652402258 27224688 366014378 867115116 252881704 987499386 80195772 454744900 365707522 619457350 852049936 211033580 345957160 761286684 354042006 129483266 436827960 220816218 437236382 74232276 687302282 982597930 114908032 784229036 382817108 598033342 237089136 68947570 110349656 295271034 634323004 991769868 178927076 873897882 144544032 794479976 411509626 910196892 106198402 402723532 805470720 407161446 406534382 115401476 233215046 661335142 7147040 916562072 180298214 930929198 724665336 542362832 377578776 615015258 702651820 146152388 219647758 740737170 871411566 214563106 524463818 172570642 871986846 763467274 665423758 615248034 194776088 849932614 401418652 589195406 819281208 24574238 821955562 899289058 603511358 22976630 207428566 85193872 901453514 80088554 777712604 350542100 352564892 928812768 434757270 60124868 166931112 502230234 2497150 905638724 804773996 125840278 130213766 44579966 474884572 706208670 344700804 797841722 122223264 893530372 704136302 733604510 503345462 183948150 909935282 452432590 769347904 594173320 127391350 554309088 63970190 771944330 252740324 644136442 901508278 616681818 363771650 67279584 38300602 432624318 327822258 788167834 675090682 511668058 184596580 262999820 805029886 3561314 935384970 747720324 730321806 620997492 118755160 694395802 457070612 36001242 293428586 23514632 264342154 873614140 959549348 664832942 639472416 723754072 488557558 860063744 857906426 951967334 861830384 145528150 898160094 74034920 37338642 547084518 385935754 833123416 73483482 266499792 592673144 411804896 97118106 430130186 670581618 302362366 412145716 409713256 45473324 208401506 524991686 575616110 875863044 694322278 322184134 674956342 268119546 526119598 302668756 412578022 877543112 402028166 454274120 832286204 711680590 630892050 796675336 505363360 415613610 219810738 387878864 818073858 898415402 114745006 320071244 489841348 296899938 272115392 81012244 240747728 630435436 578688036 585437684 29245406 321196632 764304288 363259548 272246386 491512116 879143454 104974504 874925178 197590900 476580414 836940284 45503422 158771768 454010138 53290672 861640580 151991194 358032218 511034020 957820358 491805130 210006210 744338526 40892938 410396704 290543902 984541752 695497714 435841164 435620372 103732324 214326764 224067786 978735036 848671322 423938424 277415408 494360720 323684658 301164140 82380196 686634242 520667250 317477458 601300948 466595248 439716590 741606322 616092440 887177488 220937868 645904348 254186768 173437952 838912968 9186812 619988880 387075842 135035022 898352812 741648232 456064630 862320094 326220032 163646776 550314818 134195016 753865950 436557160 733576162 903174854 168456352 191640856 329978706 629592630 912366272 242837948 661611726 444398738 394273778 575380958 13923486 472769824 542020970 958716250 915684400 600476654 260219582 172993738 85519826 122111184 127432638 741888526 820474558 547981084 590049398 462555188 663628844 3881620 656295846 419227682 458104388 354691264 319490630 150770904 190763280 690669636 320867360 369844550 150487090 205348334 285051852 925179918 274915130 468335488 166213664 197347300 58074572 122492090 974439334 626895418 997554794 703811692 854447050 232478592 669827842 173483116 289093852 897885856 530747726 806404788 613300792 249933420 748603070 333693160 716256866 395524348 277020440 284859218 706799376 83790078 35687052 84203042 465330890 731969934 501473122 563603116 509208840 614686670 166696678 322859518 297021432 289540678 262696318 570885506 867511042 438551162 190438066 925217776 418375388 252460010 541420252 335136830 122172698 540817274 923441790 5937830 766055084 147886646 296603640 382806690 508987918 329708584 132445034 995027868 134594264 890873434 459868902 199950482 631874644 876660834 892193380 293552626 829349046 744383236 541111120 648139408 545659774 796366954 424076826 411535976 324735882 813214902 505095716 365914746 625065448 248807656 245159298 56640320 656557168 769117104 631458662 2586496 201717272 172380728 95963062 364595660 130899792 85862506 594482860 359955564 255897782 463636726 769925002 495220830 827043210 16125064 245138998 198803794 964099584 94516340 229796048 389488266 496520166 915908350 511363060 150896600 657374002 68435066 353356378 495782854 723496306 47400544 988972172 602258392 455881690 717100504 454333526 509150240 295558220 107162674 775285810 104047950 334667140 391328352 719232460 45757486 623552506 484274322 575881696 301293548 596352310 700753554 458247190 287714852 718830862 79309274 77871894 487288640 709486302 438835178 348455464 366509660 13560202 134271684 790767112 858507912 59064588 752148178 751209990 934767520 83926392 625038928 585063508 304457954 301776042 854717450 282241024 142733652 354372330 248313720 502776852 815384992 761680826 503671314 871823182 810196270 617545368 734230100 423201738 702263108 623506362 72660298 873501624 828594804 709544016 494280158 8379122 887979898 338139034 57870594 911986206 744787744 347287674 14044070 25217754 855476592 365841410 185708878 756832202 562504636 698692648 971273652 580731228 995071648 384112960 937914000 976803078 853738866 126346856 520022654 614512302 664805820 64014696 930319362 932868968 343283250 466922126 626688684 985963084 299889476 691033356 454760842 980860182 575979498 463011006 826039828 857776504 91440604 407914158 17001076 764516832 76091146 801050360 483743296 34807214 693583928 828180608 704302676 936941370 269842886 740987622 467450270 316274994 728953574 474056890 73186880 418984066 754393984 744899770 589602738 624967464 310149074 873236760 119091200 771994968 150984156 136089164 171616756 738824266 413610430 102981738 693581206 607050516 338693368 455805520 502360144 275081136 160572768 208291834 224771512 811219382 850078782 751665270 492616804 624636998 287030144 228429932 365966364 974806682 966316488 713261576 316061990 818527254 414583110 687682352 828425886 718561126 43257238 406892092 776497338 73638664 831144892 168470408 22071556 687200562 505099192 408189968 766876144 595110134 97929210 97292428 86428322 421566292 805067500 503838662 588485314 41890316 543378 279988560 514227156 551806258 347901324 907720674 399035276 318080254 573039812 102124068 478875026 159700412 801883582 355925984 419835454 406798188 247898566 277303404 675672058 370112050 895554736 528043032 894742116 355627186 171986260 998143322 833893686 391083458 854969334 428983082 389375800 420136312 940991096 714350396 773320474 254294814 460512812 5444204 135635466 49542236 801609838 687071716 499736088 411117838 771304314 914153512 549884980 79885682 560568006 321873130 127834578 105403820 692168628 941731464 831460074 805997618 689942192 240997970 512234646 96949422 215308812 660685972 739202274 594164144 68518254 760399404 426650732 493890656 247193370 730256432 533664046 613632158 975247858 943706250 32761216 392125968 940067542 124924446 895615862 989981080 197437094 386072856 318070720 613415942 536891690 918809404 468418864 877506606 975967524 277375212 658830882 456696264 93070266 918295948 416181876 178009168 787246870 392953274 670002148 235854048 113902024 669844658 605680000 299188478 698149606 609907848 509104000 384460782 205477756 717547084 547233718 865874670 398757172 711181904 328948738 423923724 2183708 363363554 251363908 881826018 413919370 596894504 528250346 17209492 933388014 535448630 580760184 642753778 202383610 308409848 263126676 354587978 383731938 729216550 294548312 618935328 587007582 313052582 190689950 343945826 279226078 259334464 923075682 263308612 520837564 540719778 54266044 301227912 669043306 738208062 280376984 223305850 972648518 148626366 362857828 234159802 678893158 470893208 30697478 832833436 451906140 509850620 431634500 858222038 150317446 119128696 221348596 223925670 595227842 893604386 242412632 356449210 417474612 529648734 49657084 159248252 542163236 840665242 893610002 943080068 580110834 843305444 427284508 459544218 893434020 117544792 290715208 554450352 22956350 418014350 631430168 104904988 376100806 903290896 959316454 316775900 727592940 918844422 411396532 279096108 353065276 491822884 997439662 135969574 220790196 143664172 160182270 988804034 369850004 365860060 648361914 794086388 28528534 961511066 477317708 138178442 645013492 775600948 10714072 406478834 458496274 166750638 705157978 223548964 886199978 711560632 24237660 785978256 713738226 764381374 588312760 268409556 180648142 812381822 446026876 438912726 780846740 237603798 560067242 296382376 560488438 605965592 363363956 176450244 504198838 108710886 277190004 234757370 966297472 166168248 71966200 764728884 331695364 504672090 119030818 682371830 778931908 651842632 729700466 71031030 846544140 621807674 584080228 455594024 101137986 673833942 893325794 577647524 189095330 930197056 205792640 667495014 773705234 398026792 407251040 519994010 515407628 569389528 414000144 264086908 606673494 996796418 357315170 569755394 908372150 850775162 57820154 645576582 955957976 112804618 959995942 944369860 34594844 352499832 771301916 222340346 446053488 235736948 285892484 650454634 165610712 288752772 563873754 241721040 959952062 80873192 217338566 640007772 2611420 574981264 212015528 213351730 223708248 983575988 112872830 808537810 425332286 474618318 268129362 225290642 5861672 174019984 253541376 258134248 447288264 982272234 861571774 581732604 249920614 513261344 259902568 664674872 947157672 626217520 669763704 460188386 384343710 166656412 875787582 793954536 449230308 321582226 405022722 313380202 691634458 866882008 902663764 535140588 735934978 544641076 337325724 32728912 592714542 375399188 867076114 27927124 530548462 132634138 828793906 744277330 452083684 735639438 798823348 681473978 677194776 756418288 469551544 712536770 180737984 234385866 718397670 566817422 709959226 461879530 911561178 426189766 777503450 725069422 50591870 404906228 356985354 597153598 663780276 63020172 750405472 131205978 117838018 617947678 511370124 99309398 990483798 896971084 716890838 501347936 167556514 87607118 969059344 775942896 383032114 347358420 818402312 219976034 829776038 335505584 283866206 886114740 112678292 309407282 120602700 544710424 321114304 519705160 353143634 514670946 909116408 59948296 330764116 503947418 211010478 892641800 202992598 230801810 584725026 512609816 672456098 612419204 745520796 40948568 427878150 152889404 575419350 711662536 647447074 498297960 564268520 119344360 522099912 437656534 841889368 38671442 16398864 977702240 382959860 74107162 974022846 681032522 25329278 576189204 802056852 574615790 511914088 870873786 886746698 37583962 693353066 690215896 632555622 455361402 136205248 698481886 413279452 183865122 132102560 293222976 400349234 396870084 192422734 844954136 146654026 431004912 860365772 351539158 253037102 920151058 518378072 615155286 91040158 490697408 277311172 329405516 666441106 323785144 57489580 128014752 560057214 165055832 185203062 613547590 212692080 574604444 629772940 181195462 416291512 784649006 986091200 88528090 858281350 705539006 952880160 641662934 635579270 658627538 608052164 975202738 513793866 440118496 106515426 194797934 696325732 883260094 905773842 705311964 815632850 894646666 824030808 136244206 605657422 524485444 363229156 549351542 649988150 917325256 284039074 550124706 813408046 758674886 410829224 21776830 151014206 661887144 205099960 483687564 566337248 692143742 163092736 928715906 744537304 953576716 58693960 691314198 330927498 565086124 307891286 903231706 185109706 519973534 615970036 914398508 201896924 603954098 14958784 656964096 461515228 744880392 610718244 521393600 184513220 247613260 399385626 727352624 959904832 425472522 821331628 490004884 777368904 207218904 521815588 210720134 14207704 605994624 768732430 834568368 914883290 816288330 105828786 779242350 359632456 594546540 327058294 671131330 228704954 888466730 261233018 843645566 928586204 912488288 59915328 284139464 691738736 160065896 755849966 475080134 500325014 980146414 766968090 741943518 678685296 983983548 360725860 829210170 79710990 956647568 298370900 729056300 653381848 580455514 757108958 59623092 749491922 152467120 219558204 463408666 105527482 932054398 291280710 346350078 283367362 761004058 881783306 285539296 454268402 27754366 250879364 257651954 489994496 783703682 463943216 166437112 522736536 787005326 145267452 546723900 803570708 417667066 937184346 642411130 643191398 85206838 974232650 383527798 198395186 7473822 424267098 944781858 26359852 95942684 741835984 927140414 507041286 644361798 407299184 117209324 72207400 618542520 908433160 77988498 635576162 317014602 592634500 653797010 364494632 745104366 74050074 184078372 354624440 19346556 72043168 980195420 761256758 258895888 804083890 244555600 424765640 967296100 623222620 337752762 442404106 355017052 967361364 590468826 963435142 573589328 574029122 975349934 575851540 29373814 209282178 760016296 351155246 301858012 654787636 48755980 244460554 301310064 426453722 157115276 606017932 230681368 216649642 34820446 132939098 48306194 784591554 329417028 149579048 826864624 670621522 539420500 101762472 784043276 807478864 246120760 377323558 520606938 533879726 527487394 824472934 860653226 945926170 194347494 869626130 335237118 358801210 469861914 749422216 292495466 219779982 951659632 162584914 126093300 554023060 565742870 299355408 153413336 427647094 7758826 412579978 589217686 178746086 981868240 896291784 708401306 712180934 498574414 606245710 733172798 567176784 620378816 411814886 925600396 434749682 243743382 104089794 370755834 998323382 754361272 687106942 392489466 637852562 114105004 750194650 8537472 959483584 938791594 408969842 781627064 61896058 855157958 274582540 785686882 891122856 332203236 342031480 91432536 858259438 915349024 535134258 619969748 200865094 466905902 854339252 843343508 94875014 521264994 177320 433930646 249966678 911593716 190421806 748882736 516945960 285637666 23676120 120293220 317399860 548247012 135079186 803359318 783184720 162604276 278699018 100316298 619540922 105183526 818559506 999043816 272151918 928342788 813275406 14953016 612138650 571341602 117325054 912671714 407786156 56893908 415011214 509173686 523329508 664070798 94019098 792430968 818744280 6399992 357584388 798542050 206186234 129484446 424575724 846346946 356325142 312388370 198508896 595362944 917391634 959745202 16657272 995701302 183119354 428572570 836799708 895943748 755287050 821558608 796563208 935595940 801134608 648053548 26700468 198225032 934121530 190624238 453060706 378027496 659752264 501954572 875674382 449701724 145065562 942210670 318653520 902965496 836472460 974298038 172312144 877688308 167980938 598704864 173206886 279965126 968587898 198472912 27030550 104910428 52401416 875001570 677218230 869551698 983571652 929742770 849104772 111302468 538018878 327404008 336401592 282914290 972769896 2625554 638356692 349724418 680485270 383288328 813549662 588951218 773748818 742371432 699642214 89603960 183696376 752000676 816943112 431575114 608293770 872926798 615541836 551384438 29159338 97507558 845538154 455620754 503672770 974911190 531737138 212247586 251097848 519471000 185142794 597508602 668210400 795599898 58390968 282538138 498879224 847768926 286655086 779290026 264343896 798038468 886913784 695866802 56986704 916183450 896144108 327529822 300555634 660734356 979970000 805563922 420054848 968936118 85410902 77084348 448967012 101633504 830753758 459529558 873151820 969103450 331844388 625032774 957588210 640463970 287868790 639015830 85454520 817579526 802178230 489637172 955611774 647841098 834343302 481077322 38271262 804602656 533029932 687551230 153168300 233564870 768568346 516455600 450997548 30636330 408786174 600277166 794323084 684023162 195932382 800299374 36700094 258320268 966576984 868828104 648837886 812658234 245593480 114390322 367914428 371463884 324623572 865392022 296698528 584953702 989387178 946267280 775233168 619952558 831301268 457108740 694562540 864043482 345903458 728914136 133058360 260407722 432573972 601525552 541713216 31485450 772623248 265817296 596595848 52265062 136184880 927526006 732761322 424912542 791430670 401616700 688531394 116135656 412768878 609278016 188359310 507899406 463093612 902785168 889963794 857644038 924479502 706069690 437521206 143480562 204485298 808044616 703186080 419292198 323590542 238670598 24824912 296410332 600413874 533105942 23957412 899233978 783000244 874863380 890978952 387026854 975237720 678248914 570859634 608357662 432872990 307820122 731513212 713233784 725715324 860237356 124154664 878531700 276600864 187133912 602971352 74090116 739532944 287203000 731531302 472403268 736816336 250174880 402010638 11251004 634737844 364646274 350853800 412015962 68403748 385320678 598138866 464347304 219860866 718514124 69110438 923991954 408676560 199005400 175147370 115679980 274153250 602809646 381092910 922824032 489619778 263059402 821889178 650624268 445878438 967809148 186954596 76000746 187971250 223334978 914447328 798783626 524733648 867755746 211050152 394895958 779923746 63339584 897015160 897466316 872923490 922161662 260310326 393949218 920739664 44920730 18057632 930927986 408565338 20036882 430118698 319197354 998698496 896914072 286721430 858490384 817232184 28212568 535703866 625747066 805350736 262224920 451748788 468451366 862684968 282698252 536933222 226616184 376638484 623746696 875925420 557477860 124186142 305641672 265190970 574657658 373060566 750213248 785530028 393697044 667249378 73532060 738082342 877518310 846847374 726407574 521181182 351580802 190484918 513912988 197330078 136283488 502873996 558767572 838700330 985395470 929116438 382345070 413834984 873307004 865314202 802259236 259501200 32622528 116600296 934466854 979190084 632920542 348930956 460465622 903249974 249925170 772380480 171822242 35612876 63100802 860264666 661641524 810411602 814587042 712863944 404745716 831880410 506306612 280174314 119651618 628702662 935184302 358851942 442518732 410667070 769375476 455399786 893282476 686578440 623331416 971458838 370908750 713945074 914966260 769764240 316751344 625277776 893543520 713802044 182945968 95883540 488301626 210344546 994298372 630701154 980910140 990895968 339757052 657625144 615506278 823276510 339767636 524507452 872240704 686583302 238141194 594455742 284275950 3347682 316146934 461179332 731730078 214829994 893143234 717755598 77263940 277431998 389610710 655425944 902440260 677199352 59143184 509324714 566827594 700995264 524258756 303290906 705221216 689178318 74797186 453269020 317765520 89669088 279473266 855697100 6120632 802390252 61539946 483674030 160570146 279294950 944461414 286336412 312616082 796155170 245805686 604444924 87390698 776676444 455357936 529658366 940580098 130255234 560282954 686032964 829920610 424748464 407341118 584301110 299429860 98345704 23067744 509387094 404097538 152596256 700786332 775776762 352507410 337097760 54488874 236093288 436631456 211857138 446612718 995416592 96469712 622473368 633398950 700505888 424832052 988669540 66151994 118665878 645060018 531368018 117396132 369618692 321893458 800223334 918305936 362312862 236859686 970590236 502176346 865290918 150923250 674151716 919114696 478788832 53199326 648757060 298593118 862980620 465993060 915966574 55853166 856222022 759637672 815861774 990214390 649372812 536272846 359716512 585075058 784527928 6185042 611146342 137391114 132770594 727799098 657959140 763446336 373378278 82609998 322283018 59957916 422769724 341981778 407396138 613711854 464295800 47053688 240766066 90450382 515823612 824582290 35955452 831898190 949128290 996049722 944801290 623231932 532829952 928607190 504930530 830668036 451470962 214937536 548072076 309414970 628144066 211794906 848156162 941881518 196689172 592326800 830853606 499979632 588563346 566753990 731102342 286905290 543456404 25777328 408269804 433454582 167472682 525407900 497329658 316941550 210320008 104020374 762251260 163983034 376410258 860978184 121394894 912481946 16572004 45417684 184198224 71874524 51162602 281852736 168390800 256164424 285551326 276273402 654975488 494437982 173377150 851965434 656039494 736565434 73339388 762696110 946034462 757879594 350611600 548492100 407023390 178743136 83899522 220270868 48701406 632256682 358665702 534567046 70318510 314253992 1805080 941155526 10202118 910150924 526417128 274937330 114274738 153333382 366565946 811971586 798682482 346704468 80223268 363522658 712904096 649334938 184549234 974444144 274898014 393025066 529801564 51099178 541629806 629895398 751544324 88964788 431242624 532974544 770405772 238472558 63876618 650556828 765217754 891290790 365613396 303670910 601720450 410232174 458172150 167628932 397941232 318518564 567357118 176593382 762701006 632409412 978262014 875664526 24186504 103573020 513841358 48457398 76700504 66796218 537409286 86381094 85380688 139706578 720358282 746580346 406201724 776248998 933788110 999828658 339399378 830171128 105809132 699323900 129755978 662631496 583240862 739793668 977904348 302283178 552450754 557823914 737927532 879320640 993148602 244591878 553750350 969702674 599886326 114932928 297838638 583774764 551836672 417711016 13152002 517442438 812085032 237601450 126394162 157945846 2776102 292637498 265355292 713059008 298075134 348648856 983681754 412453346 630332362 885526590 219339040 926764210 403436056 264647380 604083782 622048934 515040198 257489438 642898726 569694544 844404930 393398966 344040900 162915476 997091908 969678828 221238396 588672064 211225938 114166914 505274656 9081826 65485552 344530280 374095516 203389640 743588882 55513844 460822956 351694674 700125998 622281426 368735912 793887298 496563024 874452290 597119466 206468926 877188754 449003564 606485630 724343748 722438036 700869798 422530382 862721750 901426312 998826686 666931226 106860470 286697118 757374984 298992042 740640848 279893658 175822356 521635812 844673104 303001862 802764562 645090110 910100830 721870566 30222494 571529578 992313624 86207744 573365114 641062066 359138124 543160244 506337662 907913756 409513334 487978118 77383954 620582818 662045258 416915700 600514820 759408924 510205356 237569334 76150314 718525668 502112372 398081506 343117556 697561718 344239516 120335484 712536212 622155792 525617756 727597254 238288528 652770340 898394684 337825508 125146402 771304862 634607366 869682058 88218978 584193372 678890936 226247188 153037466 385361140 163469950 638854298 560589102 819319836 409836396 133688382 426073114 733192404 732977562 675208320 471729968 744559702 701366808 838679006 87426056 800192464 563616892 867967382 961010810 553975938 805769022 512062634 718471920 496108158 512087950 437537848 27855696 815877980 617820682 769744456 365681670 426472068 619348166 308847018 853143464 867256562 944462162 493403088 513144506 966317564 389720176 839417850 863268476 534872028 931760396 190376500 147161720 361797964 723442238 103103360 45936448 159671538 901727544 787171260 60912394 61769894 978856956 856095316 28914080 233321460 191887166 590312894 922349726 564185674 233765844 616639480 446319162 739070282 895455002 100542154 637497090 531796958 234353484 417430620 918758052 834840094 752852504 436368328 462275284 385206278 334937602 635054410 16999118 727688858 938490644 447579822 487079914 281655776 260633350 65625904 271988352 296003992 404462310 120793620 637558140 623345398 440526584 486592290 116031298 400576784 583470334 610717294 836003036 732334716 657918370 349170526 623234648 121350132 150164404 307469978 708335460 634199664 784651484 578969708 562968816 492062610 424299776 535085190 61254264 858249456 911243922 109069494 90919994 133938186 237296680 48511272 684194956 750626528 490682578 629365074 565054260 872261044 1095388 749790320 130443312 937685720 628929662 694847330 144277054 385309056 42947910 274584852 286043496 996793544 279309292 788065604 177017866 777365526 428695472 952239172 394265666 67170476 23633544 684208136 767783410 586914418 509979344 246520868 181967264 405225418 828807902 181576572 153658244 820047728 128180472 720649222 75722504 662289706 663980376 793649576 910995044 4969734 455952142 312478576 325319392 369833866 984942480 952428018 805382038 518514764 34474220 595684804 881632034 184920934 698927374 715903686 829808952 230234836 248158450 216293268 838404964 936983244 288027930 786063830 678614088 565773686 610647998 599108352 771289258 875330880 795845894 27706642 39244646 161093240 171689068 512166344 838452836 104234592 603938944 33572148 866322828 396858752 522362760 452990222 3169832 641942362 581738570 298679062 258892630 589369250 946513866 457602580 96573780 598827026 177122912 218166336 698223054 565980074 194041518 966422024 260151006 427369942 92342438 384294424 162856218 241235210 711590502 903660766 535673630 959559874 404287722 76169096 519392312 544311458 792305838 266946046 218956740 292244986 31143514 47406300 887392284 784198908 355689730 152148334 934196438 52814628 742704572 238153726 438499244 200835262 244801278 491606528 123676390 559930752 764671564 406219238 900530100 721853054 406985616 44513434 26264884 503393250 433016246 159877498 883922468 517133894 205965968 730688458 288600376 775492886 699763832 261437402 574290298 984609086 543646058 654338572 673379038 55600412 269695650 311611208 605072906 978972 716284356 926056860 810625186 803265226 530839136 723354390 888685728 745908928 336483598 392910958 178199742 63555098 858721246 551150756 312748710 188584194 580381882 476877998 687150788 575511006 248807952 860768350 94729112 559483490 24765854 602541296 749063134 931717176 681695316 562834402 56811990 545745662 185802126 926805450 740305356 1701910 166828278 33693184 9514514 360256704 655722490 218420058 963974810 936862092 35805886 611294314 569018810 909120934 23915710 86400812 187328386 581897374 600177752 747603060 92530376 216332748 917401966 648710314 328142342 204256192 468142124 306698950 598067604 966657088 61577078 57691504 199785760 654239326 565065508 268594428 46526646 185252288 289085756 49840238 984646176 926820626 509607968 671624478 770847106 403511874 895054384 522469852 306105564 192888386 837931938 402436790 269911450 134818892 974694990 113702982 869470054 405551834 122374096 879065712 501001520 926641752 637344170 408904736 388079668 562592230 733194024 902904794 136247546 584249762 46818814 447760044 307016254 598254554 523465546 424253782 318269430 334550056 508543816 863261672 165677000 422547352 570277138 175635304 243809294 251396040 801093658 929538344 352568500 982416078 823125562 857458148 28049018 915083084 10137964 558568310 567399440 691734778 161638112 971004208 967830962 569960476 564505668 254976646 660694430 563050634 707881030 439876076 37424348 208809104 506620394 406948300 468324468 547696102 194644412 276019786 167414152 269845218 95805010 941529072 241149238 334654602 899068452 985568800 609977884 565025530 669459018 236056910 532875334 295903000 611838098 127074188 896768794 158277072 5661408 711226632 192193910 344378738 298417078 558281140 765333550 894491046 664018302 987716014 927663896 989366012 306132580 297100836 218108440 891129444 14326988 804671278 293110250 161035788 71668594 990423890 580983558 864548768 470430586 851762474 68763004 377719152 442134386 336261820 920860630 439031860 597696044 409664044 718871916 92160514 423441912 844780322 198090050 608177672 713040768 449182244 563662194 33902308 403319262 635386610 392317040 47572102 663846582 871252416 532703000 873015184 566541160 193603618 95882822 136571110 959421816 169058852 319289170 744209394 207486608 696105368 349001150 995617728 889584594 922623676 31280752 980344638 622206164 498577020 925290368 969921294 205446934 771898540 210692456 282597918 805058788 974936442 771896582 523119568 8838738 924935768 861002484 951445044 130569476 51758340 496823956 559321986 869248230 314117716 788925426 533818990 388870436 55619500 450174292 548117246 362003638 584782494 572643338 29582018 613222320 642157562 940236102 389320994 846461650 362439606 205052304 890653626 771401224 297968290 169785630 218188712 835503396 88026188 431587056 917470316 575077648 954250702 815956382 709598762 194940902 698311182 134039828 831695468 229745536 384391152 93665514 123069554 266289430 303250822 580992888 434516216 24973860 126600640 143988976 153376440 194357016 595430324 94640110 911115420 169952340 775019076 157551216 919129624 392311228 101714846 280666310 717813344 720870614 90647190 225230834 228251422 37360896 712063630 742364770 23387222 26811822 282364306 567184642 805899948 162495712 564377308 919942508 956735444 872447096 343303932 769804472 218170860 797029064 661900268 905667406 371529308 745992720 385144612 129751000 595836176 823479582 430778078 466012136 936606560 11391570 728410430 826728684 483751124 764736384 875085780 917150102 45929576 931620376 789670346 841869756 647727534 75825922 46407018 6098634 324141746 579687920 947713514 49492236 660921974 126234142 913877638 196603630 304592460 769179916 617564126 890745298 535405856 331561974 782664890 497559540 941834434 440198132 986289466 95909512 323442820 851818426 265173326 541814974 2992620 348536242 69729434 24119016 141730332 563558150 632839006 659488458 974994826 272005760 673415204 168810768 658086778 416078570 164489546 686407720 278647776 104140486 473350438 181816280 119800508 854496202 227665712 123151866 641232490 734396544 833269690 217516742 767782910 495257804 326266458 549666670 972554870 15091704 214622212 572632262 469449586 252967576 391375466 497918340 680924820 671352760 207158008 670284656 621448392 500475840 567704940 995186668 844953024 324117082 800783428 471694970 95601038 844068146 676319524 88210944 946203350 350008660 177927192 972237618 614485728 290455472 244556844 248471878 361185814 676013548 202161698 736866888 304130238 156011480 988698122 272223280 492597130 897466294 814429692 121523538 454963210 26844640 769234796 601496442 206364232 509683976 428947174 951209356 318905102 278852562 751822568 158231108 247463380 370424380 463865938 550565092 113103342 97377360 594241814 377745422 654840000 961955336 219120844 839876330 462631974 584553996 292115054 135541706 507737384 795065320 427112524 448054502 824264724 804598532 959591640 740534000 372757244 147667882 154085528 902421532 108171828 166028470 997610408 946340176 80579746 942503134 239122298 242024660 885136134 240958602 911064444 448791462 700476896 826775868 859241118 96162194 713228348 872751828 766773206 162892830 937108028 956542496 878651276 15581194 135352254 957192576 404386014 497533112 924396340 819979044 83737558 447609688 342305314 398880430 876944198 225547108 274641692 398669876 835276188 385131152 76568852 6439370 704358800 385374218 757619892 654102934 14642890 223582088 227990772 498629416 145196048 591876286 550329776 645647772 380022570 151915932 545323432 586577092 771356520 892378196 191201556 997419524 551014390 977962730 423091822 734476204 346783804 381094616 289312218 445256510 430011020 933625920 503718682 463050724 653287690 449235122 775517486 43609688 297477560 329092588 579103424 970863926 704184336 989063662 373473182 186471538 329367560 490104092 688531032 561047188 987641646 747262618 301099078 642746344 171074970 865027356 197872700 506155842 500000330 161347380 64828398 942423326 476370822 783735938 351931574 377478476 59622414 514472502 80505208 13773642 361061184 347340452 17930640 200214458 620483638 444829826 408850610 290641004 829641660 790537204 194160036 912549372 974510508 201025776 815806194 715310080 674406820 64813226 648011062 105959964 750935652 919606326 964457598 625555482 425239598 526832824 722849140 902038096 384061110 177386594 501872736 733367436 843570372 255474926 243500356 375566488 241132482 219794662 10404310 926353536 480683350 139649086 418937066 700797752 145166976 839770620 875376952 166619522 158640960 336084610 61418740 142041270 446945834 564523894 966672354 724973050 470562536 362167890 725606490 865440892 271379238 243491524 952019304 882335260 950041192 735382508 692312006 282669424 983196174 422382476 912596642 345392064 287271440 445053566 151129294 399840104 702933824 500954400 864656212 104899650 184791906 339714954 176956638 105420696 878550084 549970346 108082 693880118 890335146 454935720 697123748 403505422 979996 205745330 201228950 54214286 990458346 9102976 324383872 620915560 649983270 519168854 140947180 958711024 60786328 226539928 3173276 538530520 373711700 844740678 40553394 360933086 526999858 629147048 438541690 981238652 654225402 346908868 227745294 194365884 699233184 114062394 440410046 719546510 621929214 937912342 321731032 270399104 558241280 86540108 301374560 775917358 181579278 262294088 60580758 867618460 344831156 736002280 863725890 878651116 877479864 10983928 75506880 902472076 1039604 142249092 441822160 810398626 153383988 863569046 517962204 867034142 838891658 657113660 398986740 361900854 13098242 207650260 750135180 615124044 15641724 219387464 540069476 412934818 440685972 465447162 315339726 594933732 786223958 101620808 287928476 44644134 426100334 697426128 114480994 509964356 937998230 777250814 925325340 583706228 293669396 649590878 853800530 492414940 301667636 52934172 943153664 975669472 485143790 350214668 586479622 960265942 558157454 313238418 394960976 165778782 471509726 882732992 207495300 736481332 850080474 656235520 401203534 403062700 887771848 513822500 632300546 401503472 179277290 104055190 30711016 647489338 729892020 929978608 345406528 949109848 132403464 157034606 572987502 588889864 501154168 378033338 264164600 98253724 860141214 769825514 114955632 379438420 68780606 697580676 884619848 453405878 644646038 502333430 848784372 403133236 591880782 608392332 163672448 991644668 13027532 964020314 725736368 14939114 118668570 866708246 196468322 991619438 328546010 740450546 994069696 370831086 17179900 647858150 456499220 804273860 507599484 776140844 789497564 147982448 777869368 191072392 133822318 248749532 410640874 48866672 846617958 272524 778436902 140746440 706680512 652450090 136388020 918311878 823572732 966485322 438253252 544135212 468896882 421120824 67647402 374037742 662659384 705533612 387207826 180877700 922045420 129391344 928783180 901009324 66141006 771620876 700555358 478611700 542139292 786158404 135553642 723345814 264311534 711084384 528007890 107281114 689555866 309999328 12726784 93351140 17456906 76155572 257635900 329475004 68921206 246879338 765601682 209570916 697022018 956657042 388311584 915345188 584481428 173585442 504782926 540232520 311399872 531646988 729798324 546637470 690095296 978236174 424476992 376751036 198079236 2019728 226625022 860557818 198761194 560714410 849349844 36868082 136756692 9383748 104335416 494013754 926293334 254256980 722857522 98693862 227263150 291165936 443099812 44254914 857995902 271080200 15297696 791320348 295557256 498590954 943076230 223947002 305541250 248078944 564052914 756782686 992621234 951871718 734560434 119025026 248620004 476314716 886851050 940651724 532714076 773012798 711746096 38439884 383896318 957679724 20349536 944295028 940365998 542466722 419129106 888573870 859058364 372972654 922546688 455806456 164999210 403357064 339813744 584700984 660929722 600064964 750682024 906219844 732490354 164573556 807458466 635014062 107690088 741893766 624581142 490050664 330052116 662303278 549236416 193742928 962425172 201409036 532002030 648234956 588142658 177011780 48785336 180132642 959644820 173589802 299766078 315398724 738710642 30853298 613532378 696103090 393896170 271797054 593109470 52788886 3105906 935860324 936043598 248819230 149680832 671412472 131749392 516446602 62572128 374841262 330360626 112544258 949521920 307848308 956755226 826918962 683565732 345952138 261751642 748435162 185430008 716760380 697918922 555100578 667030948 558657446 321680114 282270204 606447170 401379550 693820036 604009264 974419626 118104514 673150506 819652898 311733632 133143634 417904866 813991824 288957670 143968712 896143362 760403460 383912182 215557356 951380740 394827484 102820830 680518902 497099288 871440450 977457402 940883798 195087598 390453360 307343966 516151602 916552870 287584132 871963486 940225992 982495356 659759766 977601648 67522232 670865092 516474414 214580312 894234512 596931912 991609800 631884504 422968158 756054328 626806896 618059014 500381278 526704896 271442180 169951790 718884318 424069244 267325200 9043430 816162992 410289884 751522902 380176950 495761208 360046550 650446272 684896232 443325748 144021004 564295814 224509322 563794334 936985806 279906274 827173972 859437528 202745814 550597936 799431324 231125368 951635046 197762120 510743890 522111520 522598768 344172572 976025354 708095820 993297752 870800820 311644552 588908448 624950132 83458532 902354038 217786038 724855270 871087968 540432634 810829032 820620680 410169166 492163664 494313394 968943878 546974174 336993386 10066098 215099430 863805734 424662642 868583120 590920932 241251124 816403924 967658514 444935996 580888872 774968642 846609208 407451938 103034466 701353936 296073386 726730556 835140482 503014626 105544384 980446052 701651214 774599732 723033756 535112678 445233022 105177428 615687414 183581234 919373610 838519594 511402308 908333902 470599242 900617686 589379252 321660494 538596078 322927238 243378840 947135434 830543282 987353652 695815156 165902750 937719708 310375290 733493306 449220200 841026936 40802734 167970114 205943472 633002946 494730054 261658802 741750006 392233846 677111104 422314672 941186304 896856498 230021518 386015616 346224212 487856404 983144522 785339350 909511748 716072854 512866742 436959814 46515252 299899928 898509666 361504906 425768116 828823026 875330672 838514210 17679214 801154878 3559354 743885544 406773452 742933164 428211878 695338788 219099712 332262688 165563704 324505424 918392380 898683590 257312316 577396180 377836030 685475852 452572320 663573448 218106010 408093948 30304834 73943762 829479136 542671938 811507864 376529646 643073120 167062014 508161026 33440512 741913638 750265056 136252352 393245074 694784842 88283984 473558616 379639726 589921922 776003010 260342920 100438768 726606684 617614814 596956840 592604448 136829932 474472400 916072542 978622952 50203544 67070200 964764852 728520738 58277950 969014450 545746666 452542972 146425442 203193216 530010314 436940608 626578722 220328738 739701684 20804336 547721686 880123128 812702288 625643786 551743834 825924380 929617378 670771556 756041598 293309676 763933120 631701370 315476674 605183498 52713216 124481378 340389644 146251564 565835830 710067986 279708700 220881330 28576892 544894184 372568792 537253418 463675654 597902348 420571334 564660478 382183292 13029926 125439664 251081350 814664770 372133506 122768240 519406842 483789340 967213262 862618516 389105034 997406692 576760454 298254308 370090976 36423836 678225484 334216924 107021938 674190106 908597512 824377702 885233144 87828652 834296182 446610970 390845370 479761808 430774126 492386474 357193662 656181946 732247522 367073026 710778286 716034072 396351098 109196300 394447398 358395710 86531184 742376214 119457440 493273522 123662674 415621662 690341090 401653356 528987010 453926032 189309836 23777974 527163826 255480164 27511302 586918884 384018070 413118646 914145176 379900794 878851606 294033738 618304062 894453798 438825372 96712716 711538888 829588424 698522966 947623304 547802588 17769394 777635056 975748442 490918014 734856734 584686692 788445760 877831768 374327760 349505042 639893266 421247912 712431726 833210220 115531410 180910502 963336318 307974874 397633454 668726344 192106488 382673874 717027954 915414422 894016170 818085476 780492698 404584180 358189532 384133650 779859928 141137510 512202778 810308514 351916080 439167218 308831532 259146526 961171590 778612222 48700292 356712738 181494270 409241482 718786564 971972590 460914396 667220578 874781506 616435944 653438900 335985986 673944050 306561362 525052602 966120344 884158064 871817966 112902222 663775318 915182832 990986816 494855058 900486840 761005360 596294624 397322830 117749802 865442970 755931564 614342552 335443124 865415164 190990404 516579292 689802602 302899822 685062632 216109438 709088606 857963530 52951400 740640336 594564342 999891864 474902836 227806298 655704848 588416590 473767442 845950890 703615540 346937332 251167458 976833648 334744178 745470148 242063246 614843388 555059378 960370578 418929852 531568948 277356494 757688692 464119918 669835378 433850656 999034152 915427288 933979232 399768874 352042372 475209514 156313866 616138688 455120706 364038504 61920434 543485054 431430222 78913428 237292098 10986870 106139716 665862938 769917224 434650112 180244872 102005724 468232834 184010088 673355530 838083902 373115914 342135288 712463020 489337698 993288098 75194858 952573840 736470288 770602312 637880468 276429538 876291036 908181782 164392466 859896436 246045490 572958074 667694462 375177714 206877966 530974128 388687382 605295252 659826704 536800082 422242662 868603714 78962316 410756468 512397130 631715238 448130578 778966790 691902768 833497224 338227680 36480932 444558064 364553758 575521350 609755152 504857958 762382836 811394888 748072058 448182922 726116228 363057058 923306964 560768182 761634260 760798522 512770112 316891156 249941332 995987954 87566872 252412238 417592874 159852996 501254186 213927882 319872246 914573300 184091442 624569584 560346500 794417836 664279316 698240248 999798314 294251780 805184760 923644482 855890618 54895382 153294466 698466462 462255610 921847978 98970060 343394902 730298444 220981926 188362242 764124660 735268788 677967368 77211542 649427814 612960136 696547026 544748704 61541676 107327478 460545370 943261412 947742764 99838260 734770614 10140060 895554714 26045888 72063086 627294298 707073124 73855984 709593790 130376832 576543892 126391906 5194514 206717994 562297602 466455136 60556486 897937210 575207894 535269118 553202572 27902318 779714558 897551636 369123062 162349666 150347882 437293432 847175444 471199666 275648758 638498712 888324270 87654746 459962674 973833536 451645550 255853608 19126900 523599020 551999418 457306458 700388058 416425042 601316808 461423978 563027892 395058888 921562034 603962884 843590242 960513080 888488506 199817246 775295980 123543768 655254494 758545254 32566706 743273000 950304878 439474496 418512344 21789020 721649980 570502530 684430702 496719336 220002144 313962796 112127876 827426030 762184872 842546148 949828022 468969290 120643416 961172504 654138150 240481032 341794298 997137166 136986278 447770842 668733998 797737040 138840476 653537614 403062006 957397360 227543002 902745864 914169798 883886188 839691048 102626754 447647186 693163262 186012700 346637012 649346242 80218394 750462252 66721212 571925996 145523824 938091104 792694498 394584568 806501188 409991070 628093778 617608722 240098368 670184540 871832502 720172420 734090170 54471182 579735822 686718560 383411354 260491826 546248810 734671056 394808322 952462782 850345282 996668640 895359330 676260552 807142894 397783378 544720706 507034970 493883580 77647176 811713020 492397610 907006454 21074066 849028290 21353622 183603734 745491100 222574162 477991714 543864596 246450990 175626304 330055484 294659894 390042478 668008016 602235484 730517772 829674316 257337502 875831208 346029406 297192302 178702484 742781454 857286370 399117098 884199220 838580816 868920164 72889146 615166288 575154684 665795672 341590738 277639514 896293612 29523430 389973974 92459680 870929216 604226678 852968270 414251844 543615578 598348666 645484418 236945942 740712152 591836666 372425990 801846036 748877262 218450112 12291548 14094914 82405630 866306040 410928830 869111824 550663790 794080612 420519794 313051324 979277292 455383252 229528798 356374992 879450638 186779770 715906756 951700966 744272246 775161720 874519106 408660796 158934572 496907092 25218954 386778250 868764948 663899644 484551002 561695546 523515502 69123436 493331708 240348424 602895636 108008102 640840564 974573114 445358938 837818092 722896626 629121062 578451406 33447622 214325456 199131880 370204546 867470590 354007458 549678404 452458354 144020256 943698428 519659358 937020258 404389956 203775114 594318762 387467746 539806502 201083714 849527172 651960038 658391210 187954900 701802932 162374754 619861800 902093206 625148280 330318014 79962234 728934610 94671656 64135348 788621816 471452286 79922072 857910480 747244042 351350592 842995292 109479900 407012230 399542268 865374940 363487394 818360992 335549780 775332638 804452580 323925852 262046874 257149730 864010960 656871352 89025926 276174686 4835008 465429842 928617016 610734240 506239956 205010908 85848636 970945076 213386868 35353918 218419396 622098832 443580130 5523220 580331298 824956148 893015864 326039714 160884368 501503204 748245288 914278118 686769132 510328578 575222098 988937704 610537586 78441888 475123986 145408746 559235110 301636436 856939278 84525296 817685714 976073750 912031418 80066246 278692462 149060626 996343466 133221538 7625660 768533920 673203782 962082656 785348508 861711738 700104096 33516252 446189448 522475130 207957670 637670558 236645596 174020400 305845840 557914048 443077578 423020702 411456936 708700072 900939900 63277250 474923788 463634666 735394454 686490554 732588986 839479850 529207334 311260270 258573510 678773640 361205638 490794036 544253610 279578288 998321684 420770256 299979048 131825826 756794246 892706150 914930380 189223588 136022670 226916116 702063164 439609630 501348762 376184546 809786988 450422670 634607434 132320800 842908782 913704084 918579434 410196956 844724638 35159536 88546750 478238274 793699518 462539712 346767636 550873564 959609458 619781772 901338078 534319926 972180130 314106294 219438446 705880650 188871716 456452318 865703436 542212620 585557692 537879836 497751866 551222186 329632902 32073744 860211754 104533142 193027852 887376552 628055932 688195672 459804980 791199326 399084306 365141752 292896446 331802242 238764272 734466308 611072474 850569122 575384244 148343900 409535460 307684916 396189122 652003994 647490912 69063204 137923844 657798344 106019474 442543224 64967430 850030858 720409188 104717212 92847928 49325432 363949994 699898554 312843242 878892730 175081236 678121736 968426514 606696776 549421932 823308426 841698624 255366934 762360210 888576862 915727414 564191060 55505286 686013002 401234154 860069022 396547702 940512246 984696402 388129714 71289574 198718816 91601076 44000498 949220462 698914812 909111040 818438472 992231582 366015158 390086100 78145308 765528598 284125778 732841672 900576642 247903208 545408528 524609216 466698940 148090198 938953714 871708478 232613342 884760014 15816418 320399118 560447228 84255548 202470824 306097668 390103950 448591938 925317890 327475986 453635734 529172876 932537404 126978830 562936268 916706730 351545736 413738294 361961640 127385758 135197526 345796712 927575156 10749920 918558042 250377056 717061884 151370498 485122914 274553440 162573462 66915100 315844414 514362530 313233408 722946174 748748570 232582440 180542266 8548114 117436338 969132182 803410654 307087870 766987118 20373478 679787434 207533912 943334092 209763862 614541528 201901200 14410160 703691406 19112630 845850432 781099614 331468248 344689628 492244956 971362358 410423628 502649944 677124240 105730922 698092156 708129294 574344138 770434362 300740774 579073010 653092508 554016136 363992170 677747236 366278292 41984038 209290612 423543984 851422658 660743616 511765644 31841528 324479478 519931392 212643428 94973044 339506866 381713174 27423854 7365882 278106190 593039862 80788038 791727442 327051204 105680082 316722936 191369398 925363048 214635218 148826974 462655628 335551592 324173228 600318852 562291920 944075150 172230868 936012530 102776762 703829584 978793210 831133310 107732868 181190592 349466490 39668096 541348378 832254818 336289718 234805618 685229020 806213158 946430226 980134394 902504900 179831926 351124416 164287756 311764906 414114628 222838062 892043658 984820236 279258670 112161344 320681674 523537632 86259738 908229114 60349748 531542844 492243116 989506462 500372590 571477802 892863036 864818308 631995346 758168230 421188684 806803286 523326374 942796790 221602674 467858636 157760314 533122564 70597752 607428588 886772936 194443700 799152344 379110330 331197208 183085444 327356310 359210792 421798956 436522174 200977230 193155134 471949116 938745244 198102762 309375454 624249358 365240954 876907966 615173056 661202696 377224736 977663944 721143982 294834686 12767192 387497792 13532940 2982850 271565848 400541858 491100172 388216718 587367198 74942128 872397246 402696030 998670866 615250856 825140700 269422838 682014124 844491832 993661092 541469054 706676048 882579320 710040814 436989014 958867974 245282374 72882980 516051024 83472700 684771480 895110372 929329670 422240274 874382602 726316302 886528136 795444744 406642602 145358710 388550352 135543306 199425616 417747056 141539906 671282654 249484182 741551244 843104058 486189624 797144152 496831618 500124596 631467972 221882170 238387826 659027304 167185524 249695240 126083016 827905556 611604912 68415844 820425322 128273536 648889752 258039914 301689372 119801238 280666192 459242712 304466906 597135724 194982390 479273472 194964756 971106868 921131344 460238384 72670962 534458880 402508074 59644668 407929726 858099554 56232984 374719856 274855740 691904362 999928926 571780262 461287656 981135542 547694446 955595478 922239338 183012082 600078648 126189902 337251002 271394358 746225690 28913774 603008634 683036538 107180976 485964430 557205024 69655350 799651076 208128782 611669418 616815272 59673562 371859566 526749740 290352208 956103280 48568472 223810662 957451642 777129164 501154840 255534654 46235946 918069278 150201222 612783540 184670278 223162604 501611422 26309692 82582356 956035074 414342588 815630698 174585406 74145196 794224422 989283812 191072122 233620582 115159014 620900812 396081730 121466792 329999910 975378418 910599214 91027764 107776976 797592374 290119076 689870828 249438572 537230088 882526394 437970962 106314732 384473706 169583112 427433994 173078126 577369112 378224228 952229918 35587092 567739652 975231380 196125708 724789020 835929108 294333686 498580074 779666438 765911294 549070424 718742410 25719218 675674740 672299264 610762826 489125440 893309058 282714602 926419638 711694212 66807870 450669180 271651890 825556598 115511222 129664106 455582492 829310050 967277016 556723306 498969668 530347716 814086310 743741170 927929180 139722144 573962650 975940640 361533422 652491624 529945058 905981022 420585414 431033730 292049234 407982156 891704728 458838516 431961702 867247122 914922356 578825170 103181534 167316168 465361844 947002774 900027888 870760424 404220358 747283504 123378036 783816554 828377330 626417394 286503324 453821002 689023924 281957678 33706132 628246182 944772586 499029888 748626796 472759742 823841938 910242426 982914272 377338598 521276668 777997684 923462632 483161522 559418716 925699860 964251726 553519474 128251190 846153698 976384548 362518042 268367640 261491380 784453040 824709330 347298848 667676150 617209910 960739674 427057918 603381264 74675680 558020332 640748328 343291628 66148178 623961744 875367542 396402934 514686070 16795646 270856026 299635336 656851794 833592170 875042836 115104818 868114672 446460154 444551492 547346212 754748988 680410814 747543192 163083330 266253950 16315080 736428610 870125290 387224564 990673660 557033752 865237204 892755978 267768092 857092896 298338878 911390 740942078 73244404 319869518 344398236 393505206 994393522 563870228 260856624 49139288 331241694 763171380 346463490 382805664 720477790 384082136 969038124 412485222 158342914 563721566 418638336 165186968 214240374 65243698 431903708 264501688 682944074 512370514 404047164 236307042 464545784 130949356 899058934 514602486 140121466 725795484 685157580 766403694 711224886 783315172 898566984 689788554 403886492 44747622 526531168 891434620 315413154 505833454 289971872 581731598 477279542 351600588 257687258 655852462 730214062 877119892 667804806 109847522 442261304 960055654 137514888 753069104 110159232 98605626 901827974 708665944 244089480 875695808 442235474 101268012 921308000 845913188 424482270 867007092 861611570 886656500 487612326 41193566 296309448 544923498 21081632 252355924 157165648 970119006 212009564 396707226 573035194 599225320 42945226 821623342 554548438 242209108 202219206 503339006 401680788 251199918 276382444 350445108 961190842 731240578 517366386 750576934 297627038 714869220 201884004 829045058 273567512 687591844 970635454 468568512 618725904 145083936 601879724 267823188 853989338 956989298 987420594 303558050 553081158 106493212 780283360 741601426 30145858 998037138 364292526 88685912 269305022 761178692 544888780 923840066 781860374 88872662 632860860 834566184 828113000 361501512 470421288 727751860 184365580 439297754 719214746 830756472 774677270 450831438 67119122 245442776 175406400 104399854 311173760 32884460 836358158 462309262 82311398 431951738 135108168 949025722 419775232 450480470 987750736 565328060 513073122 862965672 457019336 28160184 517686276 83395148 295415552 658328730 876407654 418603990 630477418 713611724 794626874 195440156 916792812 579145090 942464360 141095224 451390352 746176772 829402306 910304070 315503274 933609112 697323882 176203480 749091118 784621192 712328122 909692338 55284604 254183846 895130344 172778568 646850510 94960398 606496200 426646302 964983848 75172554 331467970 552402642 154968112 134735938 335574800 658258764 345953094 915597884 681999488 752756142 719473372 755640576 533292850 234110968 86347672 170239744 616873934 179263890 633147302 893846044 232097530 403985398 674409966 641154306 153181528 224979420 773736804 177401434 567885706 664269312 108612700 732456170 950535990 805024794 878973462 432077252 467557792 557172144 883209028 829606266 212807104 394523460 388189830 60599472 946280780 964898306 533936882 805532910 536929248 153563758 543998480 178316894 587267492 49559030 249400230 362760506 591805856 846168880 796119922 566056512 637129688 782109938 98130128 360266118 220183474 438159730 360409594 848815562 621900748 120600696 46226422 106656494 968963524 992440652 687168204 812428712 392106368 524346066 455908180 624926010 880209718 271316180 1852510 71519942 148793168 612898178 544200220 419183860 357709456 519356542 848222760 955009306 815368832 701756220 369678044 318887706 201670944 252995650 654709690 583057406 901057898 629097862 697269492 724621686 776198440 651317464 172457214 881406020 418758960 605739348 179179990 600446670 980695028 522830594 229265094 989725822 513598406 873087556 912812414 662528154 706989960 796414352 865291902 929657436 636843036 374517814 394994094 551314234 80767034 938323912 732799100 726781444 746640036 296050916 439101064 685313040 350741058 68027246 106632930 47542750 801479890 183294452 641648870 410425472 665227772 267352714 539560456 33207010 901257130 898222572 272870428 280487510 38152362 980219718 435952300 345080146 883255336 307628602 347021378 228574064 818357118 480159336 769663560 690012126 955720312 242931612 377038422 736011258 155404614 844285742 571623394 294298284 409535138 370639448 511243620 337885660 212283520 891559534 644078084 729000244 406652586 629273128 587973210 677109902 394028402 381085448 896488696 872815316 561543650 59644846 88754188 691499302 237505608 889240702 408936266 336614344 316098394 301094870 994903680 641752276 519036240 73265054 868473586 32174278 421850512 575152418 480254558 156546928 172416690 406851506 466128714 953673556 822194036 470364684 126824260 11250746 952820066 795187882 558408660 500122848 398789064 7584512 510362340 78488992 669605916 12069898 573509864 160707030 600854458 888156276 715458636 876189580 626602392 544581940 239762482 285222530 560075370 593190832 599113868 998546000 64071380 226065344 996495316 748167454 708242092 177010948 30749804 803365898 328397972 756538184 747938400 892433798 925684084 382203804 668747034 493015302 681975066 47874070 572006112 697012264 918047634 187093082 92319228 733668552 736927926 260926988 672880808 72172694 885505848 913629892 702631842 488200488 288128516 912060240 394464810 734301286 336221104 808498068 219652192 750029718 570283388 241147982 90465374 615965338 117963136 686138592 219350424 598623656 903602142 342080888 91621790 870001542 135577172 954730862 865639756 844678226 931844828 20355244 576579790 871682526 78016862 690102252 850983748 399191134 779942358 588139648 990435202 396559394 609844382 392473776 220977298 93979278 134877298 256987292 387728762 915277894 232110740 529653886 599485814 23187718 217593888 561106168 120270476 512035348 116808528 575760922 285934316 360588338 651989346 785809226 220051824 608870142 20353056 397722194 60898906 167721944 842891580 638675228 176408974 531360554 426938556 885978136 969971406 390670158 304154402 28200356 566953336 586892192 530465990 592851566 698989982 188564322 67557282 468265216 369151692 324195814 605556154 803336108 432720248 385427102 13549578 670922346 5966444 38984240 302798322 978641944 790421884 784357270 725659112 503112818 415152824 419543638 350814778 471647690 26962216 375664012 290893084 530277954 470178066 94249090 734856560 316407676 535198764 995684814 888887894 436547108 111802670 618069872 159434666 486112838 303684750 974196434 223750856 866713442 106984092 166337490 327416562 952615586 494691022 265501552 208023172 108865298 762306052 757781204 206747904 64906470 757011988 659105594 918234698 485757448 426087654 99736010 583158418 32908834 407837486 915075262 99188362 66408612 253481652 410582830 282601668 326410816 701511140 867508608 467880114 263193116 361489776 527009666 687637592 544991488 415652450 367731880 583743836 97719678 873175610 412353200 968073950 476169218 180907516 803648648 490258720 905947710 741254124 347085914 480362944 475355610 576361250 739838618 448560666 345362648 983797836 849817414 330533774 50667454 996070090 147726910 434071744 343295202 634042362 230478702 846962590 198695036 52070688 480083656 608457226 148845544 849725886 574204106 293695758 668178406 918064474 680946308 464989400 468119398 263321810 940871812 969368714 719983160 564045458 775048090 782193148 719010 84937432 691337594 324711384 917159620 917144604 993260138 154463656 800024442 807303480 354302200 303823770 493776692 699388646 292514872 888168786 402635250 126478066 60970862 661940482 126651804 660215070 54327614 188876052 96816312 825796682 553787144 327263020 267135312 497339482 877805056 118192294 873899060 652768364 871113766 340122788 278959596 257063782 497008604 100259910 945565912 302698198 66744556 522237770 420551980 299134516 911835312 320302898 395398778 321958572 912774524 905700578 538425428 925796614 174130652 280630008 915510354 511050372 857434350 400310730 181518302 131798746 372661916 684724180 700805746 310381104 23526976 598107372 440654706 93734970 181815876 250718256 170899216 618504196 771604454 627626434 202370348 792359928 740709168 372895682 14165000 863733140 661485114 747710112 910153144 634606262 404153410 990496524 411294884 386957108 786484832 219893664 398812390 441292406 661956754 594333504 455469166 755876770 858954930 419948570 385702570 203523884 954425718 381457948 387670984 777849748 250499844 190364054 461548634 806741498 409256374 751382116 269071214 295788954 330026052 892857258 342644862 440799736 157067526 51036728 222140374 385729584 395002838 651077620 243227914 292843586 105795254 424567398 134875242 213240686 866104116 148494424 113200932 99958890 895488296 938108132 978870530 130346076 224313422 70798234 303005218 558273240 353874236 118523360 923282998 239461392 3913940 392237998 53370880 981154638 950592352 541150120 69026902 332403510 850822812 438274972 777891230 939641786 680931538 348812078 495112806 793124706 889122874 904317436 391724098 543390318 220069726 127182568 775851346 269124240 835558208 77713548 308970830 954986092 290227194 897288730 324941212 185054262 670935548 792348166 194574426 589559414 720211044 409881166 766843368 935651856 320448452 987812630 831339330 702435742 470342534 530494830 893081834 40499966 463642444 819111316 137815618 467716366 766893362 202158100 217451122 863136622 73728168 936342046 101162878 308030592 327217448 84884332 346180122 612977940 836461952 786796832 283476704 446403506 101082138 504841104 544833578 982720192 7204392 819201362 249032624 569752358 17156000 350115920 542590340 8363468 707760200 556612048 360391996 641336470 658668382 692538218 873173518 863947454 47125432 788709492 446890700 626006150 367895960 371599124 366368482 533421624 292556772 244602668 959321936 593831224 938188730 289259698 669181858 249244866 547167756 211608882 878169152 962963524 899992798 935545450 195851238 155898756 936239118 987313084 804872530 82844712 25985916 759916328 507622958 61385874 377541820 152999296 198532210 946647446 141853078 922070486 37811056 716791938 957517808 48329138 316803226 799566186 164737296 725394870 164877964 281758242 330207676 238511162 784340380 577441760 3220972 135013332 623222796 159223266 593171390 959240444 932440042 989714292 867174668 392182274 158763964 847507996 502755174 237476920 200112082 214535700 391403282 243692328 247237872 332258364 730169276 319813992 389137074 447665522 88663294 897483162 973451702 719936986 676461190 151206286 306330184 994239000 599142586 520632990 634786086 818195552 129721072 261837594 627873638 618841942 576857920 577351700 761621448 511384706 832368128 75264384 169898832 169956594 412914362 860674124 455970462 616832376 550953026 251751838 681016310 614976588 891633712 563986080 975018798 686605792 506370678 639203274 783803134 429234914 635811702 196992036 206899630 437439430 21971692 864269434 474844958 55021010 396014500 311350744 439172358 277034216 701306548 419552694 869942252 910647464 288860456 134486784 740313208 726545158 995355502 495728948 105524354 301387836 924199258 572096180 315144210 313700640 576133284 680680890 151397966 390683982 237933184 697469448 89252786 325450488 256167380 309030442 132587654 203464250 771407078 300712514 987857110 810842156 900866650 360520498 802248656 958159744 905013500 858435612 897064746 811133486 764722196 677841762 844063482 973814428 400136026 236666812 786355686 533691340 707003840 923772164 85711740 274975786 602179144 645720096 742904608 879043240 122916930 250429602 604641018 854269982 555789152 851560050 767052420 777349998 434780346 521311432 319344780 734422156 79477668 427104112 633109434 229414528 284143256 536877668 943188524 395030286 290178874 259468832 964397344 596898220 459384844 955735158 530918540 561425060 697614832 912857214 723693690 150932444 116958968 933966476 994915746 19213382 768752140 309343572 627995144 392543426 19593252 155002948 138219112 926190172 404470238 810323212 300449780 244575444 239136242 446486110 143866008 439530258 189679710 590264496 429531848 244404916 782935300 521932164 231973282 17624424 334331682 954639450 435949128 798085332 689685620 392641602 565899240 360409716 88196026 41924718 590038876 806324158 676330734 309914562 685540636 382415142 6971048 128221796 109643666 838129374 40114762 342821054 699857438 674602106 626864906 159642334 104414990 25847978 566161034 738120890 398419226 499638952 265292010 845663688 700228244 866123164 409772996 522819762 562612196 213235512 89716626 351030610 313644106 201958604 857761518 494759486 361746134 766353412 581113096 425668884 268349558 626754650 479382966 843199312 564352208 375715748 182441554 849975460 197239454 939274640 818994624 151316244 910616430 959925834 688873214 853300892 743776350 505654062 696046990 776373702 393803564 980134768 1035474 931200376 528874748 836375116 786021806 71784350 930033272 880564748 743225262 712175156 594088594 198294530 971960630 406303878 864082352 969406398 341921190 721411878 418713712 525288862 575571544 134315442 282220216 87317558 546051622 362588440 340635186 973494758 923328156 830356734 861513872 497808626 539968278 239266862 949122810 492798474 562314996 542524548 379029088 44466998 222340338 848313516 190032748 545868330 179814588 643545954 259272066 559696312 801647890 524805136 712573482 770452272 57152258 339061286 811040058 40971036 170052838 702113940 986430548 882058486 247304862 797002302 217186582 332148424 57168388 756453970 296092152 939759100 589719774 533243284 445783990 478891954 866239822 991227342 921672028 346991616 695512258 635291758 788231422 412658308 557870784 374720996 44931358 795239552 17726814 533995746 638297264 914940254 848588776 163008870 674283652 546896722 258632372 751062296 106249622 483412008 187673420 179769938 413050200 772041136 235873480 451165878 559436312 699109984 66616802 149887784 660785466 314597276 609573518 478973328 714179438 285404412 820270626 830550920 551406270 496574080 464108482 614594772 287797440 107928300 210548792 88375568 267031858 505912134 568963264 750706882 242736502 231504986 543996906 412228110 281165140 904548690 420179474 667351894 118540228 177544304 682030702 152645762 196019464 839768876 248909850 436186638 251619994 494031376 662391778 935809784 714786710 755733128 648352528 616132438 784161692 178267542 676258314 91807928 420246172 472304872 561241770 663533772 822906784 176465758 674679252 644939728 527353100 955226246 743435460 23729376 680396386 89981414 484821980 886525188 466118232 621504118 728706272 20680810 86189528 900434768 169823612 573219860 136951832 558839750 103813948 7103574 981460782 733621488 559188196 690300770 15519474 384162650 495684002 378077806 708805720 577486128 36121754 70686306 238994324 387833078 195936562 998403064 374474712 353493760 305616474 207895400 233753380 557208226 465122972 540051682 157912540 94326828 647804020 484350708 490797140 406388980 744772756 239230874 878879418 215396234 752962142 966182938 675783306 984876566 496821070 903790728 473499716 402042916 23216298 946354564 554870376 81285466 999443936 346689562 293366058 190416248 510909204 113873510 572796266 339694354 347780972 73846610 611356444 9571584 828374350 942761206 491682672 771726360 25481380 251425862 495510670 113323704 28405200 90142246 961847328 975749802 255966548 460145064 14359218 118758296 726453140 699010326 732412224 66824388 602947560 746475740 419289004 28080056 81771852 821541620 481080104 202664770 476107306 892852312 545540074 934980076 71430310 328133080 110223972 979613068 83564280 228240356 242899846 530417472 898055706 169580392 909467902 374863842 625758074 672809144 758505530 520793888 344040862 762595922 615647810 106004304 980568520 447900470 65681670 161662308 95895200 832142646 604421106 458737746 86154594 533394934 677012788 562462662 692772570 446811054 859704348 272202930 675421790 77346256 34493732 244167992 801235392 521783918 39465714 639018050 857773816 669303602 67649350 66965330 173668940 859414648 169395072 805163166 826848846 640554604 680718850 480603290 284252858 595773464 101328554 468572300 315521366 416154958 890235902 461165210 814065828 985040680 798327538 374321338 710037296 880940214 759151562 63054028 848249598 798343580 500198892 331694178 85095698 795126212 138584742 169987362 993958608 327889644 17778262 224080328 639927584 135925774 124504550 802386792 984860508 630366360 871776584 20777660 520579196 208126930 996857074 46135368 953848650 246126516 934847752 284887832 410118572 35820730 434368628 267134162 665376764 993272100 22895022 501715778 963438624 996484116 491701648 956300368 73789330 755140198 256579402 369842810 131556854 576480960 946399880 761262654 49947560 142607840 660756986 202748798 36934368 960800264 113359058 70022640 213385202 737670850 945840548 603352266 236312516 379911412 745584106 596173234 349606982 409306140 906006850 980733728 421444842 878593224 483166278 649000704 139225578 688324828 380068190 825161070 867449462 493319650 600564190 58937088 102575258 166577908 677458544 889876378 913272996 261580634 759830730 252248000 211943612 544534790 932424752 290448260 462870542 566992896 493346224 225382840 78976662 648460140 382974378 667200424 661238364 79763870 681455220 230888024 799461336 885727348 99906062 18591714 157345166 458376836 859377814 254422074 422056540 215337996 139554340 136332112 62230272 889826608 847208320 316280294 792013558 716549948 270950300 626244382 253157376 700070704 369368892 448594926 929118244 387718568 575911458 753870500 454879612 13736108 298539778 414965528 299020630 32558608 614150652 61297614 239424570 21180480 805339656 203241468 478732584 171810194 644621030 697041754 601734048 834270154 844521206 763818042 110608122 288293686 58527922 354481784 97127602 596222730 59428338 9282100 788547694 121829692 268974624 325645164 272097420 563917384 211140302 437300308 941337320 169547076 930326552 25917210 742746132 277672526 902315396 623636848 593655128 944823814 745095274 640020078 977298942 378776496 660436626 473425308 686655896 353514606 211477050 232924686 832048852 378286722 773753650 906720856 640065210 844312592 903730072 529609402 87733692 814977308 760295530 893522660 665545084 810159396 871470522 572786302 555695972 68415580 559805778 128072924 633574408 572626934 532325294 416598092 511814308 804384444 45160318 542604322 757356052 360972278 904302876 438563306 327738424 294785340 290949894 75425856 111845630 91015856 297736872 550178638 829627438 214030280 597206358 503111276 66544416 630056266 535297118 617120932 617494170 889004542 184536992 184038834 102438666 896496830 512292202 81256500 996877230 983420886 375785976 649682572 314829922 15546116 650580388 848181742 476617340 624899848 417819902 496265974 857712292 638688450 453492124 875915138 36859324 67575428 55175910 974467710 721938606 915476264 446766118 630357766 613328004 862535768 137230460 985342202 671982794 442701912 323078552 635823446 929294314 471948642 323249086 288386942 240926456 501996348 965574976 35860212 499550688 393282606 923986916 867252014 954839418 811497682 64381880 960804524 298989118 312271690 398966070 532452794 78099828 654110554 497882284 991956822 575248488 990099290 95385458 595144348 795271620 870374664 336619156 387496800 389490420 621736816 422950144 158305942 363531656 445046434 30508458 33593118 725363360 327722394 637519290 350455670 924016796 265367988 176520142 497624792 412227526 566955338 878679516 792107668 527251080 823275330 376327254 542689838 333731460 156011050 453461304 198744560 103287622 741495184 599813180 821909032 451327052 154852806 316173168 780954092 979687616 282344130 179769142 850835060 839800820 558487004 640418404 82585838 298574810 862097748 675041958 634300404 13428854 962388582 838875918 136990086 925147282 244037738 858445118 171097814 995584484 805934400 757738740 470258880 573551796 455680126 225736648 916791216 426802152 255974792 579480234 282735660 523588370 459198734 152747752 72813580 412512930 376461496 24746730 812607124 828976998 872994004 108247752 40920906 398860116 199829710 261421460 496700198 75857914 323228054 422202196 336110266 128360772 537588294 547236620 434996834 742383500 292042798 916042560 357212448 115657102 346510830 102224890 807294058 287132032 422145876 969361080 182642042 205572176 129923880 21734910 289326500 420130092 729999612 358224276 397971562 754680950 117822438 661972748 795201656 216685016 839674766 983001070 826819384 56032170 515909526 731693714 136905112 303244564 745400926 591016148 353994488 644469788 131043034 757829254 960488960 465218964 144848044 932033906 716803936 924101060 798355512 514879166 317723762 237103420 117349570 765169924 827549062 260694502 360358512 244512756 723888742 314430060 896755076 322312492 752044246 446915858 760902070 423838836 658477776 672184930 311459380 495356986 966157698 352064518 18260834 542454688 551815014 501095558 779484824 59904192 451170886 596869092 290635592 318248496 50342946 561442882 953207554 550255636 916741174 445910924 217637580 164125778 990380396 931802190 789626060 751410652 616069054 422925502 326050534 161349188 696192622 603750668 311985432 12562122 491706408 328424094 406247922 83973570 839851890 763267388 160901626 711992668 308726882 458827126 939949442 173820170 367920254 721479790 202579888 867871438 808761832 94865194 827284816 493017578 455784454 578470686 466713702 403910214 349887748 923854400 362525922 921354396 174814632 594124288 583796240 419616328 15812368 984135656 814245798 596312078 304352126 987622194 470834404 924628850 372269690 557441868 560462374 582770548 668702730 764316972 810989804 287460880 283210370 655872246 34768642 513959462 403149514 149843936 403496676 294097056 858075112 218045452 497126168 311725752 868700640 407119350 764055704 438415974 536546912 352553968 647990914 539716042 911349000 39527016 922198350 414016880 976462956 411586668 398745594 375181322 82582954 713112974 771433346 709672704 544931684 734914698 178000350 993355204 80335908 644412952 517835104 550491766 734651232 314636550 528096886 258604870 751049596 775407806 376492858 200997632 929682424 705115538 814206296 972324620 444509884 590605988 225879518 290963876 509999298 687860818 839358192 589292574 926618980 129183742 167938064 151054142 503802526 444924470 158290146 847215592 165900668 247250570 203965720 748150904 816505214 992086420 824823692 151824640 494311524 275512522 664952948 436764836 133398022 577437450 656577396 835227796 171662926 363565590 513866234 122419302 540415458 353219694 167757278 861610530 193723490 158748492 104330066 63715364 455801204 956550064 90945864 63717426 355742838 29791070 857423078 905481706 6466170 870339414 133537388 900822896 751546946 809578958 788916298 624138526 260187168 248536612 436826740 338897074 184796974 493008324 760172452 330823154 800583280 829250292 861355908 60494550 280060296 253148820 550359624 584873776 137056340 239939702 23627120 967759230 938872870 820697082 134772230 812084696 541745148 638878400 18686662 902558840 299462122 550352500 534643702 412438644 198181362 582600696 880282222 198186768 71046934 752694080 493430830 992102156 295960990 721360010 576076788 18439406 304604792 404110358 213588650 406866664 321826574 786731240 720361008 222422392 429926230 940496254 827527842 32121002 14439224 493086658 560852808 351468644 497272978 964922494 554469608 870313760 100360076 1946754 777263518 810320328 888496576 692710272 272601668 346996318 705608198 179402594 827817748 112928166 957436158 909830172 698802498 465336014 922417606 399797578 351321100 499133586 164590626 241576838 310402666 67755666 668548582 574933058 280850518 955433898 434198994 755240916 932935324 981795386 441808130 245118192 972062768 726640404 550088168 318478962 792067524 434655840 318214550 620314300 101995086 114880784 93268320 816588846 860531576 186543496 475183522 481325410 652051496 615220780 101248310 441405520 730606804 910779198 214130198 225006082 432035854 33104940 815956432 300578368 340898234 294052464 15770218 473844298 650460858 593846400 58196604 967061708 892491142 191537588 593326094 665298502 464440314 313573270 742047486 669367942 405291596 109758402 315200482 397025324 810678946 800562918 837209236 605351498 522477002 392472728 538838966 642654634 211482796 854660916 469625946 457759958 68609946 422092246 73998302 50795070 295945028 682624094 719410340 238114676 694485210 653184794 884741646 540215870 239126308 97355194 476745598 653281132 252751770 456776120 489897332 244260744 444902966 914048006 210826296 201745874 477974192 612239886 476213066 289316138 396559712 537512108 412379722 284457624 728079736 676856950 943409856 859173020 624039330 410171234 690881726 258507068 499585878 353304520 650647306 293605298 294766594 973456290 303062168 552052070 934260080 107491926 604659970 539045466 686641064 41386086 295976664 465903972 447734604 831538274 576188648 748184408 762456330 805771962 439439124 319476196 700676758 344187118 456188916 672767324 97787750 162768718 267186674 543291438 395639324 611315268 552221162 126505356 485208758 168361806 944127706 117860950 975763276 320713498 245400488 600046940 356451966 705014700 205798062 843498358 543474276 898052700 31502596 566178282 740512008 660221876 162132722 681254096 100358764 360880520 842508780 449064414 72622972 769759986 790872082 369622608 186350438 168173228 661403122 896040942 466994820 691393438 964860392 878528314 265663028 558440646 497186174 904420512 670878520 529802722 516893346 464465566 744354928 797452088 48882350 508204964 625204364 286983362 115803738 356795956 142372190 751772946 755026322 523891574 472060886 484239624 548907978 580848402 274827810 927759632 550853052 697192710 299966026 95296060 887540806 349244190 32129190 213230458 103849424 963458122 346886124 205195754 38209732 864537530 838523194 176435868 393958446 980416692 390594972 64885510 508114442 922871000 97834332 542545886 951066378 713917784 234844292 801301258 933088932 554821842 521053648 522722194 122324320 629342950 553992908 123200658 448075568 166727268 833653638 208833446 427351236 331518576 583176138 938287654 691177066 717919662 647986254 795617724 959887438 84947028 353251686 570916348 691150700 352801532 346469322 205453898 733734050 475898804 85322624 892565900 214080502 233729394 555152024 498690934 514388010 858679150 453646398 936156014 564465920 370938828 503600462 120060214 39208310 330382186 763205496 435623802 813736060 861681142 720297046 624942724 513885448 641748692 765050774 146855810 47915188 447907658 879444524 921130190 390146 263761440 629503798 762416470 30306032 252614530 1149826 220200206 856633774 838579622 941153546 729422536 612729202 289387912 403719044 176930384 978527506 358945966 171446928 568904900 812645090 574593258 50773238 829626104 463284190 673053094 276572172 231118514 929282948 576404942 933394560 239040244 304367202 43128388 553063214 984801072 76809108 230071270 807808880 969136592 249472794 187689176 943474340 493058968 889106802 428437692 542010846 426219638 18551528 75605904 755382080 155169222 986874290 158107302 533245734 740486784 762275906 197376698 972730092 853307976 163192294 892216852 922980928 372050456 909997544 42997982 996137966 199548118 50074058 651101646 97178568 539468714 691655212 300712288 924808868 709212296 995286106 605370708 756257708 130204108 341311382 135581438 425143744 784801746 739177856 375404286 382096682 245492892 557073700 286351268 354024130 562546618 728641104 746897036 454312316 819930774 654802254 717826886 536025668 189250174 523310222 133963484 74622000 175483732 463585910 412910620 600690506 132362308 895001702 578829950 118964372 215867108 745198542 507298650 576666228 237519324 279176386 320032518 935609852 716320932 456853550 560059286 214052444 726690824 694600968 222311904 518369498 700874352 589995166 435506932 428561670 265694692 218247832 795172002 258858876 771921684 48289306 818394682 290966030 789470346 205156058 573385594 500283050 600980818 558460162 628426702 695696472 95653550 990368704 736155582 828154632 994294590 108929856 117270576 421235810 680116604 683475162 369246308 421335630 559328020 40104950 687207854 792438914 340195232 423904650 665547712 832726178 616872870 111212344 750293470 392952094 817103458 962667068 771787254 543232722 434868652 401848796 176100760 973535702 964796788 321730000 529816182 493355446 976863298 796088880 104950428 813894692 608410602 610485718 16150600 192747386 638538434 660097104 806023238 918475994 509549240 531925024 803270046 649577456 188399392 671043332 989453674 604602348 722448428 665734726 411901452 283503274 582604364 163185112 330748898 509631716 115660218 574019538 216361682 506914442 524638922 724688554 641943610 170489074 88657256 394891454 503579604 594727360 16867938 284457716 889737534 805028852 440239428 911280224 435370794 180530748 53455994 597370770 891715470 375912110 472967820 562732436 272411236 863809504 835105286 981557214 234538836 663777356 456959776 396199400 857243266 572509004 701511866 832530240 967676580 82943730 208784640 414393278 122460736 218942980 771040208 602825218 115959208 912181282 230456014 90421676 371552642 909181448 560909068 226424606 901926496 676151784 482859588 66004150 725979326 568219320 40145632 268335598 235547012 99075370 376801272 964243710 117033938 292243714 89388462 530798272 5832308 334588760 450026184 67152102 282444108 975889072 901917810 186578656 208370128 24131986 17941656 932746196 152235234 135932014 615957832 659208008 713124600 890193972 51711010 152734064 345259484 580282068 343118828 467144956 57035614 395002160 540155776 497799152 978678066 341063654 611689056 637015334 837933892 6045732 271117516 655917370 737538354 556043890 39136246 118601164 15401912 674315738 796145398 491773876 916213428 504611784 506570296 357580786 738871432 206350600 973655968 480656734 230614098 747574148 276370454 783615486 764973228 522189832 379152862 598621624 33070274 484966426 442478666 941571432 361120702 412433696 525907158 649864022 309538340 324758404 799282624 561256634 561961260 376175476 800518016 348918638 507022986 414305174 789882826 523387212 403758216 56766336 958465022 957471536 471113370 186439316 375168930 776226022 893537558 999556262 588281072 155550352 911417138 904615556 941943450 390533288 886815578 614862076 874236796 469847860 380808118 417121270 382739272 691106014 180505978 627477522 802622172 126491566 755122872 440275000 724040658 166256274 907586942 768214972 824084662 363397350 81845364 79297360 479670732 450252416 754810608 232992268 430353278 579925944 331201494 397880392 183447188 992253898 226130254 184320086 458323288 144837968 762720842 742732560 114096314 760623348 984160174 408230842 415431698 575617456 575614368 994134664 768377816 322518118 110269406 561758342 165487450 339298984 430058148 584337250 229995410 892385010 450209056 810680504 352018910 455938626 386209842 16735704 718369040 6734562 102110734 895403512 427711268 189763368 425190518 994800794 804340434 484073894 311076490 906843842 225136436 214321756 44072970 71162912 427687720 611971784 953833834 784830718 709516600 809714808 25363700 494636960 283006800 562110132 344578748 241107500 360298040 820404574 199995122 511322224 686542024 284051606 217578820 128101026 440244594 590430826 974704352 997091230 771317676 481304340 574853608 870937462 129204564 404122636 535947856 239545330 155915876 570874016 167183980 776896828 194274458 335180274 902105710 950423518 199889560 244385618 275058166 936606372 440660516 950719046 952360972 672904696 150783606 429872672 480955662 647288870 603636962 806455104 96778768 873234266 965173396 746710958 266070016 712898276 194216940 73885850 333354906 199173318 967869614 996074686 997787968 46750644 294243854 416453792 802064992 67523720 105758846 281464834 16526346 857267572 823675634 791738872 143000878 185633102 188260266 152530016 631274826 721586886 779010252 409814308 768354614 680749476 122815984 943829710 668700612 441979604 445675202 316366634 812438400 623779446 768446112 946842326 949200458 934458394 994925930 785772788 394521966 318460896 965550430 234308546 67024988 112991364 370328182 274696658 582541450 487356568 577619982 206987174 137030478 889477242 500713332 829008804 182981272 126514276 746250670 368043752 407810728 21802588 313406012 477771658 490898542 651845576 560829332 639347748 185776126 860736148 406567084 307566806 233224520 658832898 85512964 894953302 637301650 37121784 757672054 875406294 746137434 461173214 76778622 178458866 751205636 815201210 82427312 174038406 816105698 961945214 916962662 710212456 990562160 679759630 603603084 463037286 283827944 553327668 771259394 248962498 573050680 883780240 993784588 714635954 204281996 158262882 485877286 989603686 460661548 950804482 162233308 229212686 187956338 559203310 641013502 630092638 466999958 506623672 148670752 921003816 354715210 629991872 550899362 769524916 336343334 218647174 194085432 244103480 484858326 34142062 231492014 243383032 306097930 424507116 983686802 642864964 218079848 975483224 253148586 210658526 97890910 894446116 428099896 921758124 580903298 588824352 746618094 608430334 42188860 769711068 563400396 733209110 361207700 934872594 730125388 517309924 977694722 578017100 977764252 568704826 770049034 271275288 393683434 733183400 416855744 11899572 768815402 435292460 536277920 691199300 598905562 709264832 530288566 350391804 502564662 325481620 411942048 474341086 986297898 490324822 922088222 983567454 520781880 711268084 784322446 706632270 286874158 906668666 891203922 742296738 485822418 988594278 530125594 258950748 795577958 52699476 922432924 372443672 784304502 569326514 444067280 969303258 91780850 274450158 832974318 952632722 836775944 390114530 857420480 534282040 54838504 431521900 654029120 214831848 866291970 764554902 822537414 354170300 948781054 762968112 744299378 100519258 361558494 331001442 382722832 210029558 922207058 862821576 146013348 412223788 31718586 390829134 108129572 253934894 746929282 253305800 787578370 446232358 36106816 8047016 702035178 83442122 272422714 821075524 716221202 948939952 244368842 173086662 864723274 30361084 530433502 10091704 603155802 336879770 722700948 229512974 818493574 101704300 741061700 981732712 321096520 687849750 206065626 394225668 950222890 794892516 661521092 368016024 741971520 392575432 651213240 311084324 645974168 203334558 357666326 365732620 13223504 184863652 963580620 105496222 500646862 26964564 650974868 747354574 250056642 579927406 396409432 531827966 320850262 929793716 57530818 465949412 419246306 224152592 392951638 386312522 843127784 238997312 356158160 410303764 84765778 326227258 782535016 952723210 344777146 773956722 435173356 75309374 827797476 670539424 957853836 893839028 327624280 154472962 622795662 699397804 950273014 336895762 930497118 549802004 867061446 169252470 889862248 796339744 41407224 904115628 971950238 705299076 297811294 338030102 761459058 663864370 602971800 659709738 149512356 14500676 339175906 957166342 567635104 599024042 349140858 903506546 96564390 161158412 722181608 510135740 625655070 69460078 416240372 610131892 848089826 26468054 796045442 100544606 831153834 847185766 815929934 586751186 24003540 215486728 654914290 638384916 116646858 945173776 410339260 572090 57189966 384465632 752780016 489312610 541835790 625397284 872500778 541746064 73687236 293725496 52314740 879558114 871436622 572653932 285267716 223928274 983729770 982567738 316019442 237390232 623841416 236600840 272323668 633126552 921505532 133809284 699544796 362322360 655369254 527994980 140614990 356347802 614633730 321937044 936935462 761099606 201224560 558665552 862556614 86260944 568687252 586168382 852662870 294187700 833055346 153142538 103372112 793845642 810113430 47769316 777899890 236520980 539253808 247629820 245834318 618633952 935230036 607894006 205951146 652700754 436395538 294070632 222245800 561509794 797730050 114134020 633261324 259417522 249485000 567589572 157491754 478336876 120199002 531478152 4005270 218186778 494981352 166616058 92157612 5582706 741432238 328950766 597475652 371294986 112312182 5349772 152615672 711910382 135606316 522944172 971027266 489086542 658957750 74247520 870015626 885940154 417748510 248432432 407970094 112057082 631069398 229104664 652980174 521257142 265165794 304124684 954303048 140775960 858211450 268691070 856585288 375854610 633427056 616334150 138400846 35845610 952902218 638906852 633150280 512191176 458258620 932693958 411677498 335998208 285003280 86244894 390417454 121804694 561443532 422180844 180695394 718056558 43504608 813877998 720984450 547548212 469399018 696876822 915759840 129397520 348910166 658454402 92878634 960985876 375898550 517405846 384513978 764856686 241730760 434771282 757435870 928208602 302422932 245687280 903274688 100697060 93670744 543510062 949646894 111026616 399405670 964811146 279416028 42562186 530558592 320366476 871990540 408877424 418011268 599459556 4867494 244554528 152158710 355176166 214713580 96037080 871301848 167217592 638502918 551289422 611682754 198301282 109140726 526577950 767709162 801244872 232012830 49162246 625746082 362769302 334907810 143353316 31770000 814891410 157799486 905000604 283715992 716599642 566307294 934854208 729155468 516662216 520462800 680544092 267410156 36246842 644505902 739200680 534665638 934677436 428878862 745261944 779772776 558292092 819567442 46499016 263258414 371123286 959846356 511349632 990378392 998620972 25264764 964464184 57724668 757908642 296737958 50295732 946174964 814026188 496904950 723400704 114645006 283744434 425947772 364624372 116792888 298420382 341312030 974178924 44355340 510153124 625259302 119828228 215869698 804402212 373649894 724296434 709648152 999025136 12937646 942179008 318474558 892315108 198614724 439090602 4601280 804740462 75079886 588335268 637966312 925914870 984096660 643327324 661875646 336784292 862001176 564692780 468658800 296224254 396485326 771197684 951876628 835406590 624084364 905952518 87934396 753061856 101944632 49057884 755547978 815544318 684493192 574101298 71487810 538907398 670632574 155610958 210669638 1808592 471638902 578271562 292713398 721543166 60943878 350732864 332432322 664833062 828325876 804417082 703712192 213740862 103549252 85871566 160178122 943437278 198262638 327327184 966185394 179292452 607231564 308724000 860823042 230862068 624629924 532871394 93393540 725500438 204601678 284509794 122905114 445353426 964500532 196111564 22831860 851835132 91581424 50351384 140408492 854525856 858665708 91517338 449388278 909570198 779591168 804545632 893464068 392583350 472349182 459936576 296619766 136454842 761255990 21429116 583758564 690718640 823553534 713758918 899820026 990899230 68869134 961423234 234569000 466795890 998376322 492334286 899117986 632327410 3729046 831812368 421087488 74999410 577469208 698896064 676853380 765913598 444727950 465858204 506660320 10169726 636680422 337151636 87614870 296061436 36644040 397917216 552184874 631776660 18042798 855640674 877130390 113706452 789504828 562216126 606619436 269709692 506608198 807240830 103316160 482385246 373961432 922633008 518200432 78728402 63714246 116855706 363958616 8654982 994591652 828780238 562433548 348361098 58063086 767613386 493333684 923255906 845819258 751130876 336177874 862968374 490300036 983300258 617421610 909964576 652971074 524668004 956585822 880528346 369876036 934178576 905140308 35797776 811513832 732630752 225340242 228123632 514778282 660912210 329280822 857209500 348834042 329124944 171618286 265504654 796475994 85047756 991388016 45402698 875282754 557208398 592500688 393681432 391345412 785889402 584551450 727803768 526672486 726611308 631725528 237263210 547794474 92062732 272869012 62722136 879152790 78340438 749867954 70833010 167434546 803408762 353103900 798736510 143562070 452248016 271857174 515983986 424495358 972701676 961785156 153596200 674383788 615218730 954868012 69148064 68150562 169112002 929771596 279941030 508731782 243871974 37978894 710487256 366397822 288127604 534986802 906670168 23142024 387638218 544734284 767758556 740172668 428143540 809838730 950036550 754758804 103789310 395657280 403640586 806955798 388568482 434867868 29075706 910697808 752878822 200139564 686290556 898065406 636050150 600583050 142786748 154146394 5056048 69059616 126256242 948407842 588535150 637593436 156598520 526876228 967933050 967433118 508146020 395875270 756376714 732124934 402333038 166129464 846862164 148557394 928799290 494840322 379083464 676813652 861352602 820608222 21145582 899741670 723211718 30475832 926626126 189132334 913825256 118011644 354151134 298660990 32466614 186848516 172027976 82109674 654172104 87661138 434434158 394753368 229449468 743404078 713436590 695198772 76908634 770972740 101572418 751446838 38176986 930476668 874536266 314877052 570458636 420910072 509817638 386333684 593229190 444874040 300139202 815329364 387933928 26397582 413465420 43255230 831661078 800105448 423033348 112701746 825773622 674152074 474175838 177725510 595831854 436079416 961933120 269308492 459710526 843337422 671377420 705154598 995551630 424809280 31633586 545586612 416134546 183035376 414949748 464203086 992875676 58807300 567229134 597941340 949418560 283971460 576244324 690394580 812731706 14276998 956741052 404133130 249032512 572172930 188517012 159886210 384814848 752460414 658771598 526779902 582070406 144554572 421145238 224977660 804987558 551111436 612293532 880590892 124739208 84445426 648104138 99867414 828957892 818711362 299750292 298867874 395730598 743253536 852045634 649532268 132431420 85178632 843530434 779566156 386253286 452693040 789275180 720086756 893408654 808604852 997304720 244577712 501267830 644248146 272552570 602995214 24332956 959951884 413486288 374513270 244396328 21990840 50871050 961246748 231248048 558005190 575659400 765659720 465013450 735883124 376920040 432563560 702064902 555158730 706710930 188167416 183707560 332462182 162775588 972699628 971576036 310072026 251422010 187727550 366434160 67893668 68565790 252189454 565747488 332172482 389892582 59605720 534862822 264722680 648840316 329815228 365470468 809182008 914919146 707116924 613951404 472091790 149193818 560872364 85910078 176521776 543436350 58712276 557302324 139330790 587736968 867306496 985533670 987826142 309055316 458399494 265406994 600264956 176337360 739690450 259345766 582168410 81379640 72636496 859918482 669819408 872674510 223155522 465650912 504370558 975839736 629546922 360988092 389984992 23887474 161050248 739000878 582868196 736677480 728936068 9435860 627016646 854398288 873726818 870874002 766857200 854457070 233753784 845711680 310003146 154253754 802321792 532829280 909155030 498910872 881099554 989664428 192277570 386545212 315756930 954149978 640320000 793841368 967642456 44517538 272127462 514879248 729608746 464230278 993061908 141773504 487946368 388636526 905568074 824287084 739531316 464251622 978440812 598846912 726710746 632548622 180038782 694912488 114792270 532301404 277096508 80305020 544103152 523581894 43959172 721636238 28806780 767911532 48945958 486442358 564222050 747390668 410496962 824180778 270086800 964003196 911145322 975414952 691704028 552870914 647394280 479361404 938321768 429327544 715180930 160415030 234988748 654233448 371949468 2416394 375226294 591360990 507653052 74073108 455851162 280400592 29965770 100121262 878617802 436815704 606381734 739781664 715923936 344276080 506249478 751307140 757582086 264576464 977413030 305707916 770578438 650642462 124573130 779865154 690203734 507459534 253807998 752996422 352312078 856963508 45843628 446180938 261871386 239939010 641307802 460320548 78248516 839667258 674922782 266100140 178105946 212494230 407037140 851593664 455513438 321053952 459464590 12306136 896462174 866292910 512303350 715419466 6841932 966533524 506888836 287934726 618510712 645267384 839944888 107754628 525803506 30439026 232216642 935863816 496876798 732949606 881697908 226793660 561392858 260683352 388130926 125248654 556440374 934051158 545020430 278798158 772987456 644672310 507753422 155680954 836843846 492218796 790913374 969546384 845083896 941438702 206186514 745201952 820917024 953475652 887261532 848569788 464625270 205065692 428191068 871165324 245829448 721140096 474013330 463098354 671519128 911149322 798294894 749071450 667073922 404638256 318866236 417515882 733482550 242460348 928726078 513034458 643134532 705906796 301908728 527266532 314425420 125313450 395959466 169627578 93760852 505993562 753594262 498906362 588071132 544812760 285044882 231776152 341743932 476883166 813727206 614994854 369810846 923143080 69968866 236101376 356301222 805429928 262811526 205444156 733236468 216253196 7376936 331812048 503667058 451589060 697157210 626125574 755551380 873109908 833659972 461679354 777419580 951853774 744761290 234503504 786809276 775084748 40052416 674283912 846903788 210331016 713308244 589356926 786212970 850541616 113201576 327838832 93130714 872671564 64447800 270257388 970682034 541160886 16710514 895074622 129256288 816368452 653949136 482796118 817389798 380615562 288279240 391865042 66400784 316657006 305206120 881596202 570793382 457069766 329096204 575668708 601148968 356275058 517503704 203805724 173451572 346549070 433036862 224082808 942503648 149349142 806535366 126375982 281602770 71248750 58533144 864779782 980397748 822943520 745728858 701561896 620690508 395858994 215552038 921344780 999145804 4918340 219246108 101422872 231924334 637160826 664376228 676369912 867391080 140154072 183629966 311326876 696518804 970318456 757870700 667909150 280147872 543727782 147614798 136945018 224007144 448844706 925277102 155888708 136957150 29494400 977339750 238328122 495933172 149835962 150679620 911305652 676113400 456499646 145984394 741632282 642963400 101646320 455466130 398336192 491587264 367570554 572266056 809169826 970074562 910348030 904421672 59672560 722022482 199531138 710927342 578696198 584214870 717718164 550384732 156657680 194789664 778341466 647109160 125069772 986694584 958030752 376981750 873297292 637896920 423510362 116551520 448420450 361220416 394516346 686549506 22657356 63433384 910812848 545108116 204199412 661509648 539155050 427839810 423183110 374320624 600640214 898735328 659296080 992692238 166590430 2039542 809095396 979405990 173133580 452370140 578270186 219171684 760734700 813869000 147645372 793554308 159211008 450507590 434555568 519474288 756189088 470531182 626124130 122790150 389071006 56135860 14296726 214769238 579500582 596561478 153417204 45801966 270050106 419431422 448207092 605548980 852357752 608668902 496039710 573914664 246510656 579377900 629268058 4421998 856474498 962143180 84094380 309757788 995678862 733718016 433689428 429682414 672278216 425508580 331522714 162258896 479548340 245008388 311958886 36798046 268655740 737465392 665219982 675300010 109223644 579815252 797256584 161108098 377804868 279650540 51046204 447796086 851523980 581000054 226143418 521172850 707383920 412573360 158569670 719263808 205736138 495329002 343298776 695450794 257241698 990040252 340389794 337774376 66716224 725663752 750491536 918504936 92809288 605322970 820322782 331422290 680430136 393490714 677688514 104231180 382064974 507825566 259786774 368137076 362353838 512501362 523984030 552062738 602647344 679217920 535310502 257079118 163997632 707687052 508066038 666543338 961266608 536658018 391751476 361880066 869389724 276201988 112067280 679819664 538903776 2508804 168344852 861607272 285233726 397280306 475356920 559798232 425539788 633325390 165973724 339889104 368296714 561473932 557048148 738821258 917711196 65374316 742897570 166363814 138814106 814406312 11728812 893526526 357430722 605555474 126041596 606822474 427677082 941062840 866973202 259494210 89908460 755365558 751113130 45212580 316816922 276894368 426650760 77636700 156062058 262702784 616532684 497445000 633254252 979906982 279176890 129702722 14476264 14756980 879012302 449121456 792816602 556679526 563771176 36118452 499589416 318865044 190654808 683956290 530528276 306384766 817864574 228252554 518627764 345238920 788586390 499249266 329822402 598161424 510174610 75040206 671771854 333231712 403127420 231319026 313858186 790383710 525126690 570760954 790262772 58443146 834718626 937447290 199087312 714269616 944661204 83178656 32324712 645015606 786098822 268680282 584174726 220692412 830235020 115924736 470544116 974755868 628187190 802894880 182138194 645329706 167655280 871451230 79780582 334605296 177811714 110392688 140508892 810742332 235309562 172286852 661092738 994828116 556101834 215441010 898291500 732293582 717131708 237211402 427936484 461917680 396339138 738815962 68253044 52691728 395674144 685169958 261793110 42836172 415256108 613766072 909400342 801205642 333811348 442172082 19258648 186813824 186853474 414201550 462183724 840323148 886748398 202155910 680931806 972665958 428761718 378678796 629866576 878832098 664865132 798462848 631540502 108980734 714347544 751783422 283640988 407498800 302780240 793759634 558785512 871474000 364587196 375813654 985579826 966743410 957732724 190088328 483058720 622054080 168822742 371145132 629096586 79225038 517706232 600228028 518418976 712705156 149043892 717283338 994558564 275226174 586864336 3556014 953791138 392834850 567786008 874333446 227293184 413010116 286185834 414258556 182735056 915112278 312664416 635122258 355018704 654107686 603026952 620477664 270818604 889290752 184611054 833108030 783464326 36394094 281631188 696868422 29948186 893588170 729136650 622502022 845530580 49228100 589615268 107021046 687404238 442206922 237056678 639773516 715285452 212487838 304968894 789665566 26029230 610413954 993655762 982460242 421140466 515563676 460260212 500463000 674489606 552783768 9258802 805517404 84048896 58180610 132289092 889068818 977626708 919063420 118448276 545841414 282062578 369756770 938337326 651747388 747931862 485810836 632933740 723860194 47112182 29380458 285779668 405132464 273375074 28464806 661634484 533478634 767293946 644984244 675227088 51677168 488610962 176991862 378592594 692240862 709556034 550297846 574557586 916139910 591616202 668081944 894833748 874976346 646064364 413626796 638315728 131802086 976415032 638748872 963611344 945145570 187704196 124759090 346466274 751103176 862236278 117046224 324892826 66600162 952176038 578456760 381049406 195483944 717590002 710575854 628812680 178245830 484596250 372378098 112809946 630517788 770235256 935617938 394910606 654041656 522327966 959569312 766785992 462409014 788805024 753064610 920982014 534970936 372752598 215323934 46046130 485642410 124784910 521966700 539385900 586308250 459091004 332247034 28810692 881153688 553213504 791905958 94424380 749051896 802087430 3051888 894502670 847337128 945159304 715236536 830820974 759722230 831235886 784684340 905066210 636214556 968167562 449810414 547211644 517209500 911330348 439487144 355799630 213044738 301030152 223930080 710936270 303502568 370477504 765509302 581960360 526423514 535767588 111313248 212676498 759812014 740277280 156053636 625504270 630999528 733268948 234307606 863375872 516432186 287625064 648869136 878142220 212924690 195302388 388312296 616357052 958602228 416007766 367678604 58441682 639610654 84574774 453968342 53077104 922139596 321626570 719217282 315987074 904938428 884734892 393809504 840496690 64065318 390752678 980157892 66576704 434500338 428735460 372668390 664031652 300034198 315990616 695729196 342823340 352872980 270670668 267568296 575113678 330936686 969671182 939853636 83412466 349890958 5930890 810943982 830283236 431072406 938459844 729382072 607216204 352156658 473492646 226773644 979533606 396688468 892372078 182129580 863520170 21215956 361511500 526614688 158964966 245025998 811624710 651732880 805485962 519289948 366856154 946313242 416078558 969827224 757057264 993070690 938812052 771853048 366589998 417919494 243151636 81592930 824010616 528086336 458512674 898456902 398852578 934881090 584153708 792110138 392983822 972034354 859326692 648588938 294731380 29928178 404919344 694914158 961719032 988279652 730179112 325449246 669204540 771392496 458286628 112012440 229206982 475647466 630073162 139547156 190521554 732612962 796716052 488370022 156413450 230512986 728812930 316926236 89759908 848524720 747188956 61363658 346317778 440814730 393363820 343101126 522336490 833539712 225781676 797422206 214948018 140512548 391968740 614239334 891243872 717484544 805949652 40849154 392825356 801421996 304528046 72052998 809245108 522117582 150770480 142140746 706054314 390473008 461394678 366351788 894397152 442287396 176770350 307080684 620809806 178625056 708213432 241492230 667894386 305952946 131911158 176414002 753573406 919240434 611928872 300851002 446284988 568368608 207894650 371369912 915761924 914708670 558394862 512300246 791577072 600694550 536146050 144357364 839166962 538526000 350157636 305953598 17660460 124822752 4773290 49451990 752719062 53826476 715800426 773725614 841197746 496289602 834310060 270424484 608039680 43620614 345432720 265927214 353249466 216858606 424295464 458736242 593875002 782748144 307082068 516553524 473917250 427190256 223544252 97180954 359572506 401907302 636076082 105613226 728867132 99169308 232982010 541694068 958173254 401598670 809838240 175429536 134808528 952276996 725312126 55180754 571907068 175778762 664903866 22840074 890414220 813307690 103675094 538867878 138454074 285252802 881636452 844234964 381057060 952713602 306104892 449814806 997097808 484328906 97617348 160133674 409116404 426601752 749979314 683377632 483065150 440831670 408313980 124702650 249695834 413016544 535087644 112350218 680644088 111316980 358847920 542949820 227268938 148632246 809556662 884364104 983164674 930500230 480335584 267359012 723702998 426497574 790936974 377757512 764493044 266248746 911753380 339256612 458232030 38239134 544750128 344540800 93054064 234906138 564312928 467187546 408398086 826498314 297153878 202861558 135207108 362187966 252590334 209957546 913861374 335871456 226535060 476094078 80117350 521235124 839600508 392915856 163553374 523828936 107716164 152982116 645377138 589332464 304882588 862133680 256939090 779238292 789368126 281382282 791847368 694061126 286954076 589917014 524727196 972384776 241628928 377333264 800490734 544636154 875198890 987338736 277999968 392738360 395372306 347633952 531401956 59278540 365436198 801083592 810800528 691788196 715393612 834673416 870159262 65167080 830459414 700529542 722714714 898358282 177682884 664089544 703703492 375962984 823145302 411440768 943614144 486077954 160067030 663466944 721206694 389701178 944620824 324733734 344322368 594110104 554872086 480500754 137396586 16834338 968743538 415865880 706319760 274814614 963979250 543211870 454784174 595817626 719151260 380630484 699594166 357790948 885016856 523493084 191038288 683412258 730758846 911695176 823445422 586615722 131677680 191945782 591759052 716634954 422918890 677983156 466152868 958383742 179542014 718866284 455931128 901017854 960010978 478904806 40721140 505166376 828428174 440080578 290231866 722983350 856287100 138487406 229039782 313494832 860984240 627308556 552600156 421340468 561805308 117671342 472395844 868178114 20067892 545841200 739068058 423747296 674433120 284195346 345538058 827797962 569520196 168957682 190384826 613024220 119281370 889449430 259236110 931344478 897559046 854743054 854579524 427296728 559643676 599418728 610677718 74517824 361558674 385402636 752762830 648154526 891834782 475167400 684896694 662276494 833170274 816526534 342591356 494586086 222929886 313396782 320835742 446796222 153290700 945226558 205075498 91559130 9555558 31062510 81242250 120893216 618972978 705868650 105068070 84978144 153381338 683015422 74585726 769752910 105797208 168863602 84843464 177947908 691334682 222770192 941873652 447185692 471933270 597803910 948108900 980136304 938338806 650152122 855789498 11971330 595465962 304112446 303764626 77613900 601836808 885851520 585492020 475043690 704589936 147576200 593676886 335025766 561502354 455860504 763127784 56822866 970213352 862081386 124038970 106963668 138310658 923818942 128705190 951361848 787974294 640399106 222309234 24658046 646795658 437716154 513831418 693257048 629112 140357904 431468438 494937008 803260658 613415326 957760986 637615220 584012012 973095554 376754258 777098876 680165746 606810854 690317616 254270926 956985264 122844626 952103576 844672726 333952934 693280786 86552346 260599616 402254770 789208846 431717376 383034548 466579394 122613058 466814496 163922862 521137614 895034434 933013164 694859330 498757328 735059998 384882862 759310660 461061898 598997862 99922984 62351318 799922950 896203926 535137528 892328086 497921234 967183774 985201556 43749676 735820960 674928834 797262086 438721930 552194942 679476058 344387236 694370262 845784326 284354080 949365544 115504936 446893244 729070176 504992106 959755320 864455330 473902738 184471918 592747660 642646504 179103476 914263412 775642694 870826124 997430612 469578902 866855570 598078428 202784782 154810430 512349312 687087910 130028856 134224150 976911754 83665520 566246702 335715116 810823098 60562488 357229362 298578698 987327940 999567570 947037688 191361658 407787670 32041574 138614760 573874410 638536200 693584642 73534262 797967870 980211546 799580200 40243258 291457702 133030344 938107372 647541128 305850464 648833082 279448556 484794120 580329436 431965738 352888088 426735694 303508078 621550674 463334128 655364748 570673636 781616984 880983518 433640888 830647734 283736184 154404902 689262726 477103546 461859456 809244986 440577742 235774888 584708608 183690118 228684950 614558090 122246840 230502984 534392362 243586970 577689182 413324856 160300756 9495972 678192858 382826056 717121052 526037392 63484510 831829980 870870052 918091786 927020358 106343334 842848018 259986188 219022228 319850218 739561396 169291252 704550408 988521578 852845560 917925948 32298216 295326674 97321808 139636768 23372386 944646720 346291942 458735160 246272344 708736094 762276876 461506860 512905004 912191212 95513538 46145826 478331308 588726612 710582280 498002160 652986958 603250298 819652334 91398544 948072926 6055614 440773114 960633464 919528558 377312690 935005908 682558984 560485046 52222534 403142784 144747570 947700946 847385494 435772016 191926322 258449028 580974390 959564134 254699532 388365812 257893112 457493162 713628958 399703608 89621186 396578596 391369892 949484288 420145062 658243984 922385020 423333416 950512146 900578464 825371996 40904192 9679146 986494610 580956142 497714026 802011040 171253616 660050540 85124950 491325036 379861082 270207120 655373108 480544144 564022432 774179670 526219790 300342710 612626596 523474184 787131406 107720020 311566114 517430752 75376808 831587998 635749074 528818304 667725912 266494350 990125146 908235302 402742966 875258702 139197370 993253898 632497548 518859730 823525412 425081498 623422930 994251548 706855280 419849772 336700964 617745710 593319346 799236700 664911080 541240900 4623530 79047940 962392902 141471208 672711466 561990204 318616866 875764866 723093214 516271044 288986830 881682798 212592908 857427280 189512328 155673760 855077234 377726732 350387942 528835612 948224140 853022776 75653994 338909290 821512826 339600136 973274144 25110308 526245404 466968276 851325132 132656490 999540474 561949696 282166694 68381842 977503538 935672258 947451508 245042912 953597596 699331460 945906232 842650418 771107700 640166330 884569344 221960934 81492158 279290712 303285658 381657278 411095332 738118776 65444556 928778654 457854796 495632022 522435748 240303312 396172616 459412974 717074586 702253852 276867810 776487228 431736238 2998828 517371666 579228872 733864636 307714630 807451120 261869402 290294202 385100052 658856220 461150106 86898164 285502814 330110488 532626902 978228930 348228716 679487196 892971334 467960960 63264328 917645746 87588766 473970320 388217006 219686356 105363630 276693564 742380094 854774336 873864506 281969926 5511726 213955902 645724334 477154528 347551794 507643788 241464494 424573730 258008596 69174616 751411178 990266952 428220616 992439910 303448018 229097080 237605802 212177712 413126818 302986688 331168034 207814348 486163802 198926994 638136360 122806970 753921844 982373954 123516522 502946128 273667318 698203510 584453770 64834392 533676146 836474282 710632800 592954596 275148168 378896082 508882786 555647810 233887930 809557816 42967596 501832968 837782104 570845696 157489352 739723386 910858720 706766284 912560082 186342734 874260828 395086438 342711352 697542898 573452470 590050540 862762084 375329580 763259518 447860320 508365794 470855094 931342536 135245668 165208460 319581454 616886846 638718494 643504054 975253266 598410086 999058456 637984192 182071036 121748950 270475460 719505216 744199734 786307368 697905000 900173364 239565516 757237072 806262974 824192066 430387210 21917304 413664340 745075312 567982438 750431936 66213264 771254282 842074526 715862424 825314560 835897056 115327342 387490642 216312794 60092442 512365434 367742552 744588960 53647884 18962296 602268610 621609478 591252950 162449914 94971462 467270790 831200324 798538110 864928736 271082100 326979184 219082100 689603902 81947260 828214572 839094800 277030702 33787642 371492224 304485770 376939206 771414974 85593902 551506982 278810370 546728102 371356774 769005642 875429794 539167200 749072476 589921774 734859450 884168032 116109956 383681058 954942656 586722386 48273392 531513708 668446890 501256120 308025766 347275696 175066028 298946078 980889972 324957564 405607072 372340552 108148482 952771382 253967358 200146548 478241558 224762294 489776094 600979842 264193922 797493134 879307788 909790450 804131712 895126796 803219818 326385054 435556922 367236964 458171462 672125720 187487606 739999846 468624742 485641464 40973784 56072170 691103670 789322886 550008964 626274470 601430762 995580308 134151132 923322478 224769434 616053570 105661798 709311198 603910742 712027650 573978902 28389630 791880302 576482792 111957262 997343366 727891360 131719798 503577436 275997322 700399488 578706032 330936674 187038284 533417246 810486666 755261828 501124646 828725110 394771752 813060318 773984568 211147120 359931452 358021358 831319488 960286534 627612806 710537218 13227776 82540204 979228032 126700250 450256492 350710404 931316662 260066642 399241904 252131756 701738604 877820130 780572246 223386422 965191122 714191242 933996078 949599594 802040458 119365962 370053630 42815194 308488854 178414772 690782626 765888336 821806782 816896844 915830002 157381634 192381858 850937860 379396998 21411234 636284630 328428088 8732182 738912340 315678052 354476198 496801788 757130646 352488242 690223958 712359340 871525686 943587152 106666430 508926064 987998302 724394038 682766284 767461146 475070912 680527698 28116544 386867026 681480224 424467252 876644648 404810788 392111216 2252476 749332300 518151324 788913758 425031764 312402312 699011470 505980988 995121370 602742014 13506652 298682264 957458260 177315062 898699310 306150158 125466034 76271634 366055600 352420598 568903342 979791506 248967178 509654490 485978196 336895948 796668536 182157154 505148016 339831378 52707120 999342780 460867832 323113366 186675842 407490416 686736292 506748874 986674698 337191872 840147428 1978018 923371804 727354184 933124032 372089670 872812604 932716566 918555396 157145774 931157390 145560640 657638044 401308758 559117660 870683414 428408888 313339902 312584844 408469514 499482202 516023082 588544836 917379918 733567092 11857420 884401892 159095770 589358948 123158572 790282578 658466520 756991986 735475052 608491104 227232680 230907030 145343468 717601596 509212512 233529342 980306182 528567150 471114738 426251218 484989984 597530078 17672128 652606510 821471424 579445000 62840236 327077360 165356128 988476468 319819746 588707800 393326022 546484568 214365932 891880822 525660200 202970340 322682460 539626374 599853698 339235912 778266030 296236638 487759852 356875252 478947596 506043952 601595228 871476834 504800142 5676542 778355188 376257102 301995608 895778272 618407368 868616526 613667492 354056658 847579452 101377810 299966614 888344964 260579246 500061608 183292158 202233820 659741898 470583896 607040076 116218178 263494518 798093024 831104750 729347172 471753238 791652836 686750902 138474830 395580412 56843146 4462916 39854974 330659844 443959828 86266580 678247654 782490534 747386242 704132442 15384110 126490740 193270596 726333098 144571654 409199966 392385728 595190354 853605522 416665632 807375282 930041716 175394340 75181104 616743194 707793482 404551072 373929886 577810400 14037048 964781086 646460228 972590730 756305082 477970296 792686918 400442964 380849286 364743298 521224178 897989796 312527586 375986954 592003296 963326638 458014796 615602618 95897426 401709388 648901750 50391268 387469940 73957838 649331498 625334134 85781532 49099166 848981938 512526132 921913000 104064870 255215054 277718830 36357548 557573902 823543286 103006106 424396194 443817714 867041436 394681234 643178450 254521396 255165800 180710164 571426810 189257606 248153560 717102702 777769264 336055826 826763308 327880996 674300812 623670772 17517148 779297760 885466582 962223928 903424556 517283382 464765796 848070944 923977036 232637652 565294778 930621402 896440684 459492264 654837890 211428384 195601354 325889898 155386586 751394590 853553288 11926042 940995904 668562500 384847618 572110194 296350628 951894296 113847328 194044658 234619772 835522154 653618390 700646980 57208376 64446340 451053724 985822024 507476288 263997624 563618226 192168252 929602838 323522742 867940966 55670484 541547752 265947786 244584748 303735086 884451444 581147702 483166914 460384422 690044748 614063430 910578914 236527338 573101858 35347210 976128940 928715704 137457174 285434882 619200542 361892522 957119010 113099574 524296608 564755150 528194532 413833474 349610676 211598926 806093416 771432444 560418628 565211292 826293994 536978988 887494712 43777494 165949036 205863856 657245142 137810078 131860460 963538092 337295926 794620018 925364562 626180140 599383550 190519470 607439324 735123362 690295828 325607392 608683726 544055560 94399604 345113678 352506048 43478942 625660808 696849374 8918332 85442796 977015524 625866828 219061830 210663494 193655008 348859932 974473602 547085560 312606138 288487424 864547150 816935924 826796066 180995504 40007744 935193616 77892678 338100434 978182908 27275010 532410138 951436530 270467238 837580866 586192550 483692294 336960100 501127370 848457674 769535458 381240286 91242314 635889644 793427766 486563478 596818298 137386514 686158128 57963564 832835450 974434782 332819006 319865970 548577492 326614428 383892584 642569674 153105140 212606878 940271408 679442542 363596630 463505792 491534178 878601122 272370788 331650108 995482666 120645442 730267282 718123758 611072860 199852292 788110330 275391386 805227094 551894818 196048598 958591890 454413922 298213524 232453290 169278324 129912306 215160584 200596298 167024174 183485344 666243186 17433044 925589108 25162050 414148750 770272682 431575198 687981076 721696694 131777804 373825668 359549452 661612450 567459672 423144208 242265882 794971866 115858658 940552270 273231772 344202658 121962430 957116024 659275284 382443148 761080220 243470934 894252624 650451470 829792984 754096838 261072022 596136128 290215238 253516802 202054442 768253202 303932902 477442654 813436224 41449796 935801894 707780442 445464430 135555026 649572372 266650960 146153482 408700186 318125072 528049854 377269732 674697826 444347846 577266212 286226020 376441480 907359212 146608322 32754574 384950830 139919914 160150102 185138832 351180912 732593766 575703378 965317234 905622558 667820696 407385172 156575700 422571882 693187294 348060568 597138748 608035624 3404936 749046632 808171392 396104324 94950672 427774016 369605740 336176460 773692888 217642530 8688842 25656846 404502332 434300166 144524988 903487756 925314544 873687642 939260772 260009974 126599852 375039468 748350388 276172898 100286652 73700368 225049744 79524696 256402464 948438520 927642062 527560420 571432768 227051716 23617992 645035842 858866854 499609060 662763882 805716482 43003308 801990078 788786568 926922342 632253672 529600956 169690586 263299932 580194362 975322884 412916102 951511878 753905140 700669250 861228244 672866700 986498264 155117742 812209630 68946820 784275158 760089748 830664048 367135242 654325870 735463190 654636630 498470688 486053840 914527064 709311772 644963808 24431702 861489854 728363424 184825542 163729124 405652874 820978084 89890050 548842882 995509308 51792838 914088784 80204054 510219694 715866928 91141354 779696534 97285982 787634660 931668116 706564874 295108418 231559208 790365348 395012582 854646078 194358874 847936340 423227546 300498672 918460390 57816636 527713240 138374066 741824980 662336072 597686492 551081124 967196686 531607970 174985164 877247958 458487650 30932768 150291066 154228724 15615398 252851082 64651452 886631632 23576226 477507040 256582702 484211110 131571454 784656776 19577296 797345270 85246280 38287826 20086152 414457752 299099516 165628034 409950216 341241628 543254346 966244646 98812632 444192440 792941636 404707260 195748156 240008440 303677660 238156430 33600316 468520428 949753722 647929372 604002206 997399002 770960760 841809096 723423438 680333164 644152660 528645164 955033166 24229104 70601352 94551842 41803708 292670848 8012550 804316924 842522546 292739796 516685202 474147096 402726238 207178178 467058492 217912142 996642944 618500898 280005150 592540334 548352200 712472958 155252666 645900814 215290852 531799890 531048208 956374018 19442502 925632856 113651946 82568634 4422946 300032074 122501770 773808928 729600138 905137950 630808808 318936544 561809036 474341330 786308026 30129750 580492486 608595998 835401718 758208524 688907104 820698304 35001160 61570568 226458868 450855418 150114702 351121694 244931766 787657210 293246126 700679480 781193956 832682030 39655830 413814030 530388546 175097494 196824132 901922014 260500746 117446158 41914538 159164404 396963158 796723810 797573426 708794228 909624892 697915126 301931256 650559970 945774970 403941166 550505510 703164552 822944558 446227444 110805728 885514476 210590510 635303512 735837468 600639724 292187210 765702346 88470994 391658694 33784684 225848080 408938218 135664936 268611756 507475784 527387784 195914524 294896794 931914504 832320768 43997866 465283358 906871186 745114662 332012308 112583062 501998728 981489118 253503664 739462684 816840584 667699220 276571482 702782554 390177422 364921554 407458562 603482892 669064274 510619860 521553046 438215540 299579826 876592628 281887102 747708282 987173424 48422180 195931700 549969012 715284684 184274800 735414986 932302498 23508112 789431240 824041872 448647090 936976592 966999228 932134602 90303774 435882462 37787718 156707362 803608574 101860288 840225452 967610650 228618062 790495682 670179208 768639708 992945860 197761052 373565282 770472326 831281200 983455156 982671580 476390372 960292830 221017120 834385638 985067802 448337660 618414380 318261400 559554000 601564482 434691514 572584276 137008550 887069796 595638776 953543956 173306542 661377822 393909552 324583282 16420738 274942626 809761804 677001998 695548862 715555058 670972254 819363212 93815240 11089206 645455552 359178704 434274512 245939782 615846164 299350030 171124612 589209854 782016148 341877996 313348668 443484644 293750546 48255504 793648844 856922068 540738414 892411558 574003378 773832468 35825670 441362582 425347246 603395546 507088222 597997918 496455710 33983004 338953950 415601174 648165114 772193498 889336010 196186982 597665898 659670340 828918520 236966550 282719906 420496150 853088418 733979270 603583666 823569916 214706212 942134466 238705918 83189254 715697434 819244328 754918416 264100040 153322006 378277518 859466660 442569346 139600884 21464396 707246554 928419226 549451648 396566714 74813082 366587430 932509134 957618798 876965588 601987658 723591382 531405630 126807616 274430236 265932574 211658556 843789856 128201372 778525910 481112328 33975996 159507946 140046754 652545716 106803848 975401962 962597074 658393418 134641524 2326046 629698896 44723570 230929676 696338368 947755768 584310734 30867220 478900286 382221398 489468532 300218096 304530692 718746996 918222624 982436854 615070970 309556678 804206116 185068838 603716526 321615370 267879358 589090728 121694332 864320516 539963178 302414476 650810738 862386646 669475308 344043732 374937404 371217784 880133682 940010968 326950242 420730596 323540448 883625584 637923810 741202368 840477874 441837372 694981942 456424118 819773810 215305860 589465436 812547668 765188024 448652554 63137354 743357388 36792594 32415468 928860138 108434984 587486862 956231332 139352946 876388394 252758510 193570756 403326738 321023086 44347086 991658448 263870580 308980456 210026546 641562680 593146282 910771430 448382900 184412188 650737352 982398072 603938390 515419732 541725628 233414938 420644272 97913976 843200882 179514270 245208834 136597770 772586624 713218254 575678478 775737790 694568134 161931996 149207162 86688528 623889538 415350002 955675042 254667324 952887710 486973556 251233658 527806792 180118770 931141832 147011206 248399230 868272702 953106670 605956350 695972252 505217976 773091800 725887866 14903250 585259928 74819750 336196884 693632344 500577000 131683006 722217008 306911082 612429022 356208532 450095988 950909130 818771196 11904922 708821694 247322180 863404634 956698396 393106516 415877090 113607228 995559902 102674974 444989932 574841160 917197374 766546728 193962854 762508328 316078970 468982724 551260472 630954230 220578546 167565210 626831408 739992542 12463164 943703880 177505748 753543954 363099024 27798890 842583500 289850904 71550230 88866870 211176240 803644820 609729548 678335712 256054814 386013768 707881016 507397974 45592196 711709810 298809642 335687414 18278560 510868084 461949964 678342660 17676120 141097822 410640270 831745726 91919112 814260432 864111294 442798134 802958748 521157680 100822648 620079652 999116630 159071396 528327090 951404580 351772412 894132030 356033072 775508546 787184838 323488018 588354214 456335086 274123906 880512028 782140722 201635146 421533594 426677834 703243360 767235754 515348164 877028316 895616974 145888938 16631154 515317986 173684272 426539214 684458508 41179276 615740624 188801794 869295588 582865398 400571512 593899582 932080382 185171042 107581896 325890598 393354042 221097168 162069478 20395602 614843234 162286926 794749220 241519476 148332286 532554508 283651606 618595896 886105590 780157368 624333032 884177812 477873706 141316208 704749600 995757072 235745722 701542366 95057656 50087572 715852902 921162338 244611100 216821920 208264856 343251730 503648444 286154726 128979068 263426400 352763962 673082 315382682 623097216 549946334 920145378 631246414 202489518 330044962 848328878 925355756 979057476 956814000 173821632 581403610 273322664 4284696 240697284 76723746 566887880 202175406 482881838 470384026 212680088 708709578 839069802 174708662 286093676 275910276 869555904 772917790 628787850 435758340 163373994 160014316 510370986 547663310 717437822 395101572 353857312 526332448 113767500 134774798 213572922 30820110 595462894 782107724 437816672 119395154 904693614 149429102 657058986 212383574 328733910 581576812 556563952 607367262 112289988 54274646 118904270 15423080 103386484 28967642 712095960 301950036 562430388 285970016 442555458 908690280 797229158 963200864 283424838 852984284 655136094 733633976 201331804 288413294 978496036 267849822 696970352 73544930 372002688 180770560 455885138 547740462 527698724 793320832 528704882 251622032 347695078 526056868 289373122 904017358 928268428 597540964 848170146 437230758 590100654 978458516 934528084 403826896 630042862 246141352 493069042 269539402 672480406 356704476 44293098 307341690 97961556 262186038 85406294 587733264 621230196 693387068 310572714 609905164 262185026 793409794 223297892 339021914 256211194 235300330 811005906 511940550 595397208 909218370 439924920 324668568 332345262 928304094 363606766 720230324 631211798 531711716 874784232 202179906 952316106 582855662 488052176 417562496 454394796 121136042 400005660 23669804 230729442 845105222 350283702 694414408 451176138 480618354 627479866 29884138 380902012 512213624 146242232 897638714 772386650 702684748 714435622 840543420 224832058 236917992 396087780 523328962 855740708 5031722 790441516 129459400 235912096 536764618 411477874 19500020 962073514 291629968 450244032 793759310 415117574 126511004 346189432 880978268 988179438 135448308 114633758 514480264 676905062 544485972 855324780 626948254 883633264 506334642 164998680 288144230 533395622 746599802 499416268 72168336 360360024 898661254 390797086 975776160 431414970 16095596 693516518 606175270 336365158 482452294 34421352 578247286 923467608 770683998 538041916 300358878 189578840 515982752 159106996 490714060 90961906 986215458 319205818 394921372 876080494 790672944 734826624 392385584 862936404 782549664 708804766 99090888 286701926 343903070 353077090 690548834 602736050 788256722 273105754 629718222 47027614 502377030 428840488 932637778 349795186 568986944 371237936 42230026 607048946 403840648 248227634 404915198 174117510 919887730 489383442 612616656 346950762 261404484 651609844 263620012 859429686 680018800 825533552 109117792 937788440 215959010 362291270 902554906 508651210 200307536 421585304 128901966 223412354 867658176 699929882 656133080 11592738 574741504 86641602 444391618 708468398 912663260 230731718 91238524 62669244 456657656 520852246 86388060 688905992 875739836 286330202 269265054 85115772 406009942 766951170 534183194 944881474 978680118 881580894 711738682 904974102 727663668 13149132 12272956 796280982 523457146 612134070 260862688 38766644 565831982 848055974 364242424 479795714 886962582 772845742 747404562 858305378 680764150 70193796 231561070 634397662 670633922 694465168 401128306 525169796 619482940 512826800 709728574 962480660 641701266 624885820 889710024 15765152 842775704 970572806 514462518 878870642 905756886 615154900 719719288 666695452 943720250 991965042 242257018 103617922 511372682 366633424 94048598 828509728 269469668 90832630 405359216 394274716 553354294 689527692 859958748 452151398 231403748 733509214 978880768 113331828 480107638 693583478 239735146 802741708 866692734 542218282 615411990 842913676 550810928 24302582 82693870 138745208 419693016 703259570 704621802 780482044 178537034 165474436 716168274 64858584 801672120 223134076 848703700 772410370 815849588 46283690 733964024 158412036 2192990 690410856 333153656 396349100 410281320 851722838 292484716 348625164 26257002 21731758 536270640 563608170 794954364 117037366 334012166 211959950 54159544 984726678 499534394 786840018 679647920 512360988 665885096 933863300 474039638 328794952 858928512 591385794 855333028 910184590 81289044 993861260 873943464 35389438 880823276 147093300 830463488 140619624 620156362 446703108 40030312 110816400 566321496 50715182 298868922 65560536 478092654 616748578 971474082 954889442 58159266 291921522 477940486 715819106 897993320 572961898 519506884 644192616 749143950 535240330 333371094 200111904 689529330 925057446 830827968 798509948 248786774 287576632 259560240 305384328 321684444 142293872 860108532 261627880 962392050 884139034 383196854 807618582 501795552 724880704 32942536 8690154 643559406 203046598 712810308 291129462 442998204 93017666 96726436 217996464 990282626 757389104 240735530 475837398 535511950 401751396 369505630 486097220 112004990 153032124 940955988 541424402 740375326 982228082 88919314 335540138 922886242 40363712 943213546 856104538 251936434 947522068 110910376 385112512 93885894 859508834 197242986 137667474 211049934 311643470 32862562 391492336 957830700 398491848 545459514 292805408 884889442 778372186 410127422 728417338 200765944 156242366 104016968 387917236 762695322 227243888 122455398 686769604 506852990 194032196 8084982 498931474 468103982 515208782 779333208 2983496 442442426 807903196 941297576 431126232 66108706 756173308 594824814 242746648 119742176 495135398 959602660 896276418 453249800 162422956 152420654 783336936 788447058 800730784 583374572 316194916 529353356 946028990 944374660 727039666 689014244 127764878 241016290 819172162 650943074 215963342 162329376 61942548 755560128 851288984 645369498 921752286 303487228 890142038 492927092 893614178 533316118 425039840 427095812 727403436 817486586 509575302 131706672 982383590 253856202 327526498 448813856 182482704 330576128 115637492 920235526 958564728 377706682 503361754 309993426 734721212 783780310 499566334 664336922 35776926 785425152 159826402 85485140 688379746 565898394 482547974 29423544 280877572 690936412 339878732 342251810 556016116 67970370 914893556 166992694 758542842 717610088 605365936 210032828 549136640 312732122 553226594 773830920 100074140 886527754 275495550 741117548 601816710 591314642 941701936 200156458 218605288 301108904 828878052 216157204 230315636 399899882 994543986 123919434 598766064 962163362 753403472 355668342 223445910 899809282 738598284 570377520 388311652 688149286 501393224 909287994 825605846 825352538 143651004 927583940 203470220 200037444 906326316 747374330 221939296 932173562 571873182 521595340 505580744 822975648 779107184 654552466 583477144 283920210 608619516 646234930 561740382 242040340 482618134 33473220 93368264 561013516 417240360 253260800 234221662 665353544 161769356 451237270 379131796 814469110 953433558 741841072 939479620 427840418 645193630 674267654 850940536 158570872 526063252 245889504 713336932 580598324 946194180 734800940 59091160 384230402 122136258 422158124 649578366 46822920 793075372 257620490 656438924 514032650 659449282 836875580 531250930 525107572 263570844 548479358 230788180 474003924 528344420 668846018 65403218 436578844 966874760 374749196 56741886 214921292 942833548 370863460 9599198 93778146 382555814 439763938 357466800 36809774 302901590 189006484 442238622 521753230 333498634 663586112 937361784 765410374 636503514 666490238 210051294 998416708 17240460 259841040 21168016 231406528 246214454 193945898 37742830 512458924 985277774 136996252 914884906 953723890 93941216 746180568 60314066 922016026 861585784 775452782 258732718 253463574 326770576 621037734 367602820 925102680 686684812 726793928 746339388 801292336 195642694 182806316 3512116 717986062 668339898 87210628 456569482 98862802 454886978 92583690 541018608 41205946 117437232 397327972 2325102 771419672 664021402 963711400 363065180 355416612 115468858 687326960 151133666 54488672 232092544 866299338 531588712 666615412 269269426 279797390 68576878 794675152 186732844 70161372 654113318 499903070 276356968 915244062 906298024 193497118 535277506 535903718 142076130 534787926 913825288 264470410 454793292 834319136 796020812 798114910 93437854 462246716 112446036 123520580 784929234 523045428 541057022 530358996 604081274 379120942 787944022 429576844 872904034 253254578 758668606 879874792 441295054 728203280 595854524 154066670 61484474 38524982 83099844 124100556 108657430 701778210 136871448 675301198 945119532 659674276 824719694 952194590 943185632 200645264 849706272 848079456 919492172 539242198 591734612 691110356 842290900 957248358 5804404 195033012 338973904 950610042 396868762 16145306 972192730 500458032 309117396 902622808 440379812 17658336 647628348 647755968 760849224 263540770 523382812 298510904 541067432 131067806 778099070 666608348 628608222 159718896 51457570 117967952 914901772 303546114 578134880 836635218 868894088 795532216 650313786 442432092 533977870 196750502 546069878 853136142 583923080 996870322 65418734 148841152 406598542 722126484 417590724 31274460 451959280 504643006 137034352 501831898 495142262 287929512 257968884 447660772 375532218 131373514 363237502 899818822 582757172 217973744 118996020 59607720 974134000 906028828 266928966 621188454 901293502 620098862 527510088 382885928 849337398 40386514 724407466 697745548 543090416 95940656 685959768 787173432 323477410 198925466 293094500 825976474 663784744 915390192 717691670 325921128 485152544 675999322 427286646 244665132 177095608 363633578 866025558 442714390 744761048 305622282 592498432 936058534 597119040 177172556 374355024 132866778 933439310 176622510 412938538 503527278 279976266 425583654 362529556 327903730 444069260 370452966 312334230 179697212 108663376 644990234 529232538 525042126 145404610 648434070 291585350 971635068 817576432 673180328 864245638 645559858 613893506 717022712 658742538 804765094 51199988 735040902 661019712 844564288 284975908 369486408 132657456 542870302 976672130 169310324 532808486 580351186 458840810 289569118 272436046 101092780 188892830 808076724 175114908 7453644 352085526 581414186 90631686 294631826 103097058 180525964 767732226 673671096 204976308 166610656 380377864 244917360 782003776 521740180 580115150 503014032 24108566 807134152 233448528 651190192 802256998 181492028 569760582 174667510 680369892 742785990 104077620 724836846 671264842 569275118 54605210 639014798 145761588 404783202 642994018 409833156 539435614 342494100 449814400 428452128 118390460 733397590 698183806 158318678 645670182 860025058 85056400 877192702 857647638 985905782 849796764 953130930 543042482 640790262 273402640 567710376 439883688 699769304 592194794 937787376 416859876 873987628 362382436 585507584 848853574 262854026 355732522 396341782 762459352 527373778 161933992 160224194 521077922 289788498 62014392 900120578 618422904 633253596 138231814 955161344 964066606 932899090 738433220 40978394 191676906 162522766 504589300 694631356 989190506 346479314 90574972 46034552 997538628 450541886 642190918 909106120 977662830 983763372 596214224 376055670 935098200 775214414 341277978 761503084 856342880 28992822 452969154 983936350 253964368 501282818 643072790 683983560 14433286 298552436 105104426 475141942 377412660 95222132 289753162 899070830 89190018 181879238 661308972 369150634 863187856 428620000 878142160 892791536 341267734 309264116 989036026 392566630 347855468 25514278 598415482 428483668 76102890 339203996 855664434 438362804 619275316 629896890 891750072 332789982 474041960 392796574 681060486 787157334 53499494 23409466 590200794 128812212 102414778 788116886 999922742 479608606 221171110 551945534 901845424 103766188 179871224 605016410 820602826 785756852 333053324 294133448 503178360 778906680 153257036 171382984 251829102 889396178 254082346 167567990 93730720 124906022 28951346 628729342 953337294 79041494 379781586 287796562 260330648 534813590 287598904 574047286 258865118 483161890 622286510 562057766 220166366 660988960 206233770 840526046 904233344 88261380 310849868 703549200 607155224 868823020 899413032 998621776 329324626 949716970 10462248 996636278 634958600 594363726 738416612 604635782 156060630 493240356 659944858 58336332 873808630 818156020 451485098 1347988 481578068 765107578 355979404 211471586 146293150 780733644 505178148 520985164 813515600 33773594 593600182 267267454 990729292 536198058 249423926 366160850 236898068 498538946 444126728 997438486 12018130 928859824 957260658 541110204 9082988 432587366 669036462 91173752 471247684 15496986 802658814 207729924 777076338 71139094 327563784 268055472 263298012 344889140 147393138 252686558 137820286 346301172 846397440 514471408 675979958 216054910 971324700 423123388 518939662 233199302 901786808 599960818 97867358 819423000 5578048 933353082 86589996 782491276 557949014 553936250 634143428 913909536 427944732 107969142 121818758 746764824 791421574 354874802 739531224 450976484 902516468 924718412 299038234 202311306 656779146 476054022 861944468 520827540 843662476 965688158 889893662 595821856 781114526 15204466 609056742 182768222 994911022 610990806 869607376 328327738 185398746 223419158 368648602 766350958 374072380 819684538 47955804 504874598 671052524 259522640 594749568 925079518 486647458 395274300 813646416 489025560 578650230 725884658 33150590 373562090 832378086 438446600 136252834 112274920 799757310 617709836 875628942 967189668 723690978 587805668 609856748 420455558 824976638 304323460 418351458 125213864 690161476 926674924 958327390 158313736 901865942 469010230 649219242 530271294 64891640 526241762 730049130 157264630 910433648 897802638 819669934 654066848 452464118 661611584 255166398 685125534 711817312 808537054 32273100 506530056 380424814 937227738 566590444 165870778 657337950 403297716 126298416 22645866 914994284 716180984 380215334 740635330 231864712 446334714 912833992 51915464 632874312 672079202 655989156 356753534 186009884 834090406 932334030 316643670 721202954 56018074 248644072 605621986 8682968 312606200 195925336 371941858 522810362 223352900 43763934 702815386 753317812 391450140 958310762 519118892 911056572 282010944 353003830 602871410 147235080 932808738 231359152 639509670 385284244 295692516 46688848 335126646 698825592 817485310 25152332 220565808 554681836 265219322 14403944 570583568 486308230 308824968 505628972 811624556 429830892 345765606 607212796 580947184 713226908 321510944 785813244 875102280 7541464 514042492 497604054 799338414 333534034 110555860 965303398 822002146 693874460 53799194 186392994 785865190 12490950 136270770 641268820 265373220 890159596 843244568 296099978 303975546 323346446 718782346 52374958 323843500 302420136 836555988 180798656 398051628 27269402 143238284 541057730 399813062 560419884 628977718 496121978 816023342 55118804 786622340 129318224 33962966 467359364 421451534 485156478 839309584 879483772 972019528 582224612 205880482 321424464 744788276 69419266 233718314 14720640 330323658 936525986 629722180 8058296 683390832 257033562 493497892 223193196 177752136 993107202 734867440 115102262 513030850 863195946 822972258 228020652 662679078 51411846 639547220 138062094 588884954 453834524 639012368 190387398 282742908 176118058 405981850 587451840 892656082 1248066 863408368 649284458 669626222 384078756 35722770 454753670 981810448 318107318 288957670 898222498 455637918 936114478 323634790 819402804 515642438 252347898 693940088 150466250 63199728 468574332 875284284 758852410 452332244 415394400 839011180 425649850 120357272 785056180 649200516 405195222 698623138 81435156 466691338 104257728 131327022 222800036 463317970 535165726 815179220 734735682 162001186 923587644 2764582 381924202 725558256 476900744 809730976 244884826 298365554 875932422 202797906 36791414 301670250 879909624 953700350 525773970 248072538 624479564 787803786 68856138 89926778 387967198 121941524 706749520 623382240 871141630 306532054 783762690 969588954 722136338 874219408 334293856 488145040 678078668 160824348 164969564 414578076 323517754 644018682 855777056 415908410 966003282 557031600 396000486 458881464 422016934 38621552 391092102 143220870 303549514 34109204 942148460 237283896 268637922 661915404 650630324 955518900 662584350 977433056 616324496 967506982 457735254 343514314 920268386 867634050 450008236 677811654 705151060 597618848 513280316 667842138 74799662 304488840 635009542 855769854 276591658 989297636 71180200 15788092 156398050 264490216 318686406 66493402 732965952 145209012 570256060 280313570 361870858 78006266 670113446 618049524 896508734 391251548 62661490 143739760 270113908 672239728 918525280 605663012 645496298 725937136 155762444 306467728 451312828 207124004 871270666 732155588 391047144 880785284 83447494 688319948 269988014 73667668 660585158 366033902 56172966 387672426 923348554 617588140 206245060 77992440 87911466 448402896 249189540 280689086 936772996 772298950 764589458 253894278 628240626 605462196 389301218 719215464 884938058 285429332 183657512 442011208 86484814 102191942 724770180 194625382 607449144 563899372 223156624 536412758 706905648 267956228 527131880 832140520 449465824 847396270 272036046 288008480 440533114 3149420 511752278 519061852 312464610 385342586 251614288 972123216 375855380 83922856 527251572 568917246 175366086
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
